Foundationপ্রথম নীতি থেকে
LEVEL 12 · Virtualization, Containers & Cloud

virtio

ভার্টিও

Hypervisor-স্বাধীন, open standard paravirtualized I/O ইন্টারফেস — virtqueue ring buffer দিয়ে batched, কম-VM-exit disk/network access দেয়।

also: virtio-net, virtio-blk, virtio-scsi, PV driver

virtqueue = descriptor table {addr,len} + available ring (guest→host) + used ring (host→guest)
N operation, batch হলে ~ceil(N / batch) VM-exit (N-এর বদলে)
  • Rusty Russell (2008)-এর পেপার থেকে জন্ম — প্রতিটা hypervisor-এর আলাদা PV driver বানানোর বদলে একটা common standard, আজ OASIS-এ সংজ্ঞায়িত
  • একই virtio-net/virtio-blk driver KVM, Xen (HVM+PV-drivers), অন্য compliant hypervisor-এ অপরিবর্তিত চলে
  • সুবিধা batching থেকে আসে — batch size ১-এ full-device-emulation-এর সমান VM-exit সংখ্যা, লাভ নেই
  • Windows guest-এ নেটিভভাবে নেই বলে আলাদা install লাগে (virtio-win ISO); Linux kernel-এ built-in