English
Related papers

Related papers: Garbage Collection in Concurrent Sets

200 papers

We consider the problem of geographically distributed data storage in a network of servers (or nodes) where the nodes are connected to each other via communication links having certain round-trip times (RTTs). Each node serves a specific…

Information Theory · Computer Science 2024-05-14 Srivathsa Acharya , P. Vijay Kumar , Viveck R. Cadambe

In this article we discuss a data structure, which combines advantages of two different ways for representing graphs: adjacency matrix and collection of adjacency lists. This data structure can fast add and search edges (advantages of…

Data Structures and Algorithms · Computer Science 2009-08-24 Maxim A. Kolosovskiy

Distributed systems store data objects redundantly to balance the data access load over multiple nodes. Load balancing performance depends mainly on 1) the level of storage redundancy and 2) the assignment of data objects to storage nodes.…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-12-19 Mehmet Aktas , Emina Soljanin

We study the performance power of software combining in designing persistent algorithms and data structures. We present Bcomb, a new blocking highly-efficient combining protocol, and built upon it to get PBcomb, a persistent version of it…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-02-27 Panagiota Fatourou , Nikolaos D. Kallimanis , Eleftherios Kosmas

Erasure coding is a storage-efficient alternative to replication for achieving reliable data backup in distributed storage systems. During the storage process, traditional erasure codes require a unique source node to create and upload all…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-03-19 Lluis Pamies-Juarez , Anwitaman Datta , Frédérique Oggier

Rust is a general-purpose programming language that is both type- and memory-safe. Rust does not use a garbage collector, but rather achieves these properties through a sophisticated, but complex, type system. Doing so makes Rust very…

Software Engineering · Computer Science 2022-02-16 Michael Coblenz , Michelle Mazurek , Michael Hicks

Clustering attempts to partition data instances into several distinctive groups, while the similarities among data belonging to the common partition can be principally reserved. Furthermore, incomplete data frequently occurs in many…

Machine Learning · Computer Science 2022-08-30 Miao Cheng , Xinge You

Task-parallel programs often enjoy deadlock freedom under certain restrictions, such as the use of structured join operations, as in Cilk and X10, or the use of asynchronous task futures together with deadlock-avoiding policies such as…

Programming Languages · Computer Science 2021-03-04 Caleb Voss , Vivek Sarkar

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

In this paper we describe a parallel Gaussian elimination algorithm for matrices with entries in a finite field. Unlike previous approaches, our algorithm subdivides a very large input matrix into smaller submatrices by subdividing both…

Rings and Algebras · Mathematics 2018-06-13 Stephen Linton , Gabriele Nebe , Alice Niemeyer , Richard Parker , Jon Thackray

In distributed storage systems that employ erasure coding, the issue of minimizing the total {\it repair bandwidth} required to exactly regenerate a storage node after a failure arises. This repair bandwidth depends on the structure of the…

Information Theory · Computer Science 2011-06-10 Dimitris S. Papailiopoulos , Alexandros G. Dimakis

Motivated by emerging applications to the edge computing paradigm, we introduce a two-layer erasure-coded fault-tolerant distributed storage system offering atomic access for read and write operations. In edge computing, clients interact…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-06-01 Kishori M. Konwar , N. Prakash , Nancy Lynch , Muriel Medard

As the complexity and scale of modern parallel machines continue to grow, programmers increasingly rely on composition of software libraries to encapsulate and exploit parallelism. However, many libraries are not designed with composition…

The paper is devoted to the problem of erasure coding in distributed storage. We consider a model of storage that assumes that nodes are organized into equally sized groups, called racks, that within each group the nodes can communicate…

Information Theory · Computer Science 2019-01-15 Zitan Chen , Alexander Barg

The "ordered set" abstract data type with operations "insert", "erase", "find", "min", "max", "next" and "prev" is ubiquitous in computer science. It is usually implemented with red-black trees, $B$-trees, or $B^+$-trees. We present our…

Data Structures and Algorithms · Computer Science 2025-06-18 Viktor Krapivensky

Current garbage collectors leave a lot of garbage uncollected because they conservatively approximate liveness by reachability from program variables. In this paper, we describe a sequence of static analyses that takes as input a program…

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

Many concurrent dictionary implementations are designed and optimized for read-mostly workloads with uniformly distributed keys, and often perform poorly on update-heavy workloads. In this work, we first present a concurrent (a,b)-tree, the…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-01-03 Anubhav Srivastava , Trevor Brown

Coded caching is a promising technique to smooth out network traffic by storing part of the library content at the users' local caches. The seminal work on coded caching for single file retrieval by Maddah-Ali and Niesen (MAN) showed the…

Information Theory · Computer Science 2021-05-28 Kai Wan , Hua Sun , Mingyue Ji , Daniela Tuninetti , Giuseppe Caire

We present a family of safe memory reclamation schemes, Hyaline, which are fast, scalable, and transparent to the underlying lock-free data structures. Hyaline is based on reference counting - considered impractical for memory reclamation…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-05-04 Ruslan Nikolaev , Binoy Ravindran

This paper presents a non-blocking Patricia trie implementation for an asynchronous shared-memory system using Compare&Swap. The trie implements a linearizable set and supports three update operations: insert adds an element, delete removes…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-11-18 Niloufar Shafiei