Stretch and compress based re-scheduling techniques for minimizing the execution times of DAGs on multi-core processors under energy constraints

Given an initial schedule of a parallel program represented by a directed acyclic graph (DAG) and an energy constraint, the question arises how to effectively determine what nodes (tasks) can be penalized (slowed down) through the use of dynamic voltage scaling. The resulting re-schedule length with a strict energy budget should have a minimum amount of expansion compared to the original schedule achieved with full energy. We propose three static schemes that aim to achieve this goal. Each scheme encompasses submitting a schedule to either a conceptual “stretch” (starting tasks with a maximum voltage supplied to all cores followed by methodical voltage reductions) or “compress” (starting tasks with a minimum voltage supplied to all cores followed by methodical voltage boosts). The complexity arises due to the inter-dependence of tasks. We propose methods that efficiently make such findings by analyzing the DAG and determining the “impact factor” of a node in the graph for the purpose of guiding the schedule toward the desired goal. The comparison between the stretch-alone and compress-alone based algorithms leads to a third algorithm that employs schedule “compression,” but reschedules all cores following each successive voltage adjustment. Detailed simulation experiments demonstrate the effect of various task and processor parameters on the performance of the proposed algorithms.

[1]  Anantha P. Chandrakasan,et al.  Low Power Digital CMOS Design , 1995 .

[2]  Sanjay Ranka,et al.  Dynamic Algorithms for Energy Minimization on Parallel Machines , 2008, 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008).

[3]  Rami G. Melhem,et al.  Scheduling with Dynamic Voltage/Speed Adjustment Using Slack Reclamation in Multiprocessor Real-Time Systems , 2003, IEEE Trans. Parallel Distributed Syst..

[4]  A. Chandrakasan,et al.  An efficient controller for variable supply-voltage low power processing , 1996, 1996 Symposium on VLSI Circuits. Digest of Technical Papers.

[5]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[6]  R.W. Brodersen,et al.  A dynamic voltage scaled microprocessor system , 2000, IEEE Journal of Solid-State Circuits.

[7]  Hai Jin,et al.  DAGMap: efficient and dependable scheduling of DAG workflow job in Grid , 2010, The Journal of Supercomputing.

[8]  Niraj K. Jha,et al.  Static and dynamic variable voltage scheduling algorithms for real-time heterogeneous distributed embedded systems , 2002, Proceedings of ASP-DAC/VLSI Design 2002. 7th Asia and South Pacific Design Automation Conference and 15h International Conference on VLSI Design.

[9]  Ishfaq Ahmad,et al.  Dynamic Critical-Path Scheduling: An Effective Technique for Allocating Task Graphs to Multiprocessors , 1996, IEEE Trans. Parallel Distributed Syst..

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

[11]  Daniel Gajski,et al.  Hypertool: A Programming Aid for Message-Passing Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[12]  Ishfaq Ahmad,et al.  A Cooperative Game Theoretical Technique for Joint Optimization of Energy Consumption and Response Time in Computational Grids , 2009, IEEE Transactions on Parallel and Distributed Systems.

[13]  Hai Jin,et al.  DAGMap: Efficient scheduling for DAG grid workflow job , 2008, 2008 9th IEEE/ACM International Conference on Grid Computing.

[14]  Ishfaq Ahmad,et al.  CASCH: a tool for computer-aided scheduling , 2000, IEEE Concurr..

[15]  Sanjay Ranka,et al.  Assignment Algorithm for Energy Minimization on Parallel Machines , 2009, 2009 International Conference on Parallel Processing Workshops.

[16]  Martin Schulz,et al.  Bounding energy consumption in large-scale MPI programs , 2007, Proceedings of the 2007 ACM/IEEE Conference on Supercomputing (SC '07).

[17]  Bashir M. Al-Hashimi,et al.  Considering power variations of DVS processing elements for energy minimisation in distributed systems , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

[18]  Liu Yang,et al.  On-Line and Off-Line DVS for Fixed Priority with Preemption Threshold Scheduling , 2009, 2009 International Conference on Embedded Software and Systems.

[19]  Bharadwaj Veeravalli,et al.  Design of Fast and Efficient Energy-Aware Gradient-Based Scheduling Algorithms Heterogeneous Embedded Multiprocessor Systems , 2009, IEEE Transactions on Parallel and Distributed Systems.

[20]  Sanjay Ranka,et al.  Using game theory for scheduling tasks on multi-core processors for simultaneous optimization of performance and energy , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.