Self-adjusting binary search trees
Journal of the ACM (JACM)
ACM Transactions on Programming Languages and Systems (TOPLAS)
An empirical comparison of priority-queue and event-set implementations
Communications of the ACM
Concurrent Access of Priority Queues
IEEE Transactions on Computers
Calendar queues: a fast 0(1) priority queue implementation for the simulation event set problem
Communications of the ACM
Concurrent operations on priority queues
Communications of the ACM
Parallel discrete event simulation
Communications of the ACM - Special issue on simulation
Time warp on a shared memory multiprocessor
Transactions of the Society for Computer Simulation International
Virtual time II: storage management in conservative and optimistic systems
PODC '90 Proceedings of the ninth annual ACM symposium on Principles of distributed computing
Fast Implementations of the Pending Event Set
MASCOTS '93 Proceedings of the International Workshop on Modeling, Analysis, and Simulation On Computer and Telecommunication Systems
GTW: a time warp system for shared memory multiprocessors
WSC '94 Proceedings of the 26th conference on Winter simulation
Effectiveness of global event queues in rollback reduction and load balancing
PADS '95 Proceedings of the ninth workshop on Parallel and distributed simulation
Transparent incremental state saving in time warp parallel discrete event simulation
PADS '96 Proceedings of the tenth workshop on Parallel and distributed simulation
Discrete-event simulation and the event horizon part 2: event list management
PADS '96 Proceedings of the tenth workshop on Parallel and distributed simulation
A comparative study of parallel and sequential priority queue algorithms
ACM Transactions on Modeling and Computer Simulation (TOMACS)
Adaptive memory management and optimism control in time warp
ACM Transactions on Modeling and Computer Simulation (TOMACS)
A testbed for parallel simulation performance prediction
WSC '96 Proceedings of the 28th conference on Winter simulation
Event List Management in Distributed Simulation
Euro-Par '01 Proceedings of the 7th International Euro-Par Conference Manchester on Parallel Processing
Time warp - connection oriented
Proceedings of the eighteenth workshop on Parallel and distributed simulation
DS-RT '08 Proceedings of the 2008 12th IEEE/ACM International Symposium on Distributed Simulation and Real-Time Applications
Event pool structures for PDES on many-core Beowulf clusters
Proceedings of the 2013 ACM SIGSIM conference on Principles of advanced discrete simulation
Hi-index | 0.00 |
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.