1 Scheduling in Server Farms Mor Harchol-Balter Associate Department Head Computer Science Dept Carnegie Mellon University

Slides:



Advertisements
Similar presentations
Scheduling in Web Server Clusters CS 260 LECTURE 3 From: IBM Technical Report.
Advertisements

CPU Scheduling Questions answered in this lecture: What is scheduling vs. allocation? What is preemptive vs. non-preemptive scheduling? What are FCFS,
1 Mor Harchol-Balter, CMU, Computer Sci. Alan Scheller-Wolf, CMU, Tepper Business Andrew Young, Morgan Stanley Surprising results on task assignment for.
1 Size-Based Scheduling Policies with Inaccurate Scheduling Information Dong Lu *, Huanyuan Sheng +, Peter A. Dinda * * Prescience Lab, Dept. of Computer.
Load Balancing of Elastic Traffic in Heterogeneous Wireless Networks Abdulfetah Khalid, Samuli Aalto and Pasi Lassila
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
Chapter 3: CPU Scheduling
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
Scheduling in Server Farms
Uniprocessor Scheduling Chapter 9. Aim of Scheduling The key to multiprogramming is scheduling Scheduling is done to meet the goals of –Response time.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
Effects and Implications of File Size/Service Time Correlation on Web Server Scheduling Policies Dong Lu* + Peter Dinda* Yi Qiao* Huanyuan Sheng* *Northwestern.
Cs238 CPU Scheduling Dr. Alan R. Davis. CPU Scheduling The objective of multiprogramming is to have some process running at all times, to maximize CPU.
1 Connection Scheduling in Web Servers Mor Harchol-Balter School of Computer Science Carnegie Mellon
Join-the-Shortest-Queue (JSQ) Routing in Web Server Farms
Wk 2 – Scheduling 1 CS502 Spring 2006 Scheduling The art and science of allocating the CPU and other resources to processes.
Carnegie Mellon University Computer Science Department 1 CLASSIFYING SCHEDULING POLICIES WITH RESPECT TO HIGHER MOMENTS OF CONDITIONAL RESPONSE TIME Adam.
Job scheduling Queue discipline.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture.
Fundamental Characteristics of Queues with Fluctuating Load (appeared in SIGMETRICS 2006) VARUN GUPTA Joint with: Mor Harchol-Balter Carnegie Mellon Univ.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 34 – Media Server (Part 3) Klara Nahrstedt Spring 2012.
Computer Systems Design
1Chapter 05, Fall 2008 CPU Scheduling The CPU scheduler (sometimes called the dispatcher or short-term scheduler): Selects a process from the ready queue.
RAQFM – a Resource Allocation Queueing Fairness Measure David Raz School of Computer Science, Tel Aviv University Jointly with Hanoch Levy, Tel Aviv University.
Introduction to Queuing Theory
Chapter 6: CPU Scheduling
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
CS3530 OPERATING SYSTEMS Summer 2014 Processor Scheduling Chapter 5.
COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00-6:00 PM.
Chapter 6 CPU SCHEDULING.
MM Process Management Karrie Karahalios Spring 2007 (based off slides created by Brian Bailey)
1 Mor Harchol-Balter Computer Science Dept, CMU What Analytical Performance Modeling Teaches Us About Computer Systems Design.
1 Mor Harchol-Balter Carnegie Mellon University Computer Science Heavy Tails: Performance Models & Scheduling Disciplines.
Yossi Azar Tel Aviv University Joint work with Ilan Cohen Serving in the Dark 1.
Operating Systems Lecture Notes CPU Scheduling Matthew Dailey Some material © Silberschatz, Galvin, and Gagne, 2002.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Scheduling. Alternating Sequence of CPU And I/O Bursts.
Operating Systems Process Management.
CPU Scheduling CSCI 444/544 Operating Systems Fall 2008.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
1 Chapters 8 Overview of Queuing Analysis. Chapter 8 Overview of Queuing Analysis 2 Projected vs. Actual Response Time.
1 The Effect of Heavy-Tailed Job Size Distributions on System Design Mor Harchol-Balter MIT Laboratory for Computer Science.
Advanced Network Architecture Research Group 2001/11/74 th Asia-Pacific Symposium on Information and Telecommunication Technologies Design and Implementation.
An Optimal Service Ordering for a World Wide Web Server A Presentation for the Fifth INFORMS Telecommunications Conference March 6, 2000 Amy Csizmar Dalal.
Carnegie Mellon University Computer Science Department 1 OPEN VERSUS CLOSED: A CAUTIONARY TALE Bianca Schroeder Adam Wierman Mor Harchol-Balter Computer.
Lecture 7: Scheduling preemptive/non-preemptive scheduler CPU bursts
1 11/29/2015 Chapter 6: CPU Scheduling l Basic Concepts l Scheduling Criteria l Scheduling Algorithms l Multiple-Processor Scheduling l Real-Time Scheduling.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
1 CS.217 Operating System By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 5 CPU Scheduling Slide 1 Chapter 5 CPU Scheduling.
6.1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Analysis of SRPT Scheduling: Investigating Unfairness Nikhil Bansal (Joint work with Mor Harchol-Balter)
Lecture Topics: 11/15 CPU scheduling: –Scheduling goals and algorithms.
1 Task Assignment with Unknown Duration Mor Harchol-Balter Carnegie Mellon.
Performance Evaluation When: Wed. 1:20am~4:20pm Where: Room 107 Instructor: 周承復 –Office hours: by appointment – –
1 Mor Harchol-Balter Carnegie Mellon with Nikhil Bansal with Bianca Schroeder with Mukesh Agrawal.
1 Uniprocessor Scheduling Chapter 3. 2 Alternating Sequence of CPU And I/O Bursts.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Scheduling Parallel DAG Jobs to Minimize the Average Flow Time K. Agrawal, J. Li, K. Lu, B. Moseley.
Lecture 4 CPU scheduling. Basic Concepts Single Process  one process at a time Maximum CPU utilization obtained with multiprogramming CPU idle :waiting.
CPU scheduling.  Single Process  one process at a time  Maximum CPU utilization obtained with multiprogramming  CPU idle :waiting time is wasted 2.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
OPERATING SYSTEMS CS 3502 Fall 2017
Load Balancing and Data centers
Serve Assignment Policies
Recursive dimensionality reduction
Chapter 6: CPU Scheduling
Scheduling Adapted from:
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
M/G/1/MLPS Queue Mean Delay Analysis
Mean Delay Analysis of Multi Level Processor Sharing Disciplines
Presentation transcript:

