Loading [MathJax]/extensions/MathZoom.js
VCMalloc: A Virtually Contiguous Memory Allocator | IEEE Journals & Magazine | IEEE Xplore

Abstract:

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...Show More

Abstract:

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.
Published in: IEEE Transactions on Computers ( Volume: 72, Issue: 12, December 2023)
Page(s): 3431 - 3442
Date of Publication: 07 August 2023

ISSN Information:

Funding Agency:


Contact IEEE to Subscribe

References

References is not available for this document.