一句话:研究持久内存耐久性错误的修复难点,提出自动修复方法(Hippocrates)以无害修复。
持久内存(PM)技术提供接近DRAM速度的持久存储,但编程易错:缓存刷新和内存栅栏的误用或遗漏会导致耐久性错误(未刷新的更新违反崩溃一致性)。即使有PM专用的测试与调试工具,修复这些错误仍具挑战性。作者首先研究耐久性错误,发现虽然修复方案看似简单,但实际推理复杂耗时。这一困难促使他们考虑自动修复方法。标题表明其提出的Hippocrates系统能够无害地修复这些错误,但摘要未提供具体评估细节。
Persistent memory (PM) technologies aim to revolutionize storage systems, providing persistent storage at near-DRAM speeds. Alas, programming PM systems is error-prone, as the misuse or omission of the durability mechanisms (i.e., cache flushes and memory fences) can lead to durability bugs (i.e., unflushed updates in CPU caches that violate crash consistency). PM-specific testing and debugging tools can help developers find these bugs, however even with such tools, fixing durability bugs can be challenging. To determine the reason behind this difficulty, we first study durability bugs and find that although the solution to a durability bug seems simple, the actual reasoning behind the fix can be complicated and time-consuming. Overall, the severity of these bugs coupled with the difficultly of developing fixes for them motivates us to consider automated approaches to fixing durability bugs.
DOI 原文 ·
@inproceedings{paperbot6151,
title = {Hippocrates: healing persistent memory bugs without doing any harm},
author = {Ian Neal and Andrew Quinn and Baris Kasikci},
booktitle = {ASPLOS},
year = {2021},
doi = {10.1145/3445814.3446694}
}