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

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.

This is a preview of subscription content, access via your institution.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16

Notes

  1. 1.

    All but two applications are included: the pgp application does not support the ARM architecture and blowfish fails at runtime.

  2. 2.

    The discrepancy between the model and the measured data in the low frequency range is the subject of Section 4.3.

  3. 3.

    The procedure solves the abstract problem of randomly partitioning an interval into a controllable number of adjacent sub-intervals such that the size of each sub-interval falls within a controllable range. If only one control knob of the two is desired, the solution is relatively straightforward, however if both knobs are desired, some complexity appears to be inevitable.

  4. 4.

    An analogous study on the more recent Exynos 5422 which does support concurrent cluster execution is planned as future work.

  5. 5.

    The percentage improvements were calculated from the measured normalized energy values as follows: (1.0−0.66)/1.0=34 % and (0.72−0.66)/0.72=8 %.

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.

  3. 3.

    Anderson, J., & Baruah, S. (2004). Energy-efficient synthesis of periodic task systems upon identical multiprocessor platforms. In: ICDCS.

  4. 4.

    Awan, M., & Petters, S. (2013). Energy aware partitioning of tasks onto a heterogeneous multi-core platform. In: RTAS.

  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.

  6. 6.

    Aydin, H., & Yang, Q. (2003). Energy-aware partitioning for multiprocessor real-time systems. In: IPDPS.

  7. 7.

    BAE Systems (2000). RAD750 board hardware user’s manual.

  8. 8.

    Boyd, S., & Vandenberghe, L. (2004). Convex optimization. New York: Cambridge University Press.

    Book  MATH  Google Scholar 

  9. 9.

    Burcin, A. (2002). RAD750, BAE Systems. http://www.aero.org/conferences/mrqw/2002-papers/A_-Burcin.pdf.

  10. 10.

    Buss, M., Givargis, T., & Dutt, N. (2003). Exploring efficient operating points for voltage scaled embedded processor cores. In: RTSS.

  11. 11.

    Chen, J., & Thiele, L. (2008). Energy-Efficient task partition for periodic Real-Time tasks on platforms with dual processing elements. In: ICPADS.

  12. 12.

    Chen, J.J., & Kuo, C.F. (2007). Energy-efficient scheduling for real-time systems on dynamic voltage scaling (DVS) platforms. In: RTCSA.

  13. 13.

    Chu, E.T.H., & et al. (2009). An optimal solution for the heterogeneous multiprocessor single-level voltage-setup problem. TCAD, 28(11).

  14. 14.

    Colin, A., Kandhalu, A., & Rajkumar, R.R. (2014). Energy-efficient allocation of real-time applications onto heterogeneous processors. In: RTCSA.

  15. 15.

    Devadas, V., & Aydin, H. (2010). DFR-EDF: a unified energy management framework for Real-Time systems. In: RTAS.

  16. 16.

    Greenhalgh, P. (2011). Big.LITTLE processing with ARM Cortex-A15 & Cortex-A7.

  17. 17.

    Guthaus, M., & et al. (2001). MiBench: a free, commercially representative embedded benchmark suite. In: WWC.

  18. 18.

    Herbert, S., & Marculescu, D. (2007). Analysis of dynamic voltage/frequency scaling in CMPs. In: ISLPED.

  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.

  20. 20.

    Jejurikar, R., Pereira, C., & Gupta, R. (2004). Leakage aware dynamic voltage scaling for real-time embedded systems. In: DAC.

  21. 21.

    Kandhalu, A., & et al. (2011). Energy-aware partitioned fixed-priority scheduling for CMPs. In: RTCSA.

  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.

    MathSciNet  Article  MATH  Google Scholar 

  23. 23.

    Li, D., & Wu, J. (2012). Energy-aware scheduling for frame-based tasks on heterogeneous multiprocessor platforms. In: ICPP.

  24. 24.

    Li, D., & Wu, J. (2013). Energy-aware scheduling on multiprocessor platforms. New York: Springer-Verlag.

  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.

    MathSciNet  Article  MATH  Google Scholar 

  26. 26.

    Luo, J., & Jha, N. (2007). Power-efficient scheduling for heterogeneous distributed real-time embedded systems. CADICS, 26(6).

  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.

  29. 29.

    Yang, C., & et al. (2009). An approximation scheme for energy-efficient scheduling of real-time tasks in heterogeneous multiprocessor systems. In: DATE.

  30. 30.

    Yu, Y., & Prasanna, V.K. (2003). Resource allocation for independent real-time tasks in heterogeneous systems for energy minimization. JISE, 19(3).

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Alexei Colin.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Colin, A., Kandhalu, A. & Rajkumar, R. Energy-Efficient Allocation of Real-Time Applications onto Single-ISA Heterogeneous Multi-Core Processors. J Sign Process Syst 84, 91–110 (2016). https://doi.org/10.1007/s11265-015-0987-3

Download citation

Keywords

  • Power management
  • Heterogeneous multi-core processors
  • Real-time systems