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.

A Non-blocking Buddy System for Scalable Memory Allocation on Multi-core Machines / Marotta, Romolo; Ianni, Mauro; Scarselli, Andrea; Pellegrini, Alessandro; Quaglia, Francesco. - (2018), pp. 164-165. (Intervento presentato al convegno 2018 IEEE International Conference on Cluster Computing, CLUSTER 2018 tenutosi a Belfast, United Kingdom) [10.1109/CLUSTER.2018.00034].

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

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

Abstract

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.
2018
2018 IEEE International Conference on Cluster Computing, CLUSTER 2018
Buddy system; Memory allocator; Non blocking algorithms; Shared memory synchronization
04 Pubblicazione in atti di convegno::04b Atto di convegno in volume
A Non-blocking Buddy System for Scalable Memory Allocation on Multi-core Machines / Marotta, Romolo; Ianni, Mauro; Scarselli, Andrea; Pellegrini, Alessandro; Quaglia, Francesco. - (2018), pp. 164-165. (Intervento presentato al convegno 2018 IEEE International Conference on Cluster Computing, CLUSTER 2018 tenutosi a Belfast, United Kingdom) [10.1109/CLUSTER.2018.00034].
File allegati a questo prodotto
File Dimensione Formato  
Marotta_Postprint_A-Non-blocking_2018.pdf

accesso aperto

Note: https://ieeexplore.ieee.org/document/8514876
Tipologia: Documento in Post-print (versione successiva alla peer review e accettata per la pubblicazione)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 544.12 kB
Formato Adobe PDF
544.12 kB Adobe PDF
Marotta_A-Non-blocking_2018.pdf

solo gestori archivio

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 133.45 kB
Formato Adobe PDF
133.45 kB Adobe PDF   Contatta l'autore
Marotta_Frontespizio-indice_A-Non-blocking_2018.pdf

solo gestori archivio

Tipologia: Altro materiale allegato
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 310.76 kB
Formato Adobe PDF
310.76 kB Adobe PDF   Contatta l'autore

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11573/1262646
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 4
  • ???jsp.display-item.citation.isi??? 3
social impact