1 Scheduling in Server Farms Mor Harchol-Balter Associate Department Head Computer Science Dept Carnegie Mellon University

2 Outline I.Scheduling a single-server FCFS Router II.Supercomputing III.Web server farm model PS Router PS IV. Towards Optimality … SRPT Router & Metric: Mean Response Time, E[T]

3 Single Server Model (M/G/1) Poisson arrival process w/rate Load  E[X]<1 CPU Lifetimes of UNIX jobs [Harchol-Balter, Downey 96] Supercomputing job sizes [Schroeder, Harchol-Balter 00] Web file sizes [Crovella, Bestavros 98, Barford, Crovella 98] IP Flow durations [Shaikh, Rexford, Shin 99] Job sizes with huge variance are everywhere in CS: Top-heavy: top 1% jobs make up half load Huge Variability 1 ½ ¼ Bounded Pareto X: job size (service requirement) D.F.R.

4 Scheduling Single Server (M/G/1) Question: Order these scheduling policies for mean response time, E[T]: Poisson arrival process Load  <1 1.FCFS (First-Come-First-Served, non-preemptive) 2.PS (Processor-Sharing, preemptive) 3.SJF (Shortest-Job-First, a.k.a. SPT, non-preemptive) 4.SRPT (Shortest-Remaining-Processing-Time, preemptive) 5. LAS (Least Attained Service, a.k.a., FB, preemptive) Huge Variance

5 SRPT FCFS SJF 40 LAS FCFS SJF 32 LAS FCFS SJF 24 LAS FCFS SJF 16 FCFS SJF LAS 8 Effect of Variability Bounded Pareto job sizes  PS C 2 = E[T] Answers

