NBBS: A Non-Blocking Buddy System for Multi-Core Machines

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, a problem that has been addressed in the literature by introducing layered allocation services or replicating the co...

Full description

Saved in:
Bibliographic Details
Published in:IEEE transactions on computers Vol. 71; no. 3; pp. 599 - 612
Main Authors: Marotta, Romolo, Ianni, Mauro, Pellegrini, Alessandro, Quaglia, Francesco
Format: Journal Article
Language:English
Published: New York IEEE 01.03.2022
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
Subjects:
ISSN:0018-9340, 1557-9956
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
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, 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, where threads performing concurrent allocations/releases do not undergo any spin-lock based synchronization. Our solution allows threads to proceed in parallel, and commit their allocations/releases unless a conflict is materialized while handling the allocator metadata-memory fragmentation and coalescing are also carried out in a fully non-blocking manner. Conflict detection relies in our solution on atomic Read-Modify-Write (RMW) machine instructions, guaranteed to execute atomically by the processor firmware. We also provide a proof of the correctness of our non-blocking buddy system and show the results of an experimental study that outlines the effectiveness of our solution.
AbstractList 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, 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, where threads performing concurrent allocations/releases do not undergo any spin-lock based synchronization. Our solution allows threads to proceed in parallel, and commit their allocations/releases unless a conflict is materialized while handling the allocator metadata-memory fragmentation and coalescing are also carried out in a fully non-blocking manner. Conflict detection relies in our solution on atomic Read-Modify-Write (RMW) machine instructions, guaranteed to execute atomically by the processor firmware. We also provide a proof of the correctness of our non-blocking buddy system and show the results of an experimental study that outlines the effectiveness of our solution.
Author Marotta, Romolo
Ianni, Mauro
Pellegrini, Alessandro
Quaglia, Francesco
Author_xml – sequence: 1
  givenname: Romolo
  orcidid: 0000-0001-7589-9274
  surname: Marotta
  fullname: Marotta, Romolo
  email: marotta@diag.uniroma1.it
  organization: University of Rome La Sapienza, Roma, Italy
– sequence: 2
  givenname: Mauro
  orcidid: 0000-0001-8727-1329
  surname: Ianni
  fullname: Ianni, Mauro
  email: mianni@diag.uniroma1.it
  organization: University of Rome La Sapienza, Roma, Italy
– sequence: 3
  givenname: Alessandro
  orcidid: 0000-0002-0179-9868
  surname: Pellegrini
  fullname: Pellegrini, Alessandro
  email: pellegrini@lockless.it
  organization: Lockless s.r.l, Roma, Italy
– sequence: 4
  givenname: Francesco
  orcidid: 0000-0002-5616-7980
  surname: Quaglia
  fullname: Quaglia, Francesco
  email: francesco.quaglia@uniroma2.it
  organization: University of Rome Tor Vergata, Roma, Italy
