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.
Conference DaySun 23 JunDisplayed time zone: Tijuana, Baja California change
16:00 - 17:15
|snmalloc: A Message Passing Allocator|
Paul Lietar, Theodore ButlerDrexel University, USA, Sylvan ClebschImperial College London, Sophia DrossopoulouImperial College London, Juliana FrancoMicrosoft Research, Cambridge, Matthew ParkinsonMicrosoft Research, UK, Alex ShamisMicrosoft Research / Imperial College London, Christoph M. WintersteigerMicrosoft Research, UK, David ChisnallUniversity of Cambridge
|Design and Analysis of Field-Logging Write Barriers|
Steve BlackburnAustralian National University
|Gradual Write-Barrier Insertion into a Ruby Interpreter|
Koichi SasadaCookpad, JapanLink to publication DOI