学位論文要旨



No 125129
著者(漢字) 竹内,理
著者(英字)
著者(カナ) タケウチ,タダシ
標題(和) 複数OSを活用した高コストパフォーマンスを実現するストリームサーバアーキテクチャの提案
標題(洋)
報告番号 125129
報告番号 甲25129
学位授与日 2009.03.23
学位種別 課程博士
学位種類 博士(学際情報学)
学位記番号 博学情第28号
研究科 学際情報学府
専攻 学際情報学専攻
論文審査委員 主査: 東京大学 教授 坂村,健
 東京大学 教授 暦本,純一
 東京大学 教授 清水,謙多郎
 東京大学 准教授 越塚,登
 東京大学 准教授 中尾,彰宏
内容要旨 要旨を表示する

商用ストリーム配信サービスの出現に伴い,低コストでありながらも,高い配信性能やQoS 保証性能を達成できるコストパフォーマンスが高いストリーム配信サーバに対するニーズが高まりつつある.しかし,既存のストリーム配信サーバは,汎用OS 上のアプリケーション層で配信機能と管理機能を実現していることが多く,アプリケーション層の最適化だけで,高い配信性能やQoS 保証性能を達成することが困難であった.また,ストリーム専用OS を利用し,その上で配信機能と管理機能を実現するアプローチもありうるが,開発環境が充実していない専用OS 上で膨大な量のアプリケーション,管理ツールの開発が必要となるために開発コストが増大する,という課題があった.

このような課題を解決し,ストリーム配信サーバのコストパフォーマンスの飛躍的な改善を図るためには,汎用OS と複数OS を活用したストリームサーバアーキテクチャを新規に提案し,両OS の利点を兼ね備えさせることが解決策の一つとして考えられる.本研究では,上記実現を目指し,外付けI/O エンジン方式という新しいストリーム配信サーバの構築方式を提案する.さらに,当該アーキテクチャに基づいて既存市販ストリームサーバと機能互換なストリーム配信サーバを実装し,その性能向上効果や開発コード量削減効果などを定量的に評価する.

上記アーキテクチャに基づいてストリーム配信サーバを実装しても,一定量の専用OS のモジュール(特に,I/O デバイスドライバ),及び専用OS 上のアプリケーションの開発は不可避となる.そのため,この開発効率を改善も,ストリーム配信サーバのコストパフォーマンス改善に大きく役立つ.そこで,本研究では,さらに,専用OS と専用OS 上の開発効率を改善できるOS デバッガとして,「軽量仮想計算機モニタを利用したOS デバッガ」の提案と試作を行い,さらなるストリーム配信サーバのコストパフォーマンス改善を目指す.そして,上記デバッガを用いることで,開発環境の安定稼働,ログ&リプレイ機能などの開発効率の向上に寄与する機能を提供できると共に,このような機能を現実的なCPU 負荷で実現できることを示す.

外付けI/O エンジン方式は,既存の市販ストリーム配信サーバの機能互換性を維持しつつ,当該サーバの配信性能の向上,配信品質保証機能追加を少ない開発工数で実現するストリーム配信サーバの構成方式である.本方式は,汎用OS 上で動作する既存の市販ストリームサーバをベースとして使用するが,配信性能の向上,配信品質保証のため,そのサーバの配信機能のみを専用OS(筆者らが開発したHiTactix など)搭載サーバに移植,汎用OS搭載サーバと専用OS 搭載サーバを連動させて,一つのストリーム配信サーバを構築する.本方式の最適な実現方式を設計するため,まず,既存のストリーム配信サーバのモジュール構成を調査した.その結果,市販ストリームサーバは,クライアントからの配信開始・停止要求を受け付ける配信要求処理モジュール,当該要求到達を契機に管理処理を行う管理処理モジュール,当該要求到達を契機にストリームデータのI/O スケジューリングを行う配信制御モジュール,当該スケジュールに応じて実際のI/O 処理を実行する配信ドライバモジュールから通常なっていることがわかった.さらに,上記4 モジュールのうちどのモジュールを専用OS 搭載サーバに移植すれば移植量,配信性能,連動オーバーヘッド等を最適化できるかを検討した結果,配信制御モジュールと配信モジュールのみを専用OS に移植し,汎用OS 搭載サーバと専用OS 搭載サーバを,配信スケジュール開始・停止を行うインタフェースで接続するのが最善であることがわかった.Darwin ストリームサーバ(Apple 社が提供する市販ストリーム配信サーバ)とHiTactix 搭載の外付けI/O エンジンを本方式に基づき連動させたところ,上記連動は9.1K 行程度のコード追加で実現できること,連動オーバヘッドによるストリーム配信性能の劣化は1%以下に抑えられること,配信性能は既存のDarwin ストリーム配信サーバと比べて5 倍程度向上できること等を確認できた.

