Shortest Path Algorithms for Real-Time Scheduling of FIFO tasks with Minimal Energy Use
Résumé
We present an algorithm for scheduling a set of non-recurrent tasks (or jobs) with FIFO real-time constraints so as to minimize the total energy consumed when the tasks are performed on a dynamically variable voltage processor. Our algorithm runs in linear time and is thus an improvement over the classical algorithm of Yao et al. in this case. It was inspired by considering the problem as a shortest path problem. We also propose an algorithm to deal with the case where the processor has only a limited number of clock frequencies. This algorithm gives the optimum schedule with the minimum number of speed changes, which is important when the speed switching overhead cannot be neglected. All our algorithms are linear in the number of tasks if the arrivals and deadlines are sorted and need O(N\log N) time otherwise. These complexities are shown to be the best possible. Finally, we extend our results to fluid tasks and to non-convex cost functions.