Closed Queuing Networks (Mean Value Analysis). Closed Queuing Networks Arise in two situations Arise in two situations When “source” of requests is explicitly.

Slides:



Advertisements
Similar presentations
EISCambridge 2009MoN8 Exploring Markov models for gate-limited service and their application to network-based services Glenford Mapp and Dhawal Thakker.
Advertisements

Global States.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Delay and Throughput in Random Access Wireless Mesh Networks Nabhendra Bisnik, Alhussein Abouzeid ECSE Department Rensselaer Polytechnic Institute (RPI)
Section 7.4: Closures of Relations Let R be a relation on a set A. We have talked about 6 properties that a relation on a set may or may not possess: reflexive,
DYNAMIC POWER ALLOCATION AND ROUTING FOR TIME-VARYING WIRELESS NETWORKS Michael J. Neely, Eytan Modiano and Charles E.Rohrs Presented by Ruogu Li Department.
10/12/1999(c) Ian Davis1 Predicting performance Topics: –Operational analysis of network models –Markov models.
Planning under Uncertainty
June 3, 2015Windows Scheduling Problems for Broadcast System 1 Amotz Bar-Noy, and Richard E. Ladner Presented by Qiaosheng Shi.
1 2 Extreme Pathway Lengths and Reaction Participation in Genome Scale Metabolic Networks Jason A. Papin, Nathan D. Price and Bernhard Ø. Palsson.
Using process knowledge to identify uncontrolled variables and control variables as inputs for Process Improvement 1.
Queuing Models Basic Concepts
Queuing Theory The system is modeled by a stationary stochastic process Jobs are stochastically independent Job steps from device to device follow a Markov.
Fall 2003Costas Busch - RPI1 Decidability. Fall 2003Costas Busch - RPI2 Recall: A language is decidable (recursive), if there is a Turing machine (decider)
#11 QUEUEING THEORY Systems Fall 2000 Instructor: Peter M. Hahn
1/55 EF 507 QUANTITATIVE METHODS FOR ECONOMICS AND FINANCE FALL 2008 Chapter 10 Hypothesis Testing.
1 Queueing Theory H Plan: –Introduce basics of Queueing Theory –Define notation and terminology used –Discuss properties of queuing models –Show examples.
Modeling and Analysis of Manufacturing Systems Session 2 QUEUEING MODELS January 2001.
Little’s Theorem Examples Courtesy of: Dr. Abdul Waheed (previous instructor at COE)
1 Multiple class queueing networks Mean Value Analysis - Open queueing networks - Closed queueing networks.
Data Mining CS 341, Spring 2007 Lecture 4: Data Mining Techniques (I)
7/3/2015© 2007 Raymond P. Jefferis III1 Queuing Systems.
The Poisson process and exponentially distributed service time In real life customers don’t arrive at pre-ordained times as specified in the last tutorial…
1 TCOM 501: Networking Theory & Fundamentals Lecture 8 March 19, 2003 Prof. Yannis A. Korilis.
ORF Electronic Commerce Spring 2009 April 15, 2009 Week 10 Capacity Analysis Deterministic Model –Assume: each HTTP request takes T r (request time)
Lesson 11: Solved M/G/1 Exercises
Computer Networks Performance Evaluation. Chapter 12 Single Class MVA Performance by Design: Computer Capacity Planning by Example Daniel A. Menascé,
yahoo.com SUT-System Level Performance Models yahoo.com SUT-System Level Performance Models8-1 chapter12 Single Class MVA.
Linear Equations in Linear Algebra
QueueTraffic and queuing theory +. 2 Queues in everyday life You have certainly been in a queue somewhere. –Where? –How were they different?  We encounter.
Copyright warning. COMP5348 Lecture 6: Predicting Performance Adapted with permission from presentations by Alan Fekete.
Database Systems Normal Forms. Decomposition Suppose we have a relation R[U] with a schema U={A 1,…,A n } – A decomposition of U is a set of schemas.
AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network.
CHP-4 QUEUE.
Queuing models Basic definitions, assumptions, and identities Operational laws Little’s law Queuing networks and Jackson’s theorem The importance of think.
ECE 2300 Circuit Analysis Dr. Dave Shattuck Associate Professor, ECE Dept. Lecture Set #13 Step Response W326-D3.
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
Performance Analysis of Computer Systems and Networks Prof. Varsha Apte.
10/14/ Algorithms1 Algorithms - Ch2 - Sorting.
Extending the Definition of Exponents © Math As A Second Language All Rights Reserved next #10 Taking the Fear out of Math 2 -8.
NETE4631:Capacity Planning (2)- Lecture 10 Suronapee Phoomvuthisarn, Ph.D. /
Vectors and Matrices In MATLAB a vector can be defined as row vector or as a column vector. A vector of length n can be visualized as matrix of size 1xn.
Queuing Theory Basic properties, Markovian models, Networks of queues, General service time distributions, Finite source models, Multiserver queues Chapter.
1 Chapters 8 Overview of Queuing Analysis. Chapter 8 Overview of Queuing Analysis 2 Projected vs. Actual Response Time.
CDA6530: Performance Models of Computers and Networks Chapter 7: Basic Queuing Networks TexPoint fonts used in EMF. Read the TexPoint manual before you.
Machine interference problem: introduction
State N 2.6 The M/M/1/N Queueing System: The Finite Buffer Case.
Cheng-Fu Chou, CMLab, CSIE, NTU Open Queueing Network and MVA Cheng-Fu Chou.
1 Components performance modelling - Outline of queue networks - Mean Value Analisys (MVA) for open and close queue networks.
Chapter 4: Fundamentals of Queuing Models Structure and Performance Parameters Operational Analysis of Queuing Network General Features of Queuing Network.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Week 10 - Friday.  What did we talk about last time?  Graph representations  Adjacency matrix  Adjacency lists  Depth first search.
Internet Applications: Performance Metrics and performance-related concepts E0397 – Lecture 2 10/8/2010.
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.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Given a node v of a doubly linked list, we can easily insert a new node z immediately after v. Specifically, let w the be node following v. We execute.
Lecture -5 Topic :- Step Response in RL and RC Circuits Reference : Chapter 7, Electric circuits, Nilsson and Riedel, 2010, 9 th Edition, Prentice Hall.
Chapter 15 Running Time Analysis. Topics Orders of Magnitude and Big-Oh Notation Running Time Analysis of Algorithms –Counting Statements –Evaluating.
Copyright © Cengage Learning. All rights reserved. 9.4 Models for Population Growth.
CPE 619 Mean-Value Analysis
Topics discussed in this section:
DTMC Applications Ranking Web Pages & Slotted ALOHA
Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
ECE 358 Examples #1 Xuemin (Sherman) Shen Office: EIT 4155
Queuing models Basic definitions, assumptions, and identities
Queuing models Basic definitions, assumptions, and identities
B- Trees D. Frey with apologies to Tom Anastasio
Discrete Event Simulation - 8
Queuing Analysis.
Presentation transcript:

