Memory Management Thread for Heap Allocation Intensive Sequential Applications
Source: North Carolina State University
Dynamic memory management is one of the most ubiquitous and expensive operations in many C/C++ applications. Some C/C++ programs might spend up to one third of their execution time in dynamic memory management routines. With multicore processors as a mainstream architecture, it is important to investigate how dynamic memory management can exploit the multi-core parallelism for speeding up sequential programs. In this paper, the authors propose a way for exploiting multicore parallelism in dynamic memory management for sequential applications, by spinning off memory allocation and de-allocation functions to a separate thread that they refer to as Memory Management Thread (MMT).