6 Closed vs. Open Systems Open System Closed System QUESTION: What’s the effect of scheduling?  E[T] FCFS SRPT  E[T] FCFS SRPT [Schroeder, Wierman, Harchol-Balter, NSDI 06]

7 Summary Single-Server LESSONS LEARNED:  Smart scheduling greatly improves mean response time.  Variability of job size distribution is key. X: job size -- highly-variable  <1 Single-server system

8 Multiserver Model Sched. policy Router Server farms: + Cheap + Scalable capacity Sched. policy Routing (assignment) policy Incoming jobs: Poisson Process 2 Policy Decisions (Sometimes scheduling policy is fixed – legacy system)

9 Outline I.Review of scheduling in single-server FCFS Router II.Supercomputing III.Web server farm model PS Router PS IV. Towards Optimality … SRPT Router & Metric: Mean Response Time, E[T]

10 Supercomputing Model FCFS Router FCFS Routing (assignment) policy Poisson Process  Jobs are not preemptible.  Assume hosts are identical.  Jobs i.i.d. ~ G: highly variable size distribution.  Jobs processed in FCFS order.  Size may or may not be known. Initially assume known.

11 Q: Compare Routing Policies for E[T]? FCFS Router FCFS Routing policy Poisson Process  Jobs i.i.d. ~ G: highly variable Supercomputing 1.Round-Robin 2. Join-Shortest-Queue Go to host w/ fewest # jobs. 3.Least-Work-Left Go to host with least total work. 4.Central-Queue-FCFS (M/G/k/FCFS) Host grabs shortest job when free. 5. Central-Queue-Shortest-Job (M/G/k/SJF) Host grabs shortest job when free. 6. Size-Interval Splitting Jobs are split up by size among hosts.

12 1.Round-Robin 2. Join-Shortest-Queue Go to host w/ fewest # jobs. 3. Least-Work-Left, equivalent to M/G/k/FCFS Go to host with least total work. 4. Central-Queue-Shortest-Job (M/G/k/SJF) Host grabs shortest job when free. 5. Size-Interval Splitting Jobs are split up by size among hosts. FCFS Router FCFS Routing policy  Highly variable job sizes Supercomputing A: Size-Interval Splitting: best High E[T] Low E[T] [Harchol-Balter, Crovella, Murta, JPDC 99]

13 1.Round-Robin 2. Join-Shortest-Queue Go to host w/ fewest # jobs. 3. Least-Work-Left, equivalent to M/G/k/FCFS Go to host with least total work. 4. Central-Queue-Shortest-Job (M/G/k/SJF) Host grabs shortest job when free. 5. Size-Interval Splitting Jobs are split up by size among hosts. High E[T] Low E[T] Central-Queue: + Good utilization of servers. + Some isolation for smalls [Harchol-Balter, Crovella, Murta, JPDC 99]. Size-Interval WAY Better! - Worse utilization of servers. + Great isolation for smalls! Routing Policies: Remarks

14 Size-Interval Splitting S L XL M Size- Interval Routing job size x xfx  () Question: How to choose the size cutoffs? “To Balance Load or Not to Balance Load?” ? ??

15 Size-Interval Splitting job size x xfx  () Answer: Recent Research for case of Bounded Pareto job size: Pr{X>x} ~ x -   <1 UNBALANCE favor smalls UNBALANCE favor larges BALANCE LOAD  =1  >1 [Harchol-Balter,Vesilo, 08] L S Size- Interval Routing FCFS ssss L LL

16 Beyond Size-Interval Splitting job size x xfx  () Q: Is Size-Interval Splitting as good as it gets? L S Size- Interval Routing FCFS ssss L LL

17 Size-Interval Splitting with Stealing Answer: Allow Cycle Stealing! L S Size- Interval Routing with Cycle Stealing FCFS Send Shorts Here Send Longs Here. But, if idle, send Short.  Gain to Shorts is very high  Pain to Longs is very small. Cycle Stealing analysis very hard: Fayolle, Iasnogorodski, Konheim, Meilijson, Melkman, Cohen, Boxma, van Uitert, Jelenkovic, Foley, McDonald, Harrison, Borst, Williams … New easy approach: Dimensionality Reduction 2D  1D [Harchol-Balter, Osogami, Scheller-Wolf, Squillante SPAA03]

