English
Related papers

Related papers: A Traversable Fixed Size Small Object Allocator in…

200 papers

Applications making excessive use of single-object based data structures (such as linked lists, trees, etc...) can see a drop in efficiency over a period of time due to the randomization of nodes in memory. This slow down is due to the…

Data Structures and Algorithms · Computer Science 2021-10-22 Dhruv Matani , Gaurav Menghani

Disaggregated memory is promising for improving memory utilization in computer clusters in which memory demands significantly vary across computer nodes under utilization. It allows applications with high memory demands to use memory in…

Programming Languages · Computer Science 2024-03-05 Takato Hideshima , Shigeyuki Sato , Tomoharu Ugawa

We demonstrate that general-purpose memory allocation involving many threads on many cores can be done with high performance, multicore scalability, and low memory consumption. For this purpose, we have designed and implemented scalloc, a…

Programming Languages · Computer Science 2015-08-26 Martin Aigner , Christoph M. Kirsch , Michael Lippautz , Ana Sokolova

Programmers using native languages such as C, C++, or Rust can implement custom memory allocation strategies to improve execution time. In their paper titled "Reconsidering Custom Memory Allocation" almost 25 years ago, Berger et al. showed…

Programming Languages · Computer Science 2026-05-19 Nicolas van Kempen , Emery D. Berger

Data analytics applications transform raw input data into analytics-specific data structures before performing analytics. Unfortunately, such data ingestion step is often more expensive than analytics. In addition, various types of NVRAM…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-03-02 Keita Iwabuchi , Karim Youssef , Kaushik Velusamy , Maya Gokhale , Roger Pearce

For the last thirty years, a large variety of memory allocators have been proposed. Since performance, memory usage and energy consumption of each memory allocator differs, software engineers often face difficult choices in selecting the…

Operating Systems · Computer Science 2024-06-25 José L. Risco-Martín , J. Manuel Colmenar , David Atienza , J. Ignacio Hidalgo

Dynamic memory management requires special attention in programming. It should be fast and secure at the same time. This paper proposes a new randomized dynamic memory management algorithm designed to meet these requirements. Randomization…

Data Structures and Algorithms · Computer Science 2021-08-25 Irina Aleksandrovna Astrakhantseva , Roman Gennadevich Astrakhantsev , Arseny Viktorovich Mitin

When designing concurrent algorithms, Load-Link/Store-Conditional (LL/SC) is often the ideal primitive to have because unlike Compare and Swap (CAS), LL/SC is immune to the ABA problem. However, the full semantics of LL/SC are not supported…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-03-03 Guy E. Blelloch , Yuanhao Wei

Concurrency has been a subject of study for more than 50 years. Still, many developers struggle to adapt their sequential code to be accessed concurrently. This need has pushed for generic solutions and specific concurrent data structures.…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-06 Andreia Correia , Pedro Ramalhete , Pascal Felber

SPACE-Timers are a lightweight hierarchical profiling framework for C++ designed for modern high-performance computing (HPC) applications. It uses a stack-based timing model to capture deeply nested execution patterns with minimal overhead,…

Instrumentation and Methods for Astrophysics · Physics 2026-04-13 Geray S. Karademir , Klaus Dolag

The primary function of memory allocators is to allocate and deallocate chunks of memory primarily through the malloc API. Many memory allocators also implement other API extensions, such as deriving the size of an allocated object from the…

Programming Languages · Computer Science 2018-04-16 Gregory J. Duck , Roland H. C. Yap

Fine-grained memory protection for C and C++ programs must track individual objects (or pointers), and store bounds information per object (pointer). Its cost is dominated by metadata updates and lookups, making efficient metadata…

Cryptography and Security · Computer Science 2019-03-05 Myoung Jin Nam , Periklis Akritidis , David J Greaves

In C++, objects can be allocated in static memory, on the stack, or on the heap -- the latter being significantly more performance-costly than the former options. We hypothesized that programmers, particularly those involved in widely-used…

Programming Languages · Computer Science 2024-10-10 Roman Korostinskiy , Eugene Darashkevich , Roman Rusyaev , Yegor Bugayenko

The C/C++ memory model provides an interface and execution model for programmers of concurrent (shared-variable) code. It provides a range of mechanisms that abstract from underlying hardware memory models -- that govern how multicore…

Programming Languages · Computer Science 2022-04-08 Robert J. Colvin

Developing large-scale distributed applications can be a daunting task. object-based environments have attempted to alleviate problems by providing distributed objects that look like local objects. We advocate that this approach has…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-07-30 Jan-Mark S. Wams , Maarten van Steen

We define an abstract framework for object-oriented programming and show that object-oriented languages, such as C++, can be interpreted as parallel programming languages. Parallel C++ code is typically more than ten times shorter than the…

Programming Languages · Computer Science 2019-03-04 Edward Givelberg

The ability to dynamically allocate memory is fundamental in modern programming languages. However, this feature is not adequately supported in current general-purpose PIM devices. To identify key design principles that PIM must consider,…

Hardware Architecture · Computer Science 2026-01-28 Dongjae Lee , Bongjoon Hyun , Youngjin Kwon , Minsoo Rhu

Our goal is to efficiently solve the dynamic memory allocation problem in a concurrent setting where processes run asynchronously. On $p$ processes, we can support allocation and free for fixed-sized blocks with $O(1)$ worst-case time per…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-08-11 Guy E. Blelloch , Yuanhao Wei

We present Trust<T>, a general, type- and memory-safe alternative to locking in concurrent programs. Instead of synchronizing multi-threaded access to an object of type T with a lock, the programmer may place the object in a Trust<T>. The…

Performance · Computer Science 2024-08-22 Noaman Ahmad , Ben Baenen , Chen Chen , Jakob Eriksson

Memory allocation is a fairly mature field of computer science. However, we challenge a prevailing assumption in the literature over the last 50 years which, if reconsidered, necessitates a fundamental reevaluation of many classical memory…

Software Engineering · Computer Science 2024-05-14 Oren Bell , Ashwin Kumar , Chris Gill
‹ Prev 1 2 3 10 Next ›