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
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}
}
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}
}