18 1.Round-Robin 2. Join-Shortest-Queue Go to host w/ fewest # jobs. 3. Least-Work-Left, equivalent to M/G/k/FCFS Go to host with least total work. 4. Central-Queue-Shortest-Job (M/G/k/SJF) Host grabs shortest job when free. 5. Size-Interval Splitting Jobs are split up by size among hosts. What if Don’t Know Job Size? Q: What can we do to minimize E[T] when don’t know job size? FCFS Router FCFS Routing policy  Highly variable job sizes

19 The TAGS algorithm “ T ask A ssignment by G uessing S ize” Answer: When job reaches size limit for host, then it is killed and restarted from scratch at next host. m s Outside Arrivals Host 1 Host 2 Host 3 [Harchol-Balter, JACM 02]

20 Lower variability High variability Results of Analysis TAGS Random Least-Work-Left

21 Summary so far … LESSONS LEARNED:  Smart scheduling greatly improves mean response time.  Variability of job size distribution is key. LESSONS LEARNED:  Greedy routing policies, like JSQ, LWL are poor.  To combat variability, need size-interval splitting.  By isolating smalls, can achieve effects of smart single-server policies  Don’t need to know size  Load UN-balancing X: job size -- highly-variable  <1 Single-server system FCFS Router Supercomputing

22 Outline FCFS Router I.Review of scheduling in single-server II.Supercomputing III.Web server farm model PS Router PS IV. Towards Optimality … SRPT Router &

23 Outline FCFS Router I.Review of scheduling in single-server II.Supercomputing III.Web server farm model PS Router PS IV. Towards Optimality … SRPT Router &

24 Web Server Farm Model  HTTP requests are immediately dispatched to server.  Requests are fully preemptible.  Commodity servers utilized  Do Processor-Sharing.  Jobs i.i.d. ~ G: highly variable size distribution, 7 orders magnitude difference in job size [Crovella, Bestavros 98]. Router Routing policy Poisson Process PS  Cisco Local Director  IBM Network Dispatcher  Microsoft SharePoint  F5 Labs BIG/IP

25 Q: Compare Routing Policies for E[T]? PS Router PS Web Server Farm  High variance job size ? ? 1.Random 2. Join-Shortest-Queue Go to host w/ fewest # jobs. 3. Least-Work-Left Go to host with least total work. 4. Size-Interval Splitting Jobs are split up by size among hosts. High E[T] FCFS Low E[T] FCFS

26 Q: Compare Routing Policies for E[T]? PS Router PS 1.Random 2. Join-Shortest-Queue Go to host w/ fewest # jobs. 3. Least-Work-Left Go to host with least total work. 4. Size-Interval Splitting Jobs are split up by size among hosts. Answer: Same high E[T]. Also, want to balance load! Answer: Shortest- Queue is greedier & better.

27 Prior Analysis of JSQ Routing FCFS JSQ All prior JSQ analysis assumes FCFS servers 2-server: [Kingman 61], [Flatto, McKean 77], [Wessels, Adan, Zijm 91] [Foschini, Salz 78], [Knessl, Makkowsky, Schuss, Tier 87] [Conolly 84], [Rao, Posner 87], [Blanc 87], [Grassmann 80], [Muntz, Lui, Towsley 95] [Cohen, Boxma 83] >2-server approximations: [Nelson, Philips, Sigmetrics 89] [Nelson, Philips, Perf.Eval. 93] [Lin, Raghavendra, TPDS 96]

28 First Analysis of JSQ for PS [Gupta, Harchol-Balter, Sigman, Whitt, Performance 07] JSQ Poisson Process PS Single-Queue-Approximation: M/G/k/JSQ-PS system ~ M n /G/1/PS

29 Increasing variability E[T] First Analysis of JSQ for PS [Gupta, Harchol-Balter, Sigman, Whitt, Performance 07] JSQ PS

