Skip to main content
Log in

Energy-aware task mapping onto heterogeneous platforms using DVFS and sleep states

  • Published:
Real-Time Systems Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

Notes

  1. 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

    Article  Google Scholar 

  • 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

    MATH  Google Scholar 

  • 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

Download references

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

Authors

Corresponding author

Correspondence to Muhammad Ali Awan.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-015-9236-x

Keywords