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 条
  • [21] Pointer Life Cycle Types for Lock-Free Data Structures with Memory Reclamation
    Meyer, Roland
    Wolff, Sebastian
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4 (POPL):
  • [22] Releasing Memory with Optimistic Access: A Hybrid Approach to Memory Reclamation and Allocation in Lock-Free Programs
    Moreno, Pedro
    Rocha, Ricardo
    PROCEEDINGS OF THE 35TH ACM SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, SPAA 2023, 2023, : 177 - 186
  • [23] Lock-free dynamic hash tables with open addressing
    H. Gao
    J. F. Groote
    W. H. Hesselink
    Distributed Computing, 2005, 18 : 21 - 42
  • [24] A Compression-Based Design for Higher Throughput in a Lock-Free Hash Map
    Moreno, Pedro
    Areias, Miguel
    Rocha, Ricardo
    EURO-PAR 2020: PARALLEL PROCESSING, 2020, 12247 : 458 - 473
  • [25] Lock-free dynamic hash tables with open addressing
    Gao, H
    Groote, JF
    Hesselink, WH
    DISTRIBUTED COMPUTING, 2005, 18 (01) : 21 - 42
  • [26] A Scalable Lock-free Hash Table With Open Addressing
    Nielsen, Jesper Puge
    Karlsson, Sven
    ACM SIGPLAN NOTICES, 2016, 51 (08) : 369 - 370
  • [27] Allocating memory in a lock-free manner
    Gidenstam, A
    Papatriantafilou, M
    Tsigas, P
    ALGORITHMS - ESA 2005, 2005, 3669 : 329 - 342
  • [28] Intelligent memory: An architecture for lock-free synchronization
    Seong, N
    Jung, N
    Kim, B
    Yoon, H
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 1997, E80D (04) : 441 - 447
  • [29] Efficient Lock-Free Removing and Compaction for the Cache-Trie Data Structure
    Prokopec, Aleksandar
    EURO-PAR 2018: PARALLEL PROCESSING, 2018, 11014 : 575 - 589
  • [30] NBmalloc: Allocating Memory in a Lock-Free Manner
    Anders Gidenstam
    Marina Papatriantafilou
    Philippas Tsigas
    Algorithmica, 2010, 58 : 304 - 338