## Worst-Case Efficient External-Memory Priority Queues (1998)

Venue: | In Proc. Scandinavian Workshop on Algorithms Theory, LNCS 1432 |

Citations: | 37 - 3 self |

### BibTeX

@INPROCEEDINGS{Brodal98worst-caseefficient,

author = {Gerth Stølting Brodal and Jyrki Katajainen},

title = {Worst-Case Efficient External-Memory Priority Queues},

booktitle = {In Proc. Scandinavian Workshop on Algorithms Theory, LNCS 1432},

year = {1998},

pages = {107--118}

}

### OpenURL

### Abstract

. A priority queue Q is a data structure that maintains a collection of elements, each element having an associated priority drawn from a totally ordered universe, under the operations Insert, which inserts an element into Q, and DeleteMin, which deletes an element with the minimum priority from Q. In this paper a priority-queue implementation is given which is efficient with respect to the number of block transfers or I/Os performed between the internal and external memories of a computer. Let B and M denote the respective capacity of a block and the internal memory measured in elements. The developed data structure handles any intermixed sequence of Insert and DeleteMin operations such that in every disjoint interval of B consecutive priorityqueue operations at most c log M=B N M I/Os are performed, for some positive constant c. These I/Os are divided evenly among the operations: if B c log M=B N M , one I/O is necessary for every B=(c log M=B N M )th operation ...

### Citations

2542 |
The Design and Analysis of Computers Algorithms
- Aho, Hopcroft, et al.
- 1974
(Show Context)
Citation Context ..., which is responsible for transferring data between internal and external memory. The processor together with the internal memory can be seen as a traditional random access machine (RAM) (see, e.g., =-=[3]-=-). In particular, note that the processor can only access data stored in internal memory. The capacity of the internal memory is assumed to be bounded so it might be necessary to store part of the dat... |

738 | The Art of Computer Programming, Volume 3, Sorting and Searching - Knuth - 1998 |

668 |
Introduction to Parallel Algorithms
- JÀJÀ
- 1992
(Show Context)
Citation Context ...ce, i.e., the total elapsed execution time when the algorithms are run on a real computer, depends heavily on the realization of the computer. A real computer may have multiple processors (see, e.g., =-=[18]-=-) and/or the I/O subsystem can transfer data between several disks at the same time (cf. [2, 25, 30]), the processor operations (see, e.g., [27]) and/or the I/Os (cf. [19]) might be pipelined, but the... |

593 | The ubiquitous B-Tree
- Comer
- 1979
(Show Context)
Citation Context ...y heap on multi-level memory systems (see, e.g., [22, 24]). For instance, a B-ary heap reduces the number of I/Os from O(log 2 N B ) (cf. [4]) to O(log B N B ) per operation [24]. Of course, a B-tree =-=[8, 11]-=- could also be used as a priority queue, with which a similar I/O performance is achieved. However, in a virtual-memory environment a B-ary heap seems to be better than a B-tree [24]. When a priority ... |

553 |
The input output complexity of sorting and related problems
- Aggarwal, Vitter
- 1988
(Show Context)
Citation Context ...pends heavily on the realization of the computer. A real computer may have multiple processors (see, e.g., [18]) and/or the I/O subsystem can transfer data between several disks at the same time (cf. =-=[2, 25, 30]-=-), the processor operations (see, e.g., [27]) and/or the I/Os (cf. [19]) might be pipelined, but the effect of these factors is not considered here. It has been observed that in many large-scale compu... |

398 | Computer Organization and Design: The Hardware/Software Interface, 2nd ed - Patterson, Hennessy - 1998 |

260 |
Organization and Maintenance of Large Ordered Indexes
- Bayer, McCreight
- 1972
(Show Context)
Citation Context ...y heap on multi-level memory systems (see, e.g., [22, 24]). For instance, a B-ary heap reduces the number of I/Os from O(log 2 N B ) (cf. [4]) to O(log B N B ) per operation [24]. Of course, a B-tree =-=[8, 11]-=- could also be used as a priority queue, with which a similar I/O performance is achieved. However, in a virtual-memory environment a B-ary heap seems to be better than a B-tree [24]. When a priority ... |

248 | Algorithms for parallel memory, I: Two level memories - Vitter, Shriver - 1994 |

240 |
A dichromatic framework for balanced trees
- Guibas, Sedgewick
- 1978
(Show Context)
Citation Context ...licit binomial queues [10] guarantee worst-case O(1) comparisons for Insert and O(log 2 N ) comparisons for DeleteMin. Also any kind of balanced search trees, such as AVL trees [1] or red-black trees =-=[16]-=- could be used as priority queues. However, due to the usage of explicit or implicit pointers the performance of these structures deteriorates on a two-level memory system. It has been observed by sev... |

184 |
An algorithm for the organization of information
- Adel’son-Vel’skii, Landis
- 1962
(Show Context)
Citation Context ...me schemes, such as implicit binomial queues [10] guarantee worst-case O(1) comparisons for Insert and O(log 2 N ) comparisons for DeleteMin. Also any kind of balanced search trees, such as AVL trees =-=[1]-=- or red-black trees [16] could be used as priority queues. However, due to the usage of explicit or implicit pointers the performance of these structures deteriorates on a two-level memory system. It ... |

157 | The buffer tree: A new technique for optimal I/O algorithms
- Arge
- 1995
(Show Context)
Citation Context ...ctures assume that the internal memory can only fit O(B) elements, i.e., a constant number of blocks. Even faster solutions are possible if the whole capacity of the internal memory is utilized. Arge =-=[5, 6]-=- introduced an (a,b)-tree structure that can be used to carry out any sequence of S Insert and DeleteMin operations with O( S B log M=B S M ) I/Os. Fadel et al. [13] gave a heap structure with a simil... |

154 | Algorithm 232: Heapsort - Williams - 1964 |

146 | Application-Controlled Physical Memory using External Page-Cache
- Harty, Cheriton
- 1992
(Show Context)
Citation Context ...align elements into blocks, and 3. we must have a full control over the replacement of the blocks in internal memory. There are operating systems that provide support for these facilities (see, e.g., =-=[17, 21, 23]-=-). The tree structure of Arge and the heap structure of Fadel et al. do not give any guarantees for the performance of individual operations. In fact, one Insert or DeleteMin can be extremely expensiv... |

121 | The influence of caches on the performance of sorting - Lamarca, Ladner - 1997 |

87 | A data structure for manipulating priority queues - Vuillemin - 1978 |

83 | Extending the mach external pager interface to allow user-level page replacement policies - McNamee, Armstrong - 1990 |

71 | On RAM priority queues - Thorup - 1996 |

45 | Tools for the Development of Application-Specific Virtual Memory Management - Krueger, Loftesness, et al. - 1993 |

41 |
Implementation and analysis of binomial queue algorithms
- BROWN
- 1978
(Show Context)
Citation Context ...og a n as a shorthand notation for max(1; ln n= ln a), where ln denotes the natural logarithm. Several priority-queue schemes, such as implicit heaps [33], leftist heaps [12, 20], and binomial queues =-=[9, 31]-=- have been shown to permit both Insert and DeleteMin with worst-case O(log 2 N ) comparisons. Some schemes, such as implicit binomial queues [10] guarantee worst-case O(1) comparisons for Insert and O... |

39 | Ecient External-Memory Data Structures and Applications
- Arge
- 1996
(Show Context)
Citation Context ...ctures assume that the internal memory can only fit O(B) elements, i.e., a constant number of blocks. Even faster solutions are possible if the whole capacity of the internal memory is utilized. Arge =-=[5, 6]-=- introduced an (a,b)-tree structure that can be used to carry out any sequence of S Insert and DeleteMin operations with O( S B log M=B S M ) I/Os. Fadel et al. [13] gave a heap structure with a simil... |

34 | Large-scale sorting in parallel memories - Nodine, Vitter - 1991 |

29 |
P.V.: An implicit binomial queue with constant insertion time
- Carlsson, Munro, et al.
- 1988
(Show Context)
Citation Context ...s [33], leftist heaps [12, 20], and binomial queues [9, 31] have been shown to permit both Insert and DeleteMin with worst-case O(log 2 N ) comparisons. Some schemes, such as implicit binomial queues =-=[10]-=- guarantee worst-case O(1) comparisons for Insert and O(log 2 N ) comparisons for DeleteMin. Also any kind of balanced search trees, such as AVL trees [1] or red-black trees [16] could be used as prio... |

27 | On sorting strings in external memory - Arge, Ferragina, et al. - 1997 |

20 |
Heaps and heapsort on secondary storage
- Fadel, Jakobsen, et al.
- 1999
(Show Context)
Citation Context ...nternal memory is utilized. Arge [5, 6] introduced an (a,b)-tree structure that can be used to carry out any sequence of S Insert and DeleteMin operations with O( S B log M=B S M ) I/Os. Fadel et al. =-=[13]-=- gave a heap structure with a similar I/O performance but their bound depends on the size profile, not on S. Their heap structure can handle any sequence of S operations with O( P S i=1 1 B log M=B N ... |

11 | Fishspear: A priority queue algorithm
- Fischer, Paterson
- 1994
(Show Context)
Citation Context ...eMins, at most every Bth Insert and DeleteMin will cause a buffer overflow or underflow. Several data structures take advantage of this kind of buffering. Fishspear, developed by Fischer and Paterson =-=[14]-=-, can be implemented by a constant number of push-down stacks, implying that any sequence of S Insert and DeleteMin operations requires at most O( P S i=1 1 B log 2 N i ) I/Os, where N i denotes the s... |

10 |
The Parallel Hierarchical Memory Model
- Juurlink, Wijshoff
- 1994
(Show Context)
Citation Context ...tiple processors (see, e.g., [18]) and/or the I/O subsystem can transfer data between several disks at the same time (cf. [2, 25, 30]), the processor operations (see, e.g., [27]) and/or the I/Os (cf. =-=[19]-=-) might be pipelined, but the effect of these factors is not considered here. It has been observed that in many large-scale computations the increasing bottleneck of the computation is the performance... |

10 | Teuhola: The external heapsort - Wegner, I - 1989 |

8 | Performance of priority queue structures in a virtual - Naor, Martel, et al. - 1991 |

5 |
Haikala,“Virtual Memory Behavior of Some Sorting Algorithms
- Alanko, Erkio, et al.
- 1984
(Show Context)
Citation Context ...rchers that a d-ary heap performs better than the normal binary heap on multi-level memory systems (see, e.g., [22, 24]). For instance, a B-ary heap reduces the number of I/Os from O(log 2 N B ) (cf. =-=[4]-=-) to O(log B N B ) per operation [24]. Of course, a B-tree [8, 11] could also be used as a priority queue, with which a similar I/O performance is achieved. However, in a virtual-memory environment a ... |

2 |
et al. Strategic directions in storage I/O issues in largescale computing
- Gibson, Vitter, et al.
- 1996
(Show Context)
Citation Context ...ct of these factors is not considered here. It has been observed that in many large-scale computations the increasing bottleneck of the computation is the performance of the I/O subsystem (see, e.g., =-=[15, 26]-=-), increasing the importance of I/O efficient algorithms. When expressing the performance of the priority-queue operations, we use the following parameters: B: the number of elements per block, M : th... |

1 |
Linear lists and priority queues as balanced trees
- Crane
- 1972
(Show Context)
Citation Context ...d Ms23B. Furthermore, we use log a n as a shorthand notation for max(1; ln n= ln a), where ln denotes the natural logarithm. Several priority-queue schemes, such as implicit heaps [33], leftist heaps =-=[12, 20]-=-, and binomial queues [9, 31] have been shown to permit both Insert and DeleteMin with worst-case O(log 2 N ) comparisons. Some schemes, such as implicit binomial queues [10] guarantee worst-case O(1)... |

1 | Implementation and analysis of binimial queue algorithms - Brown - 1978 |

1 | Heaps and heapsort on secondary storage. Submitted to Theoretical Computer Science. A preliminary version appeared as "External heaps combined with effective buffering - Fadel, Jakobsen, et al. - 1997 |

1 | Guest editor's introduction: The I/O subsystem --- A candidate for improvement - Patt - 1994 |