Simulation Techniques Overview Simulation environments Workload parameters System

  • Slides: 17
Download presentation
Simulation Techniques Overview Simulation environments Workload parameters System Config parameters Factor levels emulation execdriven

Simulation Techniques Overview Simulation environments Workload parameters System Config parameters Factor levels emulation execdriven sim tracedriven sim stochastic sim © 2003, Carla Ellis Discrete events Result Data

The End Game: When to Stop final conditions transient interval steady state a t

The End Game: When to Stop final conditions transient interval steady state a t © 2003, Carla Ellis b

Issues • If you stop at a – before the cleanup phase: – Must

Issues • If you stop at a – before the cleanup phase: – Must be careful in calculating metrics when some events are outstanding • Example: scheduling simulation. Some jobs completed and some still in queue. • Average service time must count just completed jobs. • Average queue length must be over time not queuing events. • If you stop at b – completion: – Not at steady state again • Example: jobs are finishing with no new arrivals © 2003, Carla Ellis

Stopping Criteria • Assuming you choose to stop at a – how to determine

Stopping Criteria • Assuming you choose to stop at a – how to determine a? • Simulation should be run long enough for the confidence interval for the mean response to narrow to desired width x! z 1 -a/2 Var(x) • Variance of the sample mean of n independent observations uses variance of observations Var(x) = Var(x) © 2003, Carla Ellis n

Correlated Observations • Often the observations are not independent – Memory access time depends

Correlated Observations • Often the observations are not independent – Memory access time depends on cache state built by previous memory request – Waiting time depends on length of previous job • Solutions – Independent replications of simulation experiment – Batch means – Regeneration © 2003, Carla Ellis

Replications • m replications with different seed value each time, of size n+n 0

Replications • m replications with different seed value each time, of size n+n 0 where n 0 is initial transient phase during which data is discarded. • Confidence interval is inversely proportional to mn – Increase either m or n to get narrower C. I. – Page 431 shows how to calculate overall mean for all replications, Var(x), and C. I. © 2003, Carla Ellis

Batch means n 0 n n n t • C. I width again inversely

Batch means n 0 n n n t • C. I width again inversely proportional to mn © 2003, Carla Ellis • Subsamples – long simulation run of N + n 0 observations • Divide N observations into m samples of n observations each • Batch size n must be large enough so the batch means have little correlation • Compute covariance of successive batch means xi and xi+1 with bigger n’s until it is small enough

Regeneration points Regeneration cycle © 2003, Carla Ellis t • Independent phases where the

Regeneration points Regeneration cycle © 2003, Carla Ellis t • Independent phases where the execution returns to an initial state – Flushed cache – Empty job queue • Regeneration cycles may be of unequal length (complicates math – page 434) • m cycles of n 1, n 2, …, nm sizes s. t. C. I. is narrow enough

Structure of Discrete Event Simulation scheduler event. Q State var Event handlers results ©

Structure of Discrete Event Simulation scheduler event. Q State var Event handlers results © 2003, Carla Ellis

Role of Random Values in Discrete Event Simulation random parameters e scheduler event. Q

Role of Random Values in Discrete Event Simulation random parameters e scheduler event. Q random values in initialization of state State var Event handlers results © 2003, Carla Ellis

Random Values • Want random values with a specified distribution • Step 1: produce

Random Values • Want random values with a specified distribution • Step 1: produce uniformly distributed numbers between 0 and 1(random number generation) • Step 2: apply transformation to produce values from desired distribution (random variate generation) © 2003, Carla Ellis

Random Number Generators xn = f ( xn-1, xn-2) where x 0 is seed

Random Number Generators xn = f ( xn-1, xn-2) where x 0 is seed • Pseudo-random since, given the same seed, the sequence is repeatable and deterministic • Cycle length – length of repeating sequence • Example: xn = a xn-1 + b mod m seed cycle period © 2003, Carla Ellis

Desirable Properties • Period should be large • Should be efficiently computable • Successive

Desirable Properties • Period should be large • Should be efficiently computable • Successive values should be independent and uniformly distributed • Types discussed in Jain: – Linear congruential (LCG) – Tausworthe – long, based on exclusive-or – Extended Fibonacci • Use “off the shelf” generator that has been tested © 2003, Carla Ellis

Using Random Number Generators Seed Selection – issue is critical if multistream simulation (need

Using Random Number Generators Seed Selection – issue is critical if multistream simulation (need random numbers for more than one variable) • Do not use zero and avoid even numbers as seeds • Do not use one stream for two (or more) purposes s. t. ui is used for one variable and ui+1 for next (e. g. interarrival time and service time for next event – they would be correlated) © 2003, Carla Ellis

Using Random Number Generators • Use non-overlapping streams seed 1 cycle period seed 2

Using Random Number Generators • Use non-overlapping streams seed 1 cycle period seed 2 cycle period © 2003, Carla Ellis

Using Random Number Generators • Random number stream does not have to be reinitialized

Using Random Number Generators • Random number stream does not have to be reinitialized for replications of simulation, can pick up where last one left off • Do not use random seeds (e. g. time of day) – Can not be reproduced – Not possible to guarantee multiple streams do not overlap © 2003, Carla Ellis

Potential Pitfalls • Testing for randomness – a single test is not sufficient –

Potential Pitfalls • Testing for randomness – a single test is not sufficient – chap 27, next lecture. • Implementation matters – overflow and truncation can change the path of the sequence • Bits of successive words are not guaranteed random (e. g. generating random memory addresses and then using page number field does not necessarily give you random pages) © 2003, Carla Ellis