Euripus: A flexible unified hardware memory checkpointing accelerator for bidirectional-debugging and reliability

Euripus: A flexible unified hardware memory checkpointing accelerator for bidirectional-debugging and reliability
复制标题

Euripus:灵活的统一硬件内存检查点加速器,用于双向调试和可靠性

DOI:
10.1145/2366231.2337190
复制
发表时间:
2012
期刊:
2012 39th Annual International Symposium on Computer Architecture (ISCA)
影响因子:
--
通讯作者:
Milos Prvulović
Milos Prvulović
中科院分区:
--
文献类型:
--
作者:
Ioannis Doudalis;Milos Prvulović

文献摘要

被引文献

相似文献

双向调试和错误恢复有不同的目标(分别是程序员的生产力和系统的可靠性),但它们都需要能够将程序或系统回滚到过去的状态。该回滚功能通常使用可以将系统/应用恢复到特定时间点的检查点来实现。有几种类型的检查点,双向调试和错误恢复以不同的方式使用它们。本文介绍了Euripus 1,一个灵活的硬件加速器内存检查点,可以创建不同的双向调试,错误恢复,或两者所需的检查点组合。特别是,Euripus是第一个提供合并友好的撤销日志(用于双向调试)的硬件技术,允许同时构建撤销和重做日志,并支持多级检查点以满足错误恢复的需要。Euripus的性能开销低(平均<5%),将双向调试的回滚延迟提高了>; 30%,并支持快速多级错误恢复,即使在非常高的错误率下也能实现>;95%的系统效率。
Bidirectional debugging and error recovery have different goals (programmer productivity and system reliability, respectively), yet they both require the ability to roll-back the program or the system to a past state. This rollback functionality is typically implemented using checkpoints that can restore the system/application to a specific point in time. There are several types of checkpoints, and bidirectional debugging and error-recovery use them in different ways. This paper presents Euripus1, a flexible hardware accelerator for memory checkpointing which can create different combinations of checkpoints needed for bidirectional debugging, error recovery, or both. In particular, Euripus is the first hardware technique to provide consolidation-friendly undo-logs (for bidirectional debugging), to allow simultaneous construction of both undo and redo logs, and to support multi-level checkpointing for the needs of error-recovery. Euripus incurs low performance overheads (<;5% on average), improves roll-back latency for bidirectional debugging by >;30%, and supports rapid multi-level error recovery that allows >;95% system efficiency even with very high error rates.