An efficient data structure for the simulation event set
Communications of the ACM
Heaps applied to event driven mechanisms
Communications of the ACM
A comparison of simulation event list algorithms
Communications of the ACM
Improved event-scanning mechanisms for discrete event simulation
Communications of the ACM
Simulation Using GPSS
An empirical comparison of priority-queue and event-set implementations
Communications of the ACM
Calendar queues: a fast 0(1) priority queue implementation for the simulation event set problem
Communications of the ACM
A parallel simulator for performance modelling of broadband telecommunication networks
WSC '92 Proceedings of the 24th conference on Winter simulation
A comparative study of parallel and sequential priority queue algorithms
ACM Transactions on Modeling and Computer Simulation (TOMACS)
Event list management - a tutorial
WSC '83 Proceedings of the 15th conference on Winter Simulation - Volume 2
An empirical comparison of advanced event file synchronization structures
WSC '82 Proceedings of the 14th conference on Winter Simulation - Volume 1
A Complexity O(1) priority queue for event driven molecular dynamics simulations
Journal of Computational Physics
ICCOM'08 Proceedings of the 12th WSEAS international conference on Communications
Revisiting priority queues for image analysis
Pattern Recognition
Exploring the performance of spatial stochastic simulation algorithms
Journal of Computational Physics
Hi-index | 48.26 |
The traditional mechanism for maintaining a list of pending events in a discrete event simulation is the simple linked list. However, in large scale simulations this list often becomes cumbersome to maintain since the number of pending events may become quite large. As a result, the execution time required by the simple linked list is often a significant portion of total simulation time. Several papers have been published suggesting improved synchronization procedures. The most efficient procedures reported are the time-indexed procedure and the two-level procedure. Both methodologies are much more efficient than simple linked lists; however, neither has been adopted by a general purpose simulation language. Further, both procedures require external parameter definition, which is a major handicap to their adoption by a general purpose language. This paper introduces a new sychronization procedure, the two-list procedure, which is much faster than simple linked lists for large pending event files. This procedure was designed for implementation in Fortran, and properly implemented it is transparent to the user. Thus it is ideal for adoption by general purpose simulation languages.