The performance power of software combining in persistence
Panagiota Fatourou, Nikolaos D. Kallimanis, Eleftherios Kosmas
摘要
The availability of Non-Volatile Main Memory (known as NVMM) enables the design of recoverable concurrent algorithms. We study the power of software combining in achieving recoverable synchronization and designing persistent data structures. Software combining is a general synchronization approach, which attempts to simulate the ideal world when executing synchronization requests (i.e., requests that must be executed in mutual exclusion). A single thread, called the combiner, executes all active requests, while the rest of the threads are waiting for the combiner to notify them that their requests have been applied. Software combining significantly decreases the synchronization cost and outperforms many other synchronization techniques in various cases.
We identify three persistence principles, crucial for performance, that an algorithm's designer has to take into consideration when designing highly-efficient recoverable synchronization protocols or data structures. We illustrate how to make the appropriate design decisions in all stages of devising recoverable combining protocols to respect these principles. Specifically, we present two recoverable software combining protocols, satisfying different progress properties, that are many times faster and have much lower persistence cost than a large collection of existing persistent techniques for achieving scalable synchronization. We build fundamental recoverable data structures, such as stacks and queues, based on these protocols that outperform by far existing recoverable implementations of such data structures. We also provide the first recoverable implementation of a concurrent heap and present experiments to show that it has good performance when the size of the heap is not very large.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper3
- TL4x: Buffered Durable Transactions on Disk as Fast as in MemoryGal Assa, Andreia Correia, Pedro Ramalhete, Valerio Schiavoni 等PPoPP 2023 · 被引用 8 次
- Memento: A Framework for Detectable Recoverability in Persistent MemoryKyeongmin Cho, Seungmin Jeon, Azalea Raad, Jeehoon KangPLDI 2023 · 被引用 4 次
- Sharded Elimination and Combining for Highly-Efficient Concurrent StacksAjay Singh, Nikos Metaxakis, Panagiota FatourouPPoPP 2026
它引用的顶会 Paper8
- An Empirical Guide to the Behavior and Use of Scalable Persistent MemoryJian Yang, Juno Kim, Morteza Hoseinzadeh, Joseph Izraelevitz 等FAST 2020 · 被引用 470 次
- NVTraverse: in NVRAM data structures, the destination is more important than the journeyMichal Friedman, Naama Ben-David, Yuanhao Wei, Guy E. Blelloch 等PLDI 2020 · 被引用 52 次
- Mirror: making lock-free data structures persistentMichal Friedman, Erez Petrank, Pedro RamalhetePLDI 2021 · 被引用 34 次
- ArchTM: Architecture-Aware, High Performance Transaction for Persistent MemoryKai Wu, Jie Ren, Ivy Bo Peng, Dong LiFAST 2021 · 被引用 31 次
- Clobber-NVM: log less, re-execute moreYi Xu, Joseph Izraelevitz, Steven SwansonASPLOS 2021 · 被引用 30 次
相关 Paper
- Detectable recovery of lock-free data structuresHagit Attiya, Ohad Ben-Baruch, Panagiota Fatourou, Danny Hendler 等PPoPP 2022 · 被引用 12 次
- MOD: Minimally Ordered Durable Datastructures for Persistent MemorySwapnil Haria, Mark D. Hill, Michael M. SwiftASPLOS 2020 · 被引用 47 次
- Compiler-Directed Whole-System PersistenceJianping Zeng, Tong Zhang, Changhee JungISCA 2024 · 被引用 13 次
- Pronto: Easy and Fast Persistence for Volatile Data StructuresAmir Saman Memaripour, Joseph Izraelevitz, Steven SwansonASPLOS 2020 · 被引用 55 次
- Relaxed Persist Ordering Using Strand PersistencyVaibhav Gogte, William Wang, Stephan Diestelhorst, Peter M. Chen 等ISCA 2020 · 被引用 23 次
