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

the jmt simulator for the jmt simulator for performance
SMART_READER_LITE
LIVE PREVIEW

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,


slide-1
SLIDE 1

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 40th

th ANSS 2007 Symp. – Norfolk, VA, US

ANSS 2007 Symp. – Norfolk, VA, US

Politecnico di Milano - DEI Milan, Italy

slide-2
SLIDE 2

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

slide-3
SLIDE 3

3

 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?

Capacity Planning & Performance Capacity Planning & Performance

Web/Application Servers Clients e.g., Storage e.g., DB

slide-4
SLIDE 4

4

Capacity Planning Example Capacity Planning Example

Throughput HTTP Throughput Video-Streaming MAX Simultaneous Connections Reqs/sec e.g., Best Admission Control Policy

Select Best Design/Configuration (Routing, Num of Servers/Reqs)

slide-5
SLIDE 5

5

Restrictive Assumptions of PF Theory Restrictive Assumptions of PF Theory

 Models are

Models are analytically tractable analytically tractable if: if:

 State independent service

State independent service

 Non-idling service policies

Non-idling service policies

 No Blocking

No Blocking

 No Finite buffers

No Finite buffers

 No Priorities

No Priorities

 FIFO = Exponential service

FIFO = Exponential service

 Static Routing

Static Routing

 ...

...

 Strong restrictions for real applications

Strong restrictions for real applications

 PF networks still valuable bounds/approximations

PF networks still valuable bounds/approximations

Internet Closed-Loop Workloads Server Server Server

slide-6
SLIDE 6

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)

slide-7
SLIDE 7

7

JSIM: NPF models simulator JSIM: NPF models simulator

 Core simulation module of the JMT suite  Comes with two graphical interfaces:

JSIMgraph JSIMwiz

slide-8
SLIDE 8

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

slide-9
SLIDE 9

9

JMT & JSIM: Architecture JMT & JSIM: Architecture

XML jSIM

JMT Tools JSIMwiz JSIMgraph

XML

XSLT XSLT

Visualize Status

 “Model-View-Controller”-like pattern

 Better reuse and isolation of components

Model Engine (“Controller”) Views

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

13

What-if Analysis What-if Analysis

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

16

Transient Filtering Transient Filtering

 Superposition of several rules to improve

Superposition of several rules to improve effectiveness effectiveness

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

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

slide-20
SLIDE 20

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

slide-21
SLIDE 21

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

slide-22
SLIDE 22

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.

slide-23
SLIDE 23

23

Fork-Join Systems Fork-Join Systems

 Popular in storage and multiprocessor models

Popular in storage and multiprocessor models

 Jobs are forked at fork node into P tasks

Jobs are forked at fork node into P tasks

 Synchronization at the join node before leaving

Synchronization at the join node before leaving

 JSIM: special ad-hoc Fork and Join components

JSIM: special ad-hoc Fork and Join components

slide-24
SLIDE 24

24

Finite Capacity Regions Finite Capacity Regions

 Models of admission control in networks

Models of admission control in networks

 Describe well application and memory constraints

Describe well application and memory constraints

 JSIM allows to tag a group of queues as a region

JSIM allows to tag a group of queues as a region

 Non-admitted jobs can be either put in a FCFS

Non-admitted jobs can be either put in a FCFS waiting buffer or dropped waiting buffer or dropped

slide-25
SLIDE 25

25

Case Study Case Study

 Multiprocessor Web server

Multiprocessor Web server

 Workloads: orders (class 1), backend service (class 2)

Workloads: orders (class 1), backend service (class 2)

 Constant population of requests (N

Constant population of requests (N1

1,N

,N2

2), N

), N1

1+N

+N2=

2=N

N

 Finite capacity constraints

Finite capacity constraints

 Limits

Limits shared shared by all classes, or class- by all classes, or class-dedicated dedicated

FC Region

slide-26
SLIDE 26

26

Asymptotic Analisys in PF Networks Asymptotic Analisys in PF Networks

 How does the system evolves with the mix?

How does the system evolves with the mix?

 PF=Multiple bottlenecks, still unobserved in NPF

PF=Multiple bottlenecks, still unobserved in NPF

Service Times Utilization vs Population Mix for a 5 queues model Multiple bottlenecks!

slide-27
SLIDE 27

27

Shared constraints Shared constraints

(no multiple bottlenecks) (no multiple bottlenecks)

slide-28
SLIDE 28

28

Shared constraints Shared constraints

(no multiple bottlenecks) (no multiple bottlenecks)

slide-29
SLIDE 29

29

Dedicated – Class 1 Dedicated – Class 1

(no multiple bottlenecks) (no multiple bottlenecks)

slide-30
SLIDE 30

30

Dedicated – Class 2 Dedicated – Class 2

(multiple bottlenecks!) (multiple bottlenecks!)

slide-31
SLIDE 31

31

Observations Observations

 Theoretical interest to better understand

Theoretical interest to better understand multiclass models multiclass models

 Class 1 has bottleneck

Class 1 has bottleneck outside

  • utside the FC region

the FC region

 Class 2 has bottleneck

Class 2 has bottleneck inside inside the FC region the FC region

 FC region creates a closed PF sub-model

FC region creates a closed PF sub-model

 Behavior of PF models may apply inside the region

Behavior of PF models may apply inside the region

 We expect to observe the effect also in real systems

We expect to observe the effect also in real systems

slide-32
SLIDE 32

32

Conclusion Conclusion

 JSIM: advanced queueing network simulation

JSIM: advanced queueing network simulation

 Free, open source, GNU GPL project

Free, open source, GNU GPL project

http://jmt.sourceforge.net http://jmt.sourceforge.net

 External contributors are welcome

External contributors are welcome

 Current version 0.7, new releases to come…

Current version 0.7, new releases to come…