Algorithms for Flow Time Scheduling

Download Algorithms for Flow Time Scheduling

Post on 16-Jan-2017

213 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • .

    Algorithms for Flow Time Scheduling

    Nikhil BansalDecember 2003

    School of Computer ScienceComputer Science Department

    Carnegie Mellon UniversityPittsburgh, PA 15213

    Thesis Committee:Avrim Blum, Chair

    Bruce MaggsKirk Pruhs, University of Pittsburgh

    R. Ravi

    Submitted in partial fulfillment of the requirementsfor the Degree of Doctor of Philosophy

    c

    2003 Nikhil Bansal

    This research was sponsored by the National Science Foundation (NSF) under grant nos.CCR-0105488,CCR-0122581 and CCR-9902091, by the Pittsburgh Digital Greenhouse (PDG) and the IBM Corporationthrough a generous graduate fellowship. The views and conclusions contained in this document are those ofthe author and should not be interpreted as representing the official policies, either expressed or implied, ofthe NSF, the PDG, IBM, the U.S. government or any other entity.

  • .

    Keywords: Approximation Algorithms, On-line Algorithms, Scheduling, Flow Time, Non-clairvoyantScheduling

  • Abstract

    We study scheduling algorithms for problems arising in client-server systems. In the client-server setting,there are multiple clients that submit requests for service to the server(s) over time. Typical examplesof such systems include operating systems, web-servers and database query servers. As there could bemultiple clients requesting a service, the goal of a scheduling algorithm is to provide service to the clientsin some reasonable way. A natural measure of the quality of service received by a client is its flow time,defined as the time since the client submits a request until it is completed. In this thesis, we study somefundamental problems related to minimizing flow time and its variants. These include norms of flow time,weighted flow time, stretch (flow time divided by its service requirement) and completion time. We considerthese problems in various settings, such as online, offline, scheduling when the processing requirements areunknown and scheduling when jobs can be rejected at some cost.

  • iv

    Acknowledgments

    First of all, I would like to thank my advisor Avrim Blum for his infinite guidance, support and insights.I will be indebted to him for all the ways in which I have grown as a researcher and especially for teachingme how to think. Clearly, this thesis would not be possible without him.

    I have been really fortunate to have Kirk Pruhs at such a close distance. He has been like a secondadvisor to me. I am extremely grateful to him for sharing his invaluable ideas and his limitless enthusiasmfor research. A large part of this thesis has its origins in the discussions at the Pitt lunch trucks.

    I want to thank all the theory folks at CMU for providing such a wonderful and stimulating researchenvironment. Special thanks to Avrim Blum, Tom Bohman, Alan Frieze, Anupam Gupta, Ryan Martin, R.Ravi and Steven Rudich for their extraordinary classes.

    Thanks to Shuchi Chawla, Kedar Dhamdhere, Amitabh Sinha, Jochen Konemann and Adam Wiermanfor being such great friends, colleagues and collaborators. Many thanks to Ashwin Bharambe, Amit Manjhi,Mahim Mishra and Bianca Schroeder for all the nice time I spent with them.

    Finally, I would like to thank my parents for their unconditional love and encouragement and instillingin me the love of learning. A special thanks to my friend Ageeth for all her love and understanding.

  • Contents

    1 Introduction 11.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Model and Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Analysis Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.3.1 Offline Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3.2 Online Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3.3 Resource Augmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.4 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.5 Overview of Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.6 Related Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2 Scheduling to Minimize norms of Flow Time 152.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2 Related Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3 General Lower Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4 Analysis of SJF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.5 Analysis of SRPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.6 Flow Analysis of SETF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.7 Lower Bound for Round Robin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.8 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    3 Scheduling to Minimize Weighted Flow Time 293.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.3 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.4 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    3.4.1 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.4.2 A Semi-Online Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    3.5 Weighted norms of Flow Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.5.1 The Clairvoyant Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.5.2 The Non-Clairvoyant Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    3.6 Conclusion and Open Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    4 Scheduling to Minimize Stretch 414.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    v

  • vi CONTENTS

    4.3 Lower Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.3.1 Clairvoyant Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.3.2 Non-clairvoyant Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    4.4 Static scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.5 Dynamic Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.6 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    5 Minimizing Flow Time on Multiple Machines 515.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515.2 Total Flow Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.3 Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545.4 Dependence on the number of machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.5 Maximum Flow Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.6 Open Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

    6 Scheduling for Flow-Time with Admission Control 596.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596.2 An Online Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    6.2.1 Minimizing Flow Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616.2.2 Minimizing Job Idle Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636.2.3 Varying Server Speeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636.2.4 Lower Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    6.3 Weighted flow time with weighted penalties . . . . . . . . . . . . . . . . . . . . . . . . . . 646.4 Weighted Flow time with Arbitrary Penalties . . . . . . . . . . . . . . . . . . . . . . . . . 65

    6.4.1 Lower Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666.4.2 Algorithm with Resource Augmentation . . . . . . . . . . . . . . . . . . . . . . . . 67

    6.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

    7 Results for Completion Time Scheduling via Flow Time 697.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697.2 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707.4 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    8 Possibilities for Improvement and Future Directions 738.1 Possibilities for Improvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738.2 Some Future Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    Bibliography 75

  • Chapter 1

    Introduction

    Scheduling can be described as allocating resourc

Recommended

View more >