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.

BibTeX @techreport{Gidenstam2004,author={Gidenstam, Anders and Papatriantafilou, Marina and Tsigas, Philippas},title={Allocating memory in a lock-free manner},abstract={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.},publisher={Chalmers University of Technology},place={Göteborg},year={2004},series={Technical report - Department of Computing Science, Chalmers University of Technology and Göteborg University, no: },keywords={memory management, multiprocessor system, non-blocking, lock-free, concurrent algorithms, algorithms},}

RefWorks RT ReportSR ElectronicID 1581A1 Gidenstam, AndersA1 Papatriantafilou, MarinaA1 Tsigas, PhilippasT1 Allocating memory in a lock-free mannerYR 2004AB 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.PB Chalmers University of TechnologyT3 Technical report - Department of Computing Science, Chalmers University of Technology and Göteborg University, no: LA engLK http://www.cs.chalmers.se/~dcs/TechReports/CS_TR_2004-04.ps.gzOL 30