ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Two memory allocators that use hints to improve locality
Full text PdfPdf (1.15 MB)
Source
International Symposium on Memory Management archive
Proceedings of the 2009 international symposium on Memory management table of contents
Dublin, Ireland
SESSION: Paper session 4 table of contents
Pages: 109-118  
Year of Publication: 2009
ISBN:978-1-60558-347-1
Authors
Alin Jula  SAP Labs, Palo Alto, CA, USA
Lawrence Rauchwerger  Texas A&M University, College Station, TX, USA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 22,   Downloads (12 Months): 93,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

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

ABSTRACT

Dynamic memory allocators affect an application's performance through their data layout quality. They can use an application's allocation hints to improve the spatial locality of this layout. However, a practical approach needs to be automatic, without user intervention. In this paper we present two locality improving allocators, that use allocation hints provided automatically from the C++ STL library to improve an application's spatial locality. When compared to state-of-the-art allocators on seven real world applications, our allocators run on average 7% faster than the Lea allocator, and 17% faster than the FreeBSD's allocator, with the same memory fragmentation as the Lea allocator, one of the best allocators.

While considering locality as an important goal, locality improving allocators must not abandon the existing constraints of fast allocation speed and low fragmentation. These constraints further challenge their design and implementation. We experimentally show that within a memory allocator, allocation speed, memory fragmentation, and spatial locality compete with each other in a game of rock, paper, scissors: when one tries to improve one trait, the others suffer. We conclude that our allocators achieve a good balance of these traits, and they can easily be adjusted to optimize the most important trait for each application.


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
International Standard ISO/IEC 14882. Programming Languages -- C++. First edition, 1998.
2
3
4
 
5
S. Borkar, P. Dubey, K. Kahn, D. Kuck, H. Mulder, S. Pawlowski, and J. Rattner. Platform 2015: Intel Processor and Platform Evolution for the Next Decade. Technology@Intel Magazine, March, 2005.
6
7
8
9
10
 
11
12
 
13
J. Hallberg, T. Palm, and M. Brorsson. Cache-Conscious Allocation of Pointer-Based Data Structures Revisited with HW/SW Prefetching, 2003.
14
15
 
16
Standard Performance Evaluation Corporation - SPEC - CPU2006. http://www.spec.org/cpu2006.
17
18
 
19
A. Jula and L. Rauchwerger. Custom Memory Allocation for Free. In The 19th Workshop on Languages and Compilers for Parallel Computing, New Orleans, Louisiana, USA, 2006. Springer-Verlag Lecture Notes in Computer Science.
 
20
Alin Jula. Improving Locality with Dynamic Memory Allocation. PhD thesis, Texas A&M University, College Station, TX, 2008.
 
21
22
23
 
24
25
 
26
Doug Lea. A memory allocator. The C++ Report, 1989.
 
27
P.W. Purdom, S. M. Stigler, and T. Cheam. Statistical Investigation of Three Storage Allocation Algorithms. Technical Report 98, Computer Science, University of Wisconsin - Madison, 1970.
28
29
 
30
 
31
K. Vo. Vmalloc: A general and efficient memory allocator. Software Practice and Experience, pages 357--374, 1996. 26(3).
32
 
33
34

Collaborative Colleagues:
Alin Jula: colleagues
Lawrence Rauchwerger: colleagues