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

Ioannis Doudalis, Milos Prvulovic
2012 2012 39th Annual International Symposium on Computer Architecture (ISCA)  
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
more » ... 1 , 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 consolidationfriendly 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 errorrecovery. 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. Virtual Address Bits L1 47−39 index Trie Root Address ... L2 38−30
doi:10.1109/isca.2012.6237023 dblp:conf/isca/DoudalisP12 fatcat:l32h2ms6xzcy7jvzxpuf6c4rbm