arrow
Return

VCMalloc: A Virtually Contiguous Memory Allocator

delete2023-12-01
delete1
PRE
AI
Y
Yacine Hadjadj *
C
Chakib Mustapha Anouar Zouaoui
N
Nasreddine Taleb
S
Sarah Mazari
M
Mohamed Elbahri
M
Miloud Chikr El-Mezouar
DOI:10.1109/TC.2023.3302731delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
This paper presents VCMalloc, a custom memory allocator based on a new dynamic memory management approach that keeps data allocated in a contiguous form in memory. It can preserve the virtual contiguity of data even after performing different memory operations like Reallocation and Free without consuming much system resources. A novel control plane that we call a Memory Management System is introduced with a set of algorithms for the physical-virtual memory mappings, assuring fast, efficient, and safe tracking of data and user pointers. The proposed allocator prioritizes virtual contiguity while it keeps the physical memory completely up to the operating system to manage. It was tested and compared with the current implementation of Malloc as well as a state-of-the-art memory allocator MIMalloc in the recent versions of the Microsoft Windows operating system. For the allocator itself, a considerable performance increase has been achieved in basic operations of up to 28% increase in allocation speed and 26% in reallocation speed. The data structures allocated by VCMalloc have shown remarkable performance increases of up to 31% faster for matrix multiplication. Furthermore, VCMalloc has also demonstrated its superiority in real-world SPEC CPU 2017 benchmark applications.
Keywords:
Contiguous memory
memory allocator
paging
cache awareness
data structures

Journal

IEEE Transactions on Computers cover
IEEE Transactions on Computers
IF:
3.8
Papers:
5.3K
Citations:
9.8K

Organization

U
university djillali liabes sidi bel abbes
Scholars:
1.4K
Papers: 1.1K
Citations: 3