## Memo
## Memo with LLM
## Abstract
[[KVM]]はLinux上で主流のVMハイパーバイザーであり、virtio-blkなどのvirtioファミリーのバックエンドを実現するために[[QEMU]]に依存している。しかし、KVM/QEMUベースの準仮想化は、複数のコンテキストスイッチによってゲストのI/Oパスを長引かせます。高速な [[NVMe]] ストレージデバイスが広く使用されるようになると、ソフトウェアのオーバーヘッドが無視できなくなります。本稿では、効率的なKVM/QEMUベースのストレージ準仮想化のためのvirtio-blkの拡張であるEXOを紹介します。その洞察は、QEMUバックエンドの処理がいかに複雑であっても、ゲストのI/Oリクエストを処理するために、ホストストレージスタックはリクエストのゲストからホストへのアドレスマッピングを知るだけでよいということです。そのため、virtio-blkの元の低速I/Oパスをフォールバックとして保持し、[[eBPF]]を活用して、ユーザー空間のバックエンド処理に切り替えることなくアドレスマッピングを直接クエリするカーネル内高速パスを導入します。広範な評価により、既存のストレージ準仮想化ソリューションと比較して、EXOは同等またはそれ以上のパフォーマンスを達成することが示されました。