Skip to main content

Advertisement

Log in

Combining Coarse-Grained Software Pipelining with DVS for Scheduling Real-Time Periodic Dependent Tasks on Multi-Core Embedded Systems

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

Abstract

In this paper, we combine coarse-grained software pipelining with DVS (Dynamic Voltage/Frequency Scaling) for optimizing energy consumption of stream-based multimedia applications on multi-core embedded systems. By exploiting the potential of multi-core architecture and the characteristic of streaming applications, we propose a two-phase approach to solve the energy minimization problem for periodic dependent tasks on multi-core processors with discrete voltage levels. With our approach, in the first phase, we propose a coarse-grained task-level software pipelining algorithm called RDAG to transform the periodic dependent tasks into a set of independent tasks based on the retiming technique (Leiserson and Saxe, Algorithmica 6:5–35, 1991). In the second phase, we propose two DVS scheduling algorithms for energy minimization. For single-core processors, we propose a pseudo-polynomial algorithm based on dynamic programming that can achieve optimal solution. For multi-core processors, we propose a novel scheduling algorithm called SpringS which works like a spring and can effectively reduce energy consumption by iteratively adjusting task scheduling and voltage selection. We conduct experiments with a set of benchmarks from E3S (Dick 2008) and TGFF (http://ziyang.ece.northwestern.edu/tgff/) based on the power model of the AMD Mobile Athlon4 DVS processor. The experimental results show that our technique can achieve 12.7% energy saving compared with the algorithms in Zhang et al. (2002) on average.

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

Access this article

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

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11

Similar content being viewed by others

References

  1. Advanced Micro Devices (2001). Mobile AMD Athlon 4 Processor Model 6 CPGA Data Sheet rev:e. Tech. Rep. 24319, November.

  2. Alenawy, T., & Aydin, H. (2005). Energy-aware task allocation for rate monotonic scheduling. In Proc. of the 11th IEEE real-time and embedded technology and applications symposim (RTAS) (pp. 213–223).

  3. Aydin, H., Devadas, V., & Zhu, D. (2006). System-level energy management for periodic real-time tasks. In Proc. of the IEEE real-time systems symp. (pp. 313–322).

  4. Aydin, H., Melhem, R. G., Mossé, D., & Mejía-Alvarez, P. (2001). Determining optimal processor speeds for periodic real-time tasks with different power characteristics. In Proc. of the IEEE EuroMicro conference on real-time systems (pp. 225–232).

  5. Aydin, H., Melhem, R., Mossé, D., & Mejía-Alvarez, P. (2001). Dynamic and aggressive scheduling techniques for power-aware real-time systems. In Proc. of the 22nd IEEE real-time systems symp. (pp. 95–105).

  6. Aydin, H., & Yang, Q. (2003). Energy-aware patitioning for multiprocessor real-time systems. In Proc. of the 17th international parallel and distributed processing symposium (IPDPS) (pp. 113–121).

  7. Bini, E., Buttazzo, G., & Lipari, G. (2005). Speed modulation in energy-aware real-time systems. In 17th Euromicro conference on real-time systems (ECRTS) (pp. 309–318).

  8. Buck, I., Foley, T., Hom, D., Sugerman, J., Fatahalian, K., Houston, M., et al. (2004). Brook for gpus: Stream computing on graphics hardware. In Proc. of the SIGGRAPH.

  9. Chao, L.-F., LaPaugh, A. S., & Sha, E. H.-M. (1997). Rotation scheduling: A loop pipelining algorithm. TCAD, 16(3), 229–239.

    Google Scholar 

  10. Chen, J.-J., Hsu, H.-R., Chuang, K.-H., Yang, C.-L., Pang, A.-C., & Kuo, T.-W. (2004). Multiprocessor energy-efficient with task migration considerations. In EuroMicro conference on real-time systems (ECRTS’04) (pp. 101–108).

  11. Chen, J.-J., & Kuo, T.-W. (2005a). Energy-efficient scheduling of periodic real-time tasks over homogeneous multiprocessors. In The 2nd international workshop on power-aware real-time computing (pp. 30–35).

  12. Chen, J.-J., & Kuo, T.-W. (2005b). Voltage-scaling scheduling for periodic real-time tasks in reward maximization. In The 26th IEEE real-time systems symposium (RTSS) (pp. 345–355).

  13. Chen, J.-J., & Kuo, T.-W. (2006). Allocation cost minimization for periodic hard real-time tasks in energy-constrained dvs systems. In Proc. of the IEEE/ACM international conference on computer-aided design (pp. 255–260).

  14. Chen, J.-J., Kuo, T.-W., & Shih, C.-S. (2005). 1+ϵ approximation clock rate assignment for periodic real-time tasks on a voltage-scaling processor. In the 2nd ACM conference on embedded software (EMSOFT) (pp. 247–250).

  15. Chen, J.-J., Kuo, T.-W., Yang, C.-L., & King, K.-J. (2007). Energy-efficient real-time task scheduling with task rejection. In Proc. of the conference of design automation, and test in Europe (DATE).

  16. Choi, K., Lee, W., Soma, R., & Pedram, M. (2004). Dynamic voltage and frequency scaling under a precise energy model considering variable and fixed components of the system power dissipation. In Proc. of the int’l conf. on computer-aided design (pp. 29C34).

  17. Dick, R. (2008). E3S. http://ziyang.eecs.northwestern.edu/dickrp/e3s/.

  18. EEMBC (2008). EEMBC. http://www.eembc.com.

  19. Gruian, F., & Kuchcinski, K. (2001). Lenes: Task scheduling for lower-energy systems using variable supply voltage processors. In ASP-DAC (pp. 449–455).

  20. Gordon, M., Thies, W., & Amarasinghe, S. (2006). Exploiting coarse-grained task, data, and pipeline parallelism in stream programs. In ASPLOS (pp. 151–162).

  21. Hofstee, H. P. (2005). Power efficient processor architecture and the cell processor. In HPCA (pp. 258–262).

  22. Hua, S., & Qu, G. (2005). Voltage setup problem for embedded systems with multiple voltages. IEEE Trans. on Very Large Scale Integration (VLSI) Systems, 13(7), 869–872.

    Article  Google Scholar 

  23. Hua, S., Qu, G., & Bhattacharyya, S. S. (2003). Energy reduction techniques for multimedia applications with tolerance to deadline misses. In 40th ACM/IEEE design automation conference (pp. 131–136).

  24. Hua, S., Qu, G., & Bhattacharyya, S. S. (2006). Energy-efficient embedded software implementation on multiprocessor system-on-chip with multiple voltages. ACM Transactions on Embedded Computing Systems, 5(2), 321–341, May

    Article  Google Scholar 

  25. 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 Proc. of the 27th IEEE real-time systems symposium (RTSS).

  26. Intel (2003). Strong ARM SA-1100 microprocessor developer’s manual.

  27. Intel (2000). Intel XScale Microarchitecture Product Brief. http://www.intel.com/design/intelxscale/xscaleproductbriefweb.pdf.

  28. Ishihara, T., & Yasuura, H. (1998). Voltage scheduling problem for dynamically variable voltage processor. In ISLPED (pp. 197–202).

  29. Andrews, J., & Baker, N. (2005). Xbox 360 system architecture. In IEEE Micro (p. 26(2)).

  30. Jejurikar, R., & Gupta, R. K. (2004). Dynamic voltage scaling for systemwide energy minimization in real-time embedded systems. In Proc. of the int’l symp. on low-power electronics and design (pp. 78–81).

  31. Rabaey, J. M., Chandrakasan, A., & Nikolic, B. (2002). Digital integrated circuits (2nd edition). Englewood Cliffs: Prentice Hall.

    Google Scholar 

  32. Wiegand, T., Sullivan, G. J., Bjontegaard, G., & Luthra, A. (2003). Overview of the H.264/AVC video coding standard. In IEEE Transactions on Circuits and Systems for Video Technology (Vol. 13(7), pp. 560–576), July.

  33. Kwon, W. C., & Kim, T. (2003). Optimal voltage allocation techniques for dynamically variable voltage processors. In DAC (pp. 125–130).

  34. Leiserson, C. E., & Saxe, J. B. (1991). Retiming synchronous circuitry. Algorithmica, 6, 5–35.

    Article  MATH  MathSciNet  Google Scholar 

  35. Luo, J., & Jha, N. K. (2000). Power-conscious joint scheduling of periodic task graphs and a periodic tasks in distributed real-time embedded systems. In ICCAD (pp. 357–364).

  36. Luo, J., & Jha, N. K. (2007). Power-efficient scheduling for heterogeneous distributed real-time embedded systems. In IEEE trans. on computer-aided design, June.

  37. Luo, J., Jha, N. K., & Peh, L.-S. (2007). Simultaneous dynamic voltage scaling of processors and communication links in real-time distributed embedded systems. In IEEE trans. on VLSI systems, April.

  38. Mejía-Alvarez, P., Levner, E., & Mossé, D. (2004). Adaptive scheduling server for power-aware real-time tasks. In ACM transactions on embedded computing systems (Vol. 3(2), pp. 284–306). New York: ACM.

    Google Scholar 

  39. Mochocki, B. C., Hu, X. S., & Quan, G. (2004). A unified approach to variable voltage scheduling for noideal dvs processors. TCAD, 23(9), 1370–1377, September.

    Google Scholar 

  40. Niu, L., & Quan, G. (2006). System wide dynamic power management for multimedia portable devices. In IEEE international symposium on multimedia (ISM).

  41. Kongetira, P., Aingaran, K., & Olukotum, K. (2005). Niagara: A 32-way multithreaded sparc processor. In IEEE Micro (Vol. 25(2), pp. 21–29). Piscataway: IEEE.

    Google Scholar 

  42. Sasanka, R., Li, M., Adve, S., Chen, Y.-K., & Debes, E. (2007). Alp: Efficient support for all levels of parallelism for complex media applications. ACM Transactions on Architecture and Code Optimization, 4(1).

  43. Shin, D., Kim, J., & Lee, S. (2001). Low-energy intra-task voltage scheduling using static timing analysis. In DAC (pp. 438–443).

  44. Saewong, S., & Rajkumar, R. (2003). Practical voltage-scaling for fixed-priority rt-systems. In Proc. of 9th IEEE real-time and embedded technology and applications symposium (RTAS) (pp. 106–115).

  45. Dick, R. P., Rhodes, D. L., & Wolf, W. (1998). “TGFF: Task graphs for free.” In Proceedings of the 6th international workshop on Hardware/software codesign (pp. 97–101).

  46. Vazirani, V. (2001). Approximation algorithms. New York: Springer.

    Google Scholar 

  47. Eatherton, W. (2005). The push of network processing to the top of the pyramid. In Keynote address, symposium on architectures for networking and communications systems.

  48. Mark, W. R., Glanville, R. S., Akeley, K., & Kilgard, M. J. (2003). Cg: A system for programming graphics hardware in a c-like language. In Proc. of the SIGGRAPH.

  49. XLR732 (2008). XLR732 Processor Product Brief. http://www.razamicro.com/products/XLR_732.htm.

  50. Yao, F., Demers, A., & Shenker, S. (1995). A scheduling model for reduced cpu energy. In Proc. of 36th annual symposium on foundations of computer science (pp. 374–382).

  51. Yu, Y., & Prasnna, V. (2002). Power-aware resource allocation for independent tasks in heterogenous real-time systems. In the IEEE ninth international conference on parallel and distributed systems (ICPADS) (pp. 341–348).

  52. Zhang, Y., Hu, X., & Chen, D. Z. (2002). Task scheduling and voltage selection for energy minimization. In Annual ACM IEEE design automation conference (pp. 183–188).

  53. Zhong, X., & Xu, C. (2007). Frequency-aware energy optimization for real-time periodic and aperiodic tasks. In LCTES.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zili Shao.

Additional information

This work is partially supported by the grants from the Research Grants Council of the Hong Kong Special Administrative Region, China (CERG 526007 (PolyU B-Q06B), PolyU A-PH41), Shaanxi Administration of Foreign Expert Affairs under grant No. 2007-38/DF0105072301, Intel-Xidian Multicore Technology Lab, and the National Science Foundation of China (No.90718032).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Liu, H., Shao, Z., Wang, M. et al. Combining Coarse-Grained Software Pipelining with DVS for Scheduling Real-Time Periodic Dependent Tasks on Multi-Core Embedded Systems. J Sign Process Syst Sign Image Video Technol 57, 249–262 (2009). https://doi.org/10.1007/s11265-008-0315-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-008-0315-2

Keywords

Navigation