English
Related papers

Related papers: Cache-Aware Lock-Free Concurrent Hash Tries

200 papers

In shared-memory concurrent programming, shared resources can be protected using synchronization mechanisms such as monitors or channels. The connection between these mechanisms and the resources they protect is, however, only given…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-07-07 Mischael Schill , Sebastian Nanz , Bertrand Meyer

Randomizing the address-to-set mapping and partitioning of the cache has been shown to be an effective mechanism in designing secured caches. Several designs have been proposed on a variety of rationales: (1) randomized design, (2)…

Cryptography and Security · Computer Science 2025-01-31 Anirban Chakraborty , Nimish Mishra , Sayandeep Saha , Sarani Bhattacharya , Debdeep Mukhopadhyay

Non-volatile memory (NVM) promises persistent main memory that remains correct despite loss of power. This has sparked a line of research into algorithms that can recover from a system crash. Since caches are expected to remain volatile,…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-06-22 Naama Ben-David , Guy E. Blelloch , Michal Friedman , Yuanhao Wei

The partitioned global address space has bridged the gap between shared and distributed memory, and with this bridge comes the ability to adapt shared memory concepts, such as non-blocking programming, to distributed systems such as…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-07-30 Garvit Dewan , Louis Jenkins

We define a new set of primitive operations that greatly simplify the implementation of non-blocking data structures in asynchronous shared-memory systems. The new operations operate on a set of Data-records, each of which contains multiple…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-12-20 Trevor Brown , Faith Ellen , Eric Ruppert

This paper proposed a storing approach for trie structures, called coordinate hash trie. The basic idea is using a global hash table with a special hash function to store all edges of a trie. For a trie with $n$ nodes and an alphabet with…

Data Structures and Algorithms · Computer Science 2023-03-28 Yuxuan Dong

When verifying a concurrent program, it is usual to assume that memory is sequentially consistent. However, most modern multiprocessors depend on store buffering for efficiency, and provide native sequential consistency only at a…

Logic in Computer Science · Computer Science 2009-09-28 Ernie Cohen , Norbert Schirmer

This paper proposes round-hashing, which is suitable for data storage on distributed servers and for implementing external-memory tables in which each lookup retrieves at most a single block of external memory, using a stash. For data…

Data Structures and Algorithms · Computer Science 2018-05-09 Roberto Grossi , Luca Versari

A hash table is said to be open-addressed (or non-obliviously open-addressed) if it stores elements (and free slots) in an array with no additional metadata. Intuitively, open-addressed hash tables must incur a space-time tradeoff: The…

Data Structures and Algorithms · Computer Science 2025-03-19 Michael A. Bender , William Kuszmaul , Renfei Zhou

We present the Cuckoo Trie, a fast, memory-efficient ordered index structure. The Cuckoo Trie is designed to have memory-level parallelism -- which a modern out-of-order processor can exploit to execute DRAM accesses in parallel -- without…

Data Structures and Algorithms · Computer Science 2022-01-25 Adar Zeitak , Adam Morrison

Synchronisation classes are an important building block for shared memory concurrent programs. Thus to reason about such programs, it is important to be able to verify the implementation of these synchronisation classes, considering atomic…

Software Engineering · Computer Science 2018-06-27 Afshin Amighi , Marieke Huisman , Stefan Blom

This report describes the design, implementation and analysis of a non-blocking halo exchange routine as an alternative to the blocking halo exchange routine in the lattice Boltzmann code Ludwig. The alternative, non-blocking, routine is…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-09-20 Anthony Bourached

We present a fully lock-free variant of the recent Montage system for persistent data structures. Our variant, nbMontage, adds persistence to almost any nonblocking concurrent structure without introducing significant overhead or blocking…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-11-12 Wentao Cai , Haosen Wen , Vladimir Maksimovski , Mingzhe Du , Rafaello Sanna , Shreif Abdallah , Michael L. Scott

Traditional techniques for synchronization are based on \emph{locking} that provides threads with exclusive access to shared data. \emph{Coarse-grained} locking typically forces threads to access large amounts of data sequentially and,…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-11-06 Srivatsan Ravi

Memory-management support for lock-free data structures is well known to be a tough problem. Recent work has successfully reduced the overhead of such schemes. However, applying memory-management support to a data structure remains complex…

Programming Languages · Computer Science 2018-08-21 Nachshon Cohen

Consistent hashing is a technique for distributing data across a network of nodes in a way that minimizes reorganization when nodes join or leave the network. It is extensively applied in modern distributed systems as a fundamental…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-18 Massimo Coluzzi , Amos Brocco , Alessandro Antonucci , Tiziano Leidi

We develop and analyze concurrent algorithms for the disjoint set union (union-find) problem in the shared memory, asynchronous multiprocessor model of computation, with CAS (compare and swap) or DCAS (double compare and swap) as the…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-03-04 Siddhartha V. Jayanti , Robert E. Tarjan

In this paper, we describe a novel algorithm to create a con- current wait-free stack. To the best of our knowledge, this is the first wait-free algorithm for a general purpose stack. In the past, researchers have proposed restricted…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-10-02 Seep Goel , Pooja Aggarwal , Smruti R. Sarangi

We analyze parallel algorithms in the context of exhaustive search over totally ordered sets. Imagine an infinite list of "boxes", with a "treasure" hidden in one of them, where the boxes' order reflects the importance of finding the…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-11-03 Pierre Fraigniaud , Amos Korman , Yoav Rodeh

Our goal is to efficiently solve the dynamic memory allocation problem in a concurrent setting where processes run asynchronously. On $p$ processes, we can support allocation and free for fixed-sized blocks with $O(1)$ worst-case time per…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-08-11 Guy E. Blelloch , Yuanhao Wei
‹ Prev 1 3 4 5 6 7 10 Next ›