Closed Queuing Networks (Mean Value Analysis)

Closed Queuing Networks Arise in two situations Arise in two situations When “source” of requests is explicitly modeled. That means, there is one node that models the clients. When “source” of requests is explicitly modeled. That means, there is one node that models the clients. When there is a limit on the number of requests that can circulate in a server network, and the assumption is that this limit has been reached and being maintained due to a high load. When there is a limit on the number of requests that can circulate in a server network, and the assumption is that this limit has been reached and being maintained due to a high load. (Implicitly, there is a queue at the “entrance” to the server network which is always non-empty). (Implicitly, there is a queue at the “entrance” to the server network which is always non-empty).

Consider the “client-server” situation (class example)

Parameters of the queuing network ➲ For this queuing network, the parameters are: ➲ Load parameters: Number of clients (M), client think time (EXP(lambda)) ➲ Think time is assumed to be exponential ➲ Server parameters: Routing matrix (X), service rates (mu_i) for all the servers ➲ Service time is assumed to be exponential

Metrics of the queuing network Given server parameters, and think timr we may be interested in: Given server parameters, and think timr we may be interested in: How many clients can the server system support? How many clients can the server system support? What is the maximum achievable throughput of the system? What is the maximum achievable throughput of the system? What is the bottleneck server? What is the bottleneck server?

Analysis Technique Calculate relative visit counts Calculate relative visit counts Apply Mean Value Analysis Apply Mean Value Analysis

Relative Visit Counts Since there is no actual notion of “exit” from the network, in the case of closed QNs, we cannot really find “expected number of visits until exit” from the network Since there is no actual notion of “exit” from the network, in the case of closed QNs, we cannot really find “expected number of visits until exit” from the network We can only talk about the number of visits made to a server S i relative to the number of visits made to a server S j We can only talk about the number of visits made to a server S i relative to the number of visits made to a server S j Thus visit counts in closed QNs are called relative visit counts Thus visit counts in closed QNs are called relative visit counts

Relative Visit Counts Suppose V_i ‘s are the expected number of visits made to node i during a certain observation period. Suppose V_i ‘s are the expected number of visits made to node i during a certain observation period. Then as explained in class, the equation Then as explained in class, the equation V = V X V = V X expresses the relationships between the visit counts expresses the relationships between the visit counts This is a linearly dependent set of equations This is a linearly dependent set of equations

Relative Visit Counts Thus, we can choose to express V_i’s in terms of one “chosen” V_j. Thus, we can choose to express V_i’s in terms of one “chosen” V_j. In the example given, it makes sense for this chosen V_j to be V_C, the visit count to the client node In the example given, it makes sense for this chosen V_j to be V_C, the visit count to the client node Further, if we set the value for this V_C to 1, the relative visit counts to the other servers have a good “explanation” Further, if we set the value for this V_C to 1, the relative visit counts to the other servers have a good “explanation” They are the number of visits made to the server nodes by a request from a client, before going back to the client node They are the number of visits made to the server nodes by a request from a client, before going back to the client node

Relative Visit Count Calculation As done in class As done in class Once we have the relative visit counts for the case of V_C=1, we can find response time, if we knew the per-visit response time of a request to a node Once we have the relative visit counts for the case of V_C=1, we can find response time, if we knew the per-visit response time of a request to a node

Arrival Theorem For finding this, we use a very big result in queueing systems, called the “Arrival Theorem”. It states for a closed QN with “load level” M, a request arriving at a node i “sees” the state of the queue as if the queuing network has one less customer in the system. For finding this, we use a very big result in queueing systems, called the “Arrival Theorem”. It states for a closed QN with “load level” M, a request arriving at a node i “sees” the state of the queue as if the queuing network has one less customer in the system. In other words, it sees the state of the system as if it itself is not there in the system, but just observing the system In other words, it sees the state of the system as if it itself is not there in the system, but just observing the system

Mean Value Analysis: Terms Each of the following are defined for a load level M Each of the following are defined for a load level M N i (M) = average queue length at node i N i (M) = average queue length at node i T i (M) = throughput at node i T i (M) = throughput at node i R i (M) = response time at node I R i (M) = response time at node I T sys (M) = system throughput T sys (M) = system throughput R sys (M) = Actual response time R sys (M) = Actual response time R cycle (M) = Cycle Time R cycle (M) = Cycle Time Note that T sys (M) and R sys (M) are values that are relative to the visit counts. Other values are not relative to visit counts. Note that T sys (M) and R sys (M) are values that are relative to the visit counts. Other values are not relative to visit counts.

Mean Value Analysis Assume that we know all the above quantities at level M-1. Can we derive them at M? Then we have a recursion. Assume that we know all the above quantities at level M-1. Can we derive them at M? Then we have a recursion. Using arrival theorem, we can write the response time of a request arriving at node i as: Using arrival theorem, we can write the response time of a request arriving at node i as: R i (M) = [ 1 + N i (M-1)] * tau_i R i (M) = [ 1 + N i (M-1)] * tau_i This is because arriving request is expected to “see” N i (M-1) requests in front of it which must be processed before it, and then its own service time must be counted for calculating response time. This is because arriving request is expected to “see” N i (M-1) requests in front of it which must be processed before it, and then its own service time must be counted for calculating response time. Note that the client node is an exception. For the client node Note that the client node is an exception. For the client node R C (M) = think_time, for all load levels M R C (M) = think_time, for all load levels M

MVA…contd Now we have response time at each node, and we have the visit counts. Thus Now we have response time at each node, and we have the visit counts. Thus R cycle (M) = V C R C (M) + V 0 R 0 (M) + V 1 R 1 (M) + V 2 R 2 (M) R cycle (M) = V C R C (M) + V 0 R 0 (M) + V 1 R 1 (M) + V 2 R 2 (M) R sys (M) = V 0 R 0 (M) + V 1 R 1 (M) + V 2 R 2 (M) R sys (M) = V 0 R 0 (M) + V 1 R 1 (M) + V 2 R 2 (M) Now, as explained in class, we apply little’s law to the whole system and get system throughput Now, as explained in class, we apply little’s law to the whole system and get system throughput T sys (M) = M / R cycle (M) T sys (M) = M / R cycle (M)

MVA…contd Now we have system throughput at load level T sys (M). We can get node throughput by multiplying by visit counts: Now we have system throughput at load level T sys (M). We can get node throughput by multiplying by visit counts: T i (M) = V i T sys (M) T i (M) = V i T sys (M) Now thet we have node throughput, and recalling that we first found response time at node i, we can apply Little’s Law at node level: Now thet we have node throughput, and recalling that we first found response time at node i, we can apply Little’s Law at node level: N i (M) = T i (M) * R i (M) N i (M) = T i (M) * R i (M) Recursion is complete! Recursion is complete!

MVA…contd So if we have to find, say, system response time at load level 3, we start with So if we have to find, say, system response time at load level 3, we start with N i (0) = 0 and proceed with finding metrics at load levels 1, 2, 3 iteratively. N i (0) = 0 and proceed with finding metrics at load levels 1, 2, 3 iteratively.

Example in Spreadsheet Example in spreadsheet represents a server system which processes two types of requests: “orders” and complaints (“trouble tickets”) Example in spreadsheet represents a server system which processes two types of requests: “orders” and complaints (“trouble tickets”) If modeled as closed QN, model a node of M clients who are interacting with this system If modeled as closed QN, model a node of M clients who are interacting with this system Client issues either request for “order” or “trouble ticket” (w. p. pO, pT respectively) Client issues either request for “order” or “trouble ticket” (w. p. pO, pT respectively) These go to different web servers (W1, W2) These go to different web servers (W1, W2) Request may have to visit application servers (A1, A2). Multiple such loops are possible. Request may have to visit application servers (A1, A2). Multiple such loops are possible. Picture on next page Picture on next page

Example in Spreadsheet

Example in spreadsheet: activity for you Calculate visit count based on the topology shown Calculate visit count based on the topology shown Express each visit count in terms of Vc and set Vc to 1 Express each visit count in terms of Vc and set Vc to 1 In the spreadsheet, all cells coloured yellow are input parameters. Everything else is calculated. In the spreadsheet, all cells coloured yellow are input parameters. Everything else is calculated. Check that the visit counts as coded in the spreadsheet match your calculations. Check that the visit counts as coded in the spreadsheet match your calculations. The MVA iteration is coded in the rows. Row i values are calculated using the N i of Row i-1. The MVA iteration is coded in the rows. Row i values are calculated using the N i of Row i-1.