Energy-aware scheduling for streaming applications

Streaming applications have become increasingly important and widespread, with application domains ranging from embedded devices to server systems. Traditionally, researchers have been focusing on improving the performance of streaming applications to achieve high throughput and low response time. However, increasingly more attention is being shifted to power/performance trade-off because power consumption has become a limiting factor on system design as integrated circuits enter the realm of nanometer technology. This work addresses the problem of scheduling a streaming application (represented by a task graph) with the goal of minimizing its energy consumption while satisfying its two quality of service (QoS) requirements, namely, throughput and response time. The available power management mechanisms are dynamic voltage scaling (DVS), which has been shown to be effective in reducing dynamic power consumption, and vary-on/vary-off, which turns processors on and off to save static power consumption. Scheduling algorithms are proposed for different computing platforms (uniprocessor and multiprocessor systems), different characteristics of workload (deterministic and stochastic workload), and different types of task graphs (singleton and general task graphs). Both continuous and discrete processor power models are considered. The highlights are a unified approach for obtaining optimal (or provably close to optimal) uniprocessor DVS schemes for various DVS strategies and a novel multiprocessor scheduling algorithm that exploits the difference between the two QoS requirements to perform processor allocation, task mapping, and task speed scheduling simultaneously.

[1]  Rami Melhem,et al.  Energy-Aware Scheduling for Streaming Applications on Chip Multiprocessors , 2007, RTSS 2007.

[2]  Flavius Gruian On energy reduction in hard real-time systems containing tasks with stochastic execution times , 2001 .

[3]  Rami G. Melhem,et al.  Dynamic and aggressive scheduling techniques for power-aware real-time systems , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[4]  Ragunathan Rajkumar,et al.  Critical power slope: understanding the runtime effects of frequency scaling , 2002, ICS '02.

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

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

[7]  Alan Jay Smith,et al.  Operating System Modifications for Task-Based Speed and Voltage , 2003, MobiSys '03.

[8]  Thomas D. Burd,et al.  Design issues for Dynamic Voltage Scaling , 2000, ISLPED'00: Proceedings of the 2000 International Symposium on Low Power Electronics and Design (Cat. No.00TH8514).

[9]  Hakan Aydin,et al.  Minimizing expected energy consumption through optimal integration of DVS and DPM , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[10]  Ran Ginosar,et al.  Low-Complexity Policies for Energy-Performance Tradeoff in Chip-Multi-Processors , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[11]  Shekhar Y. Borkar,et al.  Design challenges of technology scaling , 1999, IEEE Micro.

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

[13]  Alan Jay Smith,et al.  Operating systems techniques for reducing processor energy consumption , 2001 .

[14]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[15]  Sang Lyul Min,et al.  Performance comparison of dynamic voltage scaling algorithms for hard real-time systems , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

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

[17]  Ishfaq Ahmad,et al.  On Exploiting Task Duplication in Parallel Program Scheduling , 1998, IEEE Trans. Parallel Distributed Syst..

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

[19]  Ben H. H. Juurlink,et al.  Trade-Offs Between Voltage Scaling and Processor Shutdown for Low-Energy Embedded Multiprocessors , 2007, SAMOS.

[20]  E. J. McShane Jensen's inequality , 1937 .

[21]  Gang Quan,et al.  A unified approach to variable voltage scheduling for nonideal DVS processors , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[22]  Jason Cong,et al.  Energy efficient multiprocessor task scheduling under input-dependent variation , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

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

[24]  Margaret Martonosi,et al.  Power prediction for Intel XScale/spl reg/ processors using performance monitoring unit events , 2005, ISLPED '05. Proceedings of the 2005 International Symposium on Low Power Electronics and Design, 2005..

[25]  Daniel Mosse,et al.  Enhancing performance and fault tolerance in reward-based scheduling , 2001 .

[26]  Todd M. Austin,et al.  SimpleScalar: An Infrastructure for Computer System Modeling , 2002, Computer.

[27]  Kevin Skadron,et al.  Optimal procrastinating voltage scheduling for hard real-time systems , 2005, Proceedings. 42nd Design Automation Conference, 2005..

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

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

[30]  Hiroto Yasuura,et al.  Voltage scheduling problem for dynamically variable voltage processors , 1998, Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).

[31]  Flavius Gruian Hard real-time scheduling for low-energy using stochastic data and DVS processors , 2001, ISLPED '01.

[32]  A Mahalanobis,et al.  Distance-classifier correlation filters for multiclass target recognition. , 1996, Applied optics.

[33]  Umakishore Ramachandran,et al.  Streamline: a scheduling heuristic for streaming applications on the grid , 2006, Electronic Imaging.

[34]  Miodrag Potkonjak,et al.  Synthesis techniques for low-power hard real-time systems on variable voltage processors , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[35]  Rami G. Melhem,et al.  Collaborative operating system and compiler power management for real-time applications , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

[36]  Alan Jay Smith,et al.  PACE: a new approach to dynamic voltage scaling , 2004, IEEE Transactions on Computers.

[37]  Alan Jay Smith,et al.  Improving dynamic voltage scaling algorithms with PACE , 2001, SIGMETRICS '01.

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

[39]  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.

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

[41]  Ragunathan Rajkumar,et al.  Practical voltage-scaling for fixed-priority RT-systems , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

[42]  Wan Yeon Lee,et al.  Energy-Saving DVFS Scheduling of Multiple Periodic Real-Time Tasks on Multi-core Processors , 2009, 2009 13th IEEE/ACM International Symposium on Distributed Simulation and Real Time Applications.

[43]  Sharad Malik,et al.  Compile-time dynamic voltage scaling settings: opportunities and limits , 2003, PLDI '03.

[44]  Henry Hoffmann,et al.  A stream compiler for communication-exposed architectures , 2002, ASPLOS X.

[45]  Manish Gupta,et al.  Power-Aware Microarchitecture: Design and Modeling Challenges for Next-Generation Microprocessors , 2000, IEEE Micro.

[46]  Robert Stephens,et al.  A survey of stream processing , 1997, Acta Informatica.

[47]  Shahid H. Bokhari,et al.  Partitioning Problems in Parallel, Pipelined, and Distributed Computing , 1988, IEEE Trans. Computers.

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

[49]  S. Lang Calculus of Several Variables , 1973 .

[50]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[51]  Yves Robert,et al.  Bi-criteria Pipeline Mappings for Parallel Image Processing , 2008, ICCS.

[52]  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..

[53]  Trevor Mudge,et al.  Combined dynamic voltage scaling and adaptive body biasing for lower power microprocessors under dynamic workloads , 2002, ICCAD 2002.