A general approach for supporting nonblocking data structures on distributed-memory systems

Nonblocking data structures are an essential part of many parallel applications in that they can help to improve fault tolerance and performance. Although there are scores of nonblocking data structures, such as stacks, queues, double-ended queues (deques), lists, widely used in practice, most of th...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Journal of parallel and distributed computing Ročník 173; s. 48 - 60
Hlavní autori: Diep, Thanh-Dang, Ha, Phuong Hoai, Fürlinger, Karl
Médium: Journal Article
Jazyk:English
Vydavateľské údaje: Elsevier Inc 01.03.2023
Predmet:
ISSN:0743-7315, 1096-0848
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Abstract Nonblocking data structures are an essential part of many parallel applications in that they can help to improve fault tolerance and performance. Although there are scores of nonblocking data structures, such as stacks, queues, double-ended queues (deques), lists, widely used in practice, most of them are designed to be used on shared-memory machines only, and cannot be used in a distributed-memory setting. Several recent studies focus on the development of novel tailor-made nonblocking distributed data structures and omit the potential for adapting a great wealth of existing nonblocking shared-memory ones for the distributed-memory case. Hence, we propose a general approach for bridging the gap between most existing nonblocking data structures and distributed-memory machines in this work. Several challenges, such as safe memory reclamation and solving the ABA problem, must be overcome. To address these issues, we present a global memory management scheme. The scheme takes advantage of hazard pointers which are widely used to tackle the problems in shared-memory environments. To demonstrate our general approach, we take stacks as a typical example of nonblocking data structures. This work also provides a survey of well-known nonblocking stack algorithms along with our analysis and evaluation in distributed-memory environments. Moreover, this paper depicts how to improve performance of a stack algorithm by making use of node locality. Besides, a cost model based on worst cases is devised to help gain a better understanding into experimental results of nonblocking distributed data structures, along with our analysis of the influence of two popular lock-free programming patterns on performance. •A general remedy porting nonblocking data structures to distributed memory.•A global memory manager reusing reclaimed global memory, avoiding the ABA problem.•A node-aware design of the elimination-backoff stack for distributed memory.•Experimental results and an analysis of nonblocking stacks for distributed memory.•Performance implications of lock-free programming patterns for distributed memory.
AbstractList Nonblocking data structures are an essential part of many parallel applications in that they can help to improve fault tolerance and performance. Although there are scores of nonblocking data structures, such as stacks, queues, double-ended queues (deques), lists, widely used in practice, most of them are designed to be used on shared-memory machines only, and cannot be used in a distributed-memory setting. Several recent studies focus on the development of novel tailor-made nonblocking distributed data structures and omit the potential for adapting a great wealth of existing nonblocking shared-memory ones for the distributed-memory case. Hence, we propose a general approach for bridging the gap between most existing nonblocking data structures and distributed-memory machines in this work. Several challenges, such as safe memory reclamation and solving the ABA problem, must be overcome. To address these issues, we present a global memory management scheme. The scheme takes advantage of hazard pointers which are widely used to tackle the problems in shared-memory environments. To demonstrate our general approach, we take stacks as a typical example of nonblocking data structures. This work also provides a survey of well-known nonblocking stack algorithms along with our analysis and evaluation in distributed-memory environments. Moreover, this paper depicts how to improve performance of a stack algorithm by making use of node locality. Besides, a cost model based on worst cases is devised to help gain a better understanding into experimental results of nonblocking distributed data structures, along with our analysis of the influence of two popular lock-free programming patterns on performance. •A general remedy porting nonblocking data structures to distributed memory.•A global memory manager reusing reclaimed global memory, avoiding the ABA problem.•A node-aware design of the elimination-backoff stack for distributed memory.•Experimental results and an analysis of nonblocking stacks for distributed memory.•Performance implications of lock-free programming patterns for distributed memory.
Author Ha, Phuong Hoai
Fürlinger, Karl
Diep, Thanh-Dang
Author_xml – sequence: 1
  givenname: Thanh-Dang
  orcidid: 0000-0003-1163-7464
  surname: Diep
  fullname: Diep, Thanh-Dang
  email: dang@nm.ifi.lmu.de
  organization: Ludwig-Maximilians-Universität (LMU) Munich, Computer Science Department, MNM Team, Oettingenstr. 67, 80538 Munich, Germany
– sequence: 2
  givenname: Phuong Hoai
  surname: Ha
  fullname: Ha, Phuong Hoai
  email: phuong.hoai.ha@uit.no
  organization: UiT The Arctic University of Norway, Department of Computer Science, NO-9037 Tromsø, Norway
– sequence: 3
  givenname: Karl
  surname: Fürlinger
  fullname: Fürlinger, Karl
  email: fuerling@nm.ifi.lmu.de
  organization: Ludwig-Maximilians-Universität (LMU) Munich, Computer Science Department, MNM Team, Oettingenstr. 67, 80538 Munich, Germany
