見出し画像

A Study on Operating System Virtualization Optimized for Functional Requirements

2021年度研究会推薦博士論文速報
[システムソフトウェアとオペレーティング・システム研究会]

味曽野 雅史
(ミュンヘン工科大学 博士研究員)

邦訳:機能要件に最適化されたオペレーティングシステムの仮想化に関する研究

■キーワード
仮想化技術
オペレーティングシステムシステムソフトウェア

【背景】仮想化技術によりシステムソフトウェア機能の拡張が可能
【問題】仮想化による性能のオーバヘッドや信頼が必要な要素の増加
【貢献】複数のユースケースで機能要件に最適化した仮想化手法の提案と実現

 仮想化とはずばり,物事の間に新たな抽象化レイヤーを導入することである.仮想化によって実際には存在しないものを,あたかも存在するかのように見せることが可能となる.仮想化という用語はさまざまな分野で利用されるが,ここでは特にオペレーティングシステム(OS)の仮想化を考える.OSの仮想化技術によって,たとえばWindows OS上のマシンで別のOSであるLinuxを動作させることが可能となる.普段よく耳にするクラウドサービスも,仮想化技術を用いて,1台のサーバ上で複数の(ときには何千台もの)仮想マシンを動作させることで,効率的な計算資源の利用を実現している.

 さて,OSの仮想化というと,しばしば今言ったようなクラウドサービスのように複数の仮想マシンを動作させることだと捉えられがちであるが,実際には仮想化で実現できることはそれだけに限定されない.最初に書いたように,仮想化の本質とは新たな抽象化レイヤーを導入することで,この抽象化レイヤーを導入することで,上位のレイヤー(OS仮想化の場合はOSそのもの)に対して透過的に処理が追加できる点が最大の特徴である.仮想化によって,OSのセキュリティ機能を高めたり,デバイスの機能を拡張することが可能となる.しかし,仮想化は銀の弾丸ではない.汎用的な仮想化では,処理のオーバヘッドの増加や,信頼すべきソフトウェアコンポーネントが増大するといった課題が存在する.本研究では,4つのユースケースにおいて,機能要件に最適化した仮想化機構を設計し,通常の仮想化では避けられない欠点を補う手法を提案した.

 研究の1つとして実施したのが,仮想マシンの管理を司るハイパーバイザ(Virtual Machine Monitor; VMMともいう)のデバイスドライバの検査である$${^{1),3)}}$$.デバイスドライバにバグがあると最悪ハイパーバイザ全体にそのバグの影響が及ぶため,頑健なデバイスドライバはセキュリティ的に重要である.研究では,デバイスが故障したときにその故障をデバイスドライバが正しく処理できるかどうかを,疑似的にエラーを挿入することで検査する手法を提案した(図参照).このとき,検査対象のデバイスドライバを持つハイパーバイザを,検査用のハイパーバイザの上で動作させる.このように入れ子になっている仮想化のことをネステッド仮想化と呼ぶ.通常のネステッド仮想化では,通常の仮想化よりもネストしている分,動作のオーバヘッドが大きくなる.一方で,効率的な検査のためには動作オーバヘッドは小さい方がよく,なにより動作オーバヘッドがあまり大きいとデバイスがタイムアウトなどで通常とは異なる動作をする可能性がある.今回は1つの検査対象のハイパーバイザだけ動作できればよいという点に着目し,汎化に必要なエミュレーション処理を省くことで通常時はネストしていない仮想化と同等の性能を実現した.また実際に提案した手法を利用して,2つの商用ハイパーバイザにおいて複数のデバイスドライバのバグを発見した.

 博士研究ではこのほかに,デバイス保護のためのIOMMU仮想化,NUMA環境で性能を最大限引き出すための仮想化$${^{2)}}$$,並びにハイパーバイザによるDDoS防止機構$${^{4)}}$$というユースケースに関して研究を実施した.

画像1

参考文献
1)Misono, M., Hatanaka, T. and Shinagawa, T. : DMAFV: Testing Device Drivers against DMA Faults, In Proceedings of the 37th ACM Symposium On Applied Computing (ACM SAC 2022) (Apr 2022).
2)味曽野雅史,林 遼,品川高廣:仮想NUMAマシンの性能及び弾力性の向上,第152回システムソフトウェアとオペレーティング・システム研究会,オンライン(2021年5月),情報処理学会研究報告,第2021-OS-152巻,情報処理学会(2021年5月).
3)Misono, M., Ogino, M., Fukai, T. and Shinagawa, T. : FaultVisor2: Testing Hypervisor Device Drivers against Real Hardware Failures, In Proceedings of the 10th IEEE International Conference on Cloud Computing Technology and Science (CloudCom 2018), pp.204-211 (Dec. 2018).
4)Misono, M., Yoshida, K., Hwang, J. and Shinagawa, T. : Distributed Denial of Service Attack Prevention at Source Machines, In Proceedings of the 16th IEEE International Conference on Dependable, Autonomic and Secure Computing (DASC 2018), pp.488-495 (Aug. 2018).

(2022年5月31日受付)
(2022年8月15日note公開)

ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー
 取得年月日:2022年3月
 学位種別:博士(情報理工学)
 大学:東京大学
 正会員

ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー

推薦文[コンピュータサイエンス領域]システムソフトウェアとオペレーティング・システム研究会
仮想化技術は現代的なコンピュータシステムの構築に欠かせない技術ですが,仮想化するためのコストが大きいことが課題になっています.この研究は,仮想化を応用する先で必要となる機能要件に応じて,仮想化の度合いを変化させて最適化することで,機能と柔軟性のバランスをとることが可能な次世代技術を提案しています.


研究生活
  もともとどうやってコンピュータは動いているのだろう?という漠然とした疑問と好奇心で情報分野に進学しました.学部のころはコンピュータを制御しているオペレーティングシステムを勉強すればコンピュータのことが理解できるのでは?と最初は軽い気持ちでいましたが,システムソフトウェア分野は深淵で,研究しても研究しても底が見える気がしません.コンピュータシステムはもはや私たちの生活と切り離すことはできない必須の存在です.それらの基盤を支えるシステムソフトウェアを研究し,多くの人に利用される新しい仕組みができたら幸せなことですし,何より自分で提案した新しい仕組みが実システム上で機能した瞬間はとても楽しいです.