HEAPO: Heap-Based Persistent Object Store

被引:34
|
作者
Hwang, Taeho [1 ]
Jung, Jaemin [1 ]
Won, Youjip [1 ]
机构
[1] Hanyang Univ, Dept Comp & Software, Seoul, South Korea
基金
新加坡国家研究基金会;
关键词
Design; Algorithms; Performance; Persistent heap; Persistent objects; Nonvolatile memory; CLASS MEMORY; SYSTEM;
D O I
10.1145/2629619
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
In this work, we developed a Heap-Based Persistent Object Store (HEAPO) to manage persistent objects in byte-addressable Nonvolatile RAM (NVRAM). HEAPO defines its own persistent heap layout, the persistent object format, name space organization, object sharing and protection mechanism, and undo-only log-based crash recovery, all of which are effectively tailored for NVRAM. We put our effort into developing a lightweight and flexible layer to exploit the DRAM-like access latency of NVRAM. To address this objective, we developed (i) a native management layer for NVRAM to eliminate redundancy between in-core and on-disk copies of the metadata, (ii) an expandable object format, (iii) a burst trie-based global name space with local name space caching, (iv) static address binding, and (v) minimal logging for undo-only crash recovery. We implemented HEAPO at commodity OS (Linux 2.6.32) and measured the performance. By eliminating metadata redundancy, HEAPO improved the speed of creating, attaching, and expanding an object by 1.3x, 4.5x, and 3.8x, respectively, compared to memory-mapped file-based persistent object store. Burst trie-based name space organization of HEAPO yielded 7.6x better lookup performance compared to hashed B-tree-based name space of EXT4. We modified memcachedb to use HEAPO in maintaining its search structure. For hash table update, HEAPO-based memcachedb yielded 3.4x performance improvement against original memcachedb implementation which uses mmap () over ramdisk approach to maintain the key-value store in memory.
引用
收藏
页数:21
相关论文
共 50 条
  • [1] Satisfiability Modulo Heap-Based Programs
    Le, Quang Loc
    Sun, Jun
    Chin, Wei-Ngan
    COMPUTER AIDED VERIFICATION, (CAV 2016), PT I, 2016, 9779 : 382 - 404
  • [2] HEAP-BASED IMPLEMENTATION OF THE PROGRAMMING LANGUAGE PASCAL
    MARLIN, CD
    SOFTWARE-PRACTICE & EXPERIENCE, 1979, 9 (02): : 101 - 119
  • [3] HEAP-Based Defense Modeling and Simulation Methodology
    You, Yong-Jun
    Chi, Sung-Do
    Kim, Jae-Ick
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2013, E96D (03) : 655 - 662
  • [4] Towards Heap-Based Memory Corruption Discovery
    Wang, Wenzhi
    Fan, Meng
    Yu, Aimin
    Meng, Dan
    2021 17TH INTERNATIONAL CONFERENCE ON MOBILITY, SENSING AND NETWORKING (MSN 2021), 2021, : 502 - 511
  • [5] BGPQ: A Heap-Based Priority Queue Design for GPUs
    Chen, Yanhao
    Hua, Fei
    Jin, Yuwei
    Zhang, Eddy Z.
    50TH INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, 2021,
  • [6] A novel reinforcement learning based Heap-based optimizer
    Ma, Xuesen
    Zhong, Zhineng
    Li, Yangyu
    Li, Dacheng
    Qiao, Yan
    KNOWLEDGE-BASED SYSTEMS, 2024, 296
  • [7] Testing Heap-Based Programs with Java']Java StarFinder
    Pham, Long H.
    Quang Loc Le
    Phan, Quoc-Sang
    Sun, Jun
    Qin, Shengchao
    PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - COMPANION (ICSE-COMPANION, 2018, : 268 - 269
  • [8] Conflict Analysis for heap-based Data Dependence Detection
    Castillo, Rosa
    Corbera, Francisco
    Navarro, Angeles
    Asenjo, Rafael
    Zapata, Emilio L.
    PARALLEL COMPUTING: FROM MULTICORES AND GPU'S TO PETASCALE, 2010, 19 : 351 - 358
  • [9] Shadow-Heap: Preventing Heap-based Memory Corruptions by Metadata Validation
    Bouche, Johannes
    Atkinson, Lukas
    Kappes, Martin
    EUROPEAN INTERDISCIPLINARY CYBERSECURITY - EICC 2020, 2020,
  • [10] Heap-based optimizer based on three new updating strategies
    Zhang, Xinming
    Wen, Shaochen
    EXPERT SYSTEMS WITH APPLICATIONS, 2022, 209