BookMark eNp9kMtOwzAQRS0EEm3hB1j5BxLGzrMSm6riJVViAysWlh-T4pDEke0i9e9JVFYsupqZK50ZzVmSy8ENSMgdg5QBK-_btB2NTjlwnjKWApQXZMFgXSZQ5_UlWUCVZ0mVseKaLENoARgrqnpBPjd0jwN62VE5jt5J_UUb52k4jKPz0Q57Op1SndPfc29klDREf9Dx4DFQN1Bjp9mqQ0ST9Ng7f6ThGCL24YZcNbILePtXV-Tj6fF9-5Ls3p5ft5tdonkGMSmwUoC6YKUxIKHUSucVU5wbibwu6rxRqoYpVE1VF-tcrmWjM27KQkHOG5atSH3aq70LwWMjtI0yWjdEL20nGIhZkmjFLEnMkgRjYpI0ofwfOnrbS388Dz2cIJye-rHoRdAWB43GetRRGGfP4b-CtoXO
CitedBy_id crossref_primary_10_1051_e3sconf_202454803007
Cites_doi 10.1145/2775051.2676963
10.1098/rsta.2019.0394
10.1109/TPDS.2004.8
10.1006/jpdc.1998.1446
10.1016/j.procs.2019.02.101
10.1109/TPDS.2018.2889048
10.1007/978-3-031-01740-7
10.1145/78969.78972
10.1145/2780584
10.1145/114005.102808
10.1145/161468.161469
10.1145/103727.103729
10.1016/j.jpdc.2009.08.011
10.1109/TC.1979.1675439
10.1109/TPDS.2017.2770121
ContentType Journal Article
Copyright 2022 Elsevier Inc.
Copyright_xml – notice: 2022 Elsevier Inc.
DBID AAYXX
CITATION
DOI 10.1016/j.jpdc.2022.11.006
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1096-0848
EndPage 60
ExternalDocumentID 10_1016_j_jpdc_2022_11_006
S0743731522002337
GroupedDBID --K
--M
-~X
.~1
0R~
1B1
1~.
1~5
29L
4.4
457
4G.
5GY
5VS
7-5
71M
8P~
9JN
AACTN
AAEDT
AAEDW
AAIAV
AAIKJ
AAKOC
AALRI
AAOAW
AAQFI
AAQXK
AAXUO
AAYFN
ABBOA
ABEFU
ABFNM
ABFSI
ABJNI
ABMAC
ABTAH
ABXDB
ABYKQ
ACDAQ
ACGFS
ACNNM
ACRLP
ACZNC
ADBBV
ADEZE
ADFGL
ADHUB
ADJOM
ADMUD
ADTZH
AEBSH
AECPX
AEKER
AENEX
AFKWA
AFTJW
AGHFR
AGUBO
AGYEJ
AHHHB
AHJVU
AHZHX
AIALX
AIEXJ
AIKHN
AITUG
AJBFU
AJOXV
ALMA_UNASSIGNED_HOLDINGS
AMFUW
AMRAJ
AOUOD
ASPBG
AVWKF
AXJTR
AZFZN
BJAXD
BKOJK
BLXMC
CAG
COF
CS3
DM4
DU5
E.L
EBS
EFBJH
EFLBG
EJD
EO8
EO9
EP2
EP3
F5P
FDB
FEDTE
FGOYB
FIRID
FNPLU
FYGXN
G-2
G-Q
G8K
GBLVA
GBOLZ
HLZ
HVGLF
HZ~
H~9
IHE
J1W
JJJVA
K-O
KOM
LG5
LG9
LY7
M41
MO0
N9A
O-L
O9-
OAUVE
OZT
P-8
P-9
P2P
PC.
Q38
R2-
RIG
ROL
RPZ
SBC
SDF
SDG
SDP
SES
SET
SEW
SPC
SPCBC
SST
SSV
SSZ
T5K
TN5
TWZ
WUQ
XJT
XOL
XPP
ZMT
ZU3
ZY4
~G-
~G0
9DU
AATTM
AAXKI
AAYWO
AAYXX
ABDPE
ABWVN
ACLOT
ACRPL
ACVFH
ADCNI
ADNMO
ADVLN
AEIPS
AEUPX
AFJKZ
AFPUW
AGQPQ
AIGII
AIIUN
AKBMS
AKRWK
AKYEP
ANKPU
APXCP
CITATION
EFKBS
~HD
ID FETCH-LOGICAL-c230t-5e7b0ec516dd0a06cbc471b22dae28584fbb80bc4bf78594a9afc32d65b042f13
ISICitedReferencesCount 1
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000891766200004&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 0743-7315
IngestDate Sat Nov 29 07:14:43 EST 2025
Tue Nov 18 22:21:36 EST 2025
Fri Feb 23 02:39:42 EST 2024
IsPeerReviewed true
IsScholarly true
Keywords Distributed-memory systems
Global memory reclamation
Nonblocking stacks
ABA problem
Nonblocking data structures
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-c230t-5e7b0ec516dd0a06cbc471b22dae28584fbb80bc4bf78594a9afc32d65b042f13
ORCID 0000-0003-1163-7464
PageCount 13
ParticipantIDs crossref_citationtrail_10_1016_j_jpdc_2022_11_006
crossref_primary_10_1016_j_jpdc_2022_11_006
elsevier_sciencedirect_doi_10_1016_j_jpdc_2022_11_006
PublicationCentury 2000
PublicationDate March 2023
2023-03-00
PublicationDateYYYYMMDD 2023-03-01
PublicationDate_xml – month: 03
  year: 2023
  text: March 2023
