Due to its optimality on a single machine for the problem of minimizing average flow time, Shortest-Remaining-Processing-Time (SRPT) appears to be the most natural algorithm to consider for the problem of minimizing average flow time on multiple identical machines. It is known that SRPT achieves the best possible competitive ratio on multiple machines up to a constant factor. Using resource augmentation, SRPT is known to achieve total flow time at most that of the optimal solution when given machines of speed 2 − 1 m . Further, it is known that SRPT's competitive ratio improves as the speed increases; SRPT is s-speed 1 s -competitive when s ≥ 2 − 1 m . However, a gap has persisted in our understanding of SRPT. Before this work, the performance of SRPT was not known when SRPT is given (1 + )speed when 0 < < 1 − 1 m , even though it has been thought that SRPT is (1+ )-speed O(1)-competitive for over a decade. Resolving this question was suggested in Open Problem 2.9 from the survey "Online Scheduling" by Pruhs, Sgall, and Torng [PST04], and we answer the question in this paper. We show that SRPT is scalable on m identical machines. That is, we show SRPT is (1 + )-speed O( 1 )-competitive for > 0. We complement this by showing that SRPT is (1 + )-speed O( 1 2 )-competitive for the objective of minimizing the k -norms of flow time on m identical machines. Both of our results rely on new potential functions that capture the structure of SRPT. Our results, combined with previous work, show that SRPT is the best possible online algorithm in essentially every aspect when migration is permissible.
In particular, SRPT has proven to be (1 + ) − speed 4 − competitive for total flowtime on m identical machines under the single task case REF .
Online scheduling on identical machines using SRPT
SODA '11
Computer Science Mathematics