English
Related papers

Related papers: SimdQuickHeap: The QuickHeap Reconsidered

200 papers

Priority queues are container data structures essential to many high performance computing (HPC) applications. In this paper, we introduce multiresolution priority queues, a data structure that improves the performance of the standard heap…

Data Structures and Algorithms · Computer Science 2017-08-11 Jordi Ros-Giralt , Alan Commike , Peter Cullen , Jeff Lucovsky , Dilip Madathil , Richard Lethin

We propose two protocols for distributed priority queues (for simplicity denoted 'heap') called SKEAP and SEAP. SKEAP realizes a distributed heap for a constant amount of priorities and SEAP one for an arbitrary amount. Both protocols build…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-04-02 Michael Feldmann , Christian Scheideler

We study the selection problem, namely that of computing the $i$th order statistic of $n$ given elements. Here we offer a data structure called \emph{selectable sloppy heap} handling a dynamic version in which upon request: (i)~a new…

Data Structures and Algorithms · Computer Science 2017-08-11 Adrian Dumitrescu

Priority queues with parallel access are an attractive data structure for applications like prioritized online scheduling, discrete event simulation, or greedy algorithms. However, a classical priority queue constitutes a severe bottleneck…

Data Structures and Algorithms · Computer Science 2021-07-23 Marvin Williams , Peter Sanders , Roman Dementiev

Because of unmatched improvements in CPU performance, memory transfers have become a bottleneck of program execution. As discovered in recent years, this also affects sorting in internal memory. Since partitioning around several pivots…

Data Structures and Algorithms · Computer Science 2019-05-07 Conrado Martínez , Markus Nebel , Sebastian Wild

Priority queues are used in a wide range of applications, including prioritized online scheduling, discrete event simulation, and greedy algorithms. In parallel settings, classical priority queues often become a severe bottleneck, resulting…

Data Structures and Algorithms · Computer Science 2025-04-17 Marvin Williams , Peter Sanders

Quicksort is an instructive classroom approach to parallel sorting on distributed memory parallel computers with many opportunities for illustrating specific implementation alternatives and tradeoffs with common communication interfaces…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-10-25 Jesper Larsson Träff

Let $n$ denote the number of elements currently in a data structure. An in-place heap is stored in the first $n$ locations of an array, uses $O(1)$ extra space, and supports the operations: minimum, insert, and extract-min. We introduce an…

Data Structures and Algorithms · Computer Science 2014-07-15 Stefan Edelkamp , Jyrki Katajainen , Amr Elmasry

The single-source shortest path (SSSP) problem is a well-studied problem that is used in many applications. In the parallel setting, a work-efficient algorithm that additionally attains $o(n)$ parallel depth has been elusive. Alternatively,…

Data Structures and Algorithms · Computer Science 2023-05-15 Kyle Berney , John Iacono , Ben Karsin , Nodari Sitchinava

Contraction Hierarchies is a successful speedup-technique to Dijkstra's seminal shortest path algorithm that has a convenient trade-off between preprocessing and query times. We investigate a shared-memory parallel implementation that uses…

Data Structures and Algorithms · Computer Science 2012-08-14 Dennis Luxen , Dennis Schieferdecker

The smooth heap is a recently introduced self-adjusting heap [Kozma, Saranurak, 2018] similar to the pairing heap [Fredman, Sedgewick, Sleator, Tarjan, 1986]. The smooth heap was obtained as a heap-counterpart of Greedy BST, a binary search…

Data Structures and Algorithms · Computer Science 2021-07-13 Maria Hartmann , László Kozma , Corwin Sinnamon , Robert E. Tarjan

A priority queue is a fundamental data structure that maintains a dynamic ordered set of keys and supports the followig basic operations: insertion of a key, deletion of a key, and finding the smallest key. The complexity of the priority…

Data Structures and Algorithms · Computer Science 2012-07-19 Zhewei Wei , Ke Yi

QuickXsort is a highly efficient in-place sequential sorting scheme that mixes Hoare's Quicksort algorithm with X, where X can be chosen from a wider range of other known sorting algorithms, like Heapsort, Insertionsort and Mergesort. Its…

Data Structures and Algorithms · Computer Science 2018-11-06 Stefan Edelkamp , Armin Weiß , Sebastian Wild

Estimating the selectivity of a query is a key step in almost any cost-based query optimizer. Most of today's databases rely on histograms or samples that are periodically refreshed by re-scanning the data as the underlying data changes.…

Databases · Computer Science 2020-04-14 Yongjoo Park , Shucheng Zhong , Barzan Mozafari

Streaming algorithms are fundamental in the analysis of large and online datasets. A key component of many such analytic tasks is $q$-MAX, which finds the largest $q$ values in a number stream. Modern approaches attain a constant runtime by…

Data Structures and Algorithms · Computer Science 2024-07-11 Ran Ben-Basat , Gil Einziger , Wenchen Han , Bilal Tayh

We present priority queues in the cache-oblivious external memory model with block size $B$ and main memory size $M$ that support on $N$ elements, operation \textsc{UPDATE} (combination of \textsc{INSERT} and \textsc{DECREASEKEY}) in $O…

Data Structures and Algorithms · Computer Science 2020-08-05 John Iacono , Riko Jacob , Konstantinos Tsakalidis

The heap is a basic data structure used in a wide variety of applications, including shortest path and minimum spanning tree algorithms. In this paper we explore the design space of comparison-based, amortized-efficient heap…

Data Structures and Algorithms · Computer Science 2009-03-03 Bernhard Haeupler , Siddhartha Sen , Robert E. Tarjan

Priority queue, often implemented as a heap, is an abstract data type that has been used in many well-known applications like Dijkstra's shortest path algorithm, Prim's minimum spanning tree, Huffman encoding, and the branch-and-bound…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-06-18 Yanhao Chen , Fei Hua , Chaozhang Huang , Jeremy Bierema , Chi Zhang , Eddy Z. Zhang

Chazelle [JACM00] introduced the soft heap as a building block for efficient minimum spanning tree algorithms, and recently Kaplan et al. [SOSA2019] showed how soft heaps can be applied to achieve simpler algorithms for various selection…

Data Structures and Algorithms · Computer Science 2020-08-13 Gerth Stølting Brodal

Scalable ordered maps must ensure that range queries, which operate over many consecutive keys, provide intuitive semantics (e.g., linearizability) without degrading the performance of concurrent insertions and removals. These goals are…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-10-11 Matthew Rodriguez , Vitaly Aksenov , Michael Spear