12
Анализ потребления ресурсов гостевой операционной системой с помощью кода, загружаемого из гипервизора
Анна Мелехова, Роман Каган

Для эффективного управления ресурсами в системах виртуализации необходимы данные о потреблении ресурсов в гостевой операционной системе.  В QEMU/KVM для этого используется специальное виртуальное устройство, драйвер которого в гостевой ОС собирает такие данные и передаёт гипервизору через это устройство.  Однако набор требуемых данных находится в процессе оптимизации и может изменяться.  В то же время изменение гостевого драйвера под изменившиеся нужды гипервизора, как правило, затруднено.

Для решения этой проблемы предлагается загружать код для сбора данных в гостевую ОС из гипервизора и исполнять в специальной виртуальной машине, предоставленной гостевым драйвером и работающей в контексте гостевого ядра.  В качестве такой виртуальной машины рассматривается инфраструктура BPF (Berkley Packet Filter), которая уже используется в разных подсистемах ядра Linux (в частности, netfilter, сетевом планировщике, seccomp, подсистеме трассировки и т.п.)

Ожидаемый результат: код, реализующий описанную схему (в QEMU и в гостевом драйвере), или убедительное доказательство непригодности подхода для решения задачи.