Managed process/container

The Cedana daemon is designed to manage the entire lifecycle of a process/container, including checkpoint/restore, in the larger Cedana system.

Managed processes/containers are those that are spawned using cedana run (CLI reference). This command creates a managed job, which can be checkpointed and restored using cedana dump job and cedana restore job subcommands.

By default, jobs are stored in a local DB (in /tmp). You may set the db.path in configuration to change the path to persist it across restarts. If you're authenticated, you may set the db.remote to true in configuration to use a remote DB at your specified Cedana endpoint instead.

Create a new job

To run a new managed job:

Where <type> can be process, containerd, runc, etc. See features for all plugins that support running managed jobs.

For example, to run a new managed process:

The --jid flag is optional, and if not provided, a random job ID will be generated.

Manage an existing job

It's also possible to start managing an existing process/container:

Where <type> can be process, containerd, runc, etc. See features for all plugins that support managing existing jobs.

For example, to manage an existing process:

Manage an upcoming job

It's also possible to start managing an upcoming process/container:

Where <type> can be process, containerd, runc, etc. See features for all plugins that support managing upcoming jobs. The manage command will block and wait for the process/container to become available.

For example, to manage an existing runc container:

List managed jobs

The subcommand cedana job has many subcommands such as list, kill,m delete, etc. Check the CLI reference for all available subcommands.

cedana ps is a shorthand for cedana job list.

Attach I/O

To attach to the I/O of a job, use the --attach flag:

This will attach the standard input, output, and error streams to the terminal, including the job's exit status. Press Ctrl+C to detach, and the job will continue running in the background.

If you list the jobs, you will see that the job is attachable:

To attach to the job again, use the cedana job attach subcommand:

Or the generic cedana attach if you want to attach using the job's PID:

If you want to make a job attachable, but not attach to it immediately, you can use the --attachable flag:

View job logs

By default, the jobs stdout/stderr are stored in the /var/log/ directory. If you do cedana job list, you will see the path to the log file.

You can also pass a custom log path. See CLI reference for cedana run subcommand.

If the job has attachable I/O, it will appear as such:

Checkpoint/restore

Once the daemon has started managing a job, it can be checkpointed and restored using the cedana dump job and cedana restore job subcommands. See managed checkpoint/restore basics for more information.

Checkpoint/restore with GPUs

GPU C/R support is also available for managed jobs. Check out the checkpoint/restore with GPUs guide for more information.

Last updated

Was this helpful?