PublicationDecade 2020
PublicationTitle Journal of parallel and distributed computing
PublicationYear 2023
Publisher Elsevier Inc
Publisher_xml – name: Elsevier Inc
References Aguilera, Keeton, Novakovic, Singhal (br0220) 2019
Hoefler, Dinan, Thakur, Barrett, Balaji, Gropp, Underwood (br0130) 2015; 2
Dewan, Jenkins (br0120) 2020
Gropp (br0320) 2018
Bonachea, Hargrove (br0150) 2018
Michael (br0190) 2002
Agarwal, Cherian (br0360) 1989
Dodds, Haas, Kirsch (br0280) 2015; 50
Lamport (br0170) 1979; c-28
Michael, Scott (br0300) 1996
Peng, Yun, Hao (br0330) 2018; 30
Scott (br0030) 2013; 8
Calciu, Gottschlich, Herlihy (br0440) 2013
Herlihy, Wing (br0180) 1990; 12
Chen, Dinan, Tang, Balaji, Zhong, Wei, Huang, Qin (br0390) 2014
Herlihy (br0050) 1993; 15
(br0420) June 2015
Brock (br0350) May 2022
Fraser (br0450) 2004
Herlihy, Shavit, Luchangco, Spear (br0020) 2020
Ellen, Brown (br0070) 2016
Michael (br0210) 2004; 15
Fürlinger, Glass, Gracia, Knüpfer, Tao, Hünich, Idrees, Maiterth, Mhedheb, Zhou (br0460) 2014
Michael (br0310) 2002
Moir, Nussbaum, Shalev, Shavit (br0480) 2005
Zheng, Kamil, Driscoll, Shan, Yelick (br0430) 2014
Brock, Buluç, Yelick (br0090) 2019
(br0200) 1983
Boehm (br0400) 2004
Treiber (br0230) 1986
Herlihy (br0060) 1991; 13
Paznikov, Anenkov (br0160) 2019; 150
Mellor-Crummey, Scott (br0340) 1991; 9
Hendler, Shavit, Yerushalmi (br0260) 2004
Fürlinger, Fuchs, Kowalewski (br0470) 2016
Censor-Hillel, Petrank, Timnat (br0370) 2015
Diep, Fürlinger (br0010) 2021
Bar-Nissan, Hendler, Suissa (br0410) 2011
Michael, Scott (br0080) 1998; 51
Chapman, Curtis, Pophale, Poole, Kuehn, Koelbel, Smith (br0140) 2010
Herlihy, Luchangco, Moir (br0040) 2003
Yelick, Buluç, Awan, Azad, Brock, Egan, Ekanayake, Ellis, Georganas, Guidi (br0250) 2020; 378
Zhou, Mhedheb, Idrees, Glass, Gracia, Fürlinger (br0380) 2014
Schuchart, Bouteiller, Bosilca (br0100) 2019
Taura, Matsuoka, Yonezawa (br0240) 1993
Devarajan, Kougkas, Bateman, Sun (br0110) 2020
Hendler, Shavit, Yerushalmi (br0270) 2010; 70
Peng, Hao (br0290) 2017; 29
Schuchart (10.1016/j.jpdc.2022.11.006_br0100) 2019
Agarwal (10.1016/j.jpdc.2022.11.006_br0360) 1989
Brock (10.1016/j.jpdc.2022.11.006_br0090) 2019
Herlihy (10.1016/j.jpdc.2022.11.006_br0060) 1991; 13
Peng (10.1016/j.jpdc.2022.11.006_br0330) 2018; 30
Scott (10.1016/j.jpdc.2022.11.006_br0030) 2013; 8
Treiber (10.1016/j.jpdc.2022.11.006_br0230) 1986
Michael (10.1016/j.jpdc.2022.11.006_br0080) 1998; 51
Bar-Nissan (10.1016/j.jpdc.2022.11.006_br0410) 2011
Fürlinger (10.1016/j.jpdc.2022.11.006_br0460) 2014
Herlihy (10.1016/j.jpdc.2022.11.006_br0050) 1993; 15
(10.1016/j.jpdc.2022.11.006_br0200) 1983
Ellen (10.1016/j.jpdc.2022.11.006_br0070) 2016
Peng (10.1016/j.jpdc.2022.11.006_br0290) 2017; 29
Herlihy (10.1016/j.jpdc.2022.11.006_br0040) 2003
Fürlinger (10.1016/j.jpdc.2022.11.006_br0470) 2016
Lamport (10.1016/j.jpdc.2022.11.006_br0170) 1979; c-28
Dodds (10.1016/j.jpdc.2022.11.006_br0280) 2015; 50
Chapman (10.1016/j.jpdc.2022.11.006_br0140) 2010
Michael (10.1016/j.jpdc.2022.11.006_br0210) 2004; 15
Yelick (10.1016/j.jpdc.2022.11.006_br0250) 2020; 378
Paznikov (10.1016/j.jpdc.2022.11.006_br0160) 2019; 150
Herlihy (10.1016/j.jpdc.2022.11.006_br0020) 2020
Michael (10.1016/j.jpdc.2022.11.006_br0300) 1996
Diep (10.1016/j.jpdc.2022.11.006_br0010) 2021
Chen (10.1016/j.jpdc.2022.11.006_br0390) 2014
Calciu (10.1016/j.jpdc.2022.11.006_br0440) 2013
Brock (10.1016/j.jpdc.2022.11.006_br0350) 2022
Hendler (10.1016/j.jpdc.2022.11.006_br0270) 2010; 70
Zhou (10.1016/j.jpdc.2022.11.006_br0380) 2014
Herlihy (10.1016/j.jpdc.2022.11.006_br0180) 1990; 12
Hoefler (10.1016/j.jpdc.2022.11.006_br0130) 2015; 2
Bonachea (10.1016/j.jpdc.2022.11.006_br0150) 2018
Dewan (10.1016/j.jpdc.2022.11.006_br0120) 2020
Michael (10.1016/j.jpdc.2022.11.006_br0190) 2002
Fraser (10.1016/j.jpdc.2022.11.006_br0450) 2004
Moir (10.1016/j.jpdc.2022.11.006_br0480) 2005
(10.1016/j.jpdc.2022.11.006_br0420) 2015
Taura (10.1016/j.jpdc.2022.11.006_br0240) 1993
Boehm (10.1016/j.jpdc.2022.11.006_br0400) 2004
Michael (10.1016/j.jpdc.2022.11.006_br0310) 2002
Devarajan (10.1016/j.jpdc.2022.11.006_br0110) 2020
Hendler (10.1016/j.jpdc.2022.11.006_br0260) 2004
Aguilera (10.1016/j.jpdc.2022.11.006_br0220) 2019
Gropp (10.1016/j.jpdc.2022.11.006_br0320) 2018
Zheng (10.1016/j.jpdc.2022.11.006_br0430) 2014
Censor-Hillel (10.1016/j.jpdc.2022.11.006_br0370) 2015
Mellor-Crummey (10.1016/j.jpdc.2022.11.006_br0340) 1991; 9
References_xml – start-page: 9
  year: 2021
  end-page: 17
  ident: br0010
  article-title: Nonblocking data structures for distributed-memory machines: stacks as an example
  publication-title: 2021 29th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP)
