VMMを用いて重要サービス - 多くの計算機では重要サービスが動作している - 仮想計算機モニタ(VMM) - OSへの通信要求を補足 - 代理実行 - 結果を返却 - レジスタ値をもとに通信要求の内容を取得 - レジスタ値で出来るのか - レジスタ終了後のPCをシステムコール終了後のものにする - ハイパーコール Xenのprocy Interface - VMMの処理流れ - socketやcloseを経由してFDを判別 保護対象VMではシステムコール終了処理から再開する - 代理実行処理が**事象待ち**を含むかどうか - socketとcloseの繰り返しでタイムスタンプを生成している 1ms OSのスケジューラの感覚 特定されるプロセスがあるとダメなのでは...? ---- # キャッシュファイルシステムによる下位キャッシュのアクセスの局所性の改善によるVM I/O性能の向上 - 物理HDDへはページキャッシュが二重になっている - 下位キャッシュには最近使われていないデータ要求が溜まっている - LRUが効果的に機能しない - 本来ならページキャッシュを変えていくのが望ましいが,今回は手前だけを実装する - 先行研究 - Chace FS - missとhitを厳格にゲストFSでくくる為に強い局所性を持ち,I/O性能を高めている - LFU Cache FS - キャッシュ格納対象を動的に拡張 - ホットスポットが既知でなくても実現される - 時間的に局所性が高まっている - ページキャッシュ内に実装することで性能が向上するのではないか - キャッシュの公平性は? - 今現在は考えていない --- # オンライン処理とバッチ処理が混在する環境におけるディスクI/O制御方式 - オンライン処理とバッチ処理は異なる計算機とすることが多い - オンライン処理とバッチ処理で計算機資源を十分に利用しないケースが多い - 計算機資源の利用効率向上を期待している - バッチ処理ではdiscへのアクセスが多いが,オンライン処理では低い ===> 計算機資源をフラットにしたい - ディスクドライバはI/O要求を並列して処理できない - オンライン処理では1,000バイト以下のものが多い - オンライン処理では同時実行処理が増えるとwriteシステムコールが発生し,待機される - I/O要求を細分化しキューにいれて順次処理を行う - ディスクビジー率と処理時間の関係をシュミレーションする - バッチ処理ではCPU優先制御が機能しているが,I/O制御を加えたほうが時間が大幅に減少している --- # GearsOSのAgdaによる記述と検証 ---