1 / 17

Simulation Techniques Overview

Simulation Techniques Overview. Simulation environments. emulation. Workload parameters. exec- driven sim. System Config parameters. Discrete events. Result Data. trace- driven sim. Factor levels. stochastic sim. The End Game: When to Stop. final conditions. transient interval.

sanam
Télécharger la présentation

Simulation Techniques Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Simulation Techniques Overview Simulation environments emulation Workloadparameters exec-drivensim SystemConfigparameters Discreteevents Result Data trace-drivensim Factorlevels stochasticsim

  2. The End Game: When to Stop finalconditions transientinterval steadystate b a t

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

  4. x ! z1-a/2Var(x) Var(x) = Var(x) n 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 • Variance of the sample mean of n independent observations uses variance of observations

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

  6. Replications • m replications with different seed value each time, of size n+n0 where n0 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.

  7. Batch means • Subsamples – long simulation run of N + n0observations • 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 n0 n n n t • C.I width again inversely proportional to mn

  8. Regeneration • 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 n1, n2, …, nm sizes s.t. C.I. is narrow enough Regenerationpoints t Regenerationcycle

  9. Structure of Discrete Event Simulation scheduler eventQ State var Event handlers results

  10. Role of Random Values in Discrete Event Simulation randomparameters scheduler e eventQ random values ininitializationof state State var Event handlers results

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

  12. Random Number Generators xn = f ( xn-1, xn-2) where x0 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

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

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

  15. Using Random Number Generators • Use non-overlapping streams seed1 cycle period seed2 cycle period

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

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

More Related