Recently, multi-core processors, which have advantages in high performance and low power consumption with low cost, are selected due to a range of requirements in the embedded market. In the multi-core system, Operating System (OS)-level load balancin...
Recently, multi-core processors, which have advantages in high performance and low power consumption with low cost, are selected due to a range of requirements in the embedded market. In the multi-core system, Operating System (OS)-level load balancing or load unbalancing techniques have been researched in order to achieve high performance and low power consumption. The load balancing technique is to distribute tasks fairly onto all the cores. However, load balancing can lead to excessive power consumption by utilizing all the cores. For this reason, the load balancing techniques are not suitable for embedded systems due to high power consumption. Previously proposed load unbalancing techniques assign tasks to a specific core by maximum threshold of utilization. If the core utilization reaches the threshold, the remaining tasks will be assigned to another core using the maximum threshold. However, the techniques shows ineffective energy consumption since a core runs at maximum clock speed when tasks are assigned to the core by the maximum threshold.
To resolve the power inefficiency of these techniques above, we proposed a load unbalancing scheduling method for energy-efficient multi-core embedded systems considering DVFS (Dynamic Voltage/Frequency Scaling) power consumption characteristics and task characteristics. The purpose of the proposed method is to effectively utilize energy without much effect in performance. Also, it is a new kind of scheduler which combines load balancing and load unbalancing technique. In this paper, we conduct experiments on energy consumption and performance using the previous load balancing and unbalancing techniques and the proposed technique. In our experiment, the proposed technique uses 31.9 ∼ 57.1 percent less energy than previous algorithms in the case of using a task set consisting of only periodic tasks. Also, when compared to load unbalancing techniques which have the shortest mean waiting time of aperiodic tasks, the mean waiting time of aperiodic tasks of the proposed technique is the same as that of load unbalancing techniques when task workloads are not heavy when using a task set consisting of both periodic and aperiodic tasks. On the other hand, the mean waiting time of aperiodic tasks of the proposed technique increases three times on average when task workloads are heavy. However, the mean waiting time of aperiodic tasks of the proposed technique rapidly decreases as the core number increases. In addition, the proposed technique reduced energy consumption from 4.9 percent to 60.2 percent when compared to other algorithms.
As a result, the proposed technique shows low energy consumption without much decline in the performance when workloads in the multi-core system are relatively light. The proposed technique in this paper is adequate for energy-efficient multi-core embedded systems.