Bent\=o: Optimizing Persistent Memory Programs
Sebasti\~ao Amaro, Jo\~ao Gon\c{c}alves, and Miguel Matos

TL;DR
Bent ext{o} is a tool that automatically optimizes persistent memory programs by identifying efficient instruction combinations, improving performance by up to 15% while maintaining crash consistency.
Contribution
The paper introduces Bent ext{o}, a black-box binary rewriter that enhances persistent memory program performance through optimized instruction sequences.
Findings
Performance improvements of up to 15%
Optimal instruction combinations preserve crash semantics
Automated binary rewriting reduces programmer effort
Abstract
Persistent Memory (PM) is a new storage technology thatbrings high performance, byte addressability, and persistency for a lesser cost than DRAM. Due to cache volatility and store reordering, developers must use explicit instructions (e.g.: flush and fence) to guarantee that the application state remains consistent upon crashes. This is difficult to get right and, in fact, several tools have been created to detect bugs in PM programs. To overcome this difficulty, programmers tend to be overly conservative, for instance, by enforcing unnecessary ordering constraints, which partially forfeits the performance benefits of using PM. In this paper, we study the impact that different combinations of persistency instructions have in several PM programs and found that a specific combination can lead to performance improvements while preserving the original crash-consistency semantics. Based on…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed systems and fault tolerance · Advanced Data Storage Technologies
