English
Related papers

Related papers: Garbage Collection in Concurrent Sets

200 papers

The mutual-exclusion property of locks stands in the way to scalability of parallel programs on many-core architectures. Locks do not allow progress guarantees, because a task may fail inside a critical section and keep holding a lock that…

Programming Languages · Computer Science 2018-06-20 Johann Blieberger , Bernd Burgstaller

We introduce the lazy search tree data structure. The lazy search tree is a comparison-based data structure on the pointer machine that supports order-based operations such as rank, select, membership, predecessor, successor, minimum, and…

Data Structures and Algorithms · Computer Science 2020-10-20 Bryce Sandlund , Sebastian Wild

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

In modern server computing, efficient CPU resource usage is often traded for latency. Garbage collection is a key aspect of memory management in programming languages like Java, but it often competes with application threads for CPU time,…

Programming Languages · Computer Science 2025-03-03 Marina Shimchenko , Erik Österlund , Tobias Wrigstad

Rollback recovery strategies are well-known in concurrent and distributed systems. In this context, recovering from unexpected failures is even more relevant given the non-deterministic nature of execution, which means that it is…

Programming Languages · Computer Science 2024-01-08 Germán Vidal

Genomic data sets are growing dramatically as the cost of sequencing continues to decline and small sequencing devices become available. Enormous community databases store and share this data with the research community, but some of these…

Software caches optimize the performance of diverse storage systems, databases and other software systems. Existing works on software caches automatically resort to fully associative cache designs. Our work shows that limited associativity…

Hardware Architecture · Computer Science 2021-09-08 Dolev Adas , Gil Einziger , Roy Friedman

Functional programming languages use garbage collection for heap memory management. Ideally, garbage collectors should reclaim all objects that are dead at the time of garbage collection. An object is dead at an execution instant if it is…

Programming Languages · Computer Science 2007-05-23 Amey Karkare , Uday Khedker , Amitabha Sanyal

In this paper, a new and novel data structure is proposed to dynamically insert and delete segments. Unlike the standard segment trees[3], the proposed data structure permits insertion of a segment with interval range beyond the interval…

Computational Geometry · Computer Science 2015-01-15 K. S. Easwarakumar , T. Hema

Skiplists are widely used for in-memory indexing in many key-value stores, such as RocksDB and LevelDB, due to their ease of implementation and simple concurrency control mechanisms. However, traditional skiplists suffer from poor cache…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-09-18 Yicong Luo , Senhe Hao , Brian Wheatman , Prashant Pandey , Helen Xu

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

In cloud ML inference systems, batching is an essential technique to increase throughput which helps optimize total-cost-of-ownership. Prior graph batching combines the individual DNN graphs into a single one, allowing multiple inputs to be…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-10-27 Yujeong Choi , Yunseong Kim , Minsoo Rhu

The lock is a building-block synchronization primitive that enables mutually exclusive access to shared data in shared-memory parallel programs. Mutual exclusion is typically achieved by guarding the code that accesses the shared data with…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-04-25 Vivek Shahare , Milind Chabbi , Nikhil Hegde

A sorted set (or map) is one of the most used data types in computer science. In addition to standard set operations, like Insert, Remove, and Contains, it can provide set-set operations such as Union,Intersection, and Difference. Each of…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-06-27 Ilya Kokorin , Vitaly Aksenov , Alena Martsenyuk

In a modern distributed storage system, storage nodes are organized in racks, and the cross-rack communication dominates the system bandwidth. In We study the rack-aware storage system where all storage nodes are organized in racks and…

Information Theory · Computer Science 2022-07-18 Liyang Zhou , Zhifang Zhang

Most current computer vision datasets are composed of disconnected sets, such as images from different classes. We prove that distributions of this type of data cannot be represented with a continuous generative network without error. They…

Machine Learning · Computer Science 2020-06-26 Lorenzo Luzi , Randall Balestriero , Richard G. Baraniuk

Clustering aims to group unlabeled objects based on similarity inherent among them into clusters. It is important for many tasks such as anomaly detection, database sharding, record linkage, and others. Some clustering methods are taken as…

Databases · Computer Science 2024-12-02 Binbin Gu , Saeed Kargar , Faisal Nawab

Scheme uses garbage collection for heap memory management. Ideally, garbage collectors should be able to reclaim all dead objects, i.e. objects that will not be used in future. However, garbage collectors collect only those dead objects…

Programming Languages · Computer Science 2007-09-01 Amey Karkare , Amitabha Sanyal , Uday Khedker

In this paper we will present a general agglomeration law for sorting networks. Agglomeration is a common technique when designing parallel programmes to control the granularity of the computation thereby finding a better fit between the…

Data Structures and Algorithms · Computer Science 2017-01-04 Lukas Immanuel Schiller

Conventional sorting algorithms make use of such data structures as array, file and list which define access methods of the items to be sorted. Such traditional methods as exchange sort, divide and conquer sort, selection sort and insertion…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-09-17 Samuel King Opoku