BOINC / boinc

Open-source software for volunteer computing and grid computing.
https://boinc.berkeley.edu
GNU Lesser General Public License v3.0
2.03k stars 449 forks source link

Docker job persistence #5882

Closed davidpanderson closed 2 weeks ago

davidpanderson commented 2 weeks ago

Docker containers are not persistent. If you turn off the host while a container is running, the container's 'top layer' (filesystem changes relative to the image) are lost.

Hence if a Docker app does checkpoint/restart, the checkpoint file will be lost and the job will always start from the beginning.

However: if a host directory is mounted in the container, changes to files in that directory are persistent.

So I propose that:

If Docker jobs use for an input file (or executable), the file will be in the slot dir (and hence in /app) when the container is started.

If a Docker app wants to avoid copying, it can not use , parse the link file and access the file in the project dir.

This simplifies everything a bit. E.g. there's no need for copy commands in the job.toml file