Convolution Algorithm

Similar documents
Operational Laws Raj Jain

Operational Laws 33-1

Operational Laws. Operational Laws. Overview. Operational Quantities

Introduction to Queueing Theory

COMP9334: Capacity Planning of Computer Systems and Networks

Two Factor Full Factorial Design with Replications

2 k Factorial Designs Raj Jain

Analysis of Software Artifacts

Introduction to Queueing Theory

Analysis of A Single Queue

Introduction to Queueing Theory

2 k Factorial Designs Raj Jain Washington University in Saint Louis Saint Louis, MO These slides are available on-line at:

CHAPTER 4. Networks of queues. 1. Open networks Suppose that we have a network of queues as given in Figure 4.1. Arrivals

One Factor Experiments

Queuing Networks. - Outline of queuing networks. - Mean Value Analisys (MVA) for open and closed queuing networks

Module 5: CPU Scheduling

Chapter 6: CPU Scheduling

Buzen s algorithm. Cyclic network Extension of Jackson networks

COMP9334 Capacity Planning for Computer Systems and Networks

CSM: Operational Analysis

CPU scheduling. CPU Scheduling

15 Closed production networks

CPU Scheduling. CPU Scheduler

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling

15 Closed production networks

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts.

Public Key Algorithms

EEC 686/785 Modeling & Performance Evaluation of Computer Systems. Lecture 11

Basic Concepts in Number Theory and Finite Fields

Scheduling I. Today Introduction to scheduling Classical algorithms. Next Time Advanced topics on scheduling

Exercises Stochastic Performance Modelling. Hamilton Institute, Summer 2010

Process Scheduling. Process Scheduling. CPU and I/O Bursts. CPU - I/O Burst Cycle. Variations in Bursts. Histogram of CPU Burst Times

CS 550 Operating Systems Spring CPU scheduling I

EEC 686/785 Modeling & Performance Evaluation of Computer Systems. Lecture 19

Performance Metrics for Computer Systems. CASS 2018 Lavanya Ramapantulu

Outline. Simulation of a Single-Server Queueing System. EEC 686/785 Modeling & Performance Evaluation of Computer Systems.

Last class: Today: Threads. CPU Scheduling

CSCE 313 Introduction to Computer Systems. Instructor: Dezhen Song

CPSC 531: System Modeling and Simulation. Carey Williamson Department of Computer Science University of Calgary Fall 2017

Summarizing Measured Data

Real-time operating systems course. 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm

PERFORMANCE METRICS. Mahdi Nazm Bojnordi. CS/ECE 6810: Computer Architecture. Assistant Professor School of Computing University of Utah

Queueing Networks G. Rubino INRIA / IRISA, Rennes, France

Number Theory. Raj Jain. Washington University in St. Louis

CPU SCHEDULING RONG ZHENG

A POPULATION-MIX DRIVEN APPROXIMATION FOR QUEUEING NETWORKS WITH FINITE CAPACITY REGIONS

Other Public-Key Cryptosystems

CS 700: Quantitative Methods & Experimental Design in Computer Science

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara

CS418 Operating Systems

Chapter 6 Queueing Models. Banks, Carson, Nelson & Nicol Discrete-Event System Simulation

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Computer Systems Modelling

6 Solving Queueing Models

Queueing systems. Renato Lo Cigno. Simulation and Performance Evaluation Queueing systems - Renato Lo Cigno 1

14 Random Variables and Simulation

CPU Scheduling. Heechul Yun

7.5 Operations with Matrices. Copyright Cengage Learning. All rights reserved.

Summarizing Measured Data

More on Input Distributions

Performance Evaluation of Queuing Systems

Other Public-Key Cryptosystems

Simulation of Process Scheduling Algorithms

Job Scheduling and Multiple Access. Emre Telatar, EPFL Sibi Raj (EPFL), David Tse (UC Berkeley)

Note special lecture series by Emmanuel Candes on compressed sensing Monday and Tuesday 4-5 PM (room information on rpinfo)

