Task-Level Aware Scheduling of Energy-Constrained Applications on Heterogeneous Multi-Core System
Abstract
:1. Introduction
- We design a novel energy pre-allocation strategy considering task level and prove its feasibility.
- We develop a novel scheduling algorithm to minimize the schedule length under energy consumption constraints based on the new energy pre-allocation strategy.
- We introduce a frequency re-adjustment mechanism after task scheduling to reduce the negative impact of local optimization.
- We evaluate our algorithm based on real parallel applications. The experimental results consistently prove the superiority and competitiveness of our algorithm.
2. Related Work
3. Models and Preliminaries
3.1. Application Model
3.2. Energy Model
- The set of : ;
- The set of : ;
- The set of :;
- The set of : ;
3.3. Preliminaries
3.3.1. Problem Description
3.3.2. Effective Range of Energy Consumption Constraint
3.3.3. Task Priority Determination
3.4. The ISAECC Method
3.4.1. Method Description
- It prioritizes tasks by using the upward rank value which is defined in Section 3.3.3;
- It uses a self-defined energy consumption weight value to give each unscheduled task a pre-allocated energy consumption;
- It calculates the energy consumption constraint of each task according to the given energy consumption constraint of the whole application and the pre-allocated energy consumption value of each task;
- According to the order of the task priority list, it assigns each task the processor core and frequency that can minimize its EST time by traversing each processor core and optional execution frequency.
3.4.2. Limitations of ISAECC
4. Our Solution
4.1. The New Task Energy Pre-Allocation Method
4.1.1. Method Description
4.1.2. Feasibility of the Task Energy Pre-Allocation Mechanism
4.2. The Proposed Algorithm for Minimizing Schedule Length
Algorithm 1. A new scheduling algorithm for minimizing schedule length. |
Input: G = {N, W, C}, U, Output: SL(G), E(G) 1: Sort tasks in a list by descending order of ; 2: for ( do 3: Compute and ; //By (10) (11) 4: Compute ; //By (21) 5: for ( do 6: Compute ; //By (23) 7: Compute ; //By (25) 8: Compute and ; //By (12) (13) 9: Compute ; //By (22) 10: Compute ; //By (26) 11: for ( do 12: Compute ; //By (29) 13: while do 14: .out(); 15: ; 16: Compute ; //By (18) 17: for ( do 18: for ( do 19: Compute ; //By (4) 20: if () then 21: continue; 22: Compute ; //By (8) 23: if () then 24: Let and ; 25: ; 26: ; 27: Compute actual energy consumption ; 28: Compute the schedule length ; 29: return SL(G), E(G). |
4.3. The Task Execution Frequency Re-Adjustment Mechanism
Algorithm 2. The method to save energy. |
Input: G = {N, W, C}, U, Output: 1: Call Algorithm 1 to get the preliminary scheduling results; 2: Sort the tasks in the list according to the descending order of values; 3: while do 4: .out(); 5: Compute ; //By (33) 6: Compute the new frequency ; //By (34) 7: Compute the new ; //By (35) 8: Update ; 9: Update ; //By (36) 10: Update ; 11: Compute the new ; //By (4) 12: Compute the new energy consumption of G ; //By (5) 13: Compute the saved energy ; 14: return . |
Algorithm 3. The task execution frequency re-adjustment mechanism. |
Input: G = {N, W, C}, U, Output: 1: Call Algorithm 1 to get the preliminary scheduling results; 2: Call Algorithm 2 to get ; 3: Compute ; //By (38) 4: for (,) do 5: ; 6: Compute ; //By (40) 7: Compute ; //By (42) 8: for ( do 9: Compute ; //By (4) 10: if () then 11: continue; 12: if ( then 13: Let ; 14: Let ; 15: Compute ; //By (44) 16: Update ; 17: return . |
5. Experiments
5.1. Fast Fourier Transform Application
5.2. Gaussian Elimination Application
5.3. Analysis and Summary of Experimental Results
6. Conclusions
- Consider other factors that affect the length of application scheduling, such as the way to determine the priority of tasks.
- Explore ways to improve the limitations of our method and make it more universal.
- Integrate our method into an actual embedded multi-core system and test its performance.
- Extend our method to study other indicators in multi-core task scheduling, such as reliability.
Author Contributions
Funding
Conflicts of Interest
References
- Weiser, M.; Welch, B.; Demers, A.; Shenker, S. Scheduling for Reduced CPU Energy; Springer: Boston, MA, USA, 1994. [Google Scholar]
- Li, Keqin. Scheduling Precedence Constrained Tasks with Reduced Processor Energy on Multiprocessor Computers. IEEE Trans. Comput. 2012, 61, 1668–1681. [Google Scholar] [CrossRef]
- Xie, G.; Zeng, G.; Li, R.; Li, K. Energy-Aware Processor Merging Algorithms for Deadline Constrained Parallel Applications in Heterogeneous Cloud Computing. IEEE Trans. Sustain. Comput. 2017, 2, 62–75. [Google Scholar] [CrossRef]
- Kang, L.; Wang, Z.J.; Quan, Z.; Wu, W.; Guo, S.; Li, K.; Li, K. An Efficient Method for Optimizing PETSc on the Sunway TaihuLight System. In Proceedings of the 2018 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computing, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI), Guangzhou, China, 8–12 October 2018. [Google Scholar]
- Islam, M.A.; Ren, S.; Mahmud, A.H.; Quan, G. Online Energy Budgeting for Cost Minimization in Virtualized Data Center. IEEE Trans. Serv. Comput. 2016, 9, 421–432. [Google Scholar] [CrossRef]
- Zhang, J.; Wang, Z.J.; Quan, Z.; Yin, J.; Chen, Y.; Guo, M. Optimizing power consumption of mobile devices for video streaming over 4G LTE networks. Peer Peer Netw. Appl. 2017, 11, 1101–1114. [Google Scholar] [CrossRef]
- Ranjan, R.; Wang, L.; Zomaya, A.Y.; Georgakopoulos, D.; Sun, X.H.; Wang, G. Recent advances in autonomic provisioning of big data applications on clouds. IEEE Trans. Cloud Comput. 2015, 3, 101–104. [Google Scholar] [CrossRef]
- Xu, C.; Wang, K.; Li, P.; Guo, S.; Luo, J.; Ye, B.; Guo, M. Making Big Data Open in Edges: A Resource-Efficient Blockchain-Based Approach. IEEE Trans. Parallel Distrib. Syst. 2019, 30, 870–882. [Google Scholar] [CrossRef]
- Jin, P.; Hao, X.; Wang, X.; Yue, L. Energy-Efficient Task Scheduling for CPU-Intensive Streaming Jobs on Hadoop. IEEE Trans. Parallel Distrib. Syst. 2018, 30, 1298–1311. [Google Scholar] [CrossRef]
- Choi, Y.; Rhu, M. PREMA: A Predictive Multi-Task Scheduling Algorithm for Preemptible Neural Processing Units. In Proceedings of the 2020 IEEE International Symposium on High Performance Computer Architecture (HPCA), San Diego, CA, USA, 22–26 February 2020. [Google Scholar]
- Xu, C.; Wang, K.; Guo, M. Intelligent Resource Management in Blockchain-Based Cloud Datacenters. IEEE Cloud Comput. 2018, 4, 50–59. [Google Scholar] [CrossRef]
- Fu, Z.; Tang, Z.; Yang, L.; Liu, C. An Optimal Locality-Aware Task Scheduling Algorithm Based on Bipartite Graph Modelling for Spark Applications. IEEE Trans. Parallel Distrib. Syst. 2020, 31, 2406–2420. [Google Scholar] [CrossRef]
- Xie, G.; Zeng, G.; Liu, Y.; Zhou, J.; Li, R.; Li, K. Fast Functional Safety Verification for Distributed Automotive Applications during Early Design Phase. IEEE Trans. Ind. Electron. 2017, 65, 4378–4391. [Google Scholar] [CrossRef]
- Cho, H.; Kim, C.; Sun, J.; Easwaran, A.; Park, J.D.; Choi, B.C. Scheduling Parallel Real-Time Tasks on the Minimum Number of Processors. IEEE Trans. Parallel Distrib. Syst. 2019, 31, 171–186. [Google Scholar] [CrossRef]
- Gharehbaghi, K.; Koçer, F.; Külah, H. Optimization of Power Conversion Efficiency in Threshold Self-Compensated UHF Rectifiers with Charge Conservation Principle. IEEE Trans. Circuits Syst. I Regul. Pap. 2017, 64, 2380–2387. [Google Scholar] [CrossRef]
- Sandoval, F.; Poitau, G.; Gagnon, F. Hybrid Peak-to-Average Power Ratio Reduction Techniques: Review and Performance Comparison. IEEE Access 2017, 5, 27145–27161. [Google Scholar] [CrossRef]
- Chen, C.Y. An Improved Approximation for Scheduling Malleable Tasks with Precedence Constraints via Iterative Method. IEEE Trans. Parallel Distrib. Syst. 2018, 29, 1937–1946. [Google Scholar] [CrossRef]
- Huang, K.; Zhang, X.; Zheng, D.; Yu, M.; Jiang, X.; Yan, X.; de Brisolara, L.B.; Jerraya, A.A. A Scalable and Adaptable ILP-Based Approach for Task Mapping on MPSoC Considering Load Balance and Communication Optimization. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2018, 38, 1744–1757. [Google Scholar] [CrossRef]
- Zahaf, H.E.; Lipari, G.; Bertogna, M.; Boulet, P. The Parallel Multi-Mode Digraph Task Model for Energy-Aware Real-Time Heterogeneous Multi-Core Systems. IEEE Trans. Comput. 2019, 68, 1511–1524. [Google Scholar] [CrossRef]
- Xiao, X.; Xie, G.; Li, R.; Li, K. Minimizing Schedule Length of Energy Consumption Constrained Parallel Applications on Heterogeneous Distributed Systems. In Proceedings of the 2016 IEEE Trustcom/BigDataSE/I SPA, Tianjin, China, 23–26 August 2016. [Google Scholar]
- Hu, F.; Quan, X.; Lu, C. A Schedule Method for Parallel Applications on Heterogeneous Distributed Systems with Energy Consumption Constraint. In Proceedings of the 3rd International Conference on Multimedia Systems and Signal Processing, Shenzhen, China, 28 April 2018; pp. 134–141. [Google Scholar]
- Li, J.; Xie, G.; Li, K.; Tang, Z. Enhanced Parallel Application Scheduling Algorithm with Energy Consumption Constraint in Heterogeneous Distributed Systems. J. Circuits Syst. Comput. 2019, 28, 1950190. [Google Scholar] [CrossRef]
- Quan, Z.; Wang, Z.J.; Ye, T.; Guo, S. Task Scheduling for Energy Consumption Constrained Parallel Applications on Heterogeneous Computing Systems. IEEE Trans. Parallel Distrib. Syst. 2019, 31, 1165–1182. [Google Scholar] [CrossRef]
- Ren, J.; Su, X.; Xie, G.; Yu, C.; Tan, G.; Wu, G. Workload-Aware Harmonic Partitioned Scheduling of Periodic Real-Time Tasks with Constrained Deadlines. In Proceedings of the 2019 56th ACM/IEEE Design Automation Conference (DAC), Las Vegas, NV, USA, 2–6 June 2019. [Google Scholar]
- Rapp, M.; Sagi, M.; Pathania, A.; Herkersdorf, A.; Henkel, J. Power- and Cache-Aware Task Mapping with Dynamic Power Budgeting for Many-Cores. IEEE Trans. Comput. 2019, 69, 1–13. [Google Scholar] [CrossRef]
- Li, K. Power and performance management for parallel computations in clouds and data centers. J. Comput. Syst. Ences 2016, 82, 174–190. [Google Scholar] [CrossRef]
- Ye, T.; Wang, Z.J.; Quan, Z.; Guo, S.; Li, K.; Li, K. ISAECC: An Improved Scheduling Approach for Energy Consumption Constrained Parallel Applications on Heterogeneous Distributed Systems. In Proceedings of the 2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS), Singapore, 11–13 December 2018. [Google Scholar]
- Xie, G.; Jiang, J.; Liu, Y.; Li, R.; Li, K. Minimizing Energy Consumption of Real-Time Parallel Applications using Downward and Upward Approaches on Heterogeneous Systems. IEEE Trans. Ind. Inform. 2017, 13, 1068–1078. [Google Scholar] [CrossRef]
- Li, K. Performance Analysis of Power-Aware Task Scheduling Algorithms on Multiprocessor Computers with Dynamic Voltage and Speed. IEEE Trans. Parallel Distrib. Syst. 2008, 19, 1484–1497. [Google Scholar]
- Li, K.; Tang, X.; Li, K. Energy-Efficient Stochastic Task Scheduling on Heterogeneous Computing Systems. IEEE Trans. Parallel Distrib. Syst. 2014, 25, 2867–2876. [Google Scholar] [CrossRef]
- Rusu, C. Maximizing rewards for real-time applications with energy constraints. Acm Trans. Embed. Comput. Syst. 2003, 2, 537–559. [Google Scholar] [CrossRef]
- Tang, Z.; Qi, L.; Cheng, Z.; Li, K.; Khan, S.U.; Li, K. An Energy-Efficient Task Scheduling Algorithm in DVFS-enabled Cloud Environment. J. Grid Comput. 2016, 14, 55–74. [Google Scholar] [CrossRef]
- Huang, Q.; Su, S.; Li, J.; Xu, P.; Shuang, K.; Huang, X. Enhanced energy-efficient scheduling for parallel applications in cloud. In Proceedings of the 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012), Ottawa, ON, Canada, 13–16 May 2012; pp. 781–786. [Google Scholar]
- Meng, J.; Tan, H.; Li, X.Y.; Han, Z.; Li, B. Online Deadline-Aware Task Dispatching and Scheduling in Edge Computing. IEEE Trans. Parallel Distrib. Syst. 2020, 31, 1270–1286. [Google Scholar] [CrossRef]
- He, Q.; Guan, N.; Guo, Z. Intra-Task Priority Assignment in Real-Time Scheduling of DAG Tasks on Multi-Cores. IEEE Trans. Parallel Distrib. Syst. 2019, 30, 2283–2295. [Google Scholar] [CrossRef]
- Lin, X.; Wang, Y.; Xie, Q.; Pedram, M. Task Scheduling with Dynamic Voltage and Frequency Scaling for Energy Minimization in the Mobile Cloud Computing Environment. IEEE Trans. Serv. Comput. 2015, 8, 175–186. [Google Scholar] [CrossRef]
- Xie, G.; Chen, Y.; Liu, Y.; Wei, Y.; Li, R.; Li, K. Resource Consumption Cost Minimization of Reliable Parallel Applications on Heterogeneous Embedded Systems. IEEE Trans. Ind. Inform. 2017, 13, 1629–1640. [Google Scholar] [CrossRef]
- Anselmi, J.; Doncel, J. Asymptotically Optimal Size-Interval Task Assignments. IEEE Trans. Parallel Distrib. Syst. 2019, 30, 2422–2433. [Google Scholar] [CrossRef] [Green Version]
- Cheng, D.; Zhou, X.; Lama, P.; Ji, M.; Jiang, C. Energy Efficiency Aware Task Assignment with DVFS in Heterogeneous Hadoop Clusters. IEEE Trans. Parallel Distrib. Syst. 2017, 29, 70–82. [Google Scholar] [CrossRef]
- Canon, L.C.; Marchal, L.; Simon, B.; Vivien, F. Online Scheduling of Task Graphs on Heterogeneous Platforms. IEEE Trans. Parallel Distrib. Syst. 2019, 31, 721–732. [Google Scholar] [CrossRef] [Green Version]
Notation | Description |
---|---|
Execution time of task on the processor core with the maximum frequency | |
Communication time from to | |
The set of direct predecessor tasks of task | |
The set of direct successor tasks of task | |
Entry task of an application | |
Exit task of an application | |
The energy consumption of the task on the processor core with the frequency | |
The earliest start time of task running on processor core | |
The earliest finish time of task running on processor core with frequency | |
The actual start time of task | |
The actual execution time of task | |
The actual finish time of task | |
The latest finish time of task | |
The level of task | |
The processor core allocated to task | |
The execution frequency allocated to task on processor core | |
The calculated energy consumption constraint of task | |
The pre-allocated energy consumption of task | |
The given energy consumption constraint of application G | |
The energy consumption of application G | |
The schedule length of application G |
Task | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Core | |||||||||||
14 | 13 | 11 | 13 | 12 | 13 | 7 | 5 | 18 | 21 | ||
16 | 19 | 13 | 8 | 13 | 16 | 15 | 11 | 12 | 7 | ||
9 | 18 | 19 | 17 | 10 | 9 | 11 | 14 | 20 | 16 |
Task | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
108 | 77 | 80 | 80 | 69 | 63.33 | 42.67 | 35.67 | 44.33 | 14.67 |
MSLECC | WALECC | EECC | ISAECC | Our method | |
---|---|---|---|---|---|
2086 | 10,989 | 8023 | 7955 | 7814 | 6846 |
2714 | 5915 | 4491 | 4564 | 4417 | 3887 |
3342 | 4644 | 3302 | 3487 | 3390 | 3108 |
4048 | 4052 | 2918 | 2937 | 2966 | 2779 |
5226 | 3381 | 2546 | 2609 | 2484 | 2388 |
6168 | 2947 | 2253 | 2315 | 2273 | 2190 |
MSLECC | WALECC | EECC | ISAECC | Our Method | |
---|---|---|---|---|---|
8 | 805 | 654 | 679 | 666 | 634 |
16 | 1619 | 1331 | 1358 | 1294 | 1227 |
32 | 3664 | 2960 | 2777 | 2814 | 2641 |
64 | 8433 | 6340 | 6314 | 6326 | 5922 |
128 | 18,954 | 13,892 | 13,975 | 14,131 | 13,168 |
256 | 43,524 | 31,982 | 32,814 | 32,354 | 29,987 |
MSLECC | WALECC | EECC | ISAECC | Our Method | |
---|---|---|---|---|---|
2436 | 6826 | 6144 | 5912 | 5973 | 5692 |
2763 | 6155 | 5389 | 5603 | 5398 | 5128 |
3665 | 5519 | 4457 | 4521 | 4324 | 4119 |
6535 | 4721 | 3776 | 3502 | 3418 | 3090 |
7191 | 3864 | 3093 | 3214 | 3186 | 3043 |
8749 | 3397 | 3012 | 3129 | 3017 | 2898 |
MSLECC | WALECC | EECC | ISAECC | Our Method | |
---|---|---|---|---|---|
8 | 1056 | 897 | 911 | 893 | 847 |
13 | 2185 | 1794 | 1805 | 1737 | 1599 |
21 | 3698 | 3269 | 3082 | 3214 | 3106 |
41 | 18,845 | 14,504 | 14,729 | 14,563 | 13,534 |
83 | 39,584 | 31,375 | 31,551 | 31,422 | 30,032 |
100 | 59,951 | 46,210 | 48,238 | 47,916 | 42,657 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Huang, K.; Jing, M.; Jiang, X.; Chen, S.; Li, X.; Tao, W.; Xiong, D.; Liu, Z. Task-Level Aware Scheduling of Energy-Constrained Applications on Heterogeneous Multi-Core System. Electronics 2020, 9, 2077. https://doi.org/10.3390/electronics9122077
Huang K, Jing M, Jiang X, Chen S, Li X, Tao W, Xiong D, Liu Z. Task-Level Aware Scheduling of Energy-Constrained Applications on Heterogeneous Multi-Core System. Electronics. 2020; 9(12):2077. https://doi.org/10.3390/electronics9122077
Chicago/Turabian StyleHuang, Kai, Ming Jing, Xiaowen Jiang, Siheng Chen, Xiaobo Li, Wei Tao, Dongliang Xiong, and Zhili Liu. 2020. "Task-Level Aware Scheduling of Energy-Constrained Applications on Heterogeneous Multi-Core System" Electronics 9, no. 12: 2077. https://doi.org/10.3390/electronics9122077
APA StyleHuang, K., Jing, M., Jiang, X., Chen, S., Li, X., Tao, W., Xiong, D., & Liu, Z. (2020). Task-Level Aware Scheduling of Energy-Constrained Applications on Heterogeneous Multi-Core System. Electronics, 9(12), 2077. https://doi.org/10.3390/electronics9122077