Publication | Closed Access
snmalloc: a message passing allocator
36
Citations
13
References
2019
Year
Unknown Venue
EngineeringComputer ArchitectureMemory Model (Programming)Message Passing AllocatorDeallocated ObjectsParallel AlgorithmsData ScienceShared MemoryGarbage CollectionParallel ComputingData ManagementMemory ManagementMessage PassingComputer EngineeringComputer ScienceDifferent ThreadStorage AssignmentParallel ProgrammingTerm Producer/consumerSystem SoftwareTransactional Memory
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 <a href="https://github.com/Microsoft/snmalloc">https://github.com/Microsoft/snmalloc</a>.
| Year | Citations | |
|---|---|---|
Page 1
Page 1