Energy-Efficient Task Scheduling on Multiple Heterogeneous Computers: Algorithms, Analysis, and Performance Evaluation
The problems of energy-constrained and time-constrained task scheduling on multiple heterogeneous computers are investigated as combinatorial optimization problems. For a given set of independent tasks, our strategy is to find a schedule of the tasks first, and then find a power allocation to the tasks, where the power allocation is performed in such a way that the total task execution time or the total energy consumption is minimized. We are able to find an optimal partition of a given workload and use a modified list scheduling (MLS) algorithm to generate a partition of the set of tasks that is an approximation of the optimal workload partition. Our simulation results demonstrate that when compared with optimal solutions, the MLS algorithm has excellent expected performance in solving the problems of energy-constrained and time-constrained scheduling of independent tasks on multiple heterogeneous computers. For precedence constrained tasks represented by a directed acyclic graph (dag), our level-by-level modified list scheduling (LL-MLS) algorithm schedules tasks level by level (LL) and schedules tasks in the same level by using the MLS algorithm. We are able to solve the problems of optimal energy/time allocation to the levels and optimal workload partition for all levels in a given dag. Our simulation results demonstrate that when compared with optimal solutions, the LL-MLS algorithm has excellent expected performance in solving the problems of energy-constrained and time-constrained scheduling of precedence constrained tasks on multiple heterogeneous computers.