Compiler support for fine-grain software-only checkpointing

COMPILER CONSTRUCTION, CC 2012(2013)

引用 6|浏览0
暂无评分
摘要
Checkpointing support allows program execution to roll-back to an earlier program point, discarding any modifications made since that point. Existing software-based checkpointing methods are mainly libraries that snapshot all of working-memory, and hence have prohibitive overhead for many potential applications. In this paper we present a light-weight, fine-grain checkpointing framework implemented entirely in software through compiler transformations and optimizations. A programmer can specify arbitrary checkpoint regions via a simple API, and the compiler automatically transforms the code to implement the checkpoint at the granularity of individual stores, optimizing to remove redundancy. We explore two application areas for this support. First, we investigate its application to debugging, in particular by providing the ability to rewind to an arbitrarily-placed point in a buggy program's execution. A study using BugBench applications shows that our compiler-based approach is more than 100x less overhead than full-process checkpointing. Second, we demonstrate that compiler-based checkpointing support can be leveraged to free the programmer from manually implementing and maintaining software rollback mechanisms when coding a back-tracking algorithm, with runtime overhead of only 15% compared to the manual implementation.
更多
查看译文
关键词
compilerbased checkpointing support,fine-grain software-only checkpointing,earlier program point,compiler-based checkpointing support,fine-grain checkpointing framework,compiler support,compiler transformation,checkpointing overhead,software-based checkpointing method,checkpointing scheme,prohibitive overhead,arbitrarily-placed point,checkpointing support,unoptimized checkpointing,program execution,user-level checkpointing,full-process checkpointing,buggy program,fine-grain checkpointing support
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要