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.
Similar content being viewed by others
References
Advanced Micro Devices (2001). Mobile AMD Athlon 4 Processor Model 6 CPGA Data Sheet rev:e. Tech. Rep. 24319, November.
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).
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).
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).
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).
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).
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).
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.
Chao, L.-F., LaPaugh, A. S., & Sha, E. H.-M. (1997). Rotation scheduling: A loop pipelining algorithm. TCAD, 16(3), 229–239.
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).
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).
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).
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).
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).
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).
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).
Dick, R. (2008). E3S. http://ziyang.eecs.northwestern.edu/dickrp/e3s/.
EEMBC (2008). EEMBC. http://www.eembc.com.
Gruian, F., & Kuchcinski, K. (2001). Lenes: Task scheduling for lower-energy systems using variable supply voltage processors. In ASP-DAC (pp. 449–455).
Gordon, M., Thies, W., & Amarasinghe, S. (2006). Exploiting coarse-grained task, data, and pipeline parallelism in stream programs. In ASPLOS (pp. 151–162).
Hofstee, H. P. (2005). Power efficient processor architecture and the cell processor. In HPCA (pp. 258–262).
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.
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).
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
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).
Intel (2003). Strong ARM SA-1100 microprocessor developer’s manual.
Intel (2000). Intel XScale Microarchitecture Product Brief. http://www.intel.com/design/intelxscale/xscaleproductbriefweb.pdf.
Ishihara, T., & Yasuura, H. (1998). Voltage scheduling problem for dynamically variable voltage processor. In ISLPED (pp. 197–202).
Andrews, J., & Baker, N. (2005). Xbox 360 system architecture. In IEEE Micro (p. 26(2)).
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).
Rabaey, J. M., Chandrakasan, A., & Nikolic, B. (2002). Digital integrated circuits (2nd edition). Englewood Cliffs: Prentice Hall.
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.
Kwon, W. C., & Kim, T. (2003). Optimal voltage allocation techniques for dynamically variable voltage processors. In DAC (pp. 125–130).
Leiserson, C. E., & Saxe, J. B. (1991). Retiming synchronous circuitry. Algorithmica, 6, 5–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).
Luo, J., & Jha, N. K. (2007). Power-efficient scheduling for heterogeneous distributed real-time embedded systems. In IEEE trans. on computer-aided design, June.
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.
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.
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.
Niu, L., & Quan, G. (2006). System wide dynamic power management for multimedia portable devices. In IEEE international symposium on multimedia (ISM).
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.
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).
Shin, D., Kim, J., & Lee, S. (2001). Low-energy intra-task voltage scheduling using static timing analysis. In DAC (pp. 438–443).
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).
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).
Vazirani, V. (2001). Approximation algorithms. New York: Springer.
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.
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.
XLR732 (2008). XLR732 Processor Product Brief. http://www.razamicro.com/products/XLR_732.htm.
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).
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).
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).
Zhong, X., & Xu, C. (2007). Frequency-aware energy optimization for real-time periodic and aperiodic tasks. In LCTES.
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-008-0315-2