今年度は仮想計算機モニタ(VMM)において仮想計算機(VM)内のゲストOSの情報を用いたきめ細かいパケットフィルタリングの実装を行った。まず、昨年度の設計に基づいて、パケットフィルタをXenのドメイン0と呼ばれる特権VM上に実装した。この実装を行うために、パケットフィルタとドメイン0のOSカーネルの間に必要となるインタフェースを新たに定義した。このシステムの性能評価を行ったところ、ドメイン0からゲストOSの情報を解析する部分に非常に大きなオーバヘッドがあることが分かった。そこで、このシステムの高性能化のために、パケットをまとめて一括で検査する機構、および、同一コネクション内を流れるパケットの検査を省略する機構を開発した。前者の機構を実現するために、パケットフィルタとドメイン0のカーネルの間のインタフェースの修正を行った。これらの機構により、性能を大幅に改善することができた。さらに高速化を行うにはパケットフィルタをVMM内に組み込む必要があるため、その際に必要になるドメイン0とVMMの間のインタフェースの設計を行った。 また、VMMからゲストOS内のスケジューラを操作することによるグローバルスケジューラについて、WindowsのI/0待ちプロセスの制御に取り組んだ。昨年度までにLinuxのI/0待ちプロセスは制御できるようになっていたため、同様の手法を用いることができるかどうか調査したところ、Windowsには適用することができないことが分かった。Windowsに適用できる手法を模索したが、WindowsではI/0待ちしているプロセスを制御するのは困難であるという結論が得られた。そこで、通常のプロセスを制御する手法だけでどのくらい正確に制御ができるか調べたところ、ある程度正確に制御を行うことができることが分かった。
|