English
Related papers

Related papers: Practical Concurrent Priority Queues

200 papers

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

Data Structures and Algorithms · Computer Science 2014-11-06 Hamza Rihani , Peter Sanders , Roman Dementiev

Priority queues are data structures which store keys in an ordered fashion to allow efficient access to the minimal (maximal) key. Priority queues are essential for many applications, e.g., Dijkstra's single-source shortest path algorithm,…

Data Structures and Algorithms · Computer Science 2015-03-20 Martin Wimmer , Jakob Gruber , Jesper Larsson Träff , Philippas Tsigas

Priority queues are fundamental abstract data structures, often used to manage limited resources in parallel programming. Several proposed parallel priority queue implementations are based on skiplists, harnessing the potential for…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-08-06 Irina Calciu , Hammurabi Mendes , Maurice Herlihy

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

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

Concurrent data structures are the data sharing side of parallel programming. Data structures give the means to the program to store data, but also provide operations to the program to access and manipulate these data. These operations are…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-02-13 Daniel Cederman , Anders Gidenstam , Phuong Ha , Håkan Sundell , Marina Papatriantafilou , Philippas Tsigas

Many task-parallel applications can benefit from attempting to execute tasks in a specific order, as for instance indicated by priorities associated with the tasks. We present three lock-free data structures for priority scheduling with…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-12-10 Martin Wimmer , Daniel Cederman , Francesco Versaci , Jesper Larsson Träff , Philippas Tsigas

Priority queues are one of the most fundamental and widely used data structures in computer science. Their primary objective is to efficiently support the insertion of new elements with assigned priorities and the extraction of the highest…

Data Structures and Algorithms · Computer Science 2024-11-19 Ziyad Benomar , Christian Coester

This paper presents a comprehensive overview of monotone priority queues, focusing on their evolution and application in shortest path algorithms. Monotone priority queues are characterized by the property that their minimum key does not…

Data Structures and Algorithms · Computer Science 2024-10-17 Jonas Costa , Lucas Castro , Rosiane de Freitas

Priority queues are fundamental data structures with widespread applications in various domains, including graph algorithms and network simulations. Their performance critically impacts the overall efficiency of these algorithms.…

Data Structures and Algorithms · Computer Science 2023-11-27 Kiarash Parvizi

Concurrent data structures often require additional memory for handling synchronization issues in addition to memory for storing elements. Depending on the amount of this additional memory, implementations can be more or less…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-01-17 Vitaly Aksenov , Nikita Koval , Petr Kuznetsov , Anton Paramonov

A number of concurrent, relaxed priority queues have recently been proposed and implemented. Results are commonly reported for a throughput benchmark that uses a uniform distribution of keys drawn from a large integer range, and mostly for…

Data Structures and Algorithms · Computer Science 2016-03-17 Jakob Gruber , Jesper Larsson Träff , Martin Wimmer

Skiplists are used in a variety of applications for storing data subject to order criteria. In this article we discuss the design, analysis and performance of a concurrent deterministic skiplist on many-core NUMA nodes. We also evaluate the…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-03-06 Aparna Sasidharan

Concurrent hash tables are one of the most important concurrent data structures with numerous applications. Since hash table accesses can dominate the execution time of the overall application, we need implementations that achieve good…

Data Structures and Algorithms · Computer Science 2016-09-07 Tobias Maier , Peter Sanders , Roman Dementiev

FIFO queues are a fundamental data structure used in a wide range of applications. Concurrent FIFO queues allow multiple execution threads to access the queue simultaneously. Maintaining strict FIFO semantics in concurrent queues leads to…

Data Structures and Algorithms · Computer Science 2025-10-17 Stefan Koch , Peter Sanders , Marvin Williams

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

Building a library of concurrent data structures is an essential way to simplify the difficult task of developing concurrent software. Lock-free data structures, in which processes can help one another to complete operations, offer the…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-12-18 Trevor Brown

There are two intertwined factors that affect performance of concurrent data structures: the ability of processes to access the data in parallel and the cost of synchronization. It has been observed that for a large class of…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-10 Vitaly Aksenov , Petr Kuznetsov

The recent advancements in multicore machines highlight the need to simplify concurrent programming in order to leverage their computational power. One way to achieve this is by designing efficient concurrent data structures (e.g. stacks,…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-03-31 Nikolaos D. Kallimanis

A standard design pattern found in many concurrent data structures, such as hash tables or ordered containers, is an alternation of parallelizable sections that incur no data conflicts and critical sections that must run sequentially and…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-10-13 Vitaly Aksenov , Dan Alistarh , Petr Kuznetsov
‹ Prev 1 2 3 10 Next ›