English
Related papers

Related papers: Safe Memory Reclamation Techniques

200 papers

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

We give a rigorous characterization of what it means for a programming language to be memory safe, capturing the intuition that memory safety supports local reasoning about state. We formalize this principle in two ways. First, we show how…

Programming Languages · Computer Science 2018-04-10 Arthur Azevedo de Amorim , Catalin Hritcu , Benjamin C. Pierce

Disaggregated memory leverages recent technology advances in high-density, byte-addressable non-volatile memory and high-performance interconnects to provide a large memory pool shared across multiple compute nodes. Due to higher memory…

Hardware Architecture · Computer Science 2024-06-10 Haris Volos

We consider the verification of lock-free data structures that manually manage their memory with the help of a safe memory reclamation (SMR) algorithm. Our first contribution is a type system that checks whether a program properly manages…

Programming Languages · Computer Science 2019-11-27 Roland Meyer , Sebastian Wolff

Resistive random-access memory (RRAM) is gaining popularity due to its ability to offer computing within the memory and its non-volatile nature. The unique properties of RRAM, such as binary switching, multi-state switching, and device…

Emerging Technologies · Computer Science 2024-07-08 Simranjeet Singh , Farhad Merchant , Sachin Patkar

Verification of concurrent data structures is one of the most challenging tasks in software verification. The topic has received considerable attention over the course of the last decade. Nevertheless, human-driven techniques remain…

Programming Languages · Computer Science 2018-11-12 Roland Meyer , Sebastian Wolff

A memory consistency model specifies the allowed behaviors of shared memory concurrent programs. At the language level, these models are known to have a non-trivial impact on the safety of program optimizations, limiting the ability to…

Programming Languages · Computer Science 2025-03-11 Akshay Gopalakrishnan , Clark Verbrugge , Mark Batty

Using custom memory allocators is an efficient performance optimization technique. However, dependency on a custom allocator can introduce several maintenance-related issues. We present lessons learned from the industry and provide critical…

Software Engineering · Computer Science 2022-12-23 Gunnar Kudrjavets , Jeff Thomas , Aditya Kumar , Nachiappan Nagappan , Ayushi Rastogi

A challenge for programming language research is to design and implement multi-threaded low-level languages providing static guarantees for memory safety and freedom from data races. Towards this goal, we present a concurrent language…

Programming Languages · Computer Science 2010-02-05 Prodromos Gerakios , Nikolaos Papaspyrou , Konstantinos Sagonas

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

A broad class of software engineering problems can be generalized as the "total recall problem". This short paper claims that identifying and exploring total recall language processing problems in software engineering is an important task…

Software Engineering · Computer Science 2018-11-13 Zhe Yu , Tim Menzies

We present Stamp-it, a new, concurrent, lock-less memory reclamation scheme with amortized, constant-time (thread-count independent) reclamation overhead. Stamp-it has been implemented and proved correct in the C++ memory model using as…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-10-23 Manuel Pöter , Jesper Larsson Träff

Quantum memory is a central component for quantum information processing devices, and will be required to provide high-fidelity storage of arbitrary states, long storage times and small access latencies. Despite growing interest in applying…

A reservoir computer is a way of using a high dimensional dynamical system for computation. One way to construct a reservoir computer is by connecting a set of nonlinear nodes into a network. Because the network creates feedback between…

Neural and Evolutionary Computing · Computer Science 2022-03-02 Thomas L. Carroll

An accepted practice to decrease applications' memory usage is to reduce the amount and frequency of memory allocations. Factors such as (a) the prevalence of out-of-memory (OOM) killers, (b) memory allocations in modern programming…

Software Engineering · Computer Science 2024-01-09 Gunnar Kudrjavets , Aditya Kumar , Jeff Thomas , Ayushi Rastogi

Memory disaggregation addresses memory imbalance in a cluster by decoupling CPU and memory allocations of applications while also increasing the effective memory capacity for (memory-intensive) applications beyond the local memory limit…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-02-07 Anil Yelam

This chapter deals with the topic of designing reliable and efficient codes for the storage and retrieval of large quantities of data over storage devices that are prone to failure. For long, the traditional objective has been one of…

Information Theory · Computer Science 2020-10-06 Vinayak Ramkumar , Myna Vajha , S. B. Balaji , M. Nikhil Krishnan , Birenjith Sasidharan , P. Vijay Kumar

We study the inherent space requirements of shared storage algorithms in asynchronous fault-prone systems. Previous works use codes to achieve a better storage cost than the well-known replication approach. However, a closer look reveals…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-07-21 Alexander Spiegelman , Yuval Cassuto , Gregory Chockler , Idit Keidar

Side-channel attacks on memory (SCAM) exploit unintended data leaks from memory subsystems to infer sensitive information, posing significant threats to system security. These attacks exploit vulnerabilities in memory access patterns, cache…

Cryptography and Security · Computer Science 2025-05-09 MD Mahady Hassan , Shanto Roy , Reza Rahaeimehr

Despite numerous countermeasures proposed by practitioners and researchers, remote control-flow alteration of programs with memory-safety vulnerabilities continues to be a realistic threat. Guaranteeing that complex software is completely…

Cryptography and Security · Computer Science 2017-02-20 Martín Ochoa , Sebastian Banescu , Cynthia Disenfeld , Gilles Barthe , Vijay Ganesh