English
Related papers

Related papers: User Mode Memory Page Allocation: A Silver Bullet …

200 papers

It is often said that one of the biggest limitations on computer performance is memory bandwidth (i.e."the memory wall problem"). In this position paper, I argue that if historical trends in computing evolution (where growth in available…

Operating Systems · Computer Science 2011-05-11 Niall Douglas

Application virtual memory footprints are growing rapidly in all systems from servers down to smartphones. To address this growing demand, system integrators are incorporating ever larger amounts of main memory, warranting rethinking of…

Hardware Architecture · Computer Science 2022-07-05 Chandrahas Tirumalasetty , Chih Chieh Chou , Narasimha Reddy , Paul Gratz , Ayman Abouelwafa

Recently, the amount of running software on smart mobile devices is gradually increasing due to the introduction of application stores. The application store is a type of digital distribution platform for application software, which is…

Hardware Architecture · Computer Science 2021-01-25 Geunsik Lim , Changwoo Min , Young Ik Eom

Leadership supercomputers feature a diversity of storage, from node-local persistent memory and NVMe SSDs to network-interconnected flash memory and HDD. Memory mapping files on different tiers of storage provides a uniform interface in…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-10-18 Ivy B. Peng , Marty McFadden , Eric Green , Keita Iwabuchi , Kai Wu , Dong Li , Roger Pearce , Maya Gokhale

Modern multi-socket architectures offer a single virtual address space, but physically divide main-memory across multiple regions, where each region is attached to a CPU and its cores. While this simplifies the usage, developers must be…

Databases · Computer Science 2026-02-06 Felix Schuhknecht , Nick Rassau

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

Processing-using-DRAM (PUD) architectures impose a restrictive data layout and alignment for their operands, where source and destination operands (i) must reside in the same DRAM subarray (i.e., a group of DRAM rows sharing the same row…

Hardware Architecture · Computer Science 2024-03-08 Geraldo F. Oliveira , Emanuele G. Esposito , Juan Gómez-Luna , Onur Mutlu

Memory allocation, though constituting only a small portion of the executed code, can have a "butterfly effect" on overall program performance, leading to significant and far-reaching impacts. Despite accounting for just approximately 5% of…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-08-29 Ruihao Li , Qinzhe Wu , Krishna Kavi , Gayatri Mehta , Jonathan C. Beard , Neeraja J. Yadwadkar , Lizy K. John

With the advent of byte-addressable memory devices, such as CXL memory, persistent memory, and storage-class memory, tiered memory systems have become a reality. Page migration is the de facto method within operating systems for managing…

Operating Systems · Computer Science 2024-06-19 Lingfeng Xiang , Zhen Lin , Weishu Deng , Hui Lu , Jia Rao , Yifan Yuan , Ren Wang

Serverless computing is an emerging cloud paradigm that offers an elastic and scalable allocation of computing resources with pay-as-you-go billing. In the Function-as-a-Service (FaaS) programming model, applications comprise short-lived…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-11-23 Wei Qiu , Marcin Copik , Yun Wang , Alexandru Calotoiu , Torsten Hoefler

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

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

The cost of communication between the operating system kernel and user applications has long blocked improvements in software performance. Traditionally, operating systems encourage software developers to use the system call interface to…

Operating Systems · Computer Science 2025-07-01 Boming Kong , Zhizhou Zhang , Jonathan Balkind

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

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

Operating system kernels employ virtual memory subsystems, which use a CPU's memory management units (MMUs) to virtualize the addresses of memory regions Operating systems manipulate these virtualized memory mappings to isolate untrusted…

Programming Languages · Computer Science 2025-09-05 Ismail Kuru , Colin S. Gordon

Current serverless offerings give users a limited degree of flexibility for configuring the resources allocated to their function invocations by either coupling memory and CPU resources together or providing no knobs at all. These…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-06-01 Muhammad Bilal , Marco Canini , Rodrigo Fonseca , Rodrigo Rodrigues

Memory management operations that modify page-tables, typically performed during memory allocation/deallocation, are infamous for their poor performance in highly threaded applications, largely due to process-wide TLB shootdowns that the OS…

Operating Systems · Computer Science 2024-01-30 Bin Gao , Qingxuan Kang , Hao-Wei Tee , Kyle Timothy Ng Chu , Alireza Sanaee , Djordje Jevdjic

We leverage eBPF in order to implement custom policies in the Linux memory subsystem. Inspired by CBMM, we create a mechanism that provides the kernel with hints regarding the benefit of promoting a page to a specific size. We introduce a…

Operating Systems · Computer Science 2024-09-18 Konstantinos Mores , Stratos Psomadakis , Georgios Goumas

The pace and volume of code churn necessary to evolve modern software systems present challenges for analyzing the performance impact of any set of code changes. Traditional methods used in performance analysis rely on extensive data…

Software Engineering · Computer Science 2022-05-09 Gunnar Kudrjavets , Jeff Thomas , Aditya Kumar , Nachiappan Nagappan , Ayushi Rastogi
‹ Prev 1 2 3 10 Next ›