On the implementation of memory reclamation methods in a lock-free hash trie design

被引:2
|
作者
Moreno, Pedro [1 ,2 ,3 ]
Areias, Miguel [1 ,2 ,3 ]
Rocha, Ricardo [1 ,2 ,3 ]
机构
[1] Univ Porto, CRACS, Rua Campo Alegre 1021, P-4169007 Porto, Portugal
[2] Univ Porto, INESC TEC, Rua Campo Alegre 1021, P-4169007 Porto, Portugal
[3] Univ Porto, Fac Sci, Rua Campo Alegre 1021, P-4169007 Porto, Portugal
关键词
Memory reclamation; Lock-freedom; Hash maps; Hazard pointers;
D O I
10.1016/j.jpdc.2021.04.007
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Hash tries are a trie-based data structure with nearly ideal characteristics for the implementation of hash maps. Starting from a particular lock-free hash map data structure, named Lock-Free Hash Tries, we focus on solving the problem of memory reclamation without losing the lock-freedom property. To the best of our knowledge, outside garbage collected environments, there is no current implementation of hash maps that is able to reclaim memory in a lock-free manner. To achieve this goal, we propose an approach for memory reclamation specific to Lock-Free Hash Tries that explores the characteristics of its structure in order to achieve efficient memory reclamation with low and well-defined memory bounds. We present and discuss in detail the key algorithms required to easily reproduce our implementation by others. Experimental results show that our approach obtains better results when compared with other state-of-the-art memory reclamation methods and provides a competitive and scalable hash map implementation, if compared to lock-based implementations. (C) 2021 Elsevier Inc. All rights reserved.
引用
收藏
页码:1 / 13
页数:13
相关论文
共 50 条
  • [41] To Lock, Swap, or Elide: On the Interplay of Hardware Transactional Memory and Lock-Free Indexing
    Makreshanski, Darko
    Leyandoski, Justin
    Stutsman, Ryan
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2015, 8 (11): : 1298 - 1309
  • [42] Easy Lock-Free Indexing in Non-Volatile Memory
    Wang, Tianzheng
    Levandoski, Justin
    Larson, Per-Ake
    2018 IEEE 34TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE), 2018, : 461 - 472
  • [43] Persistent Lock-Free Queue for Non-Volatile Memory
    Friedman, Michal
    Herlihy, Maurice
    Marathe, Virendra
    Petrank, Erez
    ACM SIGPLAN NOTICES, 2018, 53 (01) : 28 - 40
  • [44] Transactional memory as an approach to building a lock-free data structure
    Pyankov, S. A.
    Babichev, S. L.
    7TH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY AND QUANTITATIVE MANAGEMENT (ITQM 2019): INFORMATION TECHNOLOGY AND QUANTITATIVE MANAGEMENT BASED ON ARTIFICIAL INTELLIGENCE, 2019, 162 : 76 - 81
  • [45] TSLQueue: An Efficient Lock-Free Design for Priority Queues
    Rukundo, Adones
    Tsigas, Philippas
    EURO-PAR 2021: PARALLEL PROCESSING, 2021, 12820 : 385 - 401
  • [46] Lock-free distributed queue in remote memory access model
    Burachenko, Alexander, V
    Paznikov, Alexei A.
    Derzhavin, Denis P.
    VESTNIK TOMSKOGO GOSUDARSTVENNOGO UNIVERSITETA-UPRAVLENIE VYCHISLITELNAJA TEHNIKA I INFORMATIKA-TOMSK STATE UNIVERSITY JOURNAL OF CONTROL AND COMPUTER SCIENCE, 2023, (62): : 13 - 24
  • [47] A Lock-Free Coalescing-Capable Mechanism for Memory Management
    Leite, Ricardo
    Rocha, Ricardo
    PROCEEDINGS OF THE 2019 ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT (ISMM '19), 2019, : 79 - 88
  • [48] Restricted Memory-Friendly Lock-Free Bounded Queues
    Koval, Nikita
    Aksenov, Vitaly
    PROCEEDINGS OF THE 25TH ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING (PPOPP '20), 2020, : 433 - 434
  • [49] Reclaiming Memory for Lock-Free Data Structures: There has to be a Better Way
    Brown, Trevor
    PODC'15: PROCEEDINGS OF THE 2015 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING, 2015, : 261 - 270
  • [50] Cache-Tries: Concurrent Lock-Free Hash Tries with Constant-Time Operations
    Prokopec A.
    ACM SIGPLAN Notices, 2018, 53 (01): : 137 - 151