30 Summary so far LESSONS LEARNED:  Greedy routing policies, like JSQ, LWL are poor.  To combat variability, need size-interval splitting.  By isolating smalls, can achieve effects of smart single-server policies  Don’t need to know size.  Load UN-balancing FCFS Router Supercomputing PS Router PS Web server farm LESSONS LEARNED:  JSQ routing is good!  Job size variability not a problem.  Load Balancing

31 Outline FCFS Router I. Review of scheduling in single-server M/GI/1 II.Supercomputing/Manufacturing III.Web server farm model PS Router PS IV. Towards Optimality … SRPT Router &

32 What is Optimal Routing/Scheduling? Sched. policy Router Sched. policy Routing policy Incoming jobs 2 Policy Decisions Assume no restrictions:  Jobs are fully preemptible.  Can have central queue if want it, or not.  Know job size (of course don’t know future jobs...)

33 What is Optimal Routing/Scheduling? SRPT Central-Queue-SRPT Question: Central-Queue-SRPT looks pretty good! Does it minimize E[T]? Recall: minimizes E[T] on every sample path! [Schrage 67] SRPT

34 Central-Queue-SRPT SRPT Answer: This does not minimize E[T] on every arrival sequence. Bad Arrival 0: 2 jobs size 2 9, 1 job size : 2 jobs size 2 8, 1 job size : 2 jobs size 2 7, 1 job size 2 8, etc OPT Central-Queue-SRPT preempted

35 Central-Queue-SRPT SRPT Adversarial (Worst-Case) Guarantees: THM: [Leonardi, Raz, STOC 97]: Central-Queue-SRPT is competitive for E[T], and no online policy can beat this. Remarks:  log(biggest/smallest) could be factor 7 in practice!  Closest stochastic result analyzes only central-queue w/priorities: [Harchol-Balter, Wierman, Osogami, Scheller-Wolf, QUESTA 05]

36 What is Optimal Routing/Scheduling with Immediate Dispatch? Sched. policy Router Sched. policy Routing policy Incoming jobs 2 Policy Decisions Practical Assumption: jobs must be immediately dispatched!  Jobs are fully preemptible within queue.  Know job size.

37 In search of good Immediate Dispatch Routing Q: What should immediate dispatch routing policy be, given SRPT sched. at hosts? Router SRPT Immediately Dispatch Jobs Incoming jobs SRPT Theorem: The optimal routing/scheduling pair uses SRPT at the hosts.

38 Smart Immediate Dispatch Policy Answer: IMD Algorithm due to [Avrahami,Azar 03]:  Split jobs into size classes  Assign each incoming job to server w/ fewest #jobs in that class Router SRPT Immediately Dispatch Incoming jobs SRPT Remarks:  IMD is competitive for E[T].  Immediate Dispatching is “as good as” Central-Queue-SRPT  Similar policy proposed by [Wu,Down 06] for heavy-traffic setting.

39 Some Key Points FCFS Router Supercomputing Web server farm model PS Router PS Towards Optimality … SRPT Router & Need Size-interval splitting to combat job size variability and enable good performance. Job size variability is not an issue. Greedy, JSQ, performs well. Both these have similar worst-case E[T]. Almost exclusively worst-case analysis, so hard to compare with above results. Need stochastic research here!

40 If you want to know more … Performance Modeling ** Highly-recommended for CS theory, Math, TEPPER, and ACO doctoral students Instructor: Mor Harchol-Balter Queueing theory is an old area of mathematics which has recently become very hot. The goal of queueing theory has always been to improve the design/performance of systems, e.g. networks, servers, memory, disks, distributed systems, etc., by finding smarter schemes for allocating resources to jobs. In this class we will study the beautiful mathematical techniques used in queueing theory, including stochastic analysis, discrete-time and continuous-time Markov chains, renewal theory, product-forms, transforms, supplementary random variables, fluid theory, scheduling theory, matrix-analytic methods, and more. Throughout we will emphasize realistic workloads, in particular heavy-tailed workloads. This course is packed with open problems -- problems which if solved are not just interesting theoretically, but which have huge applicability to the design of computer systems today. Queueing theory is an old area of mathematics which has recently become very hot. The goal of queueing theory has always been to improve the design/performance of systems, e.g. networks, servers, memory, disks, distributed systems, etc., by finding smarter schemes for allocating resources to jobs. In this class we will study the beautiful mathematical techniques used in queueing theory, including stochastic analysis, discrete-time and continuous-time Markov chains, renewal theory, product-forms, transforms, supplementary random variables, fluid theory, scheduling theory, matrix-analytic methods, and more. Throughout we will emphasize realistic workloads, in particular heavy-tailed workloads. This course is packed with open problems -- problems which if solved are not just interesting theoretically, but which have huge applicability to the design of computer systems today. My class lectures are all available online.

