Method for controlling a technical process, which comprises a control task for a number of independently controllable modules, on a controller comprising a number n of computing cores (C1, C2, C3) used during the control task and a synchronization means (Sync1, Sync2), wherein the technical process has at least one communication connection to the controller for the purpose of interchanging data and the modules are each assigned to a computing core (C1, C2, C3), characterized in that the following steps are carried out in a control cycle: providing input data relating to the modules, which are captured by the controller via the at least one communication connection, for the respectively assigned computing core in a first time period by means of the controller, wherein 1 to n computing cores are used to provide the input data, wherein the computing cores of the 1 to n computing cores which are not used to provide the input data register with the synchronization means and are changed to the waiting mode, and wherein the 1 to n computing cores which are used to provide the input data register with the synchronization means after performing the assigned task, wherein the respective computing core is changed to the waiting mode as long as not every one of the n computing cores is registered with the synchronization means; synchronizing (Sync1) the n computing cores as soon as the n computing cores are registered with the synchronization means, wherein all computing cores which have been changed to the waiting mode are changed to the active mode again; processing the input data relating to the modules by means of the respectively assigned computing core in a second time period in order to generate output data for the modules, wherein the computing cores which are not used to process the input data relating to the modules register with the synchronization means and are changed to the waiting mode, wherein the computing cores which are used to process the input data relating to the modules register with the synchronization means after performing the assigned task, wherein the respective computing core is changed to the waiting mode as long as not every one of the n computing cores is registered with the synchronization means; synchronizing (Sync2) the n computing cores as soon as the n computing cores are registered with the synchronization means, wherein all computing cores which have been changed to the waiting mode are changed to the active mode again; and providing the output data for the modules by means of the controller for the purpose of outputting the output data for the modules on the at least one communication connection by means of the controller in a third time period, wherein 1 to n computing cores are used to provide the output data, wherein the computing cores of the 1 to n computing cores which are not used to provide the output data register with the synchronization means and are changed to the waiting mode, and wherein the 1 to n computing cores which are used to provide the output data register with the synchronization means after performing the assigned task, wherein the respective computing core is changed to the waiting mode as long as not every one of the n computing cores is registered with the synchronization means.