ACM Home Page
Please provide us with feedback. Feedback
A locality-improving dynamic memory allocator
Full text PdfPdf (266 KB)
Source Memory System Performance archive
Proceedings of the 2005 workshop on Memory system performance table of contents
Chicago, Illinois
SESSION: Memory allocation table of contents
Pages: 68 - 77  
Year of Publication: 2005
ISBN:1-59593-147-3
Authors
Yi Feng  University of Massachusetts Amherst, Amherst, MA
Emery D. Berger  University of Massachusetts Amherst, Amherst, MA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 31,   Downloads (12 Months): 84,   Citation Count: 7
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1111583.1111594
What is a DOI?

ABSTRACT

In general-purpose applications, most data is dynamically allocated. The memory manager therefore plays a crucial role in application performance by determining the spatial locality of heap objects. Previous general-purpose allocators have focused on reducing fragmentation, while most locality-improving allocators have either focused on improving the locality of the allocator (not the application), or required programmer hints or profiling to guide object placement. We present a high-performance memory allocator called Vam that transparently improves both cache-level and page-level locality of the application while achieving low fragmentation. Over a range of large-footprint benchmarks, Vam improves application performance by an average of 4%-8% versus the Lea (Linux) and FreeBSD allocators. When memory is scarce, Vam improves application performance by up to 2X compared to the FreeBSD allocator, and by over 10X compared to the Lea allocator.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
3
4
5
 
6
D. Black, J. Carter, G. Feinberg, R. MacDonald, S. Mangalat, E. Sheinbrood, J. Sciver, and P. Wang. OSF/1 virtual memory improvements. In Proceedings of the USENIX Mac Symposium, pages 87--103, November 1991.
 
7
8
9
 
10
D. R. Hanson. A portable storage management system for the Icon programming language. Software Practice and Experience, 10(6):489--500, 1980.
 
11
IA-32 Intel architecture software developer's manual, volume 3: System programming guide. ftp://download.intel.com/design/Pentium4/manuals/25366814.pdf.
 
12
13
 
14
P.-H. Kamp. Malloc(3) revisited. http://phk.freebsd.dk/pubs/malloc.pdf.
15
 
16
D. Lea. A memory allocator. http://gee.cs.oswego.edu/dl/html/malloc.html.
 
17
M. Pettersson. The perfctr patch for Linux and the perfex tool. http://user.it.uu.se/~mikpe/linux/perfctr/.
 
18
 
19
SPEC CPU2000. http://www.spec.org/osg/cpu2000/.
 
20
SPEC CPU2000 memory footprint. http://www.spec.org/osg/cpu2000/analysis/memory/.
 
21
 
22
23
24


Collaborative Colleagues:
Yi Feng: colleagues
Emery D. Berger: colleagues