## Concurrent Access of Priority Queues (1988)

Venue: | IEEE Transactions on Computers |

Citations: | 51 - 2 self |

### BibTeX

@ARTICLE{Rao88concurrentaccess,

author = {Nageshwara Rao and Vipin Kumar},

title = {Concurrent Access of Priority Queues},

journal = {IEEE Transactions on Computers},

year = {1988},

volume = {37},

pages = {1657--1665}

}

### Years of Citing Articles

### OpenURL

### Abstract

The heap is an important data structure used as a priority queue in a wide variety of parallel algorithms (e.g., multiprocessor scheduling, branch-and-bound). In these algorithms, contention for the shared heap limits the obtainable speedup. This paper presents an approach to allow concurrent insertions and deletions on the heap in a shared-memory multiprocessor. The scheme also retains the strict priority ordering of the serial-access heap algorithms; i.e., a delete operation returns the best key of all keys that have been inserted or are being inserted at the time delete is started. Our experimental results on the BBN Butterfly parallel processor demonstrate that the use of the concurrent-heap algorithms in parallel branch-and-bound improves its performance substantially. Index Terms: concurrent data structures, priority queues, insertions, deletions, branchand -bound, speedup. 1 Introduction The heap is an important data structure used as a priority queue in a wide variety of paral...

### Citations

2438 |
The Design and Analysis of Computer Algorithms
- Aho, Hopcroft, et al.
- 1974
(Show Context)
Citation Context ...basic scheme to further reduce the overheads. A comparison with related work is presented in Section 7. Section 8 contains concluding remarks. 2 Serial Access Heap algorithms 2.1 Preliminaries A heap =-=[1, 7]-=- is a complete binary tree of depth d, with the property that the value of the key at any node is less than the value of the keys at its children (if they exist). 1 Before presenting the concurrent up... |

194 |
Fundamentals of Computer Algorithms
- HOROWITZ, SAHNI
- 1978
(Show Context)
Citation Context ...basic scheme to further reduce the overheads. A comparison with related work is presented in Section 7. Section 8 contains concluding remarks. 2 Serial Access Heap algorithms 2.1 Preliminaries A heap =-=[1, 7]-=- is a complete binary tree of depth d, with the property that the value of the key at any node is less than the value of the keys at its children (if they exist). 1 Before presenting the concurrent up... |

98 |
Designing efficient algorithms for parallel computers
- Quinn
- 1986
(Show Context)
Citation Context ...m top to bottom, while inserts manipulate it from bottom to top. Hence many deletions (or many insertions) can be executed in parallel by using a simple window locking scheme[3] or software pipelining=-=[13, 14]-=-. But inserts and deletes cannot be active together, as they proceed in opposite directions and hence can deadlock. Biswas and Browne[3] present a scheme to handle this problem. But their scheme incur... |

86 |
A VLSI Architecture for Concurrent Data Structures
- Dally
- 1987
(Show Context)
Citation Context ... scheme are not yet available. A number of concurrent-access schemes have been developed for manipulating dictionaries that are represented as balanced trees[6, 11], B-trees [5], and the balanced cube=-=[4]-=-. Most of these concurrent schemes allow O(log M) operations (delete the smallest key, delete a key, insert a key, search for key, etc.) to be done simultaneously. A major exception is the balanced cu... |

42 | Parallel best-first search of state-space graphs: A summary of results
- Kumar, Ramesh, et al.
- 1988
(Show Context)
Citation Context ...the concurrent-access heap scheme, at most O(log M) processors can manipulate the heap concurrently. To allow greater concurrency, it seems necessary to relax the strictness of the priority queue. In =-=[9], we prese-=-nt several "distributed" formulations of priority queue that permit O(M) concurrency, and test their effectiveness in parallel branchand -bound. Acknowledgements: We would like to thank Jit ... |

40 |
Area-Efficient VLSI Computation
- Leiserson
- 1982
(Show Context)
Citation Context ... for manipulating a strict priority queue. A number of VLSI dictionary machines [?, 19, 2] use O(M) processors and allow O(log M) operations to proceed in parallel. Leiserson's hardware priority queue=-=[10]-=- provides O(1) access time at the expense of O(M) processors. As discussed in the previous section, with the help of O(log M) service processors, our concurrent-access scheme can also provide O(1) acc... |

36 |
Concurrent search and insertion in 2-3 trees
- Ellis
- 1980
(Show Context)
Citation Context ...erformance results of this scheme are not yet available. A number of concurrent-access schemes have been developed for manipulating dictionaries that are represented as balanced trees[6, 11], B-trees =-=[5]-=-, and the balanced cube[4]. Most of these concurrent schemes allow O(log M) operations (delete the smallest key, delete a key, insert a key, search for key, etc.) to be done simultaneously. A major ex... |

