English
Related papers

Related papers: Highly-Concurrent Doubly-Linked Lists

200 papers

It is becoming increasingly difficult to improve the performance of a a single process (thread) on a computer due to physical limitations. Modern systems use multi-core processors in which multiple processes (threads) may run concurrently.…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-11-05 Jordan Malek

Many systems use ad hoc collections of files and directories to store persistent data. For consumers of this data, the process of properly parsing, using, and updating these filestores using conventional APIs is cumbersome and error-prone.…

Programming Languages · Computer Science 2019-08-28 Jonathan DiLorenzo , Katie Mancini , Kathleen Fisher , Nate Foster

Background: Distributed data-intensive systems are increasingly designed to be only eventually consistent. Persistent data is no longer processed with serialized and transactional access, exposing applications to a range of potential…

Software Engineering · Computer Science 2021-08-10 Susanne Braun , Stefan Deßloch , Eberhard Wolff , Frank Elberzhager , Andreas Jedlitschka

We present bundled references, a new building block to provide linearizable range query operations for highly concurrent lock-based linked data structures. Bundled references allow range queries to traverse a path through the data structure…

Data Structures and Algorithms · Computer Science 2022-06-30 Jacob Nelson-Slivon , Ahmed Hassan , Roberto Palmieri

Garbage Collection in concurrent data structures, especially lock-free ones, pose multiple design and consistency challenges. In this instance, we consider the case of concurrent sets. A set is a collection of elements, where the elements…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-24 Jonathan Marbaniang , Shekhar Bhandakkar , Sathya Peri

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

Linked lists have long served as a valuable teaching tool in programming. However, the question arises: Are they truly practical for everyday program use? In most cases, it appears that array-based data structures offer distinct advantages,…

Data Structures and Algorithms · Computer Science 2024-08-29 Benoît Sonntag , Dominique Colnet

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

Reconfigurable optical topologies are emerging as a promising technology to improve the efficiency of datacenter networks. This paper considers the problem of scheduling opportunistic links in such reconfigurable datacenters. We study the…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-10-16 Janardhan Kulkarni , Stefan Schmid , Paweł Schmidt

Commodity memory interfaces have difficulty in scaling memory capacity to meet the needs of modern multicore and big data systems. DRAM device density and maximum device count are constrained by technology, package, and signal in- tegrity…

Hardware Architecture · Computer Science 2015-05-14 Zehan Cui , Tianyue Lu , Haiyang Pan , Sally A. Mckee , Mingyu Chen

Sequential computation is well understood but does not scale well with current technology. Within the next decade, systems will contain large numbers of processors with potentially thousands of processors per chip. Despite this, many…

Hardware Architecture · Computer Science 2015-11-17 James Hanlon

Real-time scheduling and locking protocols are fundamental facilities to construct time-critical systems. For parallel real-time tasks, predictable locking protocols are required when concurrent sub-jobs mutually exclusive access to shared…

Operating Systems · Computer Science 2020-07-03 Maolin Yang , Zewei Chen , Xu Jiang , Nan Guan , Hang Lei

The need for scalable concurrent ordered set data structures with linearizable range query support is increasing due to the rise of multicore computers, data processing platforms and in-memory databases. This paper presents a new concurrent…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-09-05 Kjell Winblad

Current high-performance computer systems used for scientific computing typically combine shared memory computational nodes in a distributed memory environment. Extracting high performance from these complex systems requires tailored…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-01-14 Afshin Zafari , Elisabeth Larsson , Martin Tillenius

Merging datafiles containing information on overlapping sets of entities is a challenging task in the absence of unique identifiers, and is further complicated when some entities are duplicated in the datafiles. Most approaches to this…

Methodology · Statistics 2021-10-11 Serge Aleshin-Guendel , Mauricio Sadinle

A critical component in the implementation of a concurrent tabling system is the design of the table space. One of the most successful proposals for representing tables is based on a two-level trie data structure, where one trie level…

Programming Languages · Computer Science 2014-05-15 Miguel Areias , Ricardo Rocha

Designing an efficient concurrent data structure is an important challenge that is not easy to meet. Intuitively, efficiency of an implementation is defined, in the first place, by its ability to process applied operations in parallel,…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-01-15 Vitaly Aksenov , Vincent Gramoli , Petr Kuznetsov , Srivatsan Ravi , Di Shang

Applications with low data reuse and frequent irregular memory accesses, such as graph or sparse linear algebra workloads, fail to scale well due to memory bottlenecks and poor core utilization. While prior work with prefetching,…

Hardware Architecture · Computer Science 2023-05-05 Marcelo Orenes-Vera , Esin Tureci , David Wentzlaff , Margaret Martonosi

In this paper, we propose a generic concurrent directed graph (for shared memory architecture) that is concurrently being updated by threads adding/deleting vertices and edges. The graph is constructed by the composition of the well known…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-11-01 Sathya Peri , Muktikanta Sa , Nandini Singhal

Optimal multiple sequence alignment by dynamic programming, like many highly dimensional scientific computing problems, has failed to benefit from the improvements in computing performance brought about by multi-processor systems, due to…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-11-30 Manal Helal , Hossam El-Gindy , Lenore Mullin , Bruno Gaeta