snmalloc is an implementation of malloc aimed at workloads in which objects are typically deallocated by a different thread than the one that had allocated them. We use the term producer/consumer for such workloads. snmalloc uses a novel message passing scheme which
returns deallocated objects to the originating allocator in batches without taking any locks. It also uses a novel bump pointer-free list data structure with which just 64-bits of meta-data are sufficient for each 64 KiB slab. On such producer/consumer benchmarks our approach performs better than existing allocators.
Snmalloc is available at https://github.com/Microsoft/snmalloc.
Sun 23 JunDisplayed time zone: Tijuana, Baja California change
16:00 - 17:15
|snmalloc: A Message Passing Allocator|
Paul Lietar , Theodore Butler Drexel University, USA, Sylvan Clebsch Imperial College London, Sophia Drossopoulou Imperial College London, Juliana Franco Microsoft Research, Cambridge, Matthew J. Parkinson Microsoft Research, UK, Alex Shamis Microsoft Research / Imperial College London, Christoph M. Wintersteiger Microsoft Research, UK, David Chisnall University of Cambridge
|Design and Analysis of Field-Logging Write Barriers|
Steve Blackburn Australian National University
|Gradual Write-Barrier Insertion into a Ruby Interpreter|
Koichi Sasada Cookpad, JapanLink to publication DOI