Abstract
Calendar queues (CQ) are often employed in discrete event simulators to store pending events. They can achieve O(1) access time as long as the CQ resizes often enough to ensure that events are not skewed but evenly distributed in the queue structure. However, a resize operation would involve creating a new CQ structure and then moving each item from the old CQ to the new CQ before discarding the old CQ. Hence, such resizes can be costly if the size of the queue is very large. This article proposes a new secondary queuing structure that complements the primary CQ structure. Known as FELT (far future event leaf tree), the secondary FELT structure is a lazy queue (i.e., semisorted) structure that manages events that are considered to be too far away to be considered in the primary CQ structure. The FELT structure is shown to be far superior than the dynamic lazy calendar queue.
Get full access to this article
View all access options for this article.
