-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Thanks for the interesting paper! I read it from here: https://arxiv.org/ftp/arxiv/papers/2110/2110.11462.pdf
-
First, I couldn't find in the paper where you report the exact versions/commits you used in the evaluation? At least, for QEMU, I couldn't find the exact version used.
-
Second, you have this finding: " Boot time depends heavily on the used machine model, as QEMU with the µVM machine model is (unexpectedly) the slowest out of all." (µVM = microvm machine model)
Looking at your script, I see this qemu-with-microvm command line:
container_benchmarks/startup/osv/run.sh
Line 63 in 683fbf6
| measure-endtoend result-uvm "qemu-system-x86_64 -m 256M -smp 1 --nographic -kernel /path/to/kernel.elf -append --nopci -append --console=serial -M microvm,x-option-roms=off,pit=off,pic=off,rtc=off -nodefaults -no-user-config -no-reboot -global virtio-mmio.force-legacy=off -device virtio-blk-device,id=blk0,drive=hd0,scsi=off -drive file=/path/to/usr.img,if=none,id=hd0,cache=none,aio=native -netdev user,id=un0,net=192.168.122.0/24,host=192.168.122.1 -device virtio-net-device,netdev=un0 -enable-kvm -cpu host,+x2apic -serial stdio" |
ACPI is enabled by default in microvm machine model, and when it's enabled QEMU uses SeaBIOS. When ACPI is disabled, QEMU uses qBoot (supposedly much faster than SeaBIOS). See e.g. https://www.kraxel.org/blog/2020/10/qemu-microvm-acpi/, section "ACPI support for microvm" for details on enable/disable ACPI.
qBoot can supposedly boot a VM in 40ms: https://lwn.net/Articles/645455/ ("Enter qboot, a minimal x86 firmware that runs on QEMU and, together with a slimmed-down QEMU configuration, boots a virtual machine in 40 milliseconds...")
Did you try the qemu -no-acpi experiment? It seems that you imply that QEMU always uses qBoot in your experiments, which doesn't seem to be true.