学位論文要旨



No 125773
著者(漢字) ドレベス ホベルト ユング
著者(英字)
著者(カナ) ドレベス ホベルト ユング
標題(和) ディペンダビリティのための局限化単体OSカーネルの性能向上
標題(洋) Performance Improvements in Isolated Monolithic Operating System Kernels for Dependability
報告番号 125773
報告番号 甲25773
学位授与日 2010.03.24
学位種別 課程博士
学位種類 博士(工学)
学位記番号 博工第7306号
研究科 工学系研究科
専攻 先端学際工学専攻
論文審査委員 主査: 東京大学 教授 南谷,崇
 東京大学 教授 石川,裕
 東京大学 特任教授 井原,茂男
 東京大学 准教授 中村,宏
 東京大学 特任准教授 今井,雅
内容要旨 要旨を表示する

Operating systems are among the software components in computing systems where dependability is most critical. As they interact directly with the hardware, they are particularly prone to errors. This problem becomes even more serious with monolithic operating system kernels, where all subsystems and device drivers share the same address space and run under the same maximum privilege level. An error caused by a hardware or software fault in one kernel subsystem can easily propagate to others, corrupting their state and eventually leading the system to fail.

Even when kernels support loadable modules, components still run under the same execution domain as the main kernel. Module isolation techniques to address error propagation do exist, but they impose a performance overhead from the frequent domain switches when control flows from one protection domain into another.

This dissertation presents a technique to extract the relationship between kernel modules and to identify the potential error propagation paths between them. Through the inter-module relationship, a method to devise alternative configurations for module grouping under kernel isolation environments is proposed. These configurations group modules in respect to the functions they provide, so that the number of execution domains can be minimized to improve performance, while still maintaining error isolation between subsystems.

The proposed technique is evaluated into a real isolation environment for the Linux kernel. For these experiments, the performance overhead is extracted under different module group configurations, and the impact on dependability through fault injection is measured. For the dependability experiments, this dissertation also introduces Zapmem, a fault injection tool developed to test operating system kernels without instrumentation.

Experimental results show that grouping modules using the proposed technique can reduce the overhead by the isolation environment (time spent inside the kernel doing protection switches) from 5% to about 1.7% of the total execution time. Dependability results show that the severity of errors is also decreased: 50% of detected system crashes were manifested only as service errors under partial isolation, while full isolation could reduce them by 57%.

審査要旨 要旨を表示する

本論文は「Performance Improvements in Isolated Monolithic Operating System Kernels for Dependability(ディペンダビリティのための局限化単体OSカーネルの性能向上)」と題し、英文で7章から成っている。

コンピュータシステムのハードウェア資源及びソフトウェア資源を管理するOS(Operating System)においてハードウェアと直接通信し制御する中核部分を成すカーネル(Kernel)はシステム全体のディペンダビリティに決定的な役割を果たすが、異なる様々な機能モジュールが同じアドレス空間を実行領域として同じ特権レベルで一体的に実現される単体OSカーネル(monolithic kernel)は実行効率が良い反面、ひとつのモジュールで生じたフォールトの影響が他のモジュールへ波及し易い。このディペンダビリティ上の弱点を克服するため各モジュールの実行領域を互いの影響が及ばないように局限化(isolate)する技術が有効であるが、それによって頻繁な領域切り替えのオーバーヘッドが生じるため性能が低下する。本論文は、ディペンダビリティ向上のために各モジュールの実行領域を局限化したモノリシックOSカーネルにおいてディペンダビリティ水準を確保しつつと性能オーバーヘッドを減少させるカーネル再構成技術とその有効性評価に関する研究成果をまとめたものである。

第1章「Introduction」では、本研究の必要性、本論文で考察の対象とする問題の定義と目的、本論文の構成を述べている。

第2章「Operating System Dependability」では、OSにおけるディペンダビリティ確保の意義とその基礎概念、ならびにその主要な要素であるカーネルにおけるフォールトがシステムのディペンダビリティに与える影響を述べ、この分野における従来の研究を概観している。また、本論文で考察の対象とするモノリシックOSカーネルに用いられる実行領域局限化技術について述べている。

第3章「System Model」では、本論文の議論の前提となるシステムモデルを定義し、そのシステムの誤り伝播メカニズム、ディペンダビリティモデル、及び性能モデルを定義している。

第4章「Module Grouping」では、カーネルならびにそれを構成する各モジュールの間の相互依存構造を抽出する方法とそのアルゴリズムを提案している。また、この依存関係に着目したモジュールのグループ化アルゴリズムとそれを利用してカーネルを部分的局限化構造に再構成する方法を提案している。さらに、この部分的局限化構造に基づくカーネル再構成によってシステムのディペンダビリティを一定水準に保ちつつ性能オーバーヘッドを低減する効果が期待できると述べている。

第5章「Evaluation Environment and Setup」では、提案するカーネル再構成手法を実際に運用されているLinuxカーネルに適用してその効果を評価するために構築したハードウェア環境とソフトウェア実験環境について述べている。また、提案するカーネル再構成によって得られる性能向上を評価するためのワークロードの設定を述べている。さらにOSカーネルのディペンダビリティを評価するために新規に開発したフォールト注入システムZapmemの構成を述べ、注入されるフォールトのシナリオとそれによって生じる誤りのモデルを定義し、フォールト注入実験のワークフローを示している。

第6章「Evaluation Results」では、提案するモジュール・グルーピング手法を適用して再構成されたLinuxカーネルに対してモジュール依存関係の異なるいくつかのワークロードを与えたシミュレーション実験の結果を示し、提案手法によって性能オーバーヘッドの低減効果があると述べている。また、フォールト注入実験の評価結果を示し、提案する部分的局限化によるカーネル再構成によってもシステムのディペンダビリティは一定水準に保たれるため提案手法が有効であると述べている。

第7章「Final Remarks」では、本論文で得られた成果を総括するとともに、提案手法の限界を示し、将来に残された課題を述べている。

以上を要するに、本論文は、コンピュータシステムのディペンダビリティを向上させるためにモノリシックOSカーネルに導入されるモジュール局限化技術がその性能に対して無視し得ないオーバーヘッドを与えるとの認識から、モジュール間の依存性情報に着目してカーネルを再構成することによって、ディペンダビリティ水準を確保しつつ性能オーバーヘッドを低減できることを示したもので、その成果は工学的に貢献するところが大きい。よって本論文は博士(工学)の学位請求論文として合格と認められる。

UTokyo Repositoryリンク