30 |
Simultaneous update of priority structures
- Biswas, Browne
- 1987
(Show Context)
Citation Context ...p level by level going from top to bottom, while inserts manipulate it from bottom to top. Hence many deletions (or many insertions) can be executed in parallel by using a simple window locking scheme=-=[3]-=- or software pipelining[13, 14]. But inserts and deletes cannot be active together, as they proceed in opposite directions and hence can deadlock. Biswas and Browne[3] present a scheme to handle this ... |

25 |
Concurrent Search and Insertion in AVL Trees
- Ellis
- 1980
(Show Context)
Citation Context ...g-lock" scheme. Performance results of this scheme are not yet available. A number of concurrent-access schemes have been developed for manipulating dictionaries that are represented as balanced =-=trees[6, 11]-=-, B-trees [5], and the balanced cube[4]. Most of these concurrent schemes allow O(log M) operations (delete the smallest key, delete a key, insert a key, search for key, etc.) to be done simultaneousl... |

25 |
Concurrency control in a dynamic search structure
- MANBER, E
- 1982
(Show Context)
Citation Context ...g-lock" scheme. Performance results of this scheme are not yet available. A number of concurrent-access schemes have been developed for manipulating dictionaries that are represented as balanced =-=trees[6, 11]-=-, B-trees [5], and the balanced cube[4]. Most of these concurrent schemes allow O(log M) operations (delete the smallest key, delete a key, insert a key, search for key, etc.) to be done simultaneousl... |

12 |
Experience with Two Parallel Programs Solving the Travelling Salesman Problem
- Mohan
- 1983
(Show Context)
Citation Context ...ch-and-Bound To test the performance of the concurrent-heap scheme in a more realistic situation, we incorporated it in a parallel branch-and-bound algorithm for solving the traveling salesman problem=-=[18, 12, 8]-=-. In this parallel algorithm, in each access-think cycle, each processor removes a least cost node from the heap, generates two successors, computes their costs, and inserts them both on the heap. The... |

10 | A generalized dictionary machine for VLSI - Attallah, Kosaraju - 1984 |

7 |
and Narsingh Deo. Parallel graph algorithms
- Quinn
- 1984
(Show Context)
Citation Context ...ions, branchand -bound, speedup. 1 Introduction The heap is an important data structure used as a priority queue in a wide variety of parallel algorithms (e.g., multiprocessor scheduling, graph search=-=[15]-=-, branch-and-bound[18, This work was supported by Army Research Office grant # DAAG29-84-K-0060 to the Artificial Intelligence Laboratory, and Office of Naval Research Grant N00014-86-K-0763 to the co... |

5 |
A Tight Upper Bound for the Speedup of Parallel Best-First Branch-and-Bound Algorithms
- Huang, Davis
- 1987
(Show Context)
Citation Context ...ors that can be used to speed up the problem. If T think is the mean think time and T access is the mean access time, then clearly the maximum speedup achievable iss(T access +T think )=T access (see =-=[8]-=-). T think is a characteristic of the problem being solved. T access depends on the priority structure being used. For the heap, T access is O(log M ), where M is the size of the heap. One way to alle... |

4 | and Narsingh Deo. An upper bound for the speedup of parallel branch-and-bound algorithms - Quinn - 1986 |

2 |
and Narsingh Deo. Data structures for the efficient solution of graph theoretic problems on tightly-coupled MIMD computers
- Quinn
- 1984
(Show Context)
Citation Context ...m top to bottom, while inserts manipulate it from bottom to top. Hence many deletions (or many insertions) can be executed in parallel by using a simple window locking scheme[3] or software pipelining=-=[13, 14]-=-. But inserts and deletes cannot be active together, as they proceed in opposite directions and hence can deadlock. Biswas and Browne[3] present a scheme to handle this problem. But their scheme incur... |

2 |
Parallel heuristic search on shared memory multiprocessors : Preliminary results
- Rao, Kumar, et al.
- 1987
(Show Context)
Citation Context ...access time for serial inserts and deletes is larger than the average root locking time in concurrent heap operations. ffl Case III: Biased Inserts In many parallel algorithms (e.g., branch-and-bound =-=[18]), e-=-ach newly inserted key tends to be nearly as good as the best key already available in the heap. In this case, T s access = T s r + LsT s w , where L �� log M . For this case, just as in case I, t... |

2 | An unsorted dictionary machine for VLSI - Somani, Agarwal - 1984 |