Differences between revisions 1 and 4 (spanning 3 versions)
Revision 1 as of 2019-06-12 16:52:08
Size: 1306
Comment:
Revision 4 as of 2022-06-17 19:53:26
Size: 1988
Editor: MalteHelmert
Comment: Update Singularity => Apptainer.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
/!\ Work in progress.
Line 8: Line 6:
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. These are results of a very informal experiment (wall-clock time) run in 2019. Please treat it as anecdotal and possibly outdated evidence. Native OS and compilers identical to container versions (we think; can verify these later). Three runs each.
Line 12: Line 10:
   * Singularity: 0.320 seconds, 0.350 seconds, 0.364 seconds    * Apptainer (then called Singularity): 0.320 seconds, 0.350 seconds, 0.364 seconds
Line 17: Line 15:
   * Singularity: 20.386 seconds, 20.488 seconds, 20.501 seconds    * Apptainer: 20.386 seconds, 20.488 seconds, 20.501 seconds
Line 22: Line 20:
For Docker, we observed significantly different overheads when running similar tests on different machines.
In our tests, Apptainer/Singularity always caused 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.
Line 25: Line 26:
points in favour of Singularity: once Singularity is installed: trivial setup, no root privileges required, leaves no traces in the filesystem  * points in favour of Apptainer over Docker:
   * once Apptainer is installed, setup is trivial/non-existent
   * no root privileges needed
   * leaves no permanent traces on the machine: the planner is just a single file that can be used like a shell script with no dependencies or changes to the system
Line 27: Line 31:
mention different isolation models for Singularity and Docker

Docker: emphasis on deployment and composition of services

Singularity: emphasis on running scientific experiments
 * Apptainer and Docker are made for different purposes and have different isolation models. If you care about security, it is good to be aware of what they do or don't do.
   * Apptainer: emphasis on running scientific experiments
   * Docker: emphasis on deployment and composition of services

Back to QuickStart.

Run-time comparison

These are results of a very informal experiment (wall-clock time) run in 2019. Please treat it as anecdotal and possibly outdated evidence. 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
    • Apptainer (then called 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
    • Apptainer: 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. In our tests, Apptainer/Singularity always caused 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 Apptainer over Docker:
    • once Apptainer is installed, setup is trivial/non-existent
    • no root privileges needed
    • leaves no permanent traces on the machine: the planner is just a single file that can be used like a shell script with no dependencies or changes to the system
  • Apptainer and Docker are made for different purposes and have different isolation models. If you care about security, it is good to be aware of what they do or don't do.
    • Apptainer: emphasis on running scientific experiments
    • Docker: emphasis on deployment and composition of services

FastDownward: WhatFlavourIsForMe (last edited 2022-06-17 19:53:26 by MalteHelmert)