1 / 14

Time Parallel Simulations II

Time Parallel Simulations II. ATM Multiplexers and G/G/1 Queues. Outline. Time Parallel Simulation using Regeneration Points ATM Multiplexer Simulation Simulation Using Parallel Prefix G/G/1 Queue Simulation Summary. I 1. I 2. Out. I N. Example: ATM Multiplexer.

Download Presentation

Time Parallel Simulations II

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. Time Parallel Simulations II ATM Multiplexers and G/G/1 Queues

  2. Outline • Time Parallel Simulation using Regeneration Points • ATM Multiplexer Simulation • Simulation Using Parallel Prefix • G/G/1 Queue Simulation • Summary

  3. I1 I2 Out . . . IN Example: ATM Multiplexer • Cell: fixed size data packet (53 bytes) • N sources of traffic: Bursty, on/off sources • stream of cells arrive if on • 0 or 1 cell arrives on each input each time unit (cell time) • Output link: Capacity C cells per time unit • Fixed capacity FIFO queue: k cells • Queue overflow results in dropped cell • Estimate loss probability as function of queue size • Low loss probability (10-9) leads to long simulation runs!

  4. <1,4> <4,2> <3,4> <4,3> <3,2> <1,3> off on Burst Level Simulation Series of time segments: <Ai, I> • Fixed number of ‘on’ sources during time segment • Ai = # on sources, I = duration in cell times input 1 input 2 input 3 input 4 simulation time (cell times)

  5. Qi <4,7> <1,3> K=6 <3,4> <0,5> <2,4> Simulation time Example • Qi = Number of cells in queue at start of ith tuple • Li = Number of lost cells at start of ith tuple • Objective: Compute Qi and Li for i=1, 2, 3, … • Q1 = L1 = 0 C=2

  6. Ai cells arrive each time unit Qi Qi+1 i Simulation Algorithm • Generate tuples • Compute Qi+1 and Li+1 for each tuple Observation: if Ai > C, queue is filling (overload) if Ai < C, queue is emptying (underload) • Qi+1 = if Ai > C, then min [K, Qi + (Ai - C) i] else max [0, Qi - (C - Ai) i ] • Li+1 = if Ai > C, then Li + max [0, (Ai - C) i - (K - Qi) ] else Li # cells added to queue during tuple Free space in queue at start of tuple

  7. Guaranteed to cause underflow (empty queue) Guaranteed to cause overflow (full queue) Qi <4,7> <1,3> K=6 <3,4> <0,5> <2,4> C=2 Simulation time Parallel Simulation Algorithm • Generate tuples: can be performed in parallel • Qi+1 depends on Qi; appears sequential • Observation: • Some tuples guaranteed to produce overflow or empty queue, independent of all other tuples or Qi at start of the tuple • Qi+1 known for such tuples, independent of Qi

  8. Guaranteed Underflow / Overflow A tuple <Ai, i> is guaranteed to cause overflow if (Ai - C) i ≥ K Qi+1 = K for guaranteed overflow tuples A tuple <Ai, i> is guaranteed to cause underflow if (C - Ai) i ≥ K Qi+1 = 0 for guaranteed underflow tuples The simulation time line can be partitioned at guaranteed overflow/underflow tuples to create a time parallel execution No fix-up computation required

  9. Time Parallel Algorithm Algorithm • Generate tuples <Ai, i> in parallel • Identify guaranteed overflow and underflow tuples to determine time division points • Map tuples between time division points to different processors, simulate in parallel

  10. Guaranteed Overflow/Underflow Points • We need at least N-1 guaranteed overflow or underflow points to distribute the computation over N processors • Ideally, would like many more than N points and a (roughly) uniform distribution of the points across the tuples in order to provide flexibility to balance the computation workload across the N processors • In practice, there are usually many guaranteed underflow points

  11. Outline • Time Parallel Simulation using Regeneration Points • ATM Multiplexer Simulation • Simulation Using Parallel Prefix • G/G/1 Queue Simulation • Summary

  12. + + + + + + + + + + + + + X1 X2 X3 X4 X5 X6 X7 X8 add value one position to the left + + + + 1,2 2,3 3,4 4,5 5,6 6,7 7,8 add value two positions to the left 1-3 1-4 2-5 3-6 4-7 5-8 add value four positions to the left 1-3 1-4 1-5 1-6 1-7 1-8 1 1-2 Time Parallel Simulation Using Parallel Prefix Basic idea: formulate the simulation computation as a linear recurrence, and solve using a parallel prefix computation parallel prefix: Give N values, compute the N initial products P1= X1 P2= X1 • X2 Pi = X1 • X2 • X3 • … • Xi for i = 1,… N; • is associative Parallel prefix requires O(log N) time

  13. Example: G/G/1 Queue Example: G/G/1 queue (general interarrival time and service time distribution, one server), given • ri = interarrival time of the ith job • si = service time of the ith job Compute • Ai = arrival time of the ith job • Di = departure time of the ith job, for i=1, 2, 3, … N Solution: rewrite equations as parallel prefix computations: • Ai = Ai-1 + ri (= r1 + r2 + r3 + … ri) • Di = max (Di-1 , Ai ) + si = max (Di-1+si, Ai+si ) Parallel prefix can be applied to both computations

  14. Summary of Time Parallel Algorithms • Pro: • allows for massive parallelism • often, little or no synchronization is required after spawning the parallel computations • substantial speedups obtained for certain problems: queueing networks, caches, ATM multiplexers • Con: • only applicable to a very limited set of problems

More Related