|
eCommons@Cornell >
Faculty of Computing and Information Science >
Computing and Information Science >
Computing and Information Science Technical Reports >
Please use this identifier to cite or link to this item:
http://hdl.handle.net/1813/5667
| Title: | Man vs. Machine : Comparing Handwritten and Compiler-generated
Application-Level Checkpointing |
| Authors: | Ezick, James Marques, Daniel Pingali, Keshav Stodghill, Paul |
| Keywords: | computer science technical report |
| Issue Date: | 12-Oct-2004 |
| Publisher: | Cornell University |
| Citation: | http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cis/TR2004-1967 |
| Abstract: | The contributions of this paper are the following. We describe the
implementation of the $C^3$ system for semi-automatic application-level checkpointing of C programs. The system has (i) a pre-compiler that instruments C programs so that they can save their states at program execution points specified by the user, and (ii) a novel memory allocator that manages the heap as a collection of pools. We describe two static analyses for reducing the overhead of saving and restoring the application state. The first one optimizes stack variables, while the second one optimizes heap data structures. To benchmark our system, we compare the overheads introduced by our semi-automatic approach with the overhead of handwritten application-level checkpointing in an n-body code written by Joshua Barnes. Except for very small problem sizes, these overheads are comparable. We highlight various algorithmic challenges in the optimization of application-level checkpointing that should provide grist for the mills of the PLDI community. |
| URI: | http://hdl.handle.net/1813/5667 |
| Appears in Collections: | Computing and Information Science Technical Reports
|
Items in eCommons are protected by copyright, with all rights reserved, unless otherwise indicated.
|