Skip to content

Latest commit

 

History

History
102 lines (65 loc) · 3.89 KB

3.3_Comparing_Performances_HPC.md

File metadata and controls

102 lines (65 loc) · 3.89 KB

3.3 Comparing Performances - HPC

3.3.1 Singularity

Notes

  • by default Singularity bind mounts /home/$USER, /tmp, and $PWD into the container at runtime
  • the default image Ubuntu 18.10 does not have netcat so it is installed during the %post in the image definition
  • to use ping we need capability CAP_NET_RAW that can be added

Setup

  • requires the installation of Golang
  • requires sudo for the installation but it support the installation without the root with kernel >= 3.8

Image size

  • images can be built with a definition file (similar to a Dockerfile) and SIF file is produced
  • SIF are immutable, but during testing and debugging an image can be written with the sandbox format
  • ubuntu:18.04, amd64:
    • 36 MB (Dockerhub)
    • 36 MB (sif du)
    • 69 MB (Singularity folder du)

Memory footprint

  • ubuntu:18.04
    • 2 MB with free -mh

3.3.2 CharlieCloud

Notes

  • Charliecloud makes host directories available inside the container using bind mounts

Setup

  • requires sudo for the installation but can be executed without installation

Image size

  • Ubuntu : 18.04, amd64: 25.49 MB from Dockerhub

  • it uses Dockerhub to pull images and then the image is flatten into a tarball with ch-builder2tar

  • the tarball can be distributed and unpacked

  • the tarball size is 25 MB

  • the unpacked folder size is 70 MB

  • for better performance unpack the image into tmpfs filesystem

  • the image is read-only

Memory footprint

The process is launched as if it was launched on the interacting-with-the-host, 0 MB measured with free -mh

3.3.3 Sarus

  • version 1.0.1

  • last version 1.1.0 does not work

    WARN[0000] signal: killed                                
    ERRO[0000] container_linux.go:349: starting container process caused "process_linux.go:297: applying cgroup configuration for process caused \"failed to write \\\"0-31\\\" to \\\"/
    sys/fs/cgroup/cpuset/container-gdfrtcabwhmhrvvr/cpuset.cpus\\\": write /sys/fs/cgroup/cpuset/container-gdfrtcabwhmhrvvr/cpuset.cpus: invalid argument\"" 
    container_linux.go:349: starting container process caused "process_linux.go:297: applying cgroup configuration for process caused \"failed to write \\\"0-31\\\" to \\\"/sys/fs/cgro
    up/cpuset/container-gdfrtcabwhmhrvvr/cpuset.cpus\\\": write /sys/fs/cgroup/cpuset/container-gdfrtcabwhmhrvvr/cpuset.cpus: invalid argument\""
    

Notes

Setup

  • the configuration script needs to run with root privileges in order to set Sarus as a root-owned SUID program
  • the configuration script requires the program mksquashfs to be installed on the system

Image size

  • Ubuntu : 18.04, amd64: 24.65 MB from Dockerhub, 24.65 MB with sarus images and du
  • the image is then squashed with squashfs
  • the image can be downloaded from Dockerhub or loaded from tar archive (exported with Docker)
  • images are stored in ~/.sarus/images

Startup time

Ubuntu 18.04:

Startup min/mean/max/std duration: 0.1099/0.1280/0.1416/0.0086
Startup + shutdown min/mean/max/std duration: 0.1372/0.1498/0.1651/0.0087

Memory footprint

  • 2 MB measured with free -mh

3.3.4 Shifter

No documentation on how to install and use Shifter is provided