iDO: Compiler-Directed Failure Atomicity for Nonvolatile Memory

iDO: Compiler-Directed Failure Atomicity for Nonvolatile Memory
复制标题

DOI:
10.1109/micro.2018.00029
复制
发表时间:
2018-10
期刊:
2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)
影响因子:
--
通讯作者:
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
中科院分区:
其他
文献类型:
--
作者:
Qingrui Liu;Joseph Izraelevitz;Se Kwon Lee;M. Scott;S. Noh;Changhee Jung

文献摘要

被引文献

相似文献

本文介绍了IDO,这是一种以非易失性记忆为单位的编译器指导的方法。与大多数先前的工作不同,哪些持续数据的每一个存储都可以重做或撤消日志记录,IDO编译器标识了IDEMPOTENT指令序列,其重新执行的重新执行保证无副作用,从而消除了登录每个持久商店的需求。然后,使用对JustDo记录的先前工作的扩展,然后编译器在恢复期间从失败恢复到当前IDEMPOTENT区域的开头并重新执行到当前故障 - 原子部分的末尾。这种扩展将JustDo的记录从具有非易失性缓存的假设未来机器上的价值技术转变为一种技术,该技术在正常执行过程中还显着超过了当前硬件的最先进的基于锁的持久性机制,同时保留了非常快速的恢复时间。
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.