Silo: Speculative Hardware Logging for Atomic Durability in Persistent Memory
Ming Zhang, Yu Hua
Abstract
Persistent memory (PM) provides data persistency. Due to this property, guaranteeing atomic durability becomes important for applications running on PM in order to ensure the crash consistency for a group of updates. To this end, hardware logging has received many attentions by overlapping the log operations and transaction execution. Unfortunately, existing approaches regard logs as backups, which inevitably increases the log writes to PM, thus exacerbating the limited endurance of PM and imposing constraints on the write ordering.
This paper proposes Silo, a speculative hardware logging design to ensure atomic durability with ultra-low overheads. Unlike existing studies, Silo exploits a speculative methodology and regards logs as data to make the common case fast. In practice, system crashes or power failures rarely occur for a machine. Hence, we do not need to write logs to back up data in most of the running time. Based on this observation, Silo temporarily maintains the undo+redo logs on chip during transaction execution. After the transaction commits, Silo leverages the new data in these on-chip logs to in-place update the PM data region, instead of conservatively writing logs as useless backups in common cases where no crash occurs. In this way, Silo significantly reduces the write overheads. If a crash occurs, Silo still efficiently flushes these on-chip logs to PM for recovery without any loss of correctness. Experimental results demonstrate that Silo significantly improves the transaction throughput by 4.3×, and reduces the memory writes by 76.5% compared with state-of-the-art designs.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext a09aa6a2-d3a9-4a1b-a2a5-84502f45d53bCited by top-tier papers1
Ask how each one uses itBuilds on12
- An Empirical Guide to the Behavior and Use of Scalable Persistent MemoryJian Yang, Juno Kim, Morteza Hoseinzadeh, Joseph Izraelevitz et al.FAST 2020 · 470 citations
- Characterizing and Modeling Non-Volatile Memory SystemsZixuan Wang, Xiao Liu, Jian Yang, Theodore Michailidis et al.MICRO 2020 · 88 citations
- Characterizing the performance of intel optane persistent memory: a close look at its on-DIMM bufferingLingfeng Xiang, Xingsheng Zhao, Jia Rao, Song Jiang et al.EuroSys 2022 · 56 citations
- MOD: Minimally Ordered Durable Datastructures for Persistent MemorySwapnil Haria, Mark D. Hill, Michael M. SwiftASPLOS 2020 · 47 citations
- NVAlloc: rethinking heap metadata management in persistent memory allocatorsZheng Dang, Shuibing He, Peiyi Hong, Zhenxin Li et al.ASPLOS 2022 · 35 citations
Related papers
- SpecPMT: Speculative Logging for Resolving Crash Consistency Overhead of Persistent MemoryChencheng Ye, Yuanchao Xu, Xipeng Shen, Yan Sha et al.ASPLOS 2023 · 13 citations
- ASAP: architecture support for asynchronous persistenceAhmed H. M. O. Abulila, Izzat El Hajj, Myoungsoo Jung, Nam Sung KimISCA 2022 · 10 citations
- Reconciling Selective Logging and Hardware Persistent Memory TransactionChencheng Ye, Yuanchao Xu, Xipeng Shen, Yan Sha et al.HPCA 2023 · 4 citations
- Crafty: efficient, HTM-compatible persistent transactionsKaan Genç, Michael D. Bond, Guoqing Harry XuPLDI 2020 · 31 citations
- MorLog: Morphable Hardware Logging for Atomic Persistence in Non-Volatile Main MemoryXueliang Wei, Dan Feng, Wei Tong, Jingning Liu et al.ISCA 2020 · 23 citations