41  N. Bansal and M. Harchol-Balter, "Analysis of SRPT Scheduling: Investigating Unfairness," Proceedings of ACM Sigmetrics 2001 Conference on Measurement and Modeling of Computer Systems.  P. Barford and M. Crovella, “Generating Representative Web Workloads for Network and Server Performance Evaluation,” Proceedings of Performance 1998/SIGMETRICS 1998, pp  J. Blanc, “A Note on Waiting Times in Systems with Queues in Parallel,” J. Appl. Prob., Vol. 24, 1987 pp  S. Borst, O. Boxma, and P. Jelenkovic, “Reduced load equivalence and induced burstiness in GPS queues with long-tailed traffic flows,” Queueing Systems, Vol. 43, 2003, pp  S. Borst, O. Boxma, and M. van Uitert, “The asymptotic workload behavior of two coupled queues,” Queueing Systems, Vol. 43, 2003, pp  J.W. Cohen and O. Boxma, Boundary Value Problems in Queueing System Analysis, North Holland, 1983  B.W. Conolly, “The Autostrada Queueing Problem,” J. Appl. Prob.: Vol. 21., 1984, pp References

42  M. Crovella and A. Bestavros, “Self-similarity in World Wide Web traffic: evidence and possible causes,” Proceedings of the 1996 ACM Sigmetrics International Conference on Measurement and Modeling of Computer Systems, May 1996, pp  D. Down and R. Wu, “Multi-layered round robin scheduling for parallel servers,” Queueing Systems: Theory and Applications, Vol. 53, No. 4, 2006, pp  G. Fayole and R. Iasnogorodski, “Two coupled processors: the reduction to a Riemann-Hilbert problem,” Zeitschrift fur Wahrscheinlichkeistheorie und vervandte Gebiete, vol. 47, 1979, pp  L. Flatto and H.P. McKean, “Two Queues in Parallel,” Communication on Pure and Applied Mathematics, Vol. 30, 1977, pp  R. Foley and D. McDonald, “Exact asymptotics of a queueing network with a cross-trained server,” Proceedings of INFORMS Annual Meeting, October 2003, pp. MD-062.  G. Foschini and J. Salz, “A Basic Dynamic Routing Problem and Diffusion,” IEEE Transactions on Communications, Vol. Com-26, No. 3, March References, cont.

43  P. Glynn, M. Harchol-Balter, K. Ramanan, “Heavy-traffic Approach to Optimizing Size-Interval Task Assignment,” Work in progress,  W. Grassmann, "Transient and Steady State Results for Two Parallel Queues," Omega, vol. 8, 1980, pp  V. Gupta, M. Harchol-Balter, K. Sigman, and W. Whitt, “Analysis of Join-the- Shortest-Queue Policy for Web Server Farms.” To appear in Performance Evaluation Review,  M. Harchol-Balter and A. Downey. "Exploiting Process Lifetime Distributions for Dynamic Load Balancing," Proceedings of ACM Sigmetrics '96 Conference on Measurement and Modeling of Computer Systems, May 1996, pp  M. Harchol-Balter, M. Crovella, and C. Murta, "On Choosing a Task Assignment Policy for a Distributed Server System," Journal of Parallel and Distributed Computing, vol. 59, no. 2, Nov. 1999, pp  M. Harchol-Balter, C. Li, T. Osogami, and A. Scheller-Wolf, and M. Squillante, “Cycle stealing under immediate dispatch task assignment,” Proceedings of the Annual ACM Symposium on Parellel Algorithms and Architectures (SPAA), June 2003, pp References, cont.