BookMark eNp9kDtvwjAURq2KSgXauUOXSJ0D13Yc290g6ksCOkDnyEns1jTE1E4G_n2DQB06dLrLOd-VzggNGtdohG4xTDAGOd1kEwIETyikQCW9QEPMGI-lZOkADQGwiCVN4AqNQtgCQEpADpFczefrh2gWrVwTz2tXftnmI5p3VXWI1ofQ6l1knI-WXd3aOHNeR0tVftpGh2t0aVQd9M35jtH70-Mme4kXb8-v2WwRl0TINjYal5ziAoRJKm44M5IWTGBTgEpNYlImeMEqhpOqoIqXPSUqrJgsjCFFktIxuj_t7r377nRo863rfNO_zElKuKA84dBT7ESV3oXgtclL26rWuqb1ytY5hvxYKd9k-bFSfq7Ue9M_3t7bnfKHf4y7k2G11r-0pEwAEPoDC0dxiA
CODEN ITCOB4
CitedBy_id crossref_primary_10_1016_j_comnet_2024_110982
crossref_primary_10_1109_TPDS_2025_3568688
Cites_doi 10.1145/2555243.2555256
10.1109/TPDS.2004.8
10.1145/1837853.1693488
10.1145/1412228.1455262
10.1007/978-3-642-25873-2_22
10.1145/3064911.3064926
10.1007/978-3-319-03850-6_15
10.1109/ICCSA.2011.46
10.1007/11561927_10
10.1007/3-540-45414-4_21
10.1145/3018743.3019022
10.1145/773039.512451
10.1145/3315573.3329982
10.1007/s00453-008-9268-x
10.1145/356989.357000
10.1145/996841.996848
10.1007/978-3-030-15996-2_17
10.2316/P.2010.676-052
10.1109/PACT.2011.57
10.1109/TPDS.2018.2865932
10.1145/114005.102808
ContentType Journal Article
Copyright Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2022
Copyright_xml – notice: Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2022
DBID 97E
RIA
RIE
AAYXX
CITATION
7SC
7SP
8FD
JQ2
L7M
L~C
L~D
DOI 10.1109/TC.2021.3060393
DatabaseName IEEE All-Society Periodicals Package (ASPP) 2005–Present
IEEE All-Society Periodicals Package (ASPP) 1998–Present
IEEE Xplore
CrossRef
Computer and Information Systems Abstracts
Electronics & Communications Abstracts
Technology Research Database
ProQuest Computer Science Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
DatabaseTitle CrossRef
Technology Research Database
Computer and Information Systems Abstracts – Academic
Electronics & Communications Abstracts
ProQuest Computer Science Collection
Computer and Information Systems Abstracts
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts Professional
DatabaseTitleList
Technology Research Database
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Engineering
Computer Science
EISSN 1557-9956
EndPage 612
ExternalDocumentID 10_1109_TC_2021_3060393
9358002
Genre orig-research
GroupedDBID --Z
-DZ
-~X
.DC
0R~
29I
4.4
5GY
6IK
85S
97E
AAJGR
AARMG
AASAJ
AAWTH
ABAZT
ABQJQ
ABVLG
ACGFO
ACIWK
ACNCT
AENEX
AETEA
AGQYO
AHBIQ
AKJIK
AKQYR
ALMA_UNASSIGNED_HOLDINGS
ASUFR
ATWAV
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CS3
DU5
EBS
EJD
HZ~
IEDLZ
IFIPE
IPLJI
JAVBF
LAI
M43
MS~
O9-
OCL
P2P
PQQKQ
RIA
RIE
RNS
RXW
TAE
TN5
TWZ
UHB
UPT
XZL
YZZ
AAYXX
ABUFD
CITATION
7SC
7SP
8FD
JQ2
L7M
L~C
L~D
ID FETCH-LOGICAL-c289t-fe1c731b08f4d7f75f93b581fb0a6f4f6587b5d514db3a7cf4d8d1a59bff2b463
IEDL.DBID RIE
ISICitedReferencesCount 4
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000754244400008&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 0018-9340
IngestDate Sun Nov 30 04:55:30 EST 2025
Sat Nov 29 01:35:42 EST 2025
Tue Nov 18 22:18:33 EST 2025
Wed Aug 27 02:49:39 EDT 2025
IsPeerReviewed true
IsScholarly true
Issue 3
Language English
License https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html
https://doi.org/10.15223/policy-029
https://doi.org/10.15223/policy-037
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c289t-fe1c731b08f4d7f75f93b581fb0a6f4f6587b5d514db3a7cf4d8d1a59bff2b463
Notes ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ORCID 0000-0001-7589-9274
0000-0002-5616-7980
0000-0002-0179-9868
0000-0001-8727-1329
PQID 2627837470
PQPubID 85452
PageCount 14
ParticipantIDs ieee_primary_9358002
crossref_citationtrail_10_1109_TC_2021_3060393
proquest_journals_2627837470
crossref_primary_10_1109_TC_2021_3060393
PublicationCentury 2000
PublicationDate 2022-03-01
PublicationDateYYYYMMDD 2022-03-01
PublicationDate_xml – month: 03
  year: 2022
  text: 2022-03-01
  day: 01
