scispace - formally typeset
Journal ArticleDOI

Vmalloc: A General and Efficient Memory Allocator

Kiem-Phong Vo
- 01 Mar 1996 - 
- Vol. 26, Iss: 3, pp 357-374
Reads0
Chats0
TLDR
The new library Vmalloc generalizes malloc to give programmers more control over memory allocation and shows that Vm alloc is competitive to the best of these allocators.
Abstract
Despite its popularity, malloc's shortcomings frequently cause programmers to code around it. The new library Vmalloc generalizes malloc to give programmers more control over memory allocation. Vmalloc introduces the idea of organizing memory into separate regions, each with a discipline to get raw memory and a method to manage allocation. Applications can write their own disciplines to manipulate arbitrary type of memory or just to better organize memory in a region by creating new regions out of its memory. The provided set of allocation methods include general purpose allocation, fast special cases and aids for memory debugging or profiling. A compatible malloc interface enables current applications to select allocation methods using environment variables so they can tune for performance or perform other tasks such as profiling memory usage, generating traces of allocation calls or debugging memory errors. A performance study comparing Vmalloc and currently popular malloc implementations shows that Vmalloc is competitive to the best of these allocators. Applications can gain further performance improvement by using the right mixture of regions with different Vmalloc methods.

read more

Citations
More filters
Book ChapterDOI

Dynamic Storage Allocation: A Survey and Critical Review

TL;DR: This survey describes a variety of memory allocator designs and point out issues relevant to their design and evaluation, and chronologically survey most of the literature on allocators between 1961 and 1995.
Proceedings ArticleDOI

Memory management with explicit regions

TL;DR: It is shown that on a suite of allocation-intensive C programs, regions are competitive with malloc/free and sometimes substantially faster and that regions support safe memory management with low overhead.
Proceedings ArticleDOI

Oil and water? High performance garbage collection in Java with MMTk

TL;DR: MMTk is an efficient, composable, extensible, and portable framework for building garbage collectors that uses design patterns and compiler cooperation to combine modularity and efficiency and suggests that performance critical software can embrace modular design and high-level languages.
Proceedings ArticleDOI

Reconsidering custom memory allocation

TL;DR: The results indicate that programmers needing fast regions should use reaps, and that most programmers considering custom allocators should instead use the Lea allocator.
Proceedings ArticleDOI

Composing high-performance memory allocators

TL;DR: A clean, easy-to-use allocator interface that seamlessly combines the power and efficiency of any number of general and custom allocators within a single application is demonstrated.