A pseudo-linear time algorithm for the optimal discrete speed minimizing energy consumption

We consider the classical problem of minimizing off-line the total energy consumption required to execute a set of n real-time jobs on a single processor with a finite number of available speeds. Each real-time job is defined by its release time, size, and deadline (all bounded integers). The goal is to find a processor speed schedule, such that no job misses its deadline and the energy consumption is minimal. We propose a pseudo-linear time algorithm that checks the schedulability of the given set of n jobs and computes an optimal speed schedule. The time complexity of our algorithm is in ${\mathcal {O}}(n)$ , to be compared with ${\mathcal {O}}(n\log (n))$ for the best known solution. Besides the complexity gain, the main interest of our algorithm is that it is based on a completely different idea: instead of computing the critical intervals, it sweeps the set of jobs and uses a dynamic programming approach to compute an optimal speed schedule. Our linear time algorithm is still valid (with some changes) with arbitrary (non-convex) power functions and when switching costs are taken into account.

[1]  Keqin Li,et al.  Energy and time constrained task scheduling on multiprocessor computers with discrete speed levels , 2016, J. Parallel Distributed Comput..

[2]  Marco Spuri,et al.  Deadline Scheduling for Real-Time Systems , 2011 .

[3]  Minming Li,et al.  An Efficient Algorithm for Computing Optimal Discrete Voltage Schedules , 2005, SIAM J. Comput..

[4]  P. Hilton,et al.  Catalan Numbers, Their Generalization, and Their Uses , 1991 .

[5]  Partha S. Roop,et al.  Energy and timing aware synchronous programming , 2016, 2016 International Conference on Embedded Software (EMSOFT).

[6]  Hakan Aydin,et al.  Energy management of embedded wireless systems through voltage and modulation scaling under probabilistic workloads , 2014, International Green Computing Conference.

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

[8]  Christos G. Cassandras,et al.  Optimal Dynamic Voltage Scaling in Energy-Limited Nonpreemptive Systems with Real-Time Constraints , 2007, IEEE Transactions on Mobile Computing.

[9]  Bruno Gaujal,et al.  Dynamic voltage scaling under EDF revisited , 2007, Real-Time Systems.

[10]  Minming Li,et al.  An O(n2) Algorithm for Computing Optimal Continuous Voltage Schedules , 2014, TAMC.