PublicationDecade 2020
PublicationPlace New York
PublicationPlace_xml – name: New York
PublicationTitle IEEE transactions on computers
PublicationTitleAbbrev TC
PublicationYear 2022
Publisher IEEE
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
Publisher_xml – name: IEEE
– name: The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
References ref13
ref12
ref15
ref14
ref11
ref10
Buck (ref19)
ref17
ref16
ref18
Bonwick (ref2)
Gorman (ref1) 2004
Fraser (ref23) 2004
ref24
ref26
Knuth (ref25) 1997; 1
ref20
ref22
ref28
ref8
ref7
ref9
ref4
ref3
ref6
ref5
Blelloch (ref21) 2020; 179
Lever (ref27)
References_xml – volume: 1
  volume-title: The Art of Computer Programming: Fundamental Algorithms
  year: 1997
  ident: ref25
– ident: ref10
  doi: 10.1145/2555243.2555256
– ident: ref24
  doi: 10.1109/TPDS.2004.8
– ident: ref9
  doi: 10.1145/1837853.1693488
– start-page: 1134
  volume-title: Proc. IEEE 10th Int. Conf. Comput. Inf. Technol.
  ident: ref19
  article-title: XMalloc: A scalable lock-free dynamic memory allocator for many-core machines
– volume-title: Understanding the Linux Virtual Memory Manager
  year: 2004
  ident: ref1
– ident: ref8
  doi: 10.1145/1412228.1455262
– ident: ref26
  doi: 10.1007/978-3-642-25873-2_22
– ident: ref12
  doi: 10.1145/3064911.3064926
– volume: 179
  year: 2020
  ident: ref21
  article-title: Brief announcement: Concurrent fixed-size allocation and free in constant time
– ident: ref11
  doi: 10.1007/978-3-319-03850-6_15
– start-page: 56
  volume-title: Proc. Annu. Conf. USENIX Annu. Tech. Conf.
  ident: ref27
  article-title: Malloc() performance in a multithreaded Linux environment
– ident: ref28
  doi: 10.1109/ICCSA.2011.46
– ident: ref6
  doi: 10.1007/11561927_10
– ident: ref4
  doi: 10.1007/3-540-45414-4_21
– ident: ref5
  doi: 10.1145/3018743.3019022
– year: 2004
  ident: ref23
  article-title: Practical lock-freedom
– ident: ref14
  doi: 10.1145/773039.512451
– volume-title: Proc. USENIX Summer Tech. Conf.
  ident: ref2
  article-title: The slab allocator: An object-caching kernel memory allocator
– ident: ref22
  doi: 10.1145/3315573.3329982
– ident: ref16
  doi: 10.1007/s00453-008-9268-x
– ident: ref13
  doi: 10.1145/356989.357000
– ident: ref15
  doi: 10.1145/996841.996848
– ident: ref18
  doi: 10.1007/978-3-030-15996-2_17
– ident: ref20
  doi: 10.2316/P.2010.676-052
– ident: ref17
  doi: 10.1109/PACT.2011.57
– ident: ref7
  doi: 10.1109/TPDS.2018.2865932
– ident: ref3
  doi: 10.1145/114005.102808
SSID ssj0006209
Score 2.3888834
Snippet Common implementations of core memory allocation components handle concurrent allocation/release requests by synchronizing threads via spin-locks. This...
SourceID proquest
crossref
ieee
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 599
SubjectTerms back-end memory allocation
buddy system
Data structures
Firmware
Instruction sets
Materials handling
Memory management
Message systems
Microprocessors
Non-blocking algorithms
Proposals
Resource management
Scalability
shared-memory algorithms
Synchronism
Title NBBS: A Non-Blocking Buddy System for Multi-Core Machines
URI https://ieeexplore.ieee.org/document/9358002
https://www.proquest.com/docview/2627837470
Volume 71
WOSCitedRecordID wos000754244400008&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVIEE
  databaseName: IEEE Electronic Library (IEL)
  customDbUrl:
  eissn: 1557-9956
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0006209
  issn: 0018-9340
  databaseCode: RIE
  dateStart: 19680101
  isFulltext: true
  titleUrlDefault: https://ieeexplore.ieee.org/
  providerName: IEEE
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LSwMxEB5q8aAHq61itUoOHjyYus9k4627WDzoIliht2WzSUCQrfQh-O9Nsg8U9eBtDxMIk53MN0nm-wAuolDxMCcBFspTOCBBhLnO1Jj5innELxyaW9WSe5qm0XzOHjtw1fbCSCnt4zM5Np_2Ll8sio05Kru2d3aGOXKLUlr1arW7Lmmec7g6gP3AqWl8XIddzxJdB3ruWKNj04n6LQNZSZUf-7BNLtPe_6a1D3s1iESTatUPoCPLPvQagQZUx2sfdr-wDQ6ApXH8dIMmKF2UONZJzJySo3gjxAeqiMuRRrDItuTiRE8CPdiXlnJ1CM_T21lyh2vlBFzoAmqNlXQL6rvciVQgqKKhYj4PI1dxJycqUBp2UB4KDZYE93NaaKtIuHnIuFIeD4h_BN1yUcpjQMIvlCTcM1RhRtpKm1BCopAxpaEHk0MYN97MippW3KhbvGa2vHBYNksy4_6sdv8QLtsBbxWjxt-mA-Pt1qx29BBGzXJldcStMo8YzRBdHDknv486hR3PaPdaUswRdNfLjTyD7eJ9_bJantuf6RO5QMPS
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1NSwMxEB1KFdSD1VaxWjUHDx5Mux_Z7MZbWywV20Vwhd6WzSYBQVrph-C_N0m3i6IevO1hAmGyybxJZt4DuIoCxYOMEiyUpzChJMJcR2rMfMU86udOmFnVklEYx9Fkwh4rcFP2wkgpbfGZbJtP-5YvZvnKXJV17JudYY7cCgjx3HW3Vnnu0k1Bh6u3sE-cgsjHdVgn6etM0HPbGh-bXtRvMciKqvw4iW14GdT-N7ED2C9gJOqu1_0QKnJah9pGogEVO7YOe1_4BhvA4l7v6RZ1UTyb4p4OY-aeHPVWQnygNXU50hgW2aZc3NeTQGNbaykXR_A8uEv6Q1xoJ-Bcp1BLrKSbh77LnUgREaowUMznQeQq7mRUEaWBR8gDoeGS4H4W5toqEm4WMK6Uxwn1j6E6nU3lCSDh50pS7hmyMCNupU1CSqOAMaXBB5NNaG-8meYFsbjRt3hNbYLhsDTpp8b9aeH-JlyXA97WnBp_mzaMt0uzwtFNaG2WKy323CL1qFEN0emRc_r7qEvYGSbjUTq6jx_OYNczjQy2mqwF1eV8Jc9hO39fvizmF_bH-gQVY8cL
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=NBBS%3A+A+Non-Blocking+Buddy+System+for+Multi-Core+Machines&rft.jtitle=IEEE+transactions+on+computers&rft.au=Marotta%2C+Romolo&rft.au=Ianni%2C+Mauro&rft.au=Pellegrini%2C+Alessandro&rft.au=Quaglia%2C+Francesco&rft.date=2022-03-01&rft.pub=IEEE&rft.issn=0018-9340&rft.volume=71&rft.issue=3&rft.spage=599&rft.epage=612&rft_id=info:doi/10.1109%2FTC.2021.3060393&rft.externalDocID=9358002
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0018-9340&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0018-9340&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0018-9340&client=summon