The Unobtrusive Memory Allocator

RESOURCE

Abstract

This library implements a memory allocator/manager which ask its host program or library for memory refions to manage rather than requesting them from the operating system. This allocator supports multiple distinct heaps within a single executable, each of which may grow either upward or downward in memory. The GNU mmalloc library has been modified in such a way that its allocation algorithms have been preserved, but the manner in which it obtains regions to manage has been changed to request memory from the host program or library. Additional modifications allow the allocator to manage each heap as either upward or downward-growing. By allowing the hosting program or library to determine what memory is managed, this package allows a greater degree of control than other memory allocation/management libraries. Additional distinguishing features include the ability to manage multiple distinct heaps with in a single executable, each of which may grow either upward or downward in memory. The most common use of this library is in conjunction with the Berkeley Unified Parallel C (UPC) Runtime Library. This package is a modified version of the LGPL-licensed "mmalloc" allocator from release 5.2 of the "gdb" debugger's source code.
Developers:
Release Date:
2003-03-31
Project Type:
Open Source, Publicly Available Repository
Software Type:
Scientific
Programming Languages:
Any ANSI C compiler.
Licenses:
GNU General Public License v2.0
Sponsoring Org.:
Code ID:
54583
Site Accession Number:
4076; CR-1880
Research Org.:
Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States)
Country of Origin:
United States

RESOURCE

Citation Formats

Duell, Jason C. The Unobtrusive Memory Allocator. Computer Software. https://bitbucket.org/berkeleylab/upc-runtime/src/master/umalloc. USDOE Laboratory Directed Research and Development (LDRD) Program. 31 Mar. 2003. Web. doi:10.11578/dc.20210416.11.
Duell, Jason C. (2003, March 31). The Unobtrusive Memory Allocator. [Computer software]. https://bitbucket.org/berkeleylab/upc-runtime/src/master/umalloc. https://doi.org/10.11578/dc.20210416.11.
Duell, Jason C. "The Unobtrusive Memory Allocator." Computer software. March 31, 2003. https://bitbucket.org/berkeleylab/upc-runtime/src/master/umalloc. https://doi.org/10.11578/dc.20210416.11.
@misc{ doecode_54583,
title = {The Unobtrusive Memory Allocator},
author = {Duell, Jason C.},
abstractNote = {This library implements a memory allocator/manager which ask its host program or library for memory refions to manage rather than requesting them from the operating system. This allocator supports multiple distinct heaps within a single executable, each of which may grow either upward or downward in memory. The GNU mmalloc library has been modified in such a way that its allocation algorithms have been preserved, but the manner in which it obtains regions to manage has been changed to request memory from the host program or library. Additional modifications allow the allocator to manage each heap as either upward or downward-growing. By allowing the hosting program or library to determine what memory is managed, this package allows a greater degree of control than other memory allocation/management libraries. Additional distinguishing features include the ability to manage multiple distinct heaps with in a single executable, each of which may grow either upward or downward in memory. The most common use of this library is in conjunction with the Berkeley Unified Parallel C (UPC) Runtime Library. This package is a modified version of the LGPL-licensed "mmalloc" allocator from release 5.2 of the "gdb" debugger's source code.},
doi = {10.11578/dc.20210416.11},
url = {https://doi.org/10.11578/dc.20210416.11},
howpublished = {[Computer Software] \url{https://doi.org/10.11578/dc.20210416.11}},
year = {2003},
month = {mar}
}