From the paper, "the main advantage of unikernels over traditional operating
systems is their low resource consumption. ... Small image sizes are not only
useful for minimizing disk storage, but also to enable quick boot times for VMs
based on those images. LightVM has shown
that it is possible to boot a no-op unikernel in around 2ms, with a heavily
optimized Xen toolstack. In our evaluation, we use standard virtualization
toolstacks instead, and wish to understand how quickly Unikraft VMs can boot.
When running experiments, we measure both the time taken by the VMM (e.g.
Firecracker, QEMU,
Solo5) and the boot time of the actual
unikernel/VM, measured from when the first guest instruction is run until
main()
is invoked. The results are shown in [this figure], showing how long
a helloworld unikernel needs to boot with different VMMs. Note that Unikraft's
boot time (only the guest, without VMM overheads) ranges from tens to hundreds
of microseconds when the VM has no devices, and up to 1ms when the VM has one
networking interface."
./genimages.sh
downloads and builds the tested images anm takes about 2m on average;./benchmark.sh
runs the experiment and takes about 6m30s in average; and./plot.py
is used to generate the figure.
Note: like
fig_14
, this experiment relies on Unikraft tracepoints. Please refer to itsREADME.md
for further information.