• 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