User`s guide
IST-033576 D2.1.4
• Files must exist at their original paths and have permissions that per-
mit them to be opened for the original access modes. It is permissible
to use a copy of the original file (for instance when performing migra-
tion).
• Files open for reading should not be modified relative to their contents
when the checkpoint was taken in any way observable by the applica-
tion.
• Files that are open for writing which are written in an append-only
manner (regardless of the O_APPEND flag) may have data appended
after the checkpoint was taken. Such data will be truncated away when
the application is restarted.
• Files that are open for both reading and writing should be restored to
exactly their state at the time of the checkpoint.
• An exception to the open files rules above exists for files already unlinked
(deleted) at the time the checkpoint is taken. When BLCR encounters such
a file, its entire contents is saved in the checkpoint context file and is later
restored as a new (also unlinked) file.
Of these requirements, BLCR is only able to verify the availability of the PIDs
and the existence and permissions of the executable, libraries and open files. Fail-
ure to satisfy those constraints will lead to an explicit failure from BLCR. Viola-
tion of the rules against modification to any files will not be detected by BLCR
and the resulting effects on the restarted application are unpredictable.
You may restart a program on a different machine than the one it was check-
pointed on if all of these conditions are met (they often are on cluster systems,
especially if you are using a shared network filesystem), and the kernels are the
same. The restriction on executables and their shared libraries being the same can
be a problem for systems using prelinking; see the BLCR FAQ for information on
dealing with systems that prelink.
You can restart a process by using cr_restart on its context file:
% c r _ r e s t a r t c o n t e x t .1 5 0 0 5
The original process will be restored, and resume running in the exact state
it was in at checkpoint time. Note that this includes restoring its process ID, so
you cannot restart a program unless the original copy of it has exited (otherwise
cr_restart will fail with a message that the PID is already in use). You may restart
a process from a particular context file as many times as you wish. The context
file is not automatically removed at any point, so you should delete it if/when it is
no longer useful to you.
XtreemOS–Integrated Project 46/49










