Although Condor can schedule and
run any type of process, Condor does have some limitations on jobs that it can
transparently checkpoint and migrate:
- 1.
- On some platforms, specifically HPUX and Digital Unix
(OSF/1), shared libraries are not supported; therefore on these
platforms applications must be statically linked (Note: shared library
checkpoint support is available on IRIX, Solaris, and LINUX).
- 2.
- Only single process jobs are supported, i.e. the fork(2), exec(2),
system(3) and similar calls are not implemented.
- 3.
- Signals and signal handlers are supported, but Condor reserves the
SIGUSR2 and SIGTSTP signals and does not permit their use by user code.
- 4.
- Many interprocess communication (IPC) calls are not supported, i.e. the
socket(2), send(2), recv(2), and similar calls are not implemented.
- 5.
- All file operations must be idempotent -- read-only and write-only file
accesses work correctly, but programs which both read and write to the
same file may not.
- 6.
- Each Condor job that has been checkpointed has an associated
checkpoint file which is approximately the size of the address space of the
process. Disk space must be available to store the checkpoint file on the
submitting machines (or on the optional Checkpoint Server module).
Note: these limitations only apply to jobs which Condor
has been asked to transparently checkpoint. If job checkpointing is not
desired, the limitations above do not apply.