English
Related papers

Related papers: The Lock-free $k$-LSM Relaxed Priority Queue

200 papers

When compared to blocking concurrency, non-blocking concurrency can provide higher performance in parallel shared-memory contexts, especially in high contention scenarios. This paper proposes FLeeC, an application-level cache system based…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-06-17 André J. Costa , Nuno M. Preguiça , João M. Lourenço

We study the use of machine learning techniques to solve a fundamental shortest path problem, known as the single-source many-targets shortest path problem (SSMTSP). Given a directed graph with non-negative edge weights, our goal is to…

Data Structures and Algorithms · Computer Science 2023-03-07 Willem Feijen , Guido Schäfer

Transactional memory (TM) allows concurrent processes to organize sequences of operations on shared \emph{data items} into atomic transactions. A transaction may commit, in which case it appears to have executed sequentially or it may…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-11-16 Petr Kuznetsov , Srivatsan Ravi

Writing concurrent code that is both correct and efficient is notoriously difficult. Thus, programmers often prefer to use synchronization abstractions, which render code simpler and easier to reason about. Despite a wealth of work on this…

Programming Languages · Computer Science 2023-05-23 Nikita Koval , Dmitry Khalanskiy , Dan Alistarh

We consider asynchronous multiprocessor systems where processes communicate by accessing shared memory. Exchange of information among processes in such a multiprocessor necessitates costly memory accesses called \emph{remote memory…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-09-26 Wojciech Golab

As demand for Real-Time applications rises among the general public, the importance of enabling large-scale, unbound algorithms to solve conventional problems with low to no latency is critical for product viability. Timer algorithms are…

Data Structures and Algorithms · Computer Science 2019-07-16 Adam Lev-Libfeld

The $k$-Minimum Values (\kmv) data sketch algorithm stores the $k$ least hash keys generated by hashing the items in a dataset. We show that compression based on ordering the keys and encoding successive differences can offer $O(\log n)$…

Data Structures and Algorithms · Computer Science 2024-09-05 Charlie Dickens , Eric Bax , Alexander Saydakov

Memristive in-memory sorting has been proposed recently to improve hardware sorting efficiency. Using iterative in-memory min computations, data movements between memory and external processing units can be eliminated for improved latency…

Hardware Architecture · Computer Science 2022-02-22 Lianfeng Yu , Zhaokun Jing , Yuchao Yang , Yaoyu Tao

Semaphores are a widely used and foundational synchronization and coordination construct used for shared memory multithreaded programming. They are a keystone concept, in the sense that most other synchronization constructs can be…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-04-23 Dave Dice , Alex Kogan

We propose two protocols for distributed priority queues (for simplicity denoted 'heap') called SKEAP and SEAP. SKEAP realizes a distributed heap for a constant amount of priorities and SEAP one for an arbitrary amount. Both protocols build…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-04-02 Michael Feldmann , Christian Scheideler

This paper describes a new and purely functional implementation technique of binary heaps. A binary heap is a tree-based data structure that implements priority queue operations (insert, remove, minimum/maximum) and guarantees at worst…

Data Structures and Algorithms · Computer Science 2013-12-18 Vladimir Kostyukov

Due to the coarse granularity of data accesses and the heavy use of latches, indices in the B-tree family are not efficient for in-memory databases, especially in the context of today's multi-core architecture. In this paper, we present PI,…

Databases · Computer Science 2016-01-05 Zhongle Xie , Qingchao Cai , H. V. Jagadish , Beng Chin Ooi , Weng-Fai Wong

In this paper we present a lock-free version of Hopscotch Hashing. Hopscotch Hashing is an open addressing algorithm originally proposed by Herlihy, Shavit, and Tzafrir, which is known for fast performance and excellent cache locality. The…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-11 Robert Kelly , Barak A. Pearlmutter , Phil Maguire

Multi-Version Concurrency Control (MVCC) is a common mechanism for achieving linearizable range queries in database systems and concurrent data-structures. The core idea is to keep previous versions of nodes to serve range queries, while…

Databases · Computer Science 2022-11-01 Gali Sheffi , Pedro Ramalhete , Erez Petrank

We present an efficient and practical lock-free implementation of a concurrent deque that is disjoint-parallel accessible and uses atomic primitives which are available in modern computer systems. Previously known lock-free algorithms of…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Håkan Sundell , Philippas Tsigas

Quicksort is an instructive classroom approach to parallel sorting on distributed memory parallel computers with many opportunities for illustrating specific implementation alternatives and tradeoffs with common communication interfaces…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-10-25 Jesper Larsson Träff

We start by summarizing the recently proposed implementation of the first non-blocking concurrent interpolation search tree (C-IST) data structure. We then analyze the individual operations of the C-IST, and show that they are correct and…

Data Structures and Algorithms · Computer Science 2020-01-03 Aleksandar Prokopec , Trevor Brown , Dan Alistarh

We consider the problem of scheduling $n$ precedence-constrained jobs on $m$ uniformly-related machines in the presence of an arbitrary, fixed communication delay $\rho$. We consider a model that allows job duplication, i.e. processing of…

Data Structures and Algorithms · Computer Science 2020-04-24 Biswaroop Maiti , Rajmohan Rajaraman , David Stalfa , Zoya Svitkina , Aravindan Vijayaraghavan

We present "Reciprocating Locks", a novel mutual exclusion locking algorithm, targeting cache-coherent shared memory (CC), that enjoys a number of desirable properties. The doorway arrival phase and the release operation both run in…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-07-14 Dave Dice , Alex Kogan

Chain-of-Thought (CoT) reasoning in large language models (LLMs) significantly improves accuracy on complex tasks, yet incurs excessive memory overhead due to the long think-stage sequences stored in the Key-Value (KV) cache. Unlike…

Computation and Language · Computer Science 2026-01-27 Zihan Wang , Cheng Tang , Lei Gong , Cheng Li , Chao Wang , teng wang , Wenqi Lou , Xuehai Zhou