DocumentCode :
3511331
Title :
A method for automatic optimization of dynamic memory management in C++
Author :
Häggander, Daniel ; Lidén, Per ; Lundberg, Lars
Author_Institution :
Dept. of Software Eng. & Comput. Sci., Blekinge Inst. of Technol., Ronneby, Sweden
fYear :
2001
fDate :
3-7 Sept. 2001
Firstpage :
489
Lastpage :
498
Abstract :
In C++, the memory allocator is often a bottleneck that severely limits performance and scalability on multiprocessor systems. The traditional solution is to optimize the C library memory allocation routines. An alternative is to attack the problem on the source code level, i.e. modify the applications source code. Such an approach makes it possible to achieve more efficient and customized memory management. To implement and maintain such source code optimizations is however both laborious and costly, since it is a manual procedure. Applications developed using object-oriented techniques, such as frameworks and design patterns, tend to use a great deal of dynamic memory to offer dynamic features. These features are mainly used for maintainability reasons, and temporal locality often characterizes the run-time behavior of the dynamic memory operations. We have implemented a pre-processor based method, named Amplify, which is a completely automated procedure optimizes (object-oriented) C++ applications to exploit the temporal locality in dynamic memory usage. Test results show that Amplify can obtain significant speed-up for synthetic applications and that it was useful for a commercial product.
Keywords :
C++ language; optimising compilers; storage management; Amplify; C library memory allocation routines; C++; automatic optimization; customized memory management; design patterns; dynamic memory; dynamic memory management; frameworks; memory allocator; multiprocessor systems; object-oriented techniques; performance; scalability; source code level; source code optimizations; Computer science; Libraries; Memory management; Multiprocessing systems; Optimization methods; Power system management; Programming profession; Runtime; Scalability; Testing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel Processing, 2001. International Conference on
Conference_Location :
Valencia, Spain
ISSN :
0190-3918
Print_ISBN :
0-7695-1257-7
Type :
conf
DOI :
10.1109/ICPP.2001.952096
Filename :
952096
Link To Document :
بازگشت