the jmt simulator for the jmt simulator for performance
play

The JMT Simulator for The JMT Simulator for Performance Evaluation - PowerPoint PPT Presentation

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,


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. JSIM: NPF models simulator JSIM: NPF models simulator  Core simulation module of the JMT suite  Comes with two graphical interfaces: JSIMgraph JSIMwiz 7

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. What-if Analysis What-if Analysis 13

  14. 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

  15. 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

  16. Transient Filtering Transient Filtering  Superposition of several rules to improve Superposition of several rules to improve effectiveness effectiveness 16

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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