「軽量仮想計算機モニタを用いたOS デバッガ」は,専用OS の特にI/O デバイスドライバや,専用OS 上のアプリケーションの開発効率向上の実現を目的としている.特に,デバッグ環境の安定稼働保証,多様なOS やI/O デバイスドライバ開発への適用,デバッグ時に高いI/O 性能達成,の3 条件の同時充足ができないのが従来デバッグ環境の課題であり,これらの同時充足を目指した.さらに,提案した軽量仮想計算機モニタにロギング&リプレイ機能を追加するための実装方式を提案し,タイミングクリティカルなバグのデバッグ効率の向上を実現した.

提案したデバッグ方式は,従来のソフトウェアリモートデバッグ方式の改良である.しかし,従来方式と異なり,ターゲットマシン上でリモートデバッグ機能も内部に持つ軽量仮想計算機モニタが動作する.軽量仮想計算機モニタは,リモートデバッグ機能が使用するハードウェア資源のみを仮想化する部分ハードウェアエミュレーション機能を持つ.リモートデバッグ機能が使用するハードウェア資源はデバッグ対象OS が直接アクセスしないため,OS の異常動作時にも,デバッグ環境の安定稼働が保証できる.また,軽量仮想計算機モニタがOS に提供するインタフェースは実ハードウェアインタフェースと互換性があるため,様々なOS のデバッグに使用できる.さらに,NIC やHBA のような高速I/O デバイスに関しては,軽量仮想計算機モニタでエミュレーション処理を行わず,デバッグ対象OS が直接アクセスを実行するので,多様なI/O デバイスドライバ開発への適用が可能になる上,デバッグ時の高いI/O 性能達成も可能になる.実装した軽量仮想計算機モニタのI/O 性能の評価を行った結果,従来のHosted Virtual Machine Monitor と比べて5.4 倍のI/O 性能は達成し,現実的なCPU 負荷で上記3 条件を充足するデバッグ環境が実現できることがわかった.

さらに,軽量仮想計算機モニタを用いたOS デバッガに,ログ&リプレイ機能を追加するため,その実装方式の提案をおこなった.軽量仮想計算機モニタを用いたOS デバッガでは,デバッグ対象のOS がNIC やHBA などのハードウェアに直接アクセスを行い,デバイスレジスタアクセスやDMA 転送時に仮想計算機モニタを介さない.ロギング&リプレイ機能の追加を行うためには,これらの履歴の保存・再生が必要になるため,軽量仮想計算機モニタの起動契機付与方式,及びデバッグ対象OS による直接アクセス動作の追跡方式を新規に設計・実装する必要がある.起動契機付与方式,及び直接アクセス動作の追跡方式の設計はDMA 転送履歴の保存・再生の際に特に問題となる.本研究では,NIC 受信時の動作を中心に設計・実装を行った.NIC ドライバ動作をモデル化して上記方式検討を行った結果,(1)デバッグ対象OS(NIC ドライバ)割り込み要因レジスタ参照時,受信インデックスレジスタ更新時に軽量仮想計算機モニタの起動契機を与える,(2)受信ディスクリプタ,受信済みインデックスレジスタの更新履歴の追跡により,1 回の割り込みにおいて受信処理されたDMA 転送アドレス,サイズ,データ群の取得を行う方式にて履歴の保存・再生が可能であることがわかった.さらに,実装した軽量仮想計算機モニタによるロギング&リプレイ機能の実用性を評価するため,ネットワーク受信処理の履歴保存に要するCPU 負荷の測定を行った.評価の結果,ロギング&リプレイ処理を行うと,VMWare によるネットワーク受信処理と比較しても約38%程度のCPU 負荷の上昇に抑えられ,現実的なCPU 負荷でログ&リプレイ機能の実装が動作することがわかった.

