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...
Uložené v:
| Vydané v: | Journal of parallel and distributed computing Ročník 173; s. 48 - 60 |
|---|---|
| Hlavní autori: | , , |
| 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 |