Return to search

Compiler Support for Fine-grain Software-only Checkpointing

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 thesis 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 three 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 backtracking algorithm, with runtime
overhead of only 15% compared to the manual implementation. Finally, we utilize the efficient
software-only checkpointing to support overlapping execution with delinquent loads through the
demonstrations both control-speculation and data-speculation transformations. We further propose
a theoretical speculative timing model and confirm its prediction effectiveness with real-machine
workload.

Identiferoai:union.ndltd.org:LACETR/oai:collectionscanada.gc.ca:OTU.1807/36079
Date13 August 2013
CreatorsZhao, Cheng Yan
ContributorsSteffan, J. Gregory, Amza, Cristiana
Source SetsLibrary and Archives Canada ETDs Repository / Centre d'archives des thèses électroniques de Bibliothèque et Archives Canada
Languageen_ca
Detected LanguageEnglish
TypeThesis

Page generated in 0.002 seconds