Simulation Techniques Overview Simulation environments Workload parameters System
- Slides: 17
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 © 2003, Carla Ellis b
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 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 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 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 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 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 © 2003, Carla Ellis
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 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 • 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 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 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 cycle period © 2003, Carla Ellis
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 – 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
- Workload management system
- Data structures used in macro processor
- Workload statistics in hospital pharmacy
- Multi-device broker
- Mpe and cre review
- Workload challenge
- Mental workload meaning
- Meriyn
- Industrial engineering forecasting
- Workload distribution architecture
- Ca workstation esp tutorial
- Workload automation migration
- Partion manager
- Workload analysis of a large-scale key-value store
- Fte workload analysis
- Automatic workload repository
- Hp-ux workload
- Ca7 workload automation