Journal of Signal Processing Systems

, Volume 84, Issue 1, pp 91–110 | Cite as

Energy-Efficient Allocation of Real-Time Applications onto Single-ISA Heterogeneous Multi-Core Processors

  • Alexei Colin
  • Arvind Kandhalu
  • Ragunathan (Raj) Rajkumar
Article

Abstract

Self-powered systems that interact with the physical world require computing platforms with predictable timing behavior and a low energy demand. Energy consumption can be reduced by choosing energy-efficient designs for both hardware and software components of the platform. We leverage the state-of-the-art in hardware design by adopting Heterogeneous Multi-core Processors with support for Dynamic Voltage and Frequency Scaling and Dynamic Power Management. Through experiments on one such platform, we expose the hardware characteristics that violate assumptions of conventional energy models and propose a revised model suitable for identifying the energy-efficient frequency range. We then address the problem of allocating real-time software components onto heterogeneous cores such that total energy is minimized. Our approach is to start from an analytically justified target load distribution and find a task assignment heuristic that approximates it. Our analysis shows that neither balancing the load nor assigning all load to the “cheapest” core is the best load distribution strategy, unless the cores are extremely alike or extremely different. The optimal load distribution is then formulated as a solution to a convex optimization problem. A heuristic that approximates this load distribution and an alternative method that leverages the solution explicitly are proposed as viable task assignment methods. The proposed methods are compared to state-of-the-art on simulated problem instances and in a case study of a soft-real-time application on an off-the-shelf ARM big.LITTLE heterogeneous processor.

Keywords

Power management Heterogeneous multi-core processors Real-time systems 

References

  1. 1.
    CVXPY (2013). A Python package for modeling convex optimization problems. http://code.google.com/p/cvxpy/.
  2. 2.
    AlEnawy, T.A., & Aydin, H. (2005). Energy-aware task allocation for rate monotonic scheduling. In: RTAS.Google Scholar
  3. 3.
    Anderson, J., & Baruah, S. (2004). Energy-efficient synthesis of periodic task systems upon identical multiprocessor platforms. In: ICDCS.Google Scholar
  4. 4.
    Awan, M., & Petters, S. (2013). Energy aware partitioning of tasks onto a heterogeneous multi-core platform. In: RTAS.Google Scholar
  5. 5.
    Aydin, H., Melhem, R., Mosse, D., & Mejia-Alvarez, P. (2001). Dynamic and aggressive scheduling techniques for power-aware real-time systems. In: RTSS.Google Scholar
  6. 6.
    Aydin, H., & Yang, Q. (2003). Energy-aware partitioning for multiprocessor real-time systems. In: IPDPS.Google Scholar
  7. 7.
    BAE Systems (2000). RAD750 board hardware user’s manual.Google Scholar
  8. 8.
    Boyd, S., & Vandenberghe, L. (2004). Convex optimization. New York: Cambridge University Press.CrossRefMATHGoogle Scholar
  9. 9.
  10. 10.
    Buss, M., Givargis, T., & Dutt, N. (2003). Exploring efficient operating points for voltage scaled embedded processor cores. In: RTSS.Google Scholar
  11. 11.
    Chen, J., & Thiele, L. (2008). Energy-Efficient task partition for periodic Real-Time tasks on platforms with dual processing elements. In: ICPADS.Google Scholar
  12. 12.
    Chen, J.J., & Kuo, C.F. (2007). Energy-efficient scheduling for real-time systems on dynamic voltage scaling (DVS) platforms. In: RTCSA.Google Scholar
  13. 13.
    Chu, E.T.H., & et al. (2009). An optimal solution for the heterogeneous multiprocessor single-level voltage-setup problem. TCAD, 28(11).Google Scholar
  14. 14.
    Colin, A., Kandhalu, A., & Rajkumar, R.R. (2014). Energy-efficient allocation of real-time applications onto heterogeneous processors. In: RTCSA.Google Scholar
  15. 15.
    Devadas, V., & Aydin, H. (2010). DFR-EDF: a unified energy management framework for Real-Time systems. In: RTAS.Google Scholar
  16. 16.
    Greenhalgh, P. (2011). Big.LITTLE processing with ARM Cortex-A15 & Cortex-A7.Google Scholar
  17. 17.
    Guthaus, M., & et al. (2001). MiBench: a free, commercially representative embedded benchmark suite. In: WWC.Google Scholar
  18. 18.
    Herbert, S., & Marculescu, D. (2007). Analysis of dynamic voltage/frequency scaling in CMPs. In: ISLPED.Google Scholar
  19. 19.
    Huang, T., Tsai, Y., & Chu, E. (2007). A near-optimal solution for the heterogeneous multi-processor single-level voltage setup problem. In: IPDPS.Google Scholar
  20. 20.
    Jejurikar, R., Pereira, C., & Gupta, R. (2004). Leakage aware dynamic voltage scaling for real-time embedded systems. In: DAC.Google Scholar
  21. 21.
    Kandhalu, A., & et al. (2011). Energy-aware partitioned fixed-priority scheduling for CMPs. In: RTCSA.Google Scholar
  22. 22.
    Leung, J.Y., & Whitehead, J. (1982). On the complexity of fixed-priority scheduling of periodic, real-time tasks. Performance Evaluation, 2(4), 237–250.MathSciNetCrossRefMATHGoogle Scholar
  23. 23.
    Li, D., & Wu, J. (2012). Energy-aware scheduling for frame-based tasks on heterogeneous multiprocessor platforms. In: ICPP.Google Scholar
  24. 24.
    Li, D., & Wu, J. (2013). Energy-aware scheduling on multiprocessor platforms. New York: Springer-Verlag.Google Scholar
  25. 25.
    Liu, C.L., & Layland, J.W. (1973). Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the ACM, 20(1), 46–61.MathSciNetCrossRefMATHGoogle Scholar
  26. 26.
    Luo, J., & Jha, N. (2007). Power-efficient scheduling for heterogeneous distributed real-time embedded systems. CADICS, 26(6).Google Scholar
  27. 27.
    Miyoshi, A., Lefurgy, C., Van Hensbergen, E., Rajamony, R., & Rajkumar, R. (2002). Critical power slope: understanding the runtime effects of frequency scaling. In: Proceedings of the 16th international conference on Supercomputing, ICS ’02. doi:10.1145/514191.514200. (pp. 35–44). New York: ACM.
  28. 28.
    Pagani, S., & Chen, J. (2013). Energy efficient task partitioning based on the single frequency approximation scheme. In: RTSS.Google Scholar
  29. 29.
    Yang, C., & et al. (2009). An approximation scheme for energy-efficient scheduling of real-time tasks in heterogeneous multiprocessor systems. In: DATE.Google Scholar
  30. 30.
    Yu, Y., & Prasanna, V.K. (2003). Resource allocation for independent real-time tasks in heterogeneous systems for energy minimization. JISE, 19(3).Google Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Alexei Colin
    • 1
  • Arvind Kandhalu
    • 1
  • Ragunathan (Raj) Rajkumar
    • 1
  1. 1.Department of Electrical and Computer EngineeringCarnegie Mellon UniversityPittsburghUSA

Personalised recommendations