Energy-Aware Scheduling for Streaming Applications on Chip Multiprocessors

Streaming applications have become increasingly important and widespread, and they will be running on soon- to-be-prevalent chip multiprocessors (CMPs). We address the problem of energy-aware scheduling of streaming applications, which are represented by task graphs, on a CMP using on/off and dynamic voltage scaling (DVS) on a per-processor basis. The goal is to minimize the energy consumption of streaming applications while satisfying two typical quality-of-service (QoS) requirements, namely, throughput and response time. To the best of our knowledge, this paper is the first work to tackle this problem. We make a key observation: the trade-off between static power and dynamic power should play a critical role in both parallel processing and pipelining that are used to reduce energy consumption in the scheduling process. Based on this observation, we propose two scheduling algorithms, Scheduling 1D and Scheduling 2D, for linear and general task graphs, respectively. The proposed algorithms exploit the difference between the two QoS requirements and perform processor allocation, task mapping and task speed scheduling simultaneously. Experimental results show that the proposed algorithms can achieve significant energy savings (e.g., 24% on average for 70 nm technology) over the baseline that only considers the response time requirement.

[1]  Y. Sorel,et al.  A scheduling heuristics for distributed real-time embedded systems tolerant to processor and communication media failures , 2004 .

[2]  Lieven Eeckhout,et al.  Designing Computer Architecture Research Workloads , 2003, Computer.

[3]  Anand Sivasubramaniam,et al.  A Pipeline-Based Approach for Scheduling Video Processing Algorithms on NOW , 2003, IEEE Trans. Parallel Distributed Syst..

[4]  Rami G. Melhem,et al.  A Nonpreemptive Real-Time Scheduler with Recovery from Transient Faults and Its Implementation , 2003, IEEE Trans. Software Eng..

[5]  William Thies,et al.  StreamIt: A Language for Streaming Applications , 2002, CC.

[6]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[7]  Trevor N. Mudge,et al.  Total power-optimal pipelining and parallel processing under process variations in nanometer technology , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[8]  Jan M. Rabaey,et al.  Scheduling of DSP programs onto multiprocessors for maximum throughput , 1993, IEEE Trans. Signal Process..

[9]  Debasish Ghose,et al.  Divisible Load Theory: A New Paradigm for Load Scheduling in Distributed Systems , 2004, Cluster Computing.

[10]  Frank D. Anger,et al.  Scheduling Precedence Graphs in Systems with Interprocessor Communication Times , 1989, SIAM J. Comput..

[11]  Daniel Mossé,et al.  Energy-efficient policies for embedded clusters , 2005, LCTES '05.

[12]  Krzysztof Kuchcinski,et al.  LEneS: task scheduling for low-energy systems using variable supply voltage processors , 2001, ASP-DAC '01.

[13]  Rami G. Melhem,et al.  Enhancing real-time schedules to tolerate transient faults , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[14]  Rami G. Melhem,et al.  Practical PACE for embedded systems , 2004, EMSOFT '04.

[15]  Neil Weste,et al.  Principles of CMOS VLSI Design , 1985 .

[16]  Bala Kalyanasundaram,et al.  Fault-Tolerant Real-Time Scheduling , 1997, ESA.

[17]  C. Siva Ram Murthy,et al.  A Fault-Tolerant Dynamic Scheduling Algorithm for Multiprocessor Real-Time Systems and Its Analysis , 1998, IEEE Trans. Parallel Distributed Syst..

[18]  Petru Eles,et al.  Simultaneous communication and processor voltage scaling for dynamic and leakage energy reduction in time-constrained systems , 2004, ICCAD 2004.

[19]  E. N. Elnozahy,et al.  Energy-Efficient Server Clusters , 2002, PACS.

[20]  Wayne H. Wolf,et al.  TGFF: task graphs for free , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[21]  Rami G. Melhem,et al.  Fault-Tolerance Through Scheduling of Aperiodic Tasks in Hard Real-Time Multiprocessor Systems , 1997, IEEE Trans. Parallel Distributed Syst..

[22]  Paul M. Chau,et al.  Macro pipelining based scheduling on high performance heterogeneous multiprocessor systems , 1995, IEEE Trans. Signal Process..

[23]  Narayanan Vijaykrishnan,et al.  Impact of scaling on the effectiveness of dynamic power reduction schemes , 2002, Proceedings. IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[24]  Rami G. Melhem,et al.  Tolerance to Multiple Transient Faults for Aperiodic Tasks in Hard Real-Time Systems , 2000, IEEE Trans. Computers.

[25]  Mahmut T. Kandemir,et al.  Leakage Current: Moore's Law Meets Static Power , 2003, Computer.

[26]  Rami G. Melhem,et al.  Fault tolerant real-time global scheduling on multiprocessors , 1999, Proceedings of 11th Euromicro Conference on Real-Time Systems. Euromicro RTS'99.

[27]  Sharad Malik,et al.  Orion: a power-performance simulator for interconnection networks , 2002, 35th Annual IEEE/ACM International Symposium on Microarchitecture, 2002. (MICRO-35). Proceedings..

[28]  Rami G. Melhem,et al.  Energy aware scheduling for distributed real-time systems , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[29]  Hakan Aydin,et al.  On fault-sensitive feasibility analysis of real-time task sets , 2004, 25th IEEE International Real-Time Systems Symposium.