iDO: Compiler-Directed Failure Atomicity for Nonvolatile Memory
iDO: Compiler-Directed Failure Atomicity for Nonvolatile Memory
复制标题
DOI:
10.1109/micro.2018.00029
复制
发表时间:
2018-10
期刊:
影响因子:
--
通讯作者:
Qingrui Liu;Joseph Izraelevitz;Se Kwon Lee;M. Scott;S. Noh;Changhee Jung
中科院分区:
文献类型:
--
作者:
Qingrui Liu;Joseph Izraelevitz;Se Kwon Lee;M. Scott;S. Noh;Changhee Jung
This paper presents iDO, a compiler-directed approach to failure atomicity with nonvolatile memory. Unlike most prior work, which instruments each store of persistent data for redo or undo logging, the iDO compiler identifies idempotent instruction sequences, whose re-execution is guaranteed to be side-effect-free, thereby eliminating the need to log every persistent store. Using an extension of prior work on JUSTDO logging, the compiler then arranges, during recovery from failure, to back up each thread to the beginning of the current idempotent region and re-execute to the end of the current failure-atomic section. This extension transforms JUSTDO logging from a technique of value only on hypothetical future machines with nonvolatile caches into a technique that also significantly outperforms state-of-the art lock-based persistence mechanisms on current hardware during normal execution, while preserving very fast recovery times.