仮想 I/O の高速化手法についてまとめました。特にネットワーク I/O の高速化について調べました。 デバイスの仮想化 仮想マシンが利用するネットワークカードは多くの場合、QEMU のようなエミュレータによってエミュレーションされており、物理的なネットワークカードとのやりとりはホスト上で動作する仮想スイッチを介して行われます。*1以下に構成を図示します。 エミュレートされるデバイスは Intel の 1Gbps NIC 等、実際に存在するネットワークカードと、virtio-net のような、物理的なハードウェアが存在しないインターフェースがあります。 仮想化技術は大きく「完全仮想化」と「準仮想化」に分類されます。*2 完全仮想化によってゲストへ提供される環境は、ゲストからは、現実に存在する物理ハードウェアと全く同じように見えるようエミュレートされます。結果として、ゲスト OS は、仮想化
![仮想 I/O 高速化手法まとめ - かーねるさんとか](https://cdn-ak-scissors.b.st-hatena.com/image/square/0fe9a8ea7e06f9db6e81d16aca9b9b0e4ce12a26/height=288;version=1;width=512/https%3A%2F%2Fraw.githubusercontent.com%2Fyasukata%2Fasset%2Fmaster%2Fimg%2Fvirtualio_20180423%2Fvirtio-arch.png)