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
Parallel discrete event simulation
Communications of the ACM - Special issue on simulation
NEST: a network simulation and prototyping testbed
Communications of the ACM - Special issue on simulation
SIGCOMM '92 Conference proceedings on Communications architectures & protocols
Lazy queue: an efficient implementation of the pending-event set
ANSS '91 Proceedings of the 24th annual symposium on Simulation
Hi-index | 0.00 |
This paper proposes a new calendar queue which can improve the conventional calendar queue's performance over uneven event distributions. A calendar queue is a multi-list priority queue frequently employed in discrete event simulations as the global event list since its performance shows O(1) time complexity. For O(1) performance, calendar queues maintain only a small number of events at each list of their multi-list by constantly adjusting their multi-list size depending on the number of enqueued events and redistributing events over the newly resized multi-list. Calendar queues, however, perform poorly over skewed event distributions. Our proposed calendar queue can reduce this conventional calendar queue's sensitivity to event distributions by adding two new mechanisms; The first mechanism constantly measures the event distribution and according to the measured metrics reconfigures calendar queues' multi-list to maintain O(1) performance even for uneven distributions. The second mechanism adopts an additional data structure to save the time wasted for frequent resizing calendar queues. Our conducted experiments show that our calendar queue can achieve more than 10-time speedup for uneven event distributions while maintaining the same performance for other distributions.