English
Related papers

Related papers: Analyzing the Performance of Lock-Free Data Struct…

200 papers

This work unifies insights from the systems and functional programming communities, in order to enable compositional reasoning about software which is nonetheless efficiently realizable in hardware. It exploits a correspondence between…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-03-18 Thomas Dickerson

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

We present for the first time a complete solution to the problem of proving the correctness of a concurrency control algorithm for collaborative text editors against the standard consistency model. The success of our approach stems from the…

Data Structures and Algorithms · Computer Science 2023-06-12 James Smith

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

Contrary to common belief, a recent work by Ellen, Gelashvili, Shavit, and Zhu has shown that computability does not require multicore architectures to support "strong" synchronization instructions like compare-and-swap, as opposed to…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-09 Rati Gelashvili , Idit Keidar , Alexander Spiegelman , Roger Wattenhofer

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

Mixed-consistency programming models assist programmers in designing applications that provide high availability while still ensuring application-specific safety invariants. However, existing models often make specific system assumptions,…

Programming Languages · Computer Science 2024-05-27 Julian Haas , Ragnar Mogk , Annette Bieniusa , Mira Mezini

Lockstep processing is a recognized technique for helping to secure functional-safety relevant processing against, for instance, single upset errors that might cause faulty execution of code. Lockstepping processors does however bind…

Hardware Architecture · Computer Science 2021-07-20 Hans Dermot Doran , Timo Lang

Atomic operations (atomics) such as Compare-and-Swap (CAS) or Fetch-and-Add (FAA) are ubiquitous in parallel programming. Yet, performance tradeoffs between these operations and various characteristics of such systems, such as the structure…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-10-21 Hermann Schweizer , Maciej Besta , Torsten Hoefler

Transactional memory (TM) is an inherently optimistic abstraction: it allows concurrent processes to execute sequences of shared-data accesses (transactions) speculatively, with an option of aborting them in the future. Early TM designs…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-03-07 Petr Kuznetsov , Srivatsan Ravi

Non-volatile memory is expected to co-exist or replace DRAM in upcoming architectures. Durable concurrent data structures for non-volatile memories are essential building blocks for constructing adequate software for use with these…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-09-10 Yoav Zuriel , Michal Friedman , Gali Sheffi , Nachshon Cohen , Erez Petrank

Eventual consistency of replicated data supports concurrent updates, reduces latency and improves fault tolerance, but forgoes strong consistency. Accordingly, several cloud computing platforms implement eventually-consistent data types.…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-10-15 Annette Bieniusa , Marek Zawirski , Nuno Preguiça , Marc Shapiro , Carlos Baquero , Valter Balegas , Sérgio Duarte

Process discovery aims to discover models that can explain the behaviors of event logs extracted from information systems. While various approaches have been proposed, only a few guarantee desirable properties such as soundness and…

Databases · Computer Science 2023-01-06 Tsung-Hao Huang , Wil M. P. van der Aalst

Algorithms for scheduling structured parallel computations have been widely studied in the literature. For some time now, Work Stealing is one of the most popular for scheduling such computations, and its performance has been studied in…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-10-26 Guilherme Rito , Hervé Paulino

Real-time and cyber-physical systems need to interact with and respond to their physical environment in a predictable time. While multicore platforms provide incredible computational power and throughput, they also introduce new sources of…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-06-29 Ayoosh Bansal , Jayati Singh , Yifan Hao , Jen-Yang Wen , Renato Mancuso , Marco Caccamo

Most STM systems are poorly equipped to support libraries of concurrent data structures. One reason is that they typically detect conflicts by tracking transactions' read sets and write sets, an approach that often leads to false conflicts.…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-06-27 Thomas D. Dickerson , Paul Gazzillo , Maurice Herlihy , Eric Koskinen

The Entity-Component-System (ECS) software design pattern, long used in game development, encourages a clean separation of identity (entities), data properties (components), and computational behaviors (systems). Programs written using the…

Programming Languages · Computer Science 2025-09-17 Patrick Redmond , Jonathan Castello , José Manuel Calderón Trilla , Lindsey Kuper

In this paper, we study the partitioning of a context-aware shared memory data structure so that it can be implemented as a distributed data structure running on multiple machines. By context-aware data structures, we mean that the result…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-11-11 Raaghav Ravishankar , Sandeep Kulkarni , Sathya Peri , Gokarna Sharma

We define a measure of competitive performance for distributed algorithms based on throughput, the number of tasks that an algorithm can carry out in a fixed amount of work. This new measure complements the latency measure of Ajtai et al.,…

Data Structures and Algorithms · Computer Science 2007-05-23 James Aspnes , Orli Waarts

Locks have been widely used as an effective synchronization mechanism among processes and threads. However, we observe that a large number of false inter-thread dependencies (i.e., unnecessary lock contentions) exist during the program…

Programming Languages · Computer Science 2015-04-22 Long Zheng , Xiaofei Liao , Bingsheng He , Song Wu , Hai Jin
‹ Prev 1 3 4 5 6 7 10 Next ›