Work in progress.
Back to QuickStart.
Run-time comparison
These are results of a very informal experiment (wall-clock time). Native OS and compilers identical to container versions (we think; can verify these later). Three runs each.
- gripper prob01, blind search:
- native build: 0.098 seconds, 0.101 seconds, 0.102 seconds
- Singularity: 0.320 seconds, 0.350 seconds, 0.364 seconds
- Docker: 1.124 seconds. 1.135 seconds, 1.203 seconds
- Vagrant: 1.726 seconds, 1.736 seconds, 1.792 seconds
- gripper prob07, blind search:
- native build: 19.985 seconds, 20.082 seconds, 20.134 seconds
- Singularity: 20.386 seconds, 20.488 seconds, 20.501 seconds
- Docker: 26.841 seconds, 27.030 seconds, 26.623 seconds
- Vagrant: 22.576 seconds, 22.616 seconds, 22.624 seconds
Vagrant results using "vagrant ssh -c". Most of the penalty over native build seems to be establishing the ssh connection. For Docker, we observed significantly different overheads when running similar tests on different machines. Whereas Singularity always presents a very small overhead when compared to the native build, Docker sometimes shows runtime overheads of around 40%. Again, keep in mind that these are very informal tests.
Other notes
points in favour of Singularity: once Singularity is installed: trivial setup, no root privileges required, leaves no traces in the filesystem
mention different isolation models for Singularity and Docker
Docker: emphasis on deployment and composition of services
Singularity: emphasis on running scientific experiments