Publication | Open Access
Efficient implementation of event sets in Time Warp
33
Citations
12
References
1993
Year
Unknown Venue
EngineeringSkew HeapComputer ArchitectureEvent CorrelationDiscrete-event SimulationData StructureData ScienceData MiningPattern RecognitionComplex Event ProcessingSystems EngineeringParallel ComputingData ManagementEvent ProcessingConcurrent ProgrammingKnowledge DiscoveryComputer EngineeringComputer SciencePriority QueuesTime WarpProgram AnalysisParallel Performance EvaluationCloud ComputingParallel ProgrammingConcurrent Data StructureSystem Software
The implementation of the pending event set (PES) is crucial to the execution speed of discrete event simulation programs. This paper studies the implementation of the PES in the context of simulations executing on parallel computers using the Time Warp mechanism. We present a scheme for implementing Time Warsp's PES based on well-known data structures for priority queues. This scheme supports efficient management of future and past events, especially for rollback and fossil collection operations. A comparative study of several queue implementations is presented. Experiments with a Time Warp system executing on a Kendall Square Research multiprocessor (KSR1) demonstrate that the implementation of the input queue can have a dramatic impact on performance, as large as an order of magnitude, that is much greater than what can be accounted for by simply the reduced execution time to access the data structure. In particular, it is demonstrated that an efficient input queue implementation can also significantly reduce the number of rollbacks, and the efficiency of memory management policies such as Jefferson's cancelback protocol. In the context of this work we also present an improved version of the skew heap that allows dequeueing of arbitrary elements at low cost. In particular, the possibility of dequeueing arbitrary elements will improve memory utilization. This ability is also important in applications where frequent rescheduling may occur, as in ready queues used to select the next logical process to execute.
| Year | Citations | |
|---|---|---|
Page 1
Page 1