Politecnico di Milano - DEI Milan, Italy The JMT Simulator for The JMT Simulator for Performance Evaluation of Performance Evaluation of Non-Product-Form Queueing Networks Non-Product-Form Queueing Networks Marco Bertoli, Giuliano Casale, Giuseppe Serazzi Marco Bertoli, Giuliano Casale, Giuseppe Serazzi Speaker: Giuliano Casale Speaker: Giuliano Casale March 26th, 2007 March 26th, 2007 40 th ANSS 2007 Symp. – Norfolk, VA, US 40 th ANSS 2007 Symp. – Norfolk, VA, US
Outline Outline Introduction Introduction The JMT Simulator The JMT Simulator Generalities Generalities Statistical Analysis of Simulation Results Statistical Analysis of Simulation Results Non-Product-Form Features Non-Product-Form Features Case Study Case Study 2
Capacity Planning & Performance Capacity Planning & Performance Clients e.g., Storage … e.g., DB Web/Application Servers What will be the worst-case What will be the worst-case quality of service quality of service? ? What-if What-if I upgrade my hardware? I upgrade my hardware? What-if What-if I consolidate servers using virtualization? I consolidate servers using virtualization? 3
Capacity Planning Example Capacity Planning Example Select Best Design/Configuration ( Routing, Num of Servers/Reqs ) e.g., Best Admission Control Policy Reqs/sec Throughput HTTP Throughput Video-Streaming MAX Simultaneous Connections 4
Restrictive Assumptions of PF Theory Restrictive Assumptions of PF Theory Models are Models are analytically tractable analytically tractable if: if: Closed-Loop State independent service State independent service Workloads Non-idling service policies Non-idling service policies No Blocking No Blocking No Finite buffers No Finite buffers Server … No Priorities No Priorities FIFO = Exponential service FIFO = Exponential service Server Static Routing Server Static Routing ... ... Internet Strong restrictions for real applications Strong restrictions for real applications PF networks still valuable bounds/approximations PF networks still valuable bounds/approximations 5
Non-Product Form (NPF) Models Non-Product Form (NPF) Models NPF models hard to approximate NPF models hard to approximate Multiple NPF features make the model ‘impossible’ Multiple NPF features make the model ‘impossible’ No theory for multiclass NPF models No theory for multiclass NPF models Simulation typically required/preferred (easier…) Simulation typically required/preferred (easier…) Java Modelling Tools Java Modelling Tools project (2006) project (2006) Open source set of analytical and simulative tools Open source set of analytical and simulative tools http://jmt.sourceforge.net http://jmt.sourceforge.net Strong diffusion for both research and teaching Strong diffusion for both research and teaching Maximum portability (Java) Maximum portability (Java) 6
JSIM: NPF models simulator JSIM: NPF models simulator Core simulation module of the JMT suite Comes with two graphical interfaces: JSIMgraph JSIMwiz 7
JSIM JSIM Architecture and Design Choices Architecture and Design Choices Statistical Analysis Statistical Analysis Non-Product-Form Modeling Features Non-Product-Form Modeling Features 8
JMT & JSIM: Architecture JMT & JSIM: Architecture “Model-View-Controller”-like pattern Better reuse and isolation of components Views JMT Tools JSIMwiz JSIMgraph Visualize XSLT XML XML Status XSLT Model jSIM Engine (“Controller”) 9
DES Engine & Simulation Entities DES Engine & Simulation Entities Discrete Event Calendar for queue activity Discrete Event Calendar for queue activity Simulation entities are compound objects Simulation entities are compound objects Input Section Input Section Service Section Service Section Output Section Output Section Examples Examples Exogenous arrivals Single Server Queue 10
Simulation Coordination Simulation Coordination Strong messaging system Strong messaging system Complete separation between sections Complete separation between sections External contributors need only to implement the External contributors need only to implement the correct messaging behavior correct messaging behavior 11
Control of Simulation Experiments Control of Simulation Experiments Simplification of Experiment control Simplification of Experiment control Maximum Relative Error [Pawlikowski , 1990] Maximum Relative Error [Pawlikowski , 1990] Ratio Half-width marginal C.I. / Estimated Mean Ratio Half-width marginal C.I. / Estimated Mean Maximum Number of samples (Long run analysis) Maximum Number of samples (Long run analysis) Maximum Simulation Time Maximum Simulation Time 12
What-if Analysis What-if Analysis 13
JSIM JSIM Architecture and Design Choices Architecture and Design Choices Statistical Analysis of Simulation Results Statistical Analysis of Simulation Results Non-Product-Form Modeling Features Non-Product-Form Modeling Features 14
Statistical Analysis Statistical Analysis Automatic removal of the initial bias Automatic removal of the initial bias R-5 Heuristic R-5 Heuristic MSER-5 Rule (Marginal Standard Error Rule) MSER-5 Rule (Marginal Standard Error Rule) C.I. generation using spectral methods C.I. generation using spectral methods Spectral Analysis [Heidelberger & Welch, 1981] Spectral Analysis [Heidelberger & Welch, 1981] Used also for run-length control Used also for run-length control 15
Transient Filtering Transient Filtering Superposition of several rules to improve Superposition of several rules to improve effectiveness effectiveness 16
Transient Filtering (II) Transient Filtering (II) R5 Heuristic R5 Heuristic Implemented according to [Pawlikowski, 1990] Implemented according to [Pawlikowski, 1990] Initial transient = samples cross mean Initial transient = samples cross mean k k times times k k is a (critical) user-specified parameter is a (critical) user-specified parameter k=25 k=25 for for M/M/1 M/M/1 (Garfarian et al., 1978) (Garfarian et al., 1978) Hundreds of thousands samples discarded Hundreds of thousands samples discarded k=7 k=7 for for M/M/1/15 M/M/1/15 (Wilson & Prisker, 1978) (Wilson & Prisker, 1978) On many networks early detection during transient ramp On many networks early detection during transient ramp JMT sets this parameter to a conservative JMT sets this parameter to a conservative k=19 k=19 17
Transient Filtering (III) Transient Filtering (III) MSER MSER [White, 1996] [White, 1996] Best truncation point in a data sequence Best truncation point in a data sequence Detects the point that minimizes the width of the Detects the point that minimizes the width of the marginal confidence interval about the est. mean marginal confidence interval about the est. mean MSER-5 MSER-5 [Spratt, 1998] [Spratt, 1998] Batches composed by 5 samples Batches composed by 5 samples We implemented an online version of the algorithm We implemented an online version of the algorithm Cyclically run on 5000 batches until detection Cyclically run on 5000 batches until detection Increasing the number of batches has limited effect Increasing the number of batches has limited effect 18
JSIM JSIM Architecture and Design Choices Architecture and Design Choices Statistical Analysis of Simulation Results Statistical Analysis of Simulation Results Non-Product-Form Modeling Features Non-Product-Form Modeling Features 19
JSIM NPF Models JSIM NPF Models Main NPF modeling features Main NPF modeling features General Arrival and Service Processes General Arrival and Service Processes Fork-Join Centers Fork-Join Centers Finite Capacity Models Finite Capacity Models Priority Classes Priority Classes Advanced state-dependent routing, e.g.: Advanced state-dependent routing, e.g.: Route to least utilized queue Route to least utilized queue Route to shortest queue Route to shortest queue 20
Arrival and Service Process Arrival and Service Process Exponential insufficient for many models Exponential insufficient for many models Pareto, Hyperexponential, Erlang, Gamma, … Pareto, Hyperexponential, Erlang, Gamma, … Custom distribution (external text file, future JWAT) Custom distribution (external text file, future JWAT) Random number generation Random number generation Mersenne Twister Mersenne Twister Load-dependent service process Load-dependent service process Server speed variable with the current queue-length Server speed variable with the current queue-length Building block for Hierarchical Modeling Building block for Hierarchical Modeling 21
Hierarchical Modeling Hierarchical Modeling Compact representation of large models Compact representation of large models Image taken from: Lazowska et al. Quantitative System Performance. Prentice-Hall, 1984. 22
Recommend
More recommend