Abstract
Heterogeneous multicore platforms are becoming an interesting alternative for embedded computing systems with limited power supply as they can execute specific tasks in an efficient manner. Nonetheless, one of the main challenges of such platforms consists of optimising the energy consumption in the presence of temporal constraints. This paper addresses the problem of task-to-core allocation onto heterogeneous multicore platforms such that the overall energy consumption of the system is minimised. To this end, we propose a two-phase approach that considers both dynamic and leakage energy consumption: (i) the first phase allocates tasks to the cores such that the dynamic energy consumption is reduced; (ii) the second phase refines the allocation performed in the first phase in order to achieve better sleep states by trading off the dynamic energy consumption with the reduction in leakage energy consumption. This hybrid approach considers core frequency set-points, tasks energy consumption and sleep states of the cores to reduce the energy consumption of the system. Major value has been placed on a realistic power model which increases the practical relevance of the proposed approach. Finally, extensive simulations have been carried out to demonstrate the effectiveness of the proposed algorithm. In the best-case, savings up to \(18\,\%\) of energy are reached over the first fit algorithm, which has shown, in previous works, to perform better than other bin-packing heuristics for the target heterogeneous multicore platform.













Similar content being viewed by others
Notes
Tasks are sorted in a last-in-first-out (LIFO) manner and the top of the list thus corresponds to the last element in the sorted list, i.e. the task with the smallest difference between its deadline and WCET.
References
Alahmad BN, Gopalakrishnan S (2011) Energy efficient task partitioning and real-time scheduling on heterogeneous multiprocessor platforms with qos requirements. Sustain Comput Inf Syst 1(4):314–328
Annamalai A (2013) A dynamic reconfiguration framework to maximize performance/power in asymmetric multicore processors. M.S Thesis, Electrical and Computer Engineering, University of Massachusetts, Amherst
Awan MA, Nikolic B, Petters SM (2011) Comparing the schedulers and power saving strategies with sparts. In: The RTSS@Work, open demo session of real-time techniques and technologies, Proceedings of the 32nd IEEE real-time systems symposium. IEEE, Vienna
Awan MA, Petters SM (2011) Enhanced race-to-halt: a leakage-aware energy management approach for dynamic priority systems. In: Proceedings of the 23rd euromicro conference on real-time systems. IEEE Computer Society, pp 92–101
Awan MA, Yomsi PM, Petters SM (2013) Optimal procrastination interval for constrained deadline sporadic tasks upon uniprocessors. In: Proceedings of the 21st conference real-time and networked systems. ACM, New York, pp 129–138
Awan M, Petters S (2013) Energy-aware partitioning of tasks onto a heterogeneous multi-core platform. In: Proceedings of the 19th IEEE real-time and embedded technology and applications symposium. pp 205–214
Aydin H, Yang Q (2003) Energy-aware partitioning for multiprocessor real-time systems. In: Proceedings of the 17nd IEEE parallel and distributed processing symposium, p 9
Baruah SK, Rosier LE, Howell RR (1990) Algorithms and complexity concerning the preemptive scheduling of periodic, real-time tasks on one processor. J Real-Time Syst 2(4):301–324
Carroll A, Heiser G (2013) Mobile multicores: use them or waste them. In: Proceedings of the 2013 workshop on power aware computing and systems. ser. HotPower ’13. ACM, New York,vol 12, pp 1–125
Chen J-J, Hsu H-R, Kuo T-W (2006) Leakage-aware energy-efficient scheduling of real-time tasks in multiprocessor systems,” In: Proceedings of the 12th IEEE real-time and embedded technology and applications symposium, pp 408–417
Chen J-J, Kuo C-F (2007) Energy-efficient scheduling for real-time systems on dynamic voltage scaling (dvs) platforms. In: Proceedings of the 13th IEEE conference on embedded and real-time computing and applications. pp 28–38
Chen J-J, Schranzhofer A, Thiele L (2009) Energy minimization for periodic real-time tasks on heterogeneous processing units. In: Proceedings of the IEEE international symposium on parallel & distributed processing. pp 1–12
Chen J-J, Thiele L (2008) Energy-efficient task partition for periodic real-time tasks on platforms with dual processing elements. In: 14th ICPADS pp 161–168
Cheng H, Goddard S (2005) Integrated device scheduling and processor voltage scaling for system-wide energy conservation. In: Proceedings of the 2005 workshop on power aware real-time computing, pp 24–29
Dantzig GB (1997) Linear programming: 1: introduction. Springer, New York
Hsu H-R, Chen J-J, Kuo T-W. (2006) Multiprocessor synthesis for periodic hard real-time tasks under a given energy constraint. In: Proceedings of the 43rd ACM/IEEE conference on design automation conference
Huang T-Y, Tsai Y-C, Chu E-H (2007) A near-optimal solution for the heterogeneous multi-processor single-level voltage setup problem. In: Proceedings of the IEEE international symposium on parallel & distributed processing, pp 1–10
Hung C-M, Chen J-J, Kuo T-W (2006) Energy-efficient real-time task scheduling for a dvs system with a non-dvs processing element. In: Proceedings of the 27th IEEE real-time systems symposium
ITRS (2011) International technology roadmap for semiconductors, 2011 edition, design. http://www.itrs.net/Links/2011ITRS/2011Chapters/2011Design.pdf. Accessed Dec 2013
Jejurikar R, Gupta R (2005) Dynamic slack reclamation with procrastination scheduling in real-time embedded systems. In: Proceedings of the 42nd design automation conference, Anaheim, pp. 111–116
Jejurikar R, Pereira C, Gupta R (2004) Leakage aware dynamic voltage scaling for real-time embedded systems. In: Proceedings of the 41st design automation conference, San Diego, pp 275–280
Kandhalu A, Kim J, Lakshmanan K, Rajkumar R (2011) Energy-aware partitioned fixed-priority scheduling for chip multi-processors. In: Proceedings of the 17th IEEE conference on embedded and real-time computing and applications, 2011, vol 1, pp 93–102
Lee Y-H, Reddy K, Krishna C (2003) Scheduling techniques for reducing leakage power in hard real-time systems. In: Proceedings of the 15th euromicro conference on real-time systems, pp 105–112
Luo J, Jha NK (2002) Static and dynamic variable voltage scheduling algorithms for real-time heterogeneous distributed embedded systems. In: ASP-DAC
Nikolic B, Awan MA, Petters SM (2011) SPARTS: simulator for power aware and real-time systems. In: Proceedings of the 8th IEEE international conference on embedded software and systems, IEEE, Changsha, pp 999–1004
Semiconductor F (2011) MPC8536E PowerQUICC III integrated processor hardware specifications, number: MPC8536EEC, Rev. 5, 09/2011. http://www.freescale.com/files/32bit/doc/data_sheet/MPC8536EEC.pdf. Accessed Dec 2013
Snowdon DC, Sueur EL, Petters SM, Heiser G (2009) Koala: a platform for OS-level power management. In: Proceedings of the 4th euroSys conference, Nuremberg, Germany
Yang C-Y, Chen J-J, Kuo T-W, Thiele L (2009) An approximation scheme for energy-efficient scheduling of real-time tasks in heterogeneous multiprocessor systems. In: Proceedings of the 46th ACM/IEEE conference on design automation conference, pp 694–699
Yang C-Y, Chen J-J, Kuo T-W (2005) An approximation algorithm for energy-efficient scheduling on a chip multiprocessor. In: Proceedings of the 42rd ACM/IEEE conference on design automation conference
Yu Y, Prasanna V (2002) Power-aware resource allocation for independent tasks in heterogeneous real-time systems. In: Parallel and distributed systems pp. 341–348
Zhang X, Shen K, Dwarkadas S, Zhong R (2010) An evaluation of per-chip nonuniform frequency scaling on multicores. In: Proceedings of the 2010 USENIX annual technical conference. USENIX Association, Berkeley, pp 19–19
Acknowledgments
This work was partially supported by National Funds through FCT/MEC (Portuguese Foundation for Science and Technology) and when applicable, co-financed by ERDF (European Regional Development Fund) under the PT2020 Partnership, within project UID/CEC/04234/2013 (CISTER Research Centre); also by FCT/MEC and the EU ARTEMIS JU within project(s) ref. ARTEMIS/0003/2012, Grant No. 333053 (CONCERTO) and ARTEMIS/0001/2013 - JU Grant No. 621429 (EMC2); and also by the European Union under the Seventh Framework Programme (FP7/2007-2013), Grant Agreement No. 611016 (P-SOCRATES).
Author information
Authors and Affiliations
Corresponding author
Appendix: List of symbols
Appendix: List of symbols
Description | Symbols | Description | Symbols |
---|---|---|---|
Heterogeneous multicore platform | \(\pi \) | Average energy consumption at specific frequency | \(E^m_{i,j}\) |
Number of core types | M | Individual utilisation of a task on a core type \(\pi ^m\) at frequency \(f^m_j\) | \(U_{i,j}^m\) |
core index | m | Utilisation of a core type at frequency \(f^m_j\) | \(U_j^m\) |
core type m | \(\pi ^m\) | Set of frequency combinations | \(\mathscr {A}\) |
Active power of a core | \(P_A^m\) | Frequency combination | \(\Lambda _k\) |
Idle power of a core | \(P_I^m\) | A core \(\pi ^m\) running on a frequency \(f_v^m\) | \(\pi _v^m\) |
Sleep index | n | Energy density of a task on \(\pi _v^m\) | \(ED_{i,v}^m\) |
Frequency index | v | Density difference of a task on \(\pi _v^m\) | \(DD_{i,v}^m\) |
Vector of frequencies | \(\mathop {f_v^m}\limits ^{\rightarrow }\) | Energy density of a task on its favourite core | \(ED_i^{min}\) |
Vector of sleep states | \(\mathop {S_n^m}\limits ^{\rightarrow } \) | Energy density of a task on its least preferred core | \(ED_i^{max}\) |
Frequency of a core | \(f_v^m\) | Current density difference of a task | \(CDD_i\) |
Sleep state of a core | \(S_n^m\) | Set of \(CDD_i\) | CDD |
Critical speed | \(f_{cric}^m\) | Expected energy consumption of \(\pi _v^m\) | \(EEC_v^m\) |
Power of a sleep state | \(P_j^m\) | Maximum feasible threshold | \(th^m\) |
Transition delay | \(tr_j^m\) | Energy consumption of a sleep state | \(\mathscr {E}\) |
Energy overhead of a sleep state | \(Es_j^m\) | Procrastination interval | \(Z_i\) |
Break-even-time of a sleep state | \(bet_j^m\) | Accumulative utilisation of all tasks on all cores | \(U_{sum}^j\) |
Power dissipation at a frequency \(f_v^m\) | \(P_{f_v^m}^m\) | Set of threshold value | \(\rho _v^m\) |
Task-set | \(\tau \) | i th group of tasks to enable specific sleep state on \(\pi ^m\) | \(G_i^m\) |
Task | \(\tau _i\) | Sporadic delay limit | \(\Upsilon \) |
Task-set size | \(\ell \) | Task-set distribution | \(\xi \) |
Relative deadline | \(D_i\) | Best-case execution time limit | \(C^b\) |
Minimum inter-arrival time | \(T_i\) | Characteristics factor to model task’s behaviour | \(\beta \) |
Vector of execution profiles of \(\tau _{i}\) on different core types | \(\mathop {C_i}\limits ^{\Rightarrow }\) | Average speed up factor of \(\pi ^m\) | \(\eta ^m\) |
Vector of WCET of a task on a specific core type at different frequencies | \(\mathop {C_i^m}\limits ^{\rightarrow }\) | Average capacity of the heterogeneous platform | \(U_a\) |
WCET at specific frequency | \(C_{i,j}^m\) | Latency hiding low limit frequency | \(F_{LH}\) |
Vector of average energy consumption profiles of \(\tau _{i}\) on different core types | \(\mathop {E_i}\limits ^{\Rightarrow }\) | Latency hiding saturation frequency | \(F_{Sat}\) |
Vector of average energy consumption of a task on a specific core type at different frequencies | \(\mathop {E^m_i}\limits ^{\rightarrow }\) | Default core type | \(\pi ^D\) |
Rights and permissions
About this article
Cite this article
Awan, M.A., Yomsi, P.M., Nelissen, G. et al. Energy-aware task mapping onto heterogeneous platforms using DVFS and sleep states. Real-Time Syst 52, 450–485 (2016). https://doi.org/10.1007/s11241-015-9236-x
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-015-9236-x