44  M. Harchol-Balter and R.Vesilo, “To Balance or Unbalance Load in Size-Interval Task Allocation,” In submission to Performance Evaluation,  M. Harchol-Balter, A. Wierman, T. Osogami, and A. Scheller-Wolf, "Multi- server queueing systems with multiple priority classes," Queueing Systems: Theory and Applications (QUESTA), vol. 51, no. 3-4, 2005, pp  J. Kingman, “Two Similar Queues in Parallel,” Biometrika, Vol. 48, 1961, pp  A. Konheim, I. Meilijson, and A. Melkman, “Processor-sharing of two parallel lines,” J. Appl. Prob., Vol. 18, 1981, pp  C. Knessl, B. Matkowsky, Z. Schuss, and C. Tier, “Two Parallel M/G/1 Queues where Arrivals Join the System with the Smaller Buffer Content,” IEEE Transactions on Communications, Vol. Com-35, No. 11,1987, pp  S. Leonardi and D. Raz, “Approximating Total Flow Time on Parallel Machines,” ACM Symposium on Theory of Computing (STOC), References, cont.

45  H. Lin, and C. Raghavendra, “An Approximate Analysis of the Join the Shortest Queue(JSQ) Policy”, IEEE Transactions on Parallel and Distributed Systems, vol. 7, no. 3, March  J. Lui, R. Muntz, D. Towsley, “Bounding the mean response time of the minimum expected delay routing policy: an algorithmic approach,” IEEE Transactions on Computers, Vol. 44, No. 12, Dec  S. Muthukrishnan, R. Rajaraman, A. Shaheen, and J. Gehrke, “Online Scheduling to Minimize Average Stretch,” Proceedings of the 40th Annual Symposium on Foundations of Computer Science, October 1999, pp  R. Nelson and T. Philips, “An approximation to the response time for shortest queue routing,” ACM SIGMETRICS Performance Evaluation Review, Vol. 17 No. 1, May 1989, pp  R. Nelson and T. Philips, “An approximation for the mean response time for shortest queue routing with general interarrival and service times,” Performance Evaluation, Vol. 17 No. 2, March 1993 pp References, cont.

46 References, cont.  B. Rao and M. Posner, “Algorithmic and Approximate Analysis of the Shorter Queue,” Model Naval Research Logistics, Vol. 34, 1987, pp  T. Osogami, M. Harchol-Balter, and A. Scheller-Wolf, “Analysis of cycle stealing with switching cost,” Proceedings of the ACM Sigmetrics, June 2003, pp  R. Righter and J. Shanthikumar, “Scheduling multiclass single server queueing systems to stochastically maximize the number of successful departures," Probability in the Engineering and Informational Sciences, Vol. 3, 1989, pp  L.E. Schrage, “A proof of the optimality of the shortest processing remaining time discipline,” Operations Research, Vol. 16, 1968, pp  B. Schroeder and M. Harchol-Balter, "Evaluation of Task Assignment Policies for Supercomputing Servers: The Case for Load Unbalancing and Fairness," 9th IEEE Symposium on High Performance Distributed Computing (HPDC '00), August 2000.

47 References, cont.  B. Schroeder, A. Wierman, and M. Harchol-Balter. "Closed versus Open System Models: a Cautionary Tale,” Proceedings of NSDI,  A. Shaikh, J. Rexford, and K. Shin, “Load-sensitive routing of long-lived IP flows,” Proceedings of SIGCOMM, September,  J. Wessels, I. Adan, and W. Zijm, “Analysis of the asymmetric shortest queue problem,” Queueing Systems, Vol. 8, 1991, pp  A. Wierman and M. Harchol-Balter, "Classifying Scheduling Policies with respect to Unfairness in an M/GI/1," Proceedings of ACM Sigmetrics 2003 Conference on Measurement and Modeling of Computer Systems, June 2003.

48 Thank you for listening!