Results 1 -
4 of
4
Lazy Queue: A new approach to implementing the Pending-event Set
"... In discrete event simulation, very often the future event set is represented by a priority queue. The data structure used to implement the queue and the way operations are performed on it are often crucial to the execution time of a simulation. In this paper a new priority queue implementation strat ..."
Abstract
-
Cited by 15 (0 self)
- Add to MetaCart
In discrete event simulation, very often the future event set is represented by a priority queue. The data structure used to implement the queue and the way operations are performed on it are often crucial to the execution time of a simulation. In this paper a new priority queue implementation strategy, the Lazy Queue, is presented. It is tailored to handle operations on the pending event set efficiently. The Lazy Queue is a kind of multi-list data structure that delays the sorting process until a point near the time where the elements are to be dequeued. In this way, the time needed to sort new elements in the queue is reduced. We have performed several experiments comparing queue access times with the access times of the implicit heap and the calendar queue. Our experimental results indicate that the Lazy Queue is superior to these priority queue implementations. Key words: Discrete Event Simulation, Priority Queue, Event List implementation, performance measurement. 1 Introduction...
Scalable Concurrent Priority Queue Algorithms
- In Proceedings of the eighteenth annual ACM symposium on Principles of distributed computing
, 1999
"... This paper addresses the problem of designing bounded range priority queues, that is, queues that support a fixed range of priorities. Bounded range priority queues are fundamental in the design of modern multiprocessor algorithms -- from the application level to lowest levels of the operating sy ..."
Abstract
-
Cited by 11 (3 self)
- Add to MetaCart
This paper addresses the problem of designing bounded range priority queues, that is, queues that support a fixed range of priorities. Bounded range priority queues are fundamental in the design of modern multiprocessor algorithms -- from the application level to lowest levels of the operating system kernel. While most of the available priority queue literature is directed at existing small-scale machines, we chose to evaluate algorithms on a broader concurrency scale using a simulated 256 node shared memory multiprocessor architecture similar to the MIT Alewife. Our empirical evidence suggests that the priority queue algorithms currently available in the literature do not scale. Based on these findings, we present two simple new algorithms, LinearFunnels and FunnelTree, that provide true scalability throughout the concurrency range. 1 Introduction Priority queues are a fundamental class of data structures used in the design of modern multiprocessor algorithms. Their uses r...
A Comparative Study Of Some Priority Queues Suitable For Implementation Of The Pending Event Set
, 1993
"... Implementation of the pending event set (PES) is often crucial to the execution speed of a simulation. Parallel access implementation of the PES is a possible means of gaining performance improvement in discrete event simulation. In this paper a comparative study of some sequential and parallel acce ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Implementation of the pending event set (PES) is often crucial to the execution speed of a simulation. Parallel access implementation of the PES is a possible means of gaining performance improvement in discrete event simulation. In this paper a comparative study of some sequential and parallel access implementations of the PES is presented, these include linked lists, the Calendar Queue, the Lazy Queue, the Skew Heap and the implicit binary heap. All the parallel access implementations have a potential for an O(1) access time. A comparison of the performance of these implementations on a shared memory multiprocessor is presented. From these experiments some guide-lines have been compiled for choosing priority queue implementations for the PES. We also show that the parallel access implementations of the priority queues considered in this paper only offers what could be characterized as limited consitency. This fact may make these implementations less suitable for implementation of the...
Lock Bypassing: An Efficient Algorithm For Concurrently Accessing Priority Heaps
, 1998
"... ing with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works, requires prior specific permission and/or a fee. Permissions may be requested from Publications Dept, ACM Inc., 1515 Broadway, New York, N ..."
Abstract
- Add to MetaCart
ing with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works, requires prior specific permission and/or a fee. Permissions may be requested from Publications Dept, ACM Inc., 1515 Broadway, New York, NY 10036 USA, fax +1 (212) 869-0481, or permissions@acm.org. 2 \Delta Yong Yan and Xiaodong Zhang 1. INTRODUCTION The heap is an important data structure used as a priority queue in many application areas, such as in operating system scheduling, discrete event simulation, graph search and the branch-and-bound method on shared-memory multiprocessors [Biswas and Browne 1993; Cormen et al. 1990; Jones 1986; Olariu and Wen 1991; Ranade et al. 1994]. In these applications, each processor repeatedly performs in a "access-think" cycle. Every processor executes its current event or subproblem, then accesses the shared priority heap to insert new events or subproblems generated by the processor. The...

