IFIP Performance 2011 Best Paper

Slides:



Advertisements
Similar presentations
Ch 11 Distributed Scheduling –Resource management component of a system which moves jobs around the processors to balance load and maximize overall performance.
Advertisements

Hadi Goudarzi and Massoud Pedram
CPU Scheduling Tanenbaum Ch 2.4 Silberchatz and Galvin Ch 5.
Thrasyvoulos Spyropoulos / Eurecom, Sophia-Antipolis 1  Load-balancing problem  migrate (large) jobs from a busy server to an underloaded.
Quantitative Techniques for Decision Making M.P. Gupta & R.B. Khanna © Prentice Hall India Page 1.
Chapter Queueing Notation
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
1 ELEN 602 Lecture 8 Review of Last lecture –HDLC, PPP –TDM, FDM Today’s lecture –Wavelength Division Multiplexing –Statistical Multiplexing –Preliminary.
1 IOE/MFG 543 Chapter 11: Stochastic single machine models with release dates.
Model Antrian By : Render, ect. Outline  Characteristics of a Waiting-Line System.  Arrival characteristics.  Waiting-Line characteristics.  Service.
#11 QUEUEING THEORY Systems Fall 2000 Instructor: Peter M. Hahn
ECS 152A Acknowledgement: slides from S. Kalyanaraman & B.Sikdar
1 Performance Evaluation of Computer Networks Objectives  Introduction to Queuing Theory  Little’s Theorem  Standard Notation of Queuing Systems  Poisson.
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.
Data Communication and Networks Lecture 13 Performance December 9, 2004 Joseph Conron Computer Science Department New York University
1 Queueing Theory H Plan: –Introduce basics of Queueing Theory –Define notation and terminology used –Discuss properties of queuing models –Show examples.
1 Service A Queuing System Arrival Rate (  Average Number in Queue ( L q ) Avg Time in System ( W ) Avg Number in System ( L ) Average Wait in Queue.
Module 2.0: Modeling of Network Components. Queueing theory  Basics : average number of packets 1/  : mean service time per packet [s] arriving per.
6/30/ On the Management and Efficiency of Cloud-based Services 1 Distributed Oblivious Load Balancing Using Prioritized Job Replication Amir.
On G-network and resource allocation in multimedia systems 報告者 : 王敬育.
Chapter 18 Management of Waiting Lines
7/3/2015© 2007 Raymond P. Jefferis III1 Queuing Systems.
Introduction to Queuing Theory. 2 Queuing theory definitions  (Kleinrock) “We study the phenomena of standing, waiting, and serving, and we call this.
Internet Queuing Delay Introduction How many packets in the queue? How long a packet takes to go through?
Queuing Networks. Input source Queue Service mechanism arriving customers exiting customers Structure of Single Queuing Systems Note: 1.Customers need.
Introduction to Queuing Theory
CS433 Modeling and Simulation Lecture 13 Queueing Theory Dr. Anis Koubâa 03 May 2009 Al-Imam Mohammad Ibn Saud University.
4/11: Queuing Models Collect homework, roll call Queuing Theory, Situations Single-Channel Waiting Line System –Distribution of arrivals –Distribution.
MIT Fun queues for MIT The importance of queues When do queues appear? –Systems in which some serving entities provide some service in a shared.
Introduction to Operations Research
NETE4631:Capacity Planning (2)- Lecture 10 Suronapee Phoomvuthisarn, Ph.D. /
Structure of a Waiting Line System Queuing theory is the study of waiting lines Four characteristics of a queuing system: –The manner in which customers.
1 Multiprocessor and Real-Time Scheduling Chapter 10 Real-Time scheduling will be covered in SYSC3303.
Introduction to Queueing Theory
Queuing Theory Basic properties, Markovian models, Networks of queues, General service time distributions, Finite source models, Multiserver queues Chapter.
Queueing Theory What is a queue? Examples of queues: Grocery store checkout Fast food (McDonalds – vs- Wendy’s) Hospital Emergency rooms Machines waiting.
1 Elements of Queuing Theory The queuing model –Core components; –Notation; –Parameters and performance measures –Characteristics; Markov Process –Discrete-time.
Waiting Lines and Queuing Models. Queuing Theory  The study of the behavior of waiting lines Importance to business There is a tradeoff between faster.
Queuing Networks Jean-Yves Le Boudec 1. Networks of Queues Stability Queuing networks are frequently used models The stability issue may, in general,
1 Chapters 8 Overview of Queuing Analysis. Chapter 8 Overview of Queuing Analysis 2 Projected vs. Actual Response Time.
An Optimal Service Ordering for a World Wide Web Server A Presentation for the Fifth INFORMS Telecommunications Conference March 6, 2000 Amy Csizmar Dalal.
Queueing Models with Multiple Classes CSCI 8710 Tuesday, November 28th Kraemer.
7-1 Introduction to Queueing Theory l Components of a queueing system n probability density function (pdf) of interarrival times n pdf of service times.
Chapter 20 Queuing Theory to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,
Maciej Stasiak, Mariusz Głąbowski Arkadiusz Wiśniewski, Piotr Zwierzykowski Model of the Nodes in the Packet Network Chapter 10.
Structure of a Waiting Line System Queuing theory is the study of waiting lines Four characteristics of a queuing system: –The manner in which customers.
Chapter 6 Queueing Models
1 Queuing Delay and Queuing Analysis. RECALL: Delays in Packet Switched (e.g. IP) Networks End-to-end delay (simplified) = End-to-end delay (simplified)
Delays  Deterministic Assumes “error free” type case Delay only when demand (known) exceeds capacity (known)  Stochastic Delay may occur any time Random.
COMT 4291 Queuing Analysis COMT Call/Packet Arrival Arrival Rate, Inter-arrival Time, 1/ Arrival Rate measures the number of customer arrivals.
Zeta: Scheduling Interactive Services with Partial Execution Yuxiong He, Sameh Elnikety, James Larus, Chenyu Yan Microsoft Research and Microsoft Bing.
Random Variables r Random variables define a real valued function over a sample space. r The value of a random variable is determined by the outcome of.
Simple Queueing Theory: Page 5.1 CPE Systems Modelling & Simulation Techniques Topic 5: Simple Queueing Theory  Queueing Models  Kendall notation.
QUEUING THEORY 1.  - means the number of arrivals per second   - service rate of a device  T - mean service time for each arrival   = ( ) Utilization,
Queuing Theory Simulation & Modeling.
Lecture 4 Page 1 CS 111 Summer 2013 Scheduling CS 111 Operating Systems Peter Reiher.
Managerial Decision Making Chapter 13 Queuing Models.
Optimizing Distributed Actor Systems for Dynamic Interactive Services
Load Balancing and Data centers
Queueing Theory What is a queue? Examples of queues:
A Scalable Routing Architecture for Prefix Tries
ECE 358 Examples #1 Xuemin (Sherman) Shen Office: EIT 4155
Queueing Theory Carey Williamson Department of Computer Science
System Performance: Queuing
Discrete Event “Hand” Simulation of a GI/GI/1 Queue
Queueing networks.
Queueing Theory 2008.
Carey Williamson Department of Computer Science University of Calgary
Numerical Studies on Braess-like Paradoxes for Non-Cooperative Load Balancing in Distributed Computer Systems By Said Fathy El-Zoghdy, Hisao Kameda, and.
Waiting Line Models Waiting takes place in virtually every productive process or service. Since the time spent by people and things waiting in line is.
Presentation transcript:

IFIP Performance 2011 Best Paper Join-Idle-Queue: A Novel Load Balancing Algorithm for Dynamically Scalable Web Services Li Yu, Qiaomin Xie, Gabriel Kliot, Alan Geller, James R. Larus, Albert Greenberg IFIP Performance 2011 Best Paper Presented by Amir Nahir

Agenda Queuing terminology and background: Motivation The algorithm M/M/N, Processor Sharing Motivation The algorithm Some analysis Results Caveat: where has time gone?

M/M/N Single shared queue Jobs wait in the queue Whenever a server completes one job, it gets the next from the queue

M/M/N Pros: Cons: Jobs arrive to the next server to become available Centralized (single point of failure, bottleneck) Hidden overhead – the time is takes to access the queue to get the job

Service Disciplines FIFO (a.k.a FCFS) Processor sharing

FIFO vs. Processor Sharing Analysis is very similar But results are not quite the same E.g., assume three jobs arrive at the system at time 0 PS is currently seen as the “realistic” model Avg. time in system = 2 Avg. time in system = 3

Web-Services: The User’s Experience No one really tries to model the whole process as a single problem Common component (unchanged by the research) are often neglected Scheduler Server

The Main Motivation for the Paper Reduce delays on the job’s critical path Scheduler Scheduler Server Server Scheduler

The Join-Idle-Queue Algorithm: System Structure Two-layer system: dispatchers (front-ends) and processors (back-ends, servers) The ratio between servers and dispatchers is denoted by r No assumptions regarding processor discipline (can support PS, FIFO) Each dispatcher has an I-queue The I-queue holds servers (not jobs)

The Join-Idle-Queue Algorithm: Dispatcher Behavior Upon receiving a job from user: If there are servers in the I-queue, dequeue first server and send job to it Otherwise – send job to random server This deteriorates system performance This is termed primary load balancing

The Join-Idle-Queue Algorithm: Server Behavior Upon completing all jobs: Choose a dispatcher Two techniques are considered: Random and SQ(d) Register in its I-queue This is termed secondary load balancing

The Join-Idle-Queue Algorithm at Work 2 1 Shows that when completing a job, but the queue is not empty, nothing happens Show arrival that finds a server in the IQ Job completes, server registers to IQ Job arrives to find empty IQ, random server is chosen 1 2 3 4 4

The Join-Idle-Queue Algorithm: Corner Case 1 Server 2 is busy processing a job while being registered as “idle” in one of the I-queues 2 A server is registered as “Idle” in one of the Iqs, but is in fact working on a job Because it arrived from random assignment 1 2 3 4

The Join-Idle-Queue Algorithm: Corner Case 2 Server 2 is reported as “idle” in more than one dispatcher A server is registered as “Idle” in one of the Iqs, but is in fact working on a job Because it arrived from random assignment The server next completes this job, and registers to a different dispatcher The authors suggest overcoming this by not “re-registering” until a job arrives from the dispatcher to which the server registered last 2 1 2 3 4

JIQ Analysis: Some Notations r – the ratio of servers to dispatchers When is the algorithm expected to perform better, large r or small r?

JIQ Analysis: Some Notations pi – the probability that a server holds exactly i jobs p0 – the probability that a server is idle λi – the arrival rate of jobs to a server which holds exactly i jobs λ0 – the arrival rate of jobs to idle processors ρ=λ/μ Common notation in queuing

Load Balancing Assertions No matter how your balance the load: p0 = 1 – λ a λN dispatchers n servers

Load Balancing: So Where Does the Wisdom Go? It’s not about: increasing the probability that a server is idle It’s about increasing the arrival rate to idle (and lightly loaded) servers And from there,

Theorem 1: Proportion of Occupies I-Queues There’s a strong connection between idle servers and occupied I-queues Jobs arrive at the system at rate λn The proportion of idle servers is (1-λ)n This proportion is equally distributed among the dispatchers, so the proportion of occupied I-queues is (1-λ)n/m = (1-λ)r

Theorem 1: Proportion of Occupies I-Queues On the other hand, the authors show that “server arrivals” to the I-queue do behave like a Poisson process (when n→∞) Servers arrive at I-queues at rate ρ There are ρm occupied I-queues (on average) And so the average I-queue length, under random secondary load balancing, is:

Corollary 2: The Arrival Rate at Idle Servers (1) Job arrival rate at the specific dispatcher is λn/m A job has probability ρ to find an occupied I-queue Average I-queue length is r(1-λ) 2 1 2 3 4

Corollary 2: The Arrival Rate at Idle Servers (2) Job arrival rate at servers is λ A job has probability (1-ρ) to find an empty I-queue Overall arrival rate at idle servers 2 1 2 3 4

Corollary 2: The Arrival Rate at Non-Idle Servers Job arrival rate at servers is λ A job has probability (1-ρ) to find an empty I-queue Arrival rate at busy servers is λ (1-ρ) 2 1 2 3 4 The arrival rate at idle servers is (r+1) times higher than the arrival rate at non-idle servers

Proportion of Empty I-queues Empty I-queue is BAD r=10 n=500, m=50 for simulation

Results (Exponential Job Length)

Job Length Distributions

Sensitivity to Variance (PS) Load=90%

Affect of r on Performance

Caveat: Scheduling Still Takes Time… When the decision for the secondary load balancing takes place, the servers is not registered at any I-queue At this time, performance is expected to degrade…. Scheduler Server Scheduler