Dynamic resource sharing

Dynamic Time Quantum based Round Robin CPU Scheduling Algorithm

Contents Preface The Exponential Distribution and the Poisson Process Introduction to Renewal Theory

Slides 9: Queuing Models

CSE 4201, Ch. 6. Storage Systems. Hennessy and Patterson

Today s Agenda: 1) Why Do We Need To Measure The Memory Component? 2) Machine Pool Memory / Best Practice Guidelines

Queuing Theory and Stochas St t ochas ic Service Syste y ms Li Xia

On Two Class-Constrained Versions of the Multiple Knapsack Problem

Complementary Random Numbers Dagger Sampling. Lecture 4, autumn 2015 Mikael Amelin

Elementary queueing system

Modeling Parallel and Distributed Systems with Finite Workloads

Lecture 6. Real-Time Systems. Dynamic Priority Scheduling

Overall Plan of Simulation and Modeling I. Chapters

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science

Kendall notation. PASTA theorem Basics of M/M/1 queue

Bulk input queue M [X] /M/1 Bulk service queue M/M [Y] /1 Erlangian queue M/E k /1

CSE 380 Computer Operating Systems

TDDB68 Concurrent programming and operating systems. Lecture: CPU Scheduling II

Queuing Networks: Burke s Theorem, Kleinrock s Approximation, and Jackson s Theorem. Wade Trappe

Comp 204: Computer Systems and Their Implementation. Lecture 11: Scheduling cont d

Networked Embedded Systems WS 2016/17

Stochastic Models of Manufacturing Systems

Scheduling. Uwe R. Zimmer & Alistair Rendell The Australian National University

BIRTH DEATH PROCESSES AND QUEUEING SYSTEMS

Discrete-event simulations

EEC 686/785 Modeling & Performance Evaluation of Computer Systems. Lecture 18

Queueing Systems: Lecture 3. Amedeo R. Odoni October 18, Announcements

Prof. Daniel A. Menascé Department of Computer Science George Mason University

Probabilistic Systems Analysis Spring 2018 Lecture 6. Random Variables: Probability Mass Function and Expectation

Lecture 20: Reversible Processes and Queues

requests/sec. The total channel load is requests/sec. Using slot as the time unit, the total channel load is 50 ( ) = 1

= main diagonal, in the order in which their corresponding eigenvectors appear as columns of E.

CHAPTER 5 - PROCESS SCHEDULING

I N T R O D U C T I O N : G R O W I N G I T C O M P L E X I T Y

Quality of Real-Time Streaming in Wireless Cellular Networks : Stochastic Modeling and Analysis

Transcription:

Convolution Algorithm Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: http://www.cse.wustl.edu/~jain/cse567-08/ 35-1

Overview 1. Distribution of Jobs in a system 2. Computing the normalizing constant G(N) 3. Computing performance using G(N) 4. Modeling timesharing systems 35-2

Convolution Algorithm! Mean value analysis (MVA) provides only average queue lengths and response times.! Convolution Algorithm provides more detailed information, e.g., Distribution or variance of queue lengths and response times. " What is the probability of two disks being busy at the same time? " What is the probability is of having more than five jobs at a disk? 35-3

Distribution of Jobs in A System! Assume load-independent servers. (Terminals are considered later.)! At any instant, the state of such a network! Gordon and Newell (1967) showed that the probability of the system being in state n is:! Here, D i is the total service demand per job for the i-th device, is the total number of jobs in the system, and G(N) is a normalizing constant such that the probabilities for all states add up to one. 35-4

Distribution of Jobs in A System (Cont)! G(N) can become too large or too small causing overflow/underflow.! Avoided by scaling all service demands D i 's by α before computing G(N).! Let y i =α D i. Then,! One possible choice for α would be:! In any case, the choice of α should not affect the probabilities. 35-5

