VM Resource Handler
To facilitate the execution of VMRs, FIREWHEEL uses a VM Resource Handler, which is a process which launches on the compute node and manages the VMRs for that specific VM.
In addition to being in charge of loading VMRs on to a VM, it also facilitates executing commands on VMs and extracting information out of the environment (e.g. pull file).
Practically, the VM Resource Handler dynamically loads in drivers which perform the actual interactions between the VM and the VM Resource Handler.
FIREWHEEL currently supports multiple VM Resource Handler communication drivers, including:
QemuGuestAgentDriverfor QEMU/KVM VMs using the QEMU Guest Agent. This driver is selected with engineQemuVM. See QEMU Guest Agent.ADBDriverfor Android guests using the Android Debug Bridge. This driver is selected with engineADB. See Android Debug Bridge Driver.
Note
Additional drivers may be added in the future for other guest communication mechanisms, such as miniccc.
This dynamic loading mechanism allows FIREWHEEL to support different guest communication mechanisms without changing the VM Resource Handler’s scheduling logic.
VM Resource Logs
The VM Resource Handler also facilitates logging VMR data onto the physical host.