– year: June 2015
  ident: br0420
  article-title: MPI: A Message-Passing Interface Standard
– start-page: 253
  year: 2005
  end-page: 262
  ident: br0480
  article-title: Using elimination to implement scalable and lock-free FIFO queues
  publication-title: Proceedings of the Seventeenth Annual ACM Symposium on Parallelism in Algorithms and Architectures
– volume: 150
  start-page: 654
  year: 2019
  end-page: 662
  ident: br0160
  article-title: Implementation and analysis of distributed relaxed concurrent queues in remote memory access model
  publication-title: Proc. Comput. Sci.
– start-page: 241
  year: 2015
  end-page: 250
  ident: br0370
  article-title: Help!
  publication-title: Proceedings of the 2015 ACM Symposium on Principles of Distributed Computing
– volume: 8
  start-page: 1
  year: 2013
  end-page: 221
  ident: br0030
  article-title: Shared-memory synchronization
  publication-title: Synthesis Lectures on Computer Architecture
– start-page: 1
  year: 2018
  end-page: 9
  ident: br0320
  article-title: Using node information to implement MPI Cartesian topologies
  publication-title: Proceedings of the 25th European MPI Users' Group Meeting
– start-page: 267
  year: 1996
  end-page: 275
  ident: br0300
  article-title: Simple, fast, and practical non-blocking and blocking concurrent queue algorithms
  publication-title: Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing
– year: 2013
  ident: br0440
  article-title: Using elimination and delegation to implement a scalable NUMA-friendly stack
  publication-title: 5th {USENIX} Workshop on Hot Topics in Parallelism (HotPar 13)
– volume: 2
  start-page: 9
  year: 2015
  ident: br0130
  article-title: Remote memory access programming in MPI-3
  publication-title: ACM Trans. Parallel Comput.
– start-page: 248
  year: 2020
  end-page: 258
  ident: br0110
  article-title: Hcl: distributing parallel data structures in extreme scales
  publication-title: 2020 IEEE International Conference on Cluster Computing (CLUSTER)
– volume: 378
  year: 2020
  ident: br0250
  article-title: The parallelism motifs of genomic data analysis
  publication-title: Philos. Trans. R. Soc. A
– year: 1983
  ident: br0200
  article-title: IBM System/370 extended architecture, principles of operation
– start-page: 218
  year: 1993
  end-page: 228
  ident: br0240
  article-title: An efficient implementation scheme of concurrent object-oriented languages on stock multicomputers
  publication-title: Proceedings of the Fourth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