Example 35.1! Consider a batch computer system consisting of a processor, and two disks.! The service times are 39 milliseconds per visit to CPU, 180 milliseconds per visit to disk A, and 260 milliseconds to disk B.! Each batch job makes 13 I/O requests to disk A, and 6 I/O requests to the disk B.! Compute the state probabilities when the multiprogramming level is 3. 35-6

Example 35.1 (Cont)! The service times are: S CPU =0.039, S A =0.18, S B =0.26! The visit ratios are: V CPU =13+6+1=20, V A =13, V B =6! Total service demands are:! For the scaling factor, we arbitrarily choose α=1/0.78.! This results in y CPU =1, y A =3, and y B =2. 35-7

! The system can be in any one of the ten states.! For each state, we first determine the product i y i ni, add all the products to find G(N), and then divide each individual product by G(N) to get the desired probability. Example 35.1 (Cont) 35-8

Convolution Algorithm for Computing G(N)! Gordon and Newell's method requires us to enumerate all possible states.! For a system with N jobs and M devices, the number of states is given by:! This number is of the order of N M-1 and is usually very large. 35-9

Convolution Algorithm (Cont)! Buzen (1973)'s convolution method is based on the following mathematical identity, which is true for all k and y i 's:! Here, n is the set of all possible state vectors {n 1, n 2,, n k } such that ; and n - is the set of all possible state vectors such that. 35-10

Convolution Algorithm (Cont)! First break the sum into two sums -- a sum belonging to states in which n k is zero and a sum belonging to the remaining states.! Then the second sum is rewritten so that y k, which is common to all terms in the second sum, is factored out. 35-11

Example 35.2! Consider the central server model of Example 35.1. To compute G(N) we need to compute the following sum:! The powers of y i 's in the above sum correspond to the ten states (specified by number of jobs at various devices)! By separating out the terms containing y 30, the above sum can be rewritten as follows: 35-12

Example 35.2 (Cont)! Since y 3 is common to all terms in the second part, the sum can also be written as:! Notice that the first part contains terms corresponding to the states of a system with one less device (there is no y 3 ).! The terms inside the paranthesis in the second part correspond to the states of a system with one less user (two users instead of three).! This allows the problem of determining G(N) to be divided into two smaller problems. 35-13

Convolution Algorithm (Cont)! If we define g(n, k) as follows:! Then,! The initial values for the auxiliary function are:! This results in a simple algorithm for computing g(n, M). 35-14

Convolution Algorithm: Tabular Format! The (n, k)th entry in the table is g(n, k).! It is is obtained by adding together the value immediately to its left and the value immediately above multiplied by the corresponding column variable y k. 35-15

Convolution Algorithm (Cont)! It is sufficient to store just one column {G[0], G[1],, G[N]} and use the following algorithm: 35-16

Example 35.3! Consider the central server model of Example 35.1 again. 35-17

Computing Performance Using G(N)! Queue Length Distributions:! Mean number of jobs at the ith device E[n i ] is: 35-18

Computing Performance Using G(N) (Cont)! The joint probability of having j or more jobs at ith device and l or more jobs at kth device is:! Utilizations: The device utilization is the same as the probability of having one or more jobs at the device:! Throughputs: From utilization law: 35-19

Computing Performance Using G(N) (Cont)! The system throughput is given by the forced flow law:! Response Times: The mean response time of a device is given by Little's law:! The mean system response time is given by the general response time law: 35-20

Example 35.4! Consider the central server model of Example 35.1! For this system: G(1)=6, G(2)=25, and G(3)=90.! Queue Length Distributions:! The probability of having two or more jobs at disk A is:! The probability of exactly one job at disk A is: 35-21

Example 35.4 (Cont)! The probability of exactly zero, two, and three jobs: 35-22

Example 35.4 (Cont)! We can compute its mean, variance, and any higher-order statistics of queue length at disk A: 35-23

Example 35.4 (Cont)! The probability that both disks are busy:! The mean queue lengths at the three service centers are: 35-24

Example 35.4 (Cont)! As a check, note that the three queue lengths sum up to 3 which is the total number of jobs in the system.! Utilizations: The CPU utilization is:! Throughputs: The system throughput is:! The CPU throughput is: 35-25

! Response Times: Example 35.4 (Cont) 35-26

Example 35.4 (Cont)! The mean system response time as given by the general response time law is:! As a check, we can use Little's law to find the mean number of jobs in the system: 35-27

Timesharing Systems! One set of terminals that are modeled as delay centers with think-time Z.! Assume that the terminals are zero th device and:! Here, y 0 =α Z is the scaled value of the think time.! The system state is now represented by a M+1 component vector n = {n 0, n 1,, n M }, where n i is the number of jobs at the ith device, n 0 is the number of jobs at the terminals. 35-28

Timesharing Systems (Cont)! The state probabilities are given by:! If there is more than one delay center in the network, they can all be combined into one service center by adding their total demands D i to Z.! The computed value of G(N) is still correct and n 0 now represents the sum of queue lengths at all delay centers.! The mean queue lengths at individual delay centers are proportional to their service demands D i.! The equations for system performance metrics given earlier are still valid. 35-29

Timesharing Systems (Cont)! The queue length distribution formulas apply to devices other than terminals.! See Buzen 1973 for queue length distributions for terminals! The mean queue lengths and device utilizations for the terminals:! Mean Queue Length: Using Little's law Q 0 = X Z! Utilizations: Using the utilization law U 0 = X Z! Utilization of individual terminals is: 35-30

Example 35.5! Consider a timesharing system with 3 terminals. An average user makes 13 I/O requests to disk A, and six I/O requests to disk B. The service times per visit to the CPU, disk A, and disk B are 39 milliseconds, 180 milliseconds, and 260 milliseconds, respectively. The users have an average think time of 4.68 seconds.! For this system:! The service times are: S CPU =0.039, S A =0.18, S B =0.26! The visit ratios are: V CPU =13+6+1=20, V A =13, V B =6 35-31

! Total service demands are: Example 35.5 (Cont)! and Z=4.68! For the scaling factor, we once again choose α=1/0.78.! This results in y 0 =6, y CPU =1, y A =3, and y B =2.! The nth row of the terminal column is y 0n /n!. 35-32

Example 35.5 (Cont)! G(0)=1, G(1)=12, G(2)=79, G(3)=384.! The total number of system states is or 20. 35-33

Example 35.5 (Cont)! Can compute any desired statistics on the queue length of any device including terminals.! For example, the probability of two jobs at the terminals is 0.094 + 0.141 + 0.047 = 0.282.! Similarly, the probability of one job at disk A is 0.031+0.016+0.008+0.094+0.0 47+0.141=0.336. 35-34

State Probabilities for Example! Without the table, the probability of one job at disk A:! Similarly, probabilities of 0, 2, and 3 jobs at disk A can be shown to be 0.383, 0.211, and 0.070.! Using these values, the average queue length at disk A can be shown to be 0.97! Variance of the queue length is 0.87. 35-35

! The system throughput is: Example 35.5 (Cont)! The device utilizations are: 35-36

Example 35.5 (Cont)! The average number of jobs at the devices are: 35-37

Example 35.5 (Cont)! The device response times are:! The system response time is:! We can check the computation by computing the average number of jobs in the system: 35-38

Summary! Gordon and Newell:! A system with N jobs and M devices has approx N M-1 states! Convolution algorithm allows G(N) to be computed using NM computations! Allows getting variance and other higher order statistics 35-39

Homework 35 For a timesharing system with two disks (user and system), the probabilities for jobs completing the service at the CPU were found to be 0.75 to disk A, 0.15 to disk B, and 0.1 to the terminals. The user think time was measured to be 5 seconds, the disk service times are 30 milliseconds and 25 milliseconds, while the average service time per visit to the CPU was 40 milliseconds. Analyze this system using convolution method and determine the distribution of queue lengths when there are 3 users on the system. 35-40