Green Scheduling, Flows and Matchings

Recently, optimal combinatorial algorithms have been presented for the energy minimization multi-processor speed scaling problem with migration [Albers et al., SPAA 2011], [Angel et al., Euro-Par 2012]. These algorithms are based on repeated maximum-flow computations allowing the partition of the set of jobs into subsets in which all the jobs are executed at the same speed. The optimality of these algorithms is based on a series of technical lemmas showing that this partition and the corresponding speeds lead to the minimization of the energy consumption. In this paper, we show that both the algorithms and their analysis can be greatly simplified. In order to do this, we formulate the problem as a convex cost flow problem in an appropriate flow network. Furthermore, we show that our approach is useful to solve other problems in the dynamic speed scaling setting. As an example, we consider the preemptive open-shop speed scaling problem and we propose a polynomial-time algorithm for finding an optimal solution based on the computation of convex cost flows. We also propose a polynomial-time algorithm for minimizing a linear combination of the sum of the completion times of the jobs and the total energy consumption, for the multi-processor speed scaling problem without preemptions. Instead of using convex cost flows, our algorithm is based on the computation of a minimum weighted maximum matching in an appropriate bipartite graph.