TY - GEN
T1 - Custom memory allocation for free
AU - Jula, Alin
AU - Rauchwerger, Lawrence
PY - 2007
Y1 - 2007
N2 - We present a novel and efficient container-centric memory allocator, named Defero, which allows a container to guide the allocation of its elements. The guidance is supported by the semantic-rich context of containers in which a new element is inserted. Defero allocates based on two attributes: size and location. Our policy of allocating a new object close to a related object often results in significantly increased memory reference locality. Defero has been integrated to work seamlessly with the C++ Standard Template Library (STL) containers. The communication between containers and the memory allocator is very simple and insures portability. STL container modification is the only needed code change to achieve custom memory allocation. We present experimental results that show the performance improvements that can be obtained by using Defero as a custom allocator for STL applications. We have applied our memory allocator to the molecular dynamics and compiler applications and obtained significant performance improvements over using the standard GNU STL allocator. With our approach custom memory allocation has been achieved without any modification of the actual applications, i.e., without additional programming efforts.
AB - We present a novel and efficient container-centric memory allocator, named Defero, which allows a container to guide the allocation of its elements. The guidance is supported by the semantic-rich context of containers in which a new element is inserted. Defero allocates based on two attributes: size and location. Our policy of allocating a new object close to a related object often results in significantly increased memory reference locality. Defero has been integrated to work seamlessly with the C++ Standard Template Library (STL) containers. The communication between containers and the memory allocator is very simple and insures portability. STL container modification is the only needed code change to achieve custom memory allocation. We present experimental results that show the performance improvements that can be obtained by using Defero as a custom allocator for STL applications. We have applied our memory allocator to the molecular dynamics and compiler applications and obtained significant performance improvements over using the standard GNU STL allocator. With our approach custom memory allocation has been achieved without any modification of the actual applications, i.e., without additional programming efforts.
UR - http://www.scopus.com/inward/record.url?scp=38149111202&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=38149111202&partnerID=8YFLogxK
U2 - 10.1007/978-3-540-72521-3_22
DO - 10.1007/978-3-540-72521-3_22
M3 - Conference contribution
AN - SCOPUS:38149111202
SN - 3540725202
SN - 9783540725206
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 299
EP - 313
BT - Languages and Compilers for Parallel Computing - 19th International Workshop, LCPC 2006, Revised Papers
PB - Springer
T2 - 19th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2006
Y2 - 2 November 2006 through 4 November 2006
ER -