Dynamic Memory Management on Mome DSM
Résumé
Very few DSM systems provide fine grained shared memory management primitives. In general, the available primitives imply node synchronization or the use of a centralized server. The cost of allocating a shared memory block is acceptable only for large chunks. The global memory management must be provided by the application. In order to be of general use, the management of the shared memory must be symmetrical - all nodes can allocate and free memory - and the memory allocator must adapt to balanced situations - all nodes request memory - as well as unbalanced situations when a single node requests a major part of the allocations. During the POP European project which aimed at the development of an OpenMP compilation and run-time system for clusters, theglibc/ptmalloc2 memory allocator has been integrated to the Mome DSM. In this paper we present the main lines of this implementation.