CSE 538 Instructor: Roch Guerin

Slides:



Advertisements
Similar presentations
Chapter 13 Queueing Models
Advertisements

Introduction to Queuing Theory
Queueing Models and Ergodicity. 2 Purpose Simulation is often used in the analysis of queueing models. A simple but typical queueing model: Queueing models.
1 Chapter 8 Queueing models. 2 Delay and Queueing Main source of delay Transmission (e.g., n/R) Propagation (e.g., d/c) Retransmission (e.g., in ARQ)
Queuing Theory For Dummies
ECS 152A Acknowledgement: slides from S. Kalyanaraman & B.Sikdar
Lecture 11 Queueing Models. 2 Queueing System  Queueing System:  A system in which items (or customers) arrive at a station, wait in a line (or queue),
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.
Little’s Theorem Examples Courtesy of: Dr. Abdul Waheed (previous instructor at COE)
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar1 ECSE-4730: Computer Communication Networks (CCN) Network Layer Performance.
CSE 550 Computer Network Design Dr. Mohammed H. Sqalli COE, KFUPM Spring 2012 (Term 112)
Queueing Theory.

Queuing Networks. Input source Queue Service mechanism arriving customers exiting customers Structure of Single Queuing Systems Note: 1.Customers need.
Introduction to Queuing Theory
Queueing Theory I. Summary Little’s Law Queueing System Notation Stationary Analysis of Elementary Queueing Systems  M/M/1  M/M/m  M/M/1/K  …
Introduction to Operations Research
Queueing Analysis of Production Systems (Factory Physics)
NETE4631:Capacity Planning (2)- Lecture 10 Suronapee Phoomvuthisarn, Ph.D. /
Manijeh Keshtgary. Queuing Network: model in which jobs departing from one queue arrive at another queue (or possibly the same queue)  Open and Closed.
CSE 538 Instructor: Roch Guerin – Office hours: Mon & Wed 4:00-5:00pm in Bryan 509 TA: Junjie Liu
TexPoint fonts used in EMF.
1 Elements of Queuing Theory The queuing model –Core components; –Notation; –Parameters and performance measures –Characteristics; Markov Process –Discrete-time.
CS433 Modeling and Simulation Lecture 12 Queueing Theory Dr. Anis Koubâa 03 May 2008 Al-Imam Mohammad Ibn Saud University.
1 Chapters 8 Overview of Queuing Analysis. Chapter 8 Overview of Queuing Analysis 2 Projected vs. Actual Response Time.
Queuing Theory and Traffic Analysis Based on Slides by Richard Martin.
CSCI1600: Embedded and Real Time Software Lecture 19: Queuing Theory Steven Reiss, Fall 2015.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Chapter 6 Queueing Models
Little’s Law & Operational Laws. Little’s Law Proportionality relation between the average number of jobs (E[N]) in a system and the average system time.
(C) J. M. Garrido1 Objects in a Simulation Model There are several objects in a simulation model The activate objects are instances of the classes that.
Introduction Definition M/M queues M/M/1 M/M/S M/M/infinity M/M/S/K.
Queuing Theory.  Queuing Theory deals with systems of the following type:  Typically we are interested in how much queuing occurs or in the delays at.
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.
Queuing Theory Simulation & Modeling.
CPE 619 Introduction to Queuing Theory
OPERATING SYSTEMS CS 3502 Fall 2017
Burke Theorem, Reversibility, and Jackson Networks of Queues
Dan C. Marinescu Office: HEC 439 B. Office hours: M, Wd 3 – 4:30 PM.
Managing Flow Variability: Safety Capacity
“QUEUING THEORY”.
Models of Traffic Flow 1.
Al-Imam Mohammad Ibn Saud University
Queuing Theory Queuing Theory.
B.Ramamurthy Appendix A
Internet Queuing Delay Introduction
Chapter 6 Queuing Models.
Queueing Theory Carey Williamson Department of Computer Science
CPU Scheduling G.Anuradha
Chapter 6: CPU Scheduling
Queuing models Basic definitions, assumptions, and identities
Waiting Lines Queues.
IV-2 Manufacturing Systems modeling
System Performance: Queuing
Queuing models Basic definitions, assumptions, and identities
TexPoint fonts used in EMF.
COMP60611 Fundamentals of Parallel and Distributed Systems
Queuing Theory By: Brian Murphy.
Queuing Analysis Two analytical techniques can be employed to study queuing processes: Shock wave analysis Demand-capacity process is deterministic Suited.
Mitchell Jareo MAT4340 – Operations Research Dr. Bauldry
Lecture 2 Part 3 CPU Scheduling
Queueing networks.
COMP60621 Designing for Parallelism
Queueing Theory 2008.
Carey Williamson Department of Computer Science University of Calgary
CSE 550 Computer Network Design
Queueing Theory Frank Y. S. Lin Information Management Dept.
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.
Queuing Models J. Mercy Arokia Rani Assistant Professor
Presentation transcript:

CSE 538 Instructor: Roch Guerin (guerin@wustl.edu) Office hours: Mon & Wed 4:00-5:00pm in Bryan 509 Classes: Tuesday & Thursday 10:00-11:30am in Lopata 103 Textbook: M. Harchol-Balter, "Performance Modeling and Design of Computer Systems." Cambridge University Press (2013), ISBN: 978-1-107-02750-3 Class wiki: http://classes.engineering.wustl.edu/cse538

What Are We Going To Be Looking At? Jobs arrive How often, with what patterns? Each job brings a certain amount of work (service time) How much, with what variations? System has resources CPU, memory, bandwidth, etc. Basic questions What is the system response time How much better will it be if I increase CPU speed, bandwidth, memory, etc.? How should I assign jobs to servers? Should I pool jobs together, or split them apart across servers?

Formalizing a Conceptual Approach Queueing Nomenclature λ μ Arrivals Departures Server(s) Service discipline Waiting facility Arrival rate (λ), average (mean) inter-arrival time (1/λ) Service rate (μ), average (mean) service time (1/μ) Service disciplines: First-in-first-out (FIFO) or fist-come-first-served (FCFS) Last-in-first-out (LIFO) Random-in-random-out (RIRO) Processor sharing (PS) Work conserving (or not) Queueing system notation: A/B/c/d, e.g., M/M/1/∞ or M/M/1 A: type of arrival process B: service time distribution c: number of servers d: maximum number of jobs

Queueing Metrics Waiting time or queueing time or delay: TQ or W Time spent in queue (from arrival to access to server) Response time or sojourn time or time in system: T How long a job spends in the system from arrival to departure Equal to waiting time + service time Number in the system: N Number of jobs in the queue and server(s) Number in the queue: NQ Number of jobs waiting to access server Server/device utilization or load: ρ Fraction of time the server is busy (at least one job in it) Server/device throughput: X Rate of (service) completions at server, i.e., jobs/sec

More on Utilization & Throughput Server utilization = Average # jobs in service: ρ = E[NS] Utilization = fraction of time server is busy ~ probability server is busy: ρ = P(NS = 1) When server is busy: One job in server (NS = 1) When server is not busy: Zero job in server (NS = 0) E[NS] = P(NS = 1)  1+ P(NS = 0)  0 = ρ  1 = ρ S1 S2 S3 S4 S5 S6 S7 S8 Si SC-1 SC SC-2 τ … C(τ) jobs in τ for a total service time of B(τ) = S1+S2+S3+…+SC-1+SC We know Utilization ρ ~ B(τ)/τ Throughput X ~ C(τ)/τ So that X ~ [C(τ)/B(τ)] . [B(τ)/τ] = [C(τ)/B(τ)] . ρ, but B(τ)/C(τ) ~ E[S] = 1/μ Hence: X = ρ . μ

Alternative Derivation (Conditional Expectation) X = Mean rate of job completion at server = E[Rate of completion at server | server is busy]. P{server is busy} + E[Rate of completion at server | server is idle]. P{server is idle} = μ . P{server is busy} + 0 = μ . ρ

A Simple Throughput Example Infinite waiting facility Single server λ μ FCFS Assume λ = 1/6 and μ = 1/3 Throughput is X = ρ . μ, but what is ρ? Rough intuition ρ = fraction of time server is busy = (average service time)/(average time between arrivals) = (1/μ)/(1/λ) = λ/μ So X = λ, and does not depend on service rate!

Single Server Stability Infinite waiting facility Single server λ μ Arrival rate of λ and service rate of μ N(t) is number of jobs in system at time t A(t) and D(t) are numbers of arrivals and departures by time t We have: E[N(t)] = E[A(t)] – E[D(t)] ≥ λt – μt = t(λ-μ) Hence we need λ < μ for the system to be stable Service rate must exceed arrival rate…

Queueing Networks A system with multiple connected queues and servers Open networks: external arrivals and jobs eventually leave the system Closed networks: No external arrivals or departures (departure rate = arrival rate) Batch systems and interactive systems (main difference is how fast new jobs are submitted once a job completes a “cycle”)

Open Networks Probabilistic routing Deterministic routing CPU Disk 1 Disk 2 λ 2x around Disks 1,2,1,2,1 μ2 μ3 μ1 r1 r2 r3 p12 p1,out p2,out p13 p23 p31 = 1 Probabilistic routing “Probabilities” determine where jobs go next Note that p1,out + p12 + p13 = 1 Deterministic routing Every jobs follows a fixed path, possibly visiting each server more than once

Open Networks Throughput μ2 μ3 μ1 r1 r2 r3 p12 p1,out p2,out p13 p23 p31 = 1 System throughput: X = Σi ri Single server throughput Xi = λi, but what is λi? λi = ri + Σi pji λj (a system of equations) Note that the ri’s are constrained by the fact that we need λi < μi

Closed Networks Interactive Batch μ1 μ2 μ1 μ2 μ3 … μ3 N “users” Fixed number of jobs “circulate” in the system Often called the system load Interactive A fixed number of users submit jobs A user can only submit a new job after her previous job completes A user has a “think time” before submitting her new job Batch Same as interactive with a think time of 0

Closed Networks Throughput Single server batch network X = μ (depends on service rate!) Multiple servers A bit more complicated. We’ll explore this later