Example Checkpointing Application Code

These are the application programs that were checkpointing in the libckpt paper, and in some others.

We've made this page so that other researchers can use these codes as well. If you take any of these applications and use them for your research, we ask you to please cite the libckpt paper as the reference to their source:

James S. Plank, Micah Beck, Gerry Kingsley and Kai Li, ``Libckpt: Transparent Checkpointing under Unix'', Conference Proceedings, Usenix Winter 1995 Technical Conference, New Orleans, LA, January, 1995, pp. 213--223.


CELL.SHAR.Z

This is code for Cellular Automaton Simulation. Written in C.

MAT.SHAR.Z

This is code for matrix multiplication. Written in C.

MCNF

MCNF was obtained via a friend who requested that I not pass it on.

SOLVE.SHAR.Z

This is a program to solve random systems of N equations in N unknowns. It's purpose is to test how fast lapack is. The drag about porting solve is that you have to port enough of lapack to get it to run. It only uses the Fortran subroutine ``dgesv'' from lapack. I'm lucky because the lapack people are here at Tennessee, and thus I can just link to the libraries lapack.a and blas.a (see the makefile). You are probably less lucky, and will have to get lapack from netlib or www. To get more info about lapack, see http://www.netlib.org/lapack/index.html. Or:

echo "send index from lapack" | mail netlib@ornl.gov

This is not overly fun, but once you get it working, you'll be happier.


WATER

In the libckpt paper, there is an example program WATER. This is CHAMMP from the national center for atmospheric research. I obtained this program via netlib -- try sending email with the text "send index from chammp" to netlib@ornl.gov. Or use xnetlib, or anon ftp or http://www.netlib.org/chammp/index.html.

The Water test is test #5 from the suite. You can make the program run longer in two ways -- first by altering the input variable TAUE -- this is the number of hours you wish to model. Second is by changing the parameters in src/params.i. There are 5 sets of MM,NN,KK,NLAT,NLON, which you can alter to your specs. Read that file to figure out what they really mean.


Jim Plank: plank@cs.utk.edu