English
Related papers

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

200 papers

This paper presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block…

Databases · Computer Science 2024-06-17 Antonios Katsarakis , Vasilis Gavrielatos , Nikos Ntarmos

Multi-core architectures feature an intricate hierarchy of cache memories, with multiple levels and sizes. To adequately decompose an application according to the traits of a particular memory hierarchy is a cumbersome task that may be…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-11-20 Hervé Paulino , Nuno Delgado

Modern multi-socket architectures exhibit non-uniform memory access (NUMA) behavior, where access by a core to data cached locally on a socket is much faster than access to data cached on a remote socket. Prior work offers several efficient…

Operating Systems · Computer Science 2019-03-04 Dave Dice , Alex Kogan

Unsupervised binary representation allows fast data retrieval without any annotations, enabling practical application like fast person re-identification and multimedia retrieval. It is argued that conflicts in binary space are one of the…

Computer Vision and Pattern Recognition · Computer Science 2020-11-23 Fangrui Liu , Zheng Liu

Cooperative caching is a technique used in mobile ad hoc networks to improve the efficiency of information access by reducing the access latency and bandwidth usage. Cache replacement policy plays a significant role in response time…

Networking and Internet Architecture · Computer Science 2012-08-17 Preetha Theresa Joy , K. Poulose Jacob

We present Hemlock, a novel mutual exclusion locking algorithm that is extremely compact, requiring just one word per thread plus one word per lock, but which still provides local spinning in most circumstances, high throughput under…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-01-07 Dave Dice , Alex Kogan

Performance modeling of parallel applications on multicore computers remains a challenge in computational co-design due to the complex design of multicore processors including private and shared memory hierarchies. We present a Scalable…

A well-established approach to proving progress properties such as deadlock-freedom and termination is to associate obligations with threads. For example, in most existing work the proof rule for lock acquisition prescribes a standard usage…

Programming Languages · Computer Science 2024-12-20 Justus Fasse , Bart Jacobs

CPU caches introduce variations into the execution time of programs that can be exploited by adversaries to recover private information about users or cryptographic keys. Establishing the security of countermeasures against this threat…

Cryptography and Security · Computer Science 2017-05-12 Goran Doychev , Boris Köpf

Bandwidth-starved multicore chips have become ubiquitous. It is well known that the performance of stencil codes can be improved by temporal blocking, lessening the pressure on the memory interface. We introduce a new pipelined approach…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-06-17 Markus Wittmann , Georg Hager , Jan Treibig , Gerhard Wellein

The verification of linearizability -- a key correctness criterion for concurrent objects -- is based on trace refinement whose checking is PSPACE-complete. This paper suggests to use \emph{branching} bisimulation instead. Our approach is…

Programming Languages · Computer Science 2024-01-03 Xiaoxiao Yang , Joost-Pieter Katoen , Hao Wu

In this paper independent sets of closure operations are introduced. We characterize minimal keys and antikeys of closure operations in terms of independent sets. We establish an expression on the connection between minimal keys and…

Discrete Mathematics · Computer Science 2020-04-07 Nguyen Hoang Son

Concurrency has been a subject of study for more than 50 years. Still, many developers struggle to adapt their sequential code to be accessed concurrently. This need has pushed for generic solutions and specific concurrent data structures.…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-06 Andreia Correia , Pedro Ramalhete , Pascal Felber

While separate chaining is a common strategy for resolving collisions in a hash table taught in most textbooks, compact hashing is a less common technique for saving space when hashing integers whose domain is relatively small with respect…

Data Structures and Algorithms · Computer Science 2019-05-02 Dominik Köppl

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

In this paper we present two analytical frameworks for calculating the performance of lock-free data structures. Lock-free data structures are based on retry loops and are called by application-specific routines. In contrast to previous…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-11-18 Aras Atalar , Paul Renaud-Goud , Philippas Tsigas

Considering asynchronous shared memory systems in which any number of processes may crash, this work identifies and formally defines relaxations of queues and stacks that can be non-blocking or wait-free while being implemented using only…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-11-05 Armando Castañeda , Sergio Rajsbaum , Michel Raynal

Efficiently computing group aggregations (i.e., GROUP BY) on modern architectures is critical for analytic database systems. Hash-based approaches in today's engines predominantly use a partitioned approach, in which incoming data is…

Databases · Computer Science 2025-09-08 Daniel Xue , Ryan Marcus

Modern databases use dynamic search structures that store an enormous amount of data, and often serve them using multi-threaded algorithms to support the ever-increasing throughput needs. When this throughput need exceeds the capacity of…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-02-17 Raaghav Ravishankar , Sandeep Kulkarni , Sathya Peri , Gokarna Sharma

The paper presents the first \emph{concurrency-optimal} implementation of a binary search tree (BST). The implementation, based on a standard sequential implementation of an internal tree, ensures that every \emph{schedule} is accepted,…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-03-03 Vitaly Aksenov , Vincent Gramoli , Petr Kuznetsov , Anna Malova , Srivatsan Ravi
‹ Prev 1 4 5 6 7 8 10 Next ›