A Non-blocking Buddy System for Scalable Memory Allocation on Multi-core Machines

Romolo Marotta, Mauro Ianni, Andrea Scarselli, Alessandro Pellegrini, and Francesco Quaglia


Published in: IEEE International Conference on Cluster Computing
pdf Download PDF

Abstract:
In this short paper we tackle the issue of scalability of core memory allocators, which is an orthogonal optimization with respect to reducing the pressure to core allocators by (a), (b), or (c). In particular, our contribution is the design of a non-blocking (lock-free) allocator implementing the buddy-system specification, where concurrent allocations/dellocations are not coordinated via spin-locks, but by only relying on individual Read-Modify-Write (RMW) instructions executed along the critical path of allocation/deallocation operations. These instructions are exploited to detect whether concurrent requests have conflicted on the same portion of the allocator metadata

BibTeX Entry:

@inproceedings{Mar18,
author = {Marotta, Romolo and Ianni, Mauro and Scarselli, Andrea and Pellegrini, Alessandro and Quaglia, Francesco},
booktitle = {{IEEE} International Conference on Cluster Computing},
title = {A Non-blocking Buddy System for Scalable Memory Allocation on Multi-core Machines},
year = {2018},
month = sep,
pages = {164--165},
publisher = {IEEE Computer Society},
series = {CLUSTER},
doi = {10.1109/CLUSTER.2018.00034},
location = {Belfast, UK}
}