– start-page: 983
  year: 2016
  end-page: 990
  ident: br0470
  article-title: DASH: a C++ PGAS library for distributed data structures and parallel algorithms
  publication-title: 2016 IEEE 18th International Conference on High Performance Computing and Communications; IEEE 14th International Conference on Smart City; IEEE 2nd International Conference on Data Science and Systems (HPCC/SmartCity/DSS)
– volume: 29
  start-page: 843
  year: 2017
  end-page: 857
  ident: br0290
  article-title: FA-Stack: a fast array-based stack with wait-free progress guarantee
  publication-title: IEEE Trans. Parallel Distrib. Syst.
– start-page: 544
  year: 2011
  end-page: 561
  ident: br0410
  article-title: A dynamic elimination-combining stack algorithm
  publication-title: International Conference on Principles of Distributed Systems
– start-page: 1
  year: 2019
  end-page: 10
  ident: br0090
  article-title: BCL: a cross-platform distributed data structures library
  publication-title: Proceedings of the 48th International Conference on Parallel Processing
– volume: 9
  start-page: 21
  year: 1991
  end-page: 65
  ident: br0340
  article-title: Algorithms for scalable synchronization on shared-memory multiprocessors
  publication-title: ACM Trans. Comput. Syst.
– start-page: 522
  year: 2003
  end-page: 529
  ident: br0040
  article-title: Obstruction-free synchronization: double-ended queues as an example
  publication-title: 23rd International Conference on Distributed Computing Systems, 2003. Proceedings
– volume: 50
  start-page: 233
  year: 2015
  end-page: 246
  ident: br0280
  article-title: A scalable, correct time-stamped stack
  publication-title: ACM SIGPLAN Not.
– volume: 13
  start-page: 124
  year: 1991
  end-page: 149
  ident: br0060
  article-title: Wait-free synchronization
  publication-title: ACM Trans. Program. Lang. Syst.
– start-page: 1
  year: 2010
  end-page: 3
  ident: br0140
  article-title: Introducing OpenSHMEM: SHMEM for the PGAS community
  publication-title: Proceedings of the Fourth Conference on Partitioned Global Address Space Programming Model
– start-page: 542
  year: 2014
  end-page: 552
  ident: br0460
  article-title: DASH: data structures and algorithms with support for hierarchical locality
  publication-title: European Conference on Parallel Processing
– year: 1986
  ident: br0230
  article-title: Systems Programming: Coping with Parallelism, International Business Machines Incorporated
– start-page: 1105
  year: 2014
  end-page: 1114
  ident: br0430
  article-title: UPC++: a PGAS extension for C++
  publication-title: 2014 IEEE 28th International Parallel and Distributed Processing Symposium
– volume: 70
  start-page: 1
  year: 2010
  end-page: 12
  ident: br0270
  article-title: A scalable lock-free stack algorithm
  publication-title: J. Parallel Distrib. Comput.
– volume: 51
  start-page: 1
  year: 1998
  end-page: 26
  ident: br0080
  article-title: Nonblocking algorithms and preemption-safe locking on multiprogrammed shared memory multiprocessors
  publication-title: J. Parallel Distrib. Comput.
– start-page: 206
  year: 2004
  end-page: 215
  ident: br0260
  article-title: A scalable lock-free stack algorithm
  publication-title: Proceedings of the Sixteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures
– year: 1989
  ident: br0360
  article-title: Adaptive Backoff Synchronization Techniques, vol. 17
– start-page: 151
  year: 2016
  end-page: 153
  ident: br0070
  article-title: Concurrent data structures
  publication-title: Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing
– volume: 30
  start-page: 1596
  year: 2018
  end-page: 1612
  ident: br0330
  article-title: Fast wait-free construction for pool-like objects with weakened internal order: stacks as an example
  publication-title: IEEE Trans. Parallel Distrib. Syst.
– volume: 15
  start-page: 491
  year: 2004
  end-page: 504
  ident: br0210
  article-title: Hazard pointers: safe memory reclamation for lock-free objects
  publication-title: IEEE Trans. Parallel Distrib. Syst.
– year: 2004
  ident: br0450
  article-title: Practical lock-freedom
– start-page: 120
  year: 2019
  end-page: 126
  ident: br0220
  article-title: Designing far memory data structures: think outside the box
  publication-title: Proceedings of the Workshop on Hot Topics in Operating Systems
– start-page: 138
  year: 2018
  end-page: 158
  ident: br0150
  article-title: GASNet-EX: a high-performance, portable communication library for exascale
  publication-title: International Workshop on Languages and Compilers for Parallel Computing
– start-page: 659
  year: 2020
  end-page: 666
  ident: br0120
  article-title: Paving the way for distributed non-blocking algorithms and data structures in the partitioned global address space model
  publication-title: 2020 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)
– year: May 2022
  ident: br0350
  article-title: Rdma-based distributed data structures for large-scale parallel systems
– start-page: 21
  year: 2002
  end-page: 30
  ident: br0190
  article-title: Safe memory reclamation for dynamic lock-free objects using atomic reads and writes
  publication-title: Proceedings of the Twenty-First Annual Symposium on Principles of Distributed Computing
