LCPC 2006 START Conference Manager    

Custom Memory Allocation for Free

Alin Jula and Lawrence Rauchwerger

The 19th International Workshop on Languages and Compilers for Parallel Computing (LCPC 2006)
New Orleans, Louisiana, November 2-4, 2006


Abstract

We propose a novel container-centric memory allocation scheme in which the container's semantics guide the allocation for locality improvement. The container-centric allocation provides the benefits of custom memory allocation, with the portability advantage. Applications need not change a single line of code, but rather change the underlying container library. Container-centric memory allocation increases data locality and reduces execution time, at no cost.

At compile time, the container's semantics provide knowledge which is evaluated at run-time, and then used for more efficient memory clustering. Our approach enables an application to use different allocation policies for different types of containers, or even different instantiations of the same type of container. We have integrated our memory allocator, named Defero, with the C++ Standard Template Library (STL) containers for automatic usage. We have used Defero in applications such as compiler infrastructure, molecular dynamics, network simulation, as well as on micro-kernels.


  
START Conference Manager (V2.53.1)
Maintainer: rrgerber@softconf.com