Allocating memory in a lock-free manner
Rapport, 2004

The potential of multiprocessor systems is frequently not fully realized by their system services. Certain synchronization methods, such as lock-based ones, may limit the parallelism. It is signi cant to see the impact of wait/lock-free synchronization design in key services for multiprocessor systems, such as the memory allocation service. E cient, scalable memory allocators for multithreaded applications in multiprocessor systems is a signi cant goal of recent research projects. We propose a lock-free memory allocator, to enhance the parallelism in the system. Its architecture is inspired by Hoard, a successful concurrent memory allocator, with a modular, scalable design that preserves scalability and helps avoiding false sharing and heap blowup. Within our e ort on designing appropriate lock-free algorithms for the synchronization in this system, we propose a new non-blocking data structure called at-sets, supporting conventional \internal" operations as well as \inter-object" operations, for moving elements between at-sets. We implemented the memory allocator in a set of multiprocessor systems (UMA Sun Enterprise 450, ccNUMA Origin 2000 and ccNUMA Origin 3800) and studied its behaviour. The results show that the good properties of Hoard w.r.t. false-sharing and heap-blowup are preserved, while the scalability properties are enhanced even further with the help of lock-free synchronization.

concurrent algorithms

memory management

non-blocking

lock-free

algorithms

multiprocessor system

Författare

Anders Gidenstam

Chalmers, Institutionen för datavetenskap, Datakommunikation och Distribuerade System

Marina Papatriantafilou

Chalmers, Institutionen för datavetenskap, Datakommunikation och Distribuerade System

Philippas Tsigas

Chalmers, Institutionen för datavetenskap, Datakommunikation och Distribuerade System

Ämneskategorier

Data- och informationsvetenskap

Technical report - Department of Computing Science, Chalmers University of Technology and Göteborg University