– start-page: 73
  year: 2002
  end-page: 82
  ident: br0310
  article-title: High performance dynamic lock-free hash tables and list-based sets
  publication-title: Proceedings of the Fourteenth Annual ACM Symposium on Parallel Algorithms and Architectures
– start-page: 40
  year: 2004
  end-page: 49
  ident: br0400
  article-title: An almost non-blocking stack
  publication-title: Proceedings of the Twenty-Third Annual ACM Symposium on Principles of Distributed Computing
– start-page: 3
  year: 2014
  ident: br0380
  article-title: DART-MPI: an MPI-based implementation of a PGAS runtime system
  publication-title: Proceedings of the 8th International Conference on Partitioned Global Address Space Programming Models
– volume: 12
  start-page: 463
  year: 1990
  end-page: 492
  ident: br0180
  article-title: Linearizability: a correctness condition for concurrent objects
  publication-title: ACM Trans. Program. Lang. Syst.
– volume: c-28
  start-page: 690
  year: 1979
  end-page: 691
  ident: br0170
  article-title: How to make a multiprocessor computer that correctly executes multiprocess programs
  publication-title: IEEE Trans. Comput.
– volume: 15
  start-page: 745
  year: 1993
  end-page: 770
  ident: br0050
  article-title: A methodology for implementing highly concurrent data objects
  publication-title: ACM Trans. Program. Lang. Syst.
– start-page: 499
  year: 2014
  end-page: 510
  ident: br0390
  article-title: Mc-checker: detecting memory consistency errors in mpi one-sided applications
  publication-title: SC'14: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis
– year: 2020
  ident: br0020
  article-title: The Art of Multiprocessor Programming
– start-page: 47
  year: 2019
  end-page: 56
  ident: br0100
  article-title: Using MPI-3 RMA for active messages
  publication-title: 2019 IEEE/ACM Workshop on Exascale MPI (ExaMPI)
– year: 1986
  ident: 10.1016/j.jpdc.2022.11.006_br0230
– volume: 50
  start-page: 233
  issue: 1
  year: 2015
  ident: 10.1016/j.jpdc.2022.11.006_br0280
  article-title: A scalable, correct time-stamped stack
  publication-title: ACM SIGPLAN Not.
  doi: 10.1145/2775051.2676963
– start-page: 499
  year: 2014
  ident: 10.1016/j.jpdc.2022.11.006_br0390
  article-title: Mc-checker: detecting memory consistency errors in mpi one-sided applications
– year: 2004
  ident: 10.1016/j.jpdc.2022.11.006_br0450
– volume: 378
  issue: 2166
  year: 2020
  ident: 10.1016/j.jpdc.2022.11.006_br0250
  article-title: The parallelism motifs of genomic data analysis
  publication-title: Philos. Trans. R. Soc. A
  doi: 10.1098/rsta.2019.0394
– year: 1989
  ident: 10.1016/j.jpdc.2022.11.006_br0360
– volume: 15
  start-page: 491
  issue: 6
  year: 2004
  ident: 10.1016/j.jpdc.2022.11.006_br0210
  article-title: Hazard pointers: safe memory reclamation for lock-free objects
  publication-title: IEEE Trans. Parallel Distrib. Syst.
  doi: 10.1109/TPDS.2004.8
– start-page: 206
  year: 2004
  ident: 10.1016/j.jpdc.2022.11.006_br0260
  article-title: A scalable lock-free stack algorithm
– start-page: 21
  year: 2002
  ident: 10.1016/j.jpdc.2022.11.006_br0190
  article-title: Safe memory reclamation for dynamic lock-free objects using atomic reads and writes
– volume: 51
  start-page: 1
  issue: 1
  year: 1998
  ident: 10.1016/j.jpdc.2022.11.006_br0080
  article-title: Nonblocking algorithms and preemption-safe locking on multiprogrammed shared memory multiprocessors
  publication-title: J. Parallel Distrib. Comput.
  doi: 10.1006/jpdc.1998.1446
– volume: 150
  start-page: 654
  year: 2019
  ident: 10.1016/j.jpdc.2022.11.006_br0160
  article-title: Implementation and analysis of distributed relaxed concurrent queues in remote memory access model
  publication-title: Proc. Comput. Sci.
  doi: 10.1016/j.procs.2019.02.101
– volume: 30
  start-page: 1596
  issue: 7
  year: 2018
  ident: 10.1016/j.jpdc.2022.11.006_br0330
  article-title: Fast wait-free construction for pool-like objects with weakened internal order: stacks as an example
  publication-title: IEEE Trans. Parallel Distrib. Syst.
  doi: 10.1109/TPDS.2018.2889048
– volume: 8
  start-page: 1
  issue: 2
  year: 2013
  ident: 10.1016/j.jpdc.2022.11.006_br0030
  article-title: Shared-memory synchronization
  publication-title: Synthesis Lectures on Computer Architecture
  doi: 10.1007/978-3-031-01740-7
– year: 2013
  ident: 10.1016/j.jpdc.2022.11.006_br0440
  article-title: Using elimination and delegation to implement a scalable NUMA-friendly stack
– start-page: 241
  year: 2015
  ident: 10.1016/j.jpdc.2022.11.006_br0370
  article-title: Help!
– start-page: 138
  year: 2018
  ident: 10.1016/j.jpdc.2022.11.006_br0150
  article-title: GASNet-EX: a high-performance, portable communication library for exascale
– start-page: 544
  year: 2011
  ident: 10.1016/j.jpdc.2022.11.006_br0410
  article-title: A dynamic elimination-combining stack algorithm
– start-page: 73
  year: 2002
  ident: 10.1016/j.jpdc.2022.11.006_br0310
  article-title: High performance dynamic lock-free hash tables and list-based sets
– volume: 12
  start-page: 463
  issue: 3
  year: 1990
  ident: 10.1016/j.jpdc.2022.11.006_br0180
  article-title: Linearizability: a correctness condition for concurrent objects
  publication-title: ACM Trans. Program. Lang. Syst.
  doi: 10.1145/78969.78972
– volume: 2
  start-page: 9
  issue: 2
  year: 2015
  ident: 10.1016/j.jpdc.2022.11.006_br0130
  article-title: Remote memory access programming in MPI-3
  publication-title: ACM Trans. Parallel Comput.
  doi: 10.1145/2780584
– start-page: 9
  year: 2021
  ident: 10.1016/j.jpdc.2022.11.006_br0010
  article-title: Nonblocking data structures for distributed-memory machines: stacks as an example
– start-page: 253
  year: 2005
  ident: 10.1016/j.jpdc.2022.11.006_br0480
  article-title: Using elimination to implement scalable and lock-free FIFO queues
– start-page: 151
  year: 2016
  ident: 10.1016/j.jpdc.2022.11.006_br0070
  article-title: Concurrent data structures
– start-page: 3
  year: 2014
  ident: 10.1016/j.jpdc.2022.11.006_br0380
  article-title: DART-MPI: an MPI-based implementation of a PGAS runtime system
– start-page: 542
  year: 2014
  ident: 10.1016/j.jpdc.2022.11.006_br0460
  article-title: DASH: data structures and algorithms with support for hierarchical locality
– volume: 13
  start-page: 124
  issue: 1
  year: 1991
  ident: 10.1016/j.jpdc.2022.11.006_br0060
  article-title: Wait-free synchronization
  publication-title: ACM Trans. Program. Lang. Syst.
  doi: 10.1145/114005.102808
– start-page: 267
  year: 1996
  ident: 10.1016/j.jpdc.2022.11.006_br0300
  article-title: Simple, fast, and practical non-blocking and blocking concurrent queue algorithms
– start-page: 47
  year: 2019
  ident: 10.1016/j.jpdc.2022.11.006_br0100
  article-title: Using MPI-3 RMA for active messages
– start-page: 983
  year: 2016
  ident: 10.1016/j.jpdc.2022.11.006_br0470
  article-title: DASH: a C++ PGAS library for distributed data structures and parallel algorithms
– start-page: 1
  year: 2019
  ident: 10.1016/j.jpdc.2022.11.006_br0090
  article-title: BCL: a cross-platform distributed data structures library
– start-page: 248
  year: 2020
  ident: 10.1016/j.jpdc.2022.11.006_br0110
  article-title: Hcl: distributing parallel data structures in extreme scales
– volume: 15
  start-page: 745
  issue: 5
  year: 1993
  ident: 10.1016/j.jpdc.2022.11.006_br0050
  article-title: A methodology for implementing highly concurrent data objects
  publication-title: ACM Trans. Program. Lang. Syst.
  doi: 10.1145/161468.161469
– year: 1983
  ident: 10.1016/j.jpdc.2022.11.006_br0200
– year: 2015
  ident: 10.1016/j.jpdc.2022.11.006_br0420
– start-page: 1
  year: 2018
  ident: 10.1016/j.jpdc.2022.11.006_br0320
  article-title: Using node information to implement MPI Cartesian topologies
– start-page: 659
  year: 2020
  ident: 10.1016/j.jpdc.2022.11.006_br0120
  article-title: Paving the way for distributed non-blocking algorithms and data structures in the partitioned global address space model
– start-page: 120
  year: 2019
  ident: 10.1016/j.jpdc.2022.11.006_br0220
  article-title: Designing far memory data structures: think outside the box
– volume: 9
  start-page: 21
  issue: 1
  year: 1991
  ident: 10.1016/j.jpdc.2022.11.006_br0340
  article-title: Algorithms for scalable synchronization on shared-memory multiprocessors
  publication-title: ACM Trans. Comput. Syst.
  doi: 10.1145/103727.103729
– start-page: 40
  year: 2004
  ident: 10.1016/j.jpdc.2022.11.006_br0400
  article-title: An almost non-blocking stack
– volume: 70
  start-page: 1
  issue: 1
  year: 2010
  ident: 10.1016/j.jpdc.2022.11.006_br0270
  article-title: A scalable lock-free stack algorithm
  publication-title: J. Parallel Distrib. Comput.
  doi: 10.1016/j.jpdc.2009.08.011
– volume: c-28
  start-page: 690
  issue: 9
  year: 1979
  ident: 10.1016/j.jpdc.2022.11.006_br0170
  article-title: How to make a multiprocessor computer that correctly executes multiprocess programs
  publication-title: IEEE Trans. Comput.
  doi: 10.1109/TC.1979.1675439
– start-page: 218
  year: 1993
  ident: 10.1016/j.jpdc.2022.11.006_br0240
  article-title: An efficient implementation scheme of concurrent object-oriented languages on stock multicomputers
– volume: 29
  start-page: 843
  issue: 4
  year: 2017
  ident: 10.1016/j.jpdc.2022.11.006_br0290
  article-title: FA-Stack: a fast array-based stack with wait-free progress guarantee
  publication-title: IEEE Trans. Parallel Distrib. Syst.
  doi: 10.1109/TPDS.2017.2770121
– year: 2022
  ident: 10.1016/j.jpdc.2022.11.006_br0350
– start-page: 1
  year: 2010
  ident: 10.1016/j.jpdc.2022.11.006_br0140
  article-title: Introducing OpenSHMEM: SHMEM for the PGAS community
– start-page: 522
  year: 2003
  ident: 10.1016/j.jpdc.2022.11.006_br0040
  article-title: Obstruction-free synchronization: double-ended queues as an example
– year: 2020
  ident: 10.1016/j.jpdc.2022.11.006_br0020
– start-page: 1105
  year: 2014
  ident: 10.1016/j.jpdc.2022.11.006_br0430
  article-title: UPC++: a PGAS extension for C++
SSID ssj0011578
Score 2.3502676
Snippet Nonblocking data structures are an essential part of many parallel applications in that they can help to improve fault tolerance and performance. Although...
SourceID crossref
elsevier
SourceType Enrichment Source
Index Database
Publisher
StartPage 48
SubjectTerms ABA problem
Distributed-memory systems
Global memory reclamation
Nonblocking data structures
Nonblocking stacks
Title A general approach for supporting nonblocking data structures on distributed-memory systems
URI https://dx.doi.org/10.1016/j.jpdc.2022.11.006
Volume 173
WOSCitedRecordID wos000891766200004&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: PRVESC
  databaseName: Elsevier SD Freedom Collection Journals 2021
  customDbUrl:
  eissn: 1096-0848
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0011578
  issn: 0743-7315
  databaseCode: AIEXJ
  dateStart: 19950101
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1La9wwEBbLpode2vRF0zRFh94WB1t-6rgNCUkpoYe0LPRg9HK6i-OYfYTkL_RXd8aSH-RFc-jFLGal9fr7mBmNRt8Q8llqcDJFCuRFBkeZ5l6mOPcKHUeJYKFmjdjzz2_p6Wk2m_Hvo9Gf9izMVZlWVXZ9zev_CjXcA7Dx6OwT4O4mhRvwGUCHK8AO138CfopdkTHT1OmFN6WEq02NoTZmBmDFL8GHYZJ8ghWiEysiu1maZu9Ao5YutsEy2rvAQtwbp_e8eiCSRfnwsjRWdGAwuqlX36xb54jh8tzUtixJVL89YNx5bwFtemeDvY-OL8W8IxZu5X85QFGu87YAZFkOkxUs7Ku1nE1DRdQ0tCc4OwOchgMTaoU3nTO2vQbumHmbcVjsL2qNMpSM7aMSq3-PpvYtX9dVILbFbYsc58hxDlgM5Y16-xZLY56Nydb05HD2tduTCmLr19u_4I5g2WrB209yf5gzCF3OtskLhxSdWq68IiNTvSYv234e1Jn3N-TXlDrq0JY6FKhDe-rQAXUoUof21KGXFb1LHeqo85b8ODo8Ozj2XPMNT8GqdO3FJpW-UXGQaO0LP1FSQRwjGdPCsAzC1kLKzIebskizmEeCi0KFTCexBD9QBOE7MoZnMu8JhbfJAx4YFUVJxH0tCp7xWCjGZCqkKXZI0L6rXDllemyQUuYPo7RDJt2Y2uqyPPrtuIUgd5GljRhzYNQj4z486Vd2yfOe8x_JGAAwe-SZulrPV8tPjk5_Aftonok
linkProvider Elsevier
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=A+general+approach+for+supporting+nonblocking+data+structures+on+distributed-memory+systems&rft.jtitle=Journal+of+parallel+and+distributed+computing&rft.au=Diep%2C+Thanh-Dang&rft.au=Ha%2C+Phuong+Hoai&rft.au=F%C3%BCrlinger%2C+Karl&rft.date=2023-03-01&rft.issn=0743-7315&rft.volume=173&rft.spage=48&rft.epage=60&rft_id=info:doi/10.1016%2Fj.jpdc.2022.11.006&rft.externalDBID=n%2Fa&rft.externalDocID=10_1016_j_jpdc_2022_11_006
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0743-7315&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0743-7315&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0743-7315&client=summon