English
Related papers

Related papers: A new and five older Concurrent Memory Reclamation…

200 papers

Non-volatile memory is expected to co-exist or replace DRAM in upcoming architectures. Durable concurrent data structures for non-volatile memories are essential building blocks for constructing adequate software for use with these…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-09-10 Yoav Zuriel , Michal Friedman , Gali Sheffi , Nachshon Cohen , Erez Petrank

Stencil computations consume a major part of runtime in many scientific simulation codes. As prototypes for this class of algorithms we consider the iterative Jacobi and Gauss-Seidel smoothers and aim at highly efficient parallel…

Performance · Computer Science 2012-03-01 Jan Treibig , Gerhard Wellein , Georg Hager

Enumeration algorithms have been one of recent hot topics in theoretical computer science. Different from other problems, enumeration has many interesting aspects, such as the computation time can be shorter than the total output size, by…

Data Structures and Algorithms · Computer Science 2014-07-16 Takeaki Uno

We present Recipe, a principled approach for converting concurrent DRAM indexes into crash-consistent indexes for persistent memory (PM). The main insight behind Recipe is that isolation provided by a certain class of concurrent in-memory…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-11 Se Kwon Lee , Jayashree Mohan , Sanidhya Kashyap , Taesoo Kim , Vijay Chidambaram

The \emph{Order-Maintenance} (OM) data structure maintains a total order list of items for insertions, deletions, and comparisons. As a basic data structure, OM has many applications, such as maintaining the topological order, core numbers,…

Data Structures and Algorithms · Computer Science 2024-10-15 Bin Guo , Emil Sekerinski

Spin-Transfer Torque Magnetic RAM (STT-MRAM) as one of the most promising replacements for SRAMs in on-chip cache memories benefits from higher density and scalability, near-zero leakage power, and non-volatility, but its reliability is…

Hardware Architecture · Computer Science 2026-01-05 Elham Cheshmikhani , Hamed Farbeh , Hossein Asadi

The detection of sequential patterns in data is a basic functionality of modern data processing systems for complex event processing (CEP), OLAP, and retrieval-augmented generation (RAG). In practice, pattern matching is challenging, since…

Databases · Computer Science 2025-11-07 Cong Yu , Tuo Shi , Matthias Weidlich , Bo Zhao

Emerging Persistent Memory technologies (also PM, Non-Volatile DIMMs, Storage Class Memory or SCM) hold tremendous promise for accelerating popular data-management applications like in-memory databases. However, programmers now need to deal…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-06-05 Ellis Giles , Kshitij Doshi , Peter Varman

Fully-strict fork-join parallelism is a powerful model for shared-memory programming due to its optimal time scaling and strong bounds on memory scaling. The latter is rarely achieved due to the difficulty of implementing continuation…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-02-29 Conor John Williams , James Elliott

Memory management in lock-free data structures remains a major challenge in concurrent programming. Design techniques including read-copy-update (RCU) and hazard pointers provide workable solutions, and are widely used to great effect.…

Programming Languages · Computer Science 2019-02-20 Ismail Kuru , Colin S. Gordon

Crary and Sullivan's Relaxed Memory Calculus (RMC) proposed a new declarative approach for writing low-level shared memory concurrent programs in the presence of modern relaxed-memory multi-processor architectures and optimizing compilers.…

Programming Languages · Computer Science 2019-04-12 Michael J. Sullivan , Karl Crary , Salil Joshi

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

Static performance estimation is essential during compile-time analysis, yet traditional runtime-based methods are costly and platform-dependent. We investigate mems, the number of memory accesses, as a static and architecture-independent…

Software Engineering · Computer Science 2025-05-13 Liwei Zhang , Baoquan Cui , Xutong Ma , Jian Zhang

`In-memory computing' is being widely explored as a novel computing paradigm to mitigate the well known memory bottleneck. This emerging paradigm aims at embedding some aspects of computations inside the memory array, thereby avoiding…

Emerging Technologies · Computer Science 2020-03-30 Mustafa Ali , Akhilesh Jaiswal , Sangamesh Kodge , Amogh Agrawal , Indranil Chakraborty , Kaushik Roy

Stack-based memory corruption vulnerabilities have long been exploited by attackers to execute arbitrary code or perform unauthorized memory operations. Various defense mechanisms have been introduced to mitigate stack memory errors, but…

Cryptography and Security · Computer Science 2025-03-24 Lei Chong

This paper describes a new benchmark tool, Spatter, for assessing memory system architectures in the context of a specific category of indexed accesses known as gather and scatter. These types of operations are increasingly used to express…

Performance · Computer Science 2020-07-09 Patrick Lavin , Jeffrey Young , Jason Riedy , Richard Vuduc , Aaron Vose , Dan Ernst

Memory profiling captures programs' dynamic memory behavior, assisting programmers in debugging, tuning, and enabling advanced compiler optimizations like speculation-based automatic parallelization. As each use case demands its unique…

Performance · Computer Science 2023-11-07 Ziyang Xu , Yebin Chon , Yian Su , Zujun Tan , Sotiris Apostolakis , Simone Campanoni , David I. August

Realistic simulations in engineering or in the materials sciences can consume enormous computing resources and thus require the use of massively parallel supercomputers. The probability of a failure increases both with the runtime and with…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-01-30 Nils Kohl , Johannes Hötzer , Florian Schornbaum , Martin Bauer , Christian Godenschwager , Harald Köstler , Britta Nestler , Ulrich Rüde

The use of analog resistance states for storing weights in neuromorphic systems is impeded by fabrication imprecision and device stochasticity that limit the precision of synapse weights. This challenge can be resolved by emulating analog…

Neural and Evolutionary Computing · Computer Science 2021-12-13 Peng Zhou , Julie A. Smith , Laura Deremo , Stephen K. Heinrich-Barna , Joseph S. Friedman

The recently released persistent memory (PM) offers high performance, persistence, and is cheaper than DRAM. This opens up new possibilities for indexes that operate and persist data directly on the memory bus. Recent learned indexes…

Databases · Computer Science 2021-12-07 Baotong Lu , Jialin Ding , Eric Lo , Umar Farooq Minhas , Tianzheng Wang