最後に,外付けI/O エンジン方式及び軽量仮想計算機モニタを用いたOSデバッガによる,ストリーム配信サーバのコストパフォーマンス改善効果の見積りを行った.コストパフォーマンスの見積りは,想定している規模のストリーム配信サービスを提供するために,サービス事業者が負担すべきコストの総計の見積り値を比較することにより行った.見積りの結果,上記2 方式を使用することにより,従来のストリーム配信サーバと比べて,34%~59%のコストパフォーマンスの改善が達成できる見込みがあること,特に,性能向上によるハードウェア購入・保守・運用維持コストの低減量が大きく,専用OS 使用によるソフトウェア購入・保守コスト(ストリーム配信サーバベンダのソフトウェア開発費用)の増大量を上回ることを十分期待できることがわかった.

審査要旨 要旨を表示する

竹内理氏が提出した博士論文は、「複数OSを活用した高コストパフォーマンスを実現するストリームサーバアーキテクチャの提案」と題するもので、マルチメディアコンテンツのネットワークストリーム配信サーバを、汎用OSと専用OSを適切に組み合わせることで、コストの低い汎用PCサーバにおいても十分な高い性能を達成しつつ同時に、マルチメディアサーバの高い開発効率を達成するための方式を提案するものである。

本研究の背景は、商用ストリーム配信サービスの普及に伴い、低コストでありながらも、高い配信性能やQoS保証性能を達成するストリーム配信サーバに対するニーズが高まりつつあることである。こうした分野において、既存のストリーム配信サーバは、汎用OS上のアプリケーション層で配信機能と管理機能を実現していることが多く、アプリケーション層の最適化だけで、高い配信性能やQoS保証性能を達成することが困難であった。一方、ストリーム専用OSを利用し、その上で配信機能と管理機能を実現するアプローチもありうるが、ストリーム専用OSの開発環境が充実していない上に、頻繁な最新I/Oデバイス向けのドライバ開発が必要となるため、開発コストが高くなる、という課題もあった。

そこで、本博士論文の研究では、これらの課題の解決のため、汎用PCサーバを利用してハードウェアコストを抑えつつも、ストリーム専用OSを用いて高性能を達成するストリームサーバの効率の良い開発方式を提案した。効率の良い開発のためには、(1)少ない開発コード規模と高性能配信の両立方式、(2)専用OS向けデバイスドライバ開発効率の改善、の実現が必要である。

(1)を実現するためには、汎用OS上のアプリケーション層で配信機能と管理機能を実現している既存のストリーム配信サーバから、配信機能のみを専用OSを搭載する外付けの別サーバに移植、2サーバを連携させて1つのストリーム配信サーバを実現するストリームサーバアーキテクチャ(外付けI/Oエンジンアーキテクチャ)を提案した。そして、当該アーキテクチャに基づいてApple社のDarwinストリームサーバを改変し、9K程度のコード開発で、配信性能を約5倍向上できることを確認した。

また、(2)を実現するため、軽量仮想計算機モニタを利用した専用OS向けデバイスドライバ開発環境を提案、実装した。本開発環境では、従来のリモートデバッガと同様、ターゲットマシン上でデバッグ対象となる専用OSを動作させる。しかし、ターゲットマシンに、リモートデバッガが使用するハードウェア資源のみを仮想化する軽量仮想計算機モニタを搭載する改良を加え、デバッグ中の安定稼動を保証した。また、タイミングクリティカルなバグが発生した際に、当該実行を命令レベルで忠実に再現できるロギング&リプレイ機能も組み込むことで、デバッグ効率向上を目指した。当該軽量仮想計算機モニタを用いた開発環境のI/O性能を評価した結果、VMwareと比べたI/O性能劣化は38%に抑えられることが判明し、現実的なオーバヘッドで目標機能を実現できることを確認できた。

本研究の成果の主要な業績として、情報処理学会論文誌に3本、国際会議IEEE DATEに1本が掲載されており、十分に高い業績を有している。それだけでなく、当該研究成果は製品化されており、実際の商用のビデオストリーム配信に利用されていることは、高く評価できる。また、竹内氏は、過去においては、すでに先行研究を含めれば、10本以上の査読付き論文及び、2005年に情報処理学会の論文賞も受賞としており、計算機科学分野の研究者として、すでに十分に確立している。

そこで、本審査委員会は、本論文が博士(学際情報学)の学位に相当するものと判断する。

UTokyo Repositoryリンク http://hdl.handle.net/2261/25306