Notes about application dependency, installation, etc.
Information about the setup
Measured on a single bare-metal server in order to get precise measurements limiting any possibile bias and variance that virtualization can introduce.
The size of the image is measured with the du
command and with other commands provided by the container solution, when available
The container is launched and the memory footprint is measured with the free -m
command and with other commands provided by the container solution, when available
This test:
- does not depend on the application type
- is simple to implement to avoid measurement errors
- can be implemented for all the container solutions
Start the container and send a single character with netcat. Measure the time between the container is started and the character is received.
Start the container and execute the following command
echo -n 'm' | nc -q0 127.0.0.1 1234
On the same machine we run
nc -l 1234 | hexdump -C
to wait for the character.
Measured multiples times, in seconds, waiting 1 second between each measurement
Launch a given number of containers one after another one and measure the startup, stop time while measuring the memory consumption
Measured on cloud with specific applications in order to mimic real world used cases
Solutions:
- Docker
- Singularity
- Podman
Applications: https://github.com/NicholasRasi/phoronix-test-suite-docker#cloud
- Docker
- Singularity
- CharlieCloud
- Saurus
Applications: MPI
- Docker
- Balena
Applications: IoT application