Home » Publication » 18458

Dettaglio pubblicazione

2018, 2018 IEEE International Conference on Cluster Computing (CLUSTER), Pages 164-165

A Non-blocking Buddy System for Scalable Memory Allocation on Multi-core Machines (04b Atto di convegno in volume)

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

Common implementations of core memory allocation components handle concurrent allocation/release requests by synchronizing threads via spin-locks. This approach is not prone to scale with large thread counts, a problem that has been addressed in the literature by introducing layered allocation services or replicating the core allocators - the bottom most ones within the layered architecture. Both these solutions tend to reduce the pressure of actual concurrent accesses to each individual core allocator. In this article we explore an alternative approach to scalability of memory allocation/release, which can be still combined with those literature proposals. We present a fully non-blocking buddy-system, that allows threads to proceed in parallel, and commit their allocations/releases unless a conflict is materialized while handling its metadata. Beyond improving scalability and performance it is resilient to performance degradation in face of concurrent accesses independently of the current level of fragmentation of the handled memory blocks.
ISBN: 9781538683194
keywords
© Università degli Studi di Roma "La Sapienza" - Piazzale Aldo Moro 5, 00185 Roma