Energy-efficient task scheduling for multi-core platforms with per-core DVFS
Introduction
Energy-efficient task scheduling is a fundamental issue in many application domains, e.g., energy conservation for mobile devices and the operation of green computing data centers. A number of studies have proposed energy-efficient techniques [11], [19]. One well-known technique is called dynamic voltage and frequency scaling (DVFS), which achieves energy savings by scaling down a core’s frequency and thereby reducing the core’s dynamic power.
Modern processors support DVFS on a per-core basis, i.e., the CPU can adjust the voltage or frequency of each core. As a result, the cores in a processor may have different computing power and energy consumption. However, for the same core, increased computing power means higher energy consumption. The challenge is to find a good balance between performance and energy consumption.
Many existing works focus on specific application domains, such as real-time systems [13], [27], [3], multimedia applications [9], [22], and mobile devices [7], [25]. In this paper, we consider a broader class of tasks. Specifically, we classify task execution scenarios into two modes: the batch mode and the online mode. The workload of the former comprises batches of jobs; while that of the latter consists of jobs with different arrival times and time constraints. We divide the jobs in the online mode into two categories: interactive and non-interactive tasks. An interactive task is initiated by a user and must be completed as soon as possible; while a non-interactive task may not have a strict deadline or response time constraint.
An example of the online mode is an online judging system where users submit their answers or codes to the server. After performing some computations, the server returns the scores or indicates the correctness of the submitted programs. In this scenario, user requests are interactive tasks that require short response times. Note that the response time refers to the acknowledgment of receipt of the user’s data, not the time taken to return the scores. By contrast, the computation of user data in non-interactive tasks is not subject to time constraints.
To conserve energy in multi-core platforms, we propose task scheduling algorithms that leverage per-core DVFS and achieve a balance between performance and energy consumption. In our previous work [21], we have made the following contributions.
- •
We present a task scheduling strategy that solves three important issues simultaneously: the assignment of tasks to CPU cores, the execution order of tasks, and the CPU processing rate for the execution of each task.
- •
To formulate the task scheduling problems, we propose a task model, a CPU processing rate model, an energy consumption model, and a cost function. The results of simulations and experiments performed on a multi-core x86 machine demonstrate the accuracy of the models.
- •
For the execution of tasks in the batch mode, we propose an algorithm called Workload Based Greedy (WBG), which finds the optimal scheduling policy for both single-core and multi-core processors. Our experiment results show that, in terms of energy consumption, WBG achieves 46% and 27% improvement over two existing algorithms respectively, with only a 4% slowdown and 13% speedup in the execution time.
- •
To execute tasks in the online mode, we propose a heuristic algorithm called Least Marginal Cost (LMC), which assigns interactive and non-interactive tasks to cores. It also determines the processing speeds that minimize the total cost of every time interval during a task’s execution in an online fashion.
In this paper, we further investigate the complexity of the task scheduling problems, and make the following contributions for each mode.
- •
For batch mode, we define the “dominating position ranges”, which determines the frequency of each batch task according to its position in the task queue. We also derive an algorithm that computes the dominating position ranges efficiently. The algorithm runs in , where is a non-empty set of discrete processing rates on a core.
- •
For online mode, we propose a method to compute the total cost efficiently with dynamic task insertion and deletion. The time complexity of cost computation is . With this algorithm, we can reduce the overhead of the Least Marginal Cost.
- •
We compare our proposed algorithm WBG with three well-known techniques: Optimistic Load Balancing [6], Power Saving, and Bias [16]. Our results demonstrate that WBG improves energy consumption by 46%, 27% and 13%, respectively, and improves task execution time by −4%, 13% and 25%, respectively.
The remaining part of this paper is organized as follows. In the next section, we formally define the models for executing tasks, determining the core processing rates, and reducing energy consumption. In Section 3, we discuss the proposed Workload Based Greedy algorithm, which derives the optimal scheduling policy for the batch mode. We also provide a theoretical analysis to prove the optimality of the algorithm. In Section 4, we discuss the proposed heuristic algorithm, Least Marginal Cost, for the online mode. The experiment results are presented in Section 5; Section 6 reviews related works; and Section 7 contains our concluding remarks.
Section snippets
Task model
A task comprises a sequence of instructions to be executed by a processor. We define a task in a task set as a tuple , where is the number of CPU cycles required to complete , is the arrival time of , and is the deadline of . If has a specific deadline, ; otherwise, we set to infinity, which indicates that is not subject to a time constraint.
For the batch mode, we make two assumptions about the tasks to be executed. First, tasks are
Task scheduling in the batch mode
In this section, we discuss our energy-efficient task scheduling approach for batch mode execution. We consider running tasks with and without deadlines in both single core and multi-core environments. As a result, we have four combinations of tasks and environments. Below, we formally define the energy-efficient task scheduling problem in each of the four scenarios, and present our theoretical findings for the defined problems.
Task scheduling in the online mode
In this section, we discuss our energy-efficient task scheduling approach for online mode execution. First, we use an example to describe task scheduling in the online mode. Then, we formally define the problem of energy efficient task scheduling in the online mode and present our heuristic algorithm.
As mentioned in Section 1, an online judging system is a good example of scheduling in the online mode. In such systems, users submit their answers or codes to the server; and after some
Evaluation
Our experimental platform is a quad-core x86 machine that supports individual core frequency tuning. The CPU model is Intel(R) Core(TM) i7 CPU 950 @ 3.07 GHz. Each core has 12 frequency choices. The power consumption is measured by a power meter, model DW-6091. The energy consumption is the integral of the power reading over the execution period. Because other components in the system consume energy, we first measure the power consumption of an idle machine and deduct the idle power reading
Related work
Dynamic Voltage and Frequency Scaling (DVFS) is a key technique that reduces a CPU’s power consumption. A number of recent studies of DVFS scheduling focused on real-time systems on multi-core platform. Kim et al. [13] proposed a dynamic scheduling method that incorporates a DVFS scheme for a hard real-time heterogeneous multi-core environment. The objective is to complete as many tasks as possible while using the energy efficiently. Zhu et al. [28] propose adaptive energy-efficient
Conclusion
In this paper, we propose effective energy-efficient scheduling algorithms for multi-core systems with DVFS features. We consider two task execution modes: the batch mode for batches of jobs; and the online mode for a more general execution scenario where interactive tasks with different time constraints or deadlines and non-interactive tasks may co-exist in the system. For each execution model, we propose scheduling algorithms and prove that they are effective both analytically and
Acknowledgment
This work was supported by Information and Communications Research Laboratories, Industrial Technology Research Institute, project number D352B83220.
Ching-Chi Lin received the M.S. degree in computer science from National Taiwan University in 2010. He currently is a Ph.D. candidate in computer science at National Taiwan University. His research interests include parallel and distributed computing, cloud computing, and the design and analysis of algorithms.
References (28)
Decomposable searching problems
Inform. Process. Lett.
(1979)- et al.
A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems
J. Parallel Distrib. Comput.
(2001) - et al.
A green energy-efficient scheduling algorithm using the DVFS technique for cloud datacenters
Future Gener. Comput. Syst.
(2014) - et al.
Adaptive energy-efficient scheduling for real-time tasks on DVS-enabled heterogeneous clusters
J. Parallel Distrib. Comput.
(2012) - et al.
Energy-efficient algorithms for flow time minimization
ACM Trans. Algorithms
(2007) - et al.
Reclaiming the energy of a schedule: models and algorithms
Concurr. Comput.: Pract. Exper.
(2013) - et al.
Determining optimal processor speeds for periodic real-time tasks with different power characteristics
- et al.
Speed scaling to manage energy and temperature
J. ACM
(2007) - et al.
A resource-driven DVFS scheme for smart handheld devices
ACM Trans. Embedded Comput. Syst.
(2013) Multiprocessor energy-efficient scheduling for real-time tasks with different power characteristics
Frame-based dynamic voltage and frequency scaling for a MPEG decoder
Methods for power optimization in SOC-based data flow systems
ACM Trans. Des. Autom. Electron. Syst.
Cited by (33)
Energy-aware fully-adaptive resource provisioning in collaborative CPU-FPGA cloud environments
2023, Journal of Parallel and Distributed ComputingEnergy efficient multi-objective scheduling of tasks with interval type-2 fuzzy timing constraints in an Industry 4.0 ecosystem
2020, Engineering Applications of Artificial IntelligenceCitation Excerpt :processor energy minimization was considered as the only objective. These researches targeted different hardware platforms such as single-core processor (Wang et al., 2013; Wu et al., 2014), multi-processors (Hu and Marculescu, 2004; Tang et al., 2008; Zhang et al., 2002; Zhuo and Chakrabarti, 2008), multi-core processors (Gruian and Kuchcinski, 2001; Lin et al., 2015; Wagner et al., 2013) etc. In some other research works, authors have considered objectives (other than energy) such as makespan optimization (Salimi et al., 2012), signal to noise ratio under type-1 fuzzy uncertainty (Abd et al., 2016), multi-criteria decision making (Hu et al., 2015) etc.
An energy-efficient, QoS-aware and cost-effective scheduling approach for real-time workflow applications in cloud computing systems utilizing DVFS and approximate computations
2019, Future Generation Computer SystemsCitation Excerpt :According to both of these methods, heterogeneous processors with per-core DVFS were not considered. On the other hand, Lin et al. proposed in [37] scheduling algorithms that leveraged per-core DVFS in a system with heterogeneous processors, in an attempt to achieve a balance between performance and energy consumption. Two scheduling modes were considered: (a) a batch mode, in which tasks were executed in batches, and (b) an online mode, in which tasks with different time constraints, arrival times and computational requirements co-existed in the system.
Energy aware frame based fair scheduling
2018, Sustainable Computing: Informatics and SystemsCitation Excerpt :This technique needs the scaling to be controlled very minutely which may not be always possible. Authors in [16] have proposed task scheduling algorithms that leverage per core DVFS and achieve a balance between performance and energy consumption. They considered two task execution modes: the batch mode, which runs jobs in batches; and the online mode in which jobs with different time constraints, arrival times, and computation workloads co-exist in the system.
Efficient jobs scheduling approach for big data applications
2018, Computers and Industrial EngineeringCitation Excerpt :Fang and Lin (2013) presented an integer linear programming model of the weighted tardiness and power consumption problem and adopted meta-heuristic particle swarm optimization approaches to produce approximate schedules in a reasonable time. In Lin et al. (2015), Wang, Laszewsk, Dayal, and Wang (2010), Wu, Chang, and Chan (2014), these studies reduced the power consumption of the processor with a dynamic voltage frequency scaling technique (DVFS). Virtual machine technology (Cardosa et al., 2012; Fang, Liang, Li, Chiaraviglio, & Xiong, 2013) were implemented how to placement on physical hardware.
Energy-efficient DAG scheduling with DVFS for cloud data centers
2024, Journal of Supercomputing
Ching-Chi Lin received the M.S. degree in computer science from National Taiwan University in 2010. He currently is a Ph.D. candidate in computer science at National Taiwan University. His research interests include parallel and distributed computing, cloud computing, and the design and analysis of algorithms.
Jan-Jan Wu is now a research fellow and the leader of the Computer Systems Laboratory in the Institute of Information Science, Academia Sinica. Her current research interests include parallel and distributed computing, cloud computing, cloud databases, virtualization, and dynamic binary translation on multicores. She is a member of ACM and IEEE.
Pangfeng Liu is now a Professor in the Department of Computer Science and Information Engineering of National Taiwan University, Taiwan. His research interests include parallel and distributed computing, cloud computing, dynamic binary translation, and the design and analysis of algorithms. He is a member of ACM and IEEE.