KVM의 vhost (이하 k-vhost)가 범용적으로 사용
Vhost는 Virtio를 이용한 장치 가상화의 성능을 개선하는 모듈
QEMU Emulator에 구현되어 있던 VirtIO backend를 커널에서 직접 수행함으로써 성능을 더욱 향상
Vhost의 종류에는 네트워크는 k-vhost-net, 스토리지는 k-vhost-scsi, k-vhost-blk 등
다양한 게스트 머신이 호출하는 I/O가 QEMU Emulator로 Serialize 되는 것을 막아주어 Global Mutex를 벗어날 수 있게 함으로써 성능의 Scalability를 보장
Virtio back-end 역할을 vhost가 커널에서 직접 수행함으로써 Mode Switching Overhead를 감소시키며 Scalability 문제도 함께 해결하는 구조
인터럽트 기반의 복잡한 호출 구조를 가지고 있고, memcpy나 lock이 다수 존재하여 성능의 한계가 분명히 존재
- vhost-net
- vhost-scsi
- vhost-blk