[PDF][PDF] A scalable concurrent malloc (3) implementation for FreeBSD

J Evans - Proc. of the bsdcan conference, ottawa, canada, 2006 - people.freebsd.org
Proc. of the bsdcan conference, ottawa, canada, 2006people.freebsd.org
The FreeBSD project has been engaged in ongoing work to provide scalable support for
multi-processor computer systems since version 5. Sufficient progress has been made that
the C library's malloc (3) memory allocator is now a potential bottleneck for multi-threaded
applications running on multiprocessor systems. In this paper, I present a new memory
allocator that builds on the state of the art to provide scalable concurrent allocation for
applications. Benchmarks indicate that with this allocator, memory allocation for multi …
Abstract
The FreeBSD project has been engaged in ongoing work to provide scalable support for multi-processor computer systems since version 5. Sufficient progress has been made that the C library’s malloc (3) memory allocator is now a potential bottleneck for multi-threaded applications running on multiprocessor systems. In this paper, I present a new memory allocator that builds on the state of the art to provide scalable concurrent allocation for applications. Benchmarks indicate that with this allocator, memory allocation for multi-threaded applications scales well as the number of processors increases. At the same time, single-threaded allocation performance is similar to the previous allocator implementation.
people.freebsd.org