English
Related papers

Related papers: Adaptive Lock-Free Data Structures in Haskell: A G…

200 papers

Modern highly-concurrent search data structures, such as search trees, obtain multi-core scalability and performance by having operations traverse the data structure without any synchronization. As a result, however, these algorithms are…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-01-12 Yotam M. Y. Feldman , Artem Khyzha , Constantin Enea , Adam Morrison , Aleksandar Nanevski , Noam Rinetzky , Sharon Shoham

Lock-free concurrent algorithms guarantee that some concurrent operation will always make progress in a finite number of steps. Yet programmers prefer to treat concurrent code as if it were wait-free, guaranteeing that all operations always…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-11-18 Dan Alistarh , Keren Censor-Hillel , Nir Shavit

The lock-free, ordered, linked list is an important, standard example of a concurrent data structure. An obvious, practical drawback of textbook implementations is that failed compare-and-swap (CAS) operations lead to retraversal of the…

Data Structures and Algorithms · Computer Science 2020-11-02 Jesper Larsson Träff , Manuel Pöter

The Harland document management system implements a data model in which document (object) structure can be altered by mixin-style multiple inheritance at any time. This kind of structural fluidity has long been supported by knowledge-base…

Databases · Computer Science 2007-05-23 Paul M. Aoki , Ian E. Smith , James D. Thornton

This paper considers the modelling and the analysis of the performance of lock-free concurrent search data structures. Our analysis considers such lock-free data structures that are utilized through a sequence of operations which are…

Data Structures and Algorithms · Computer Science 2018-05-15 Aras Atalar , Paul Renaud-Goud , 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

Modern business applications and scientific databases call for inherently dynamic data storage environments. Such environments are characterized by two challenging features: (a) they have little idle system time to devote on physical…

Databases · Computer Science 2012-03-02 Felix Halim , Stratos Idreos , Panagiotis Karras , Roland H. C. Yap

Design of an efficient thread-safe concurrent data structure is a balancing act between its implementation complexity and performance. Lock-based concurrent data structures, which are relatively easy to derive from their sequential…

Programming Languages · Computer Science 2024-08-27 Callista Le , Kiran Gopinathan , Koon Wen Lee , Seth Gilbert , Ilya Sergey

Formal reasoning about the time complexity of algorithms and data structures is usually done in interactive theorem provers like Isabelle/HOL. This includes reasoning about amortized time complexity which looks at the worst case performance…

Computational Complexity · Computer Science 2024-07-19 Jan van Brügge

Transformative innovations in model architectures have introduced hierarchical embedding augmentation as a means to redefine the representation of tokens through multi-level semantic structures, offering enhanced adaptability to complex…

Computation and Language · Computer Science 2025-08-11 Derek Yotheringhay , Alistair Kirkland , Humphrey Kirkbride , Josiah Whitesteeple

We present a novel parsing algorithm for all context-free languages, based on computing the relation between configurations and reaching transitions in a recursive transition network. Parsing complexity w.r.t. input length matches the state…

Formal Languages and Automata Theory · Computer Science 2019-02-19 Grzegorz Herman

This paper presents an efficient wait-free resizable hash table. To achieve high throughput at large core counts, our algorithm is specifically designed to retain the natural parallelism of concurrent hashing, while providing wait-free…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-04-21 Panagiota Fatourou , Nikolaos D. Kallimanis , Thomas Ropars

We present Locksynth, a tool that automatically derives synchronization needed for destructive updates to concurrent data structures that involve a constant number of shared heap memory write operations. Locksynth serves as the…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-30 Sarat Chandra Varanasi , Neeraj Mittal , Gopal Gupta

Dataflow languages provide natural support for specifying constraints between objects in dynamic applications, where programs need to react efficiently to changes of their environment. Researchers have long investigated how to take…

Programming Languages · Computer Science 2011-04-13 Camil Demetrescu , Irene Finocchi , Andrea Ribichini

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

Deadlocks occur in concurrent programs as a consequence of cyclic resource acquisition between threads. In this paper we present a novel type system that guarantees deadlock freedom for a language with references, unstructured locking…

Programming Languages · Computer Science 2011-10-20 Prodromos Gerakios , Nikolaos Papaspyrou , Konstantinos Sagonas

Priority queues are abstract data structures which store a set of key/value pairs and allow efficient access to the item with the minimal (maximal) key. Such queues are an important element in various areas of computer science such as…

Data Structures and Algorithms · Computer Science 2015-09-24 Jakob Gruber

Given a specified average load factor, hash tables offer the appeal of constant time lookup operations. However, hash tables could face severe hash collisions because of malicious attacks, buggy applications, or even bursts of incoming…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-06-02 Junchang Wang , Xiong Fu , Fu Xiao , Chen Tian

When components of a system exchange data, they need to serialise the data so that it can be sent over the network. Then, the recipient has to deserialise the data in order to be able to process it. These steps take time and have an impact…

Programming Languages · Computer Science 2025-04-30 Arthur Jamet , Michael Vollmer

Understanding the performance of data-parallel workloads when resource-constrained has significant practical importance but unfortunately has received only limited attention. This paper identifies, quantifies and demonstrates memory…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-02-15 Calin Iorgulescu , Florin Dinu , Aunn Raza , Wajih Ul Hassan , Willy Zwaenepoel