User Tools

Site Tools


docker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
docker [2019/12/03 11:03]
mimbert
docker [2019/12/06 13:34]
mimbert [Proposed solution]
Line 28: Line 28:
   * When running a task, images are instanciated to [[https://​docs.docker.com/​get-started/#​images-and-containers|containers]]. Inside the container, a //command// executable and arguments are run. This command can be specified in the image, but can also be overriden in the task's scenario, and additional executables can be //​exec//​uted in parallel in the container. This gives the experimenter a great deal of flexibility:​ During development/​debugging phases, one can run for example an ssh server in the container, allowing to connect interactively to the running container on the node. When the code and experiment are stable, the experimenter can switch to directly run the experiment code in the container, with no human interaction. All this can be changed in the image or in the task's scenario.   * When running a task, images are instanciated to [[https://​docs.docker.com/​get-started/#​images-and-containers|containers]]. Inside the container, a //command// executable and arguments are run. This command can be specified in the image, but can also be overriden in the task's scenario, and additional executables can be //​exec//​uted in parallel in the container. This gives the experimenter a great deal of flexibility:​ During development/​debugging phases, one can run for example an ssh server in the container, allowing to connect interactively to the running container on the node. When the code and experiment are stable, the experimenter can switch to directly run the experiment code in the container, with no human interaction. All this can be changed in the image or in the task's scenario.
   * The experiment results are structured differently. For each node, there is one directory per container, containing the stdout/​stderr of the container'​s command and a directory hierarchy with all the files that have changed (modified or added) during the lifetime of the container. This should reduce drastically the size of the results, only keeping what is relevant. The fact that the results are not compressed should be less annoying as well.   * The experiment results are structured differently. For each node, there is one directory per container, containing the stdout/​stderr of the container'​s command and a directory hierarchy with all the files that have changed (modified or added) during the lifetime of the container. This should reduce drastically the size of the results, only keeping what is relevant. The fact that the results are not compressed should be less annoying as well.
-  ​* **TO BE DONE** The homes of the users are NFS mounted on the nodes, and the home of the user is mounted in the containers. This gives a lot of flexibility on the way to organize the experimental workflow, regarding input datasets, output datasets and experimental code. Input dataset and code can be put in the images, in the user's home or in the task's scenario. Output dataset can be put in the user's home or can be retrieved from the results. Some precautions have to be taken regarding performance,​ since reading or writing on the user's home through NFS is not as efficient as reading or writing to the node's SSD storage, so users have to be aware of that when dealing with huge datasets / high throughputs of data, a common situation with SDR.+  * The homes of the users are NFS mounted on the nodes, and the home of the user is mounted in the containers. This gives a lot of flexibility on the way to organize the experimental workflow, regarding input datasets, output datasets and experimental code. Input dataset and code can be put in the images, in the user's home or in the task's scenario. Output dataset can be put in the user's home or can be retrieved from the results. Some precautions have to be taken regarding performance,​ since reading or writing on the user's home through NFS is not as efficient as reading or writing to the node's SSD storage, so users have to be aware of that when dealing with huge datasets / high throughputs of data, a common situation with SDR.
docker.txt ยท Last modified: 2019/12/06 13:34 by mimbert