Machオペレーティングシステムにおける分散資源管理サーバの実装

中村 豊(9651082)


近年,大規模計算の需要が増加している.しかし,大型計算機は導入コストが 高価で,拡張性が低く,計算量が増加した場合,過負荷状態になるという欠点 が存在する.

そこで,比較的価格の安価なワークステーションやPCを複数台ネットワークに 接続することによって,分散システムを構築する方法が提案されている.この ような分散システムは,安価に構築することが可能である.また,計算量が増 加した場合にも対応することが可能である.

ところで,従来のオペレーティングシステムに,このような分散システムを提 供する場合,2通り考えられる.1つは,分散サーバを構築する方法である.例 えば,NFS(Network File System)や,NIS(Network Infomation Service)を用 い,データの共有化を行うことが上げられる.この分散サーバを構築する方法 は,拡張性,保守性,移植性に優れている.そして,ソースコードレベルでの コンパチビリティを実現できる.しかし,分散アプリケーションのスケジュー リングや,分散共有メモリの実装が困難である.例えば,PVM(Parallel Virtual Machine)は,分散アプリケーションのスケジューリング環境は提供し ているが,分散共有メモリは提供していない.2つめは,オペレーティングシ ステムを直接変更する方法である.この方法は,速度的には優れているが,拡 張性,保守性,移植性に問題がある.この方法は,ソースコードレベルでの, コンパチビリティを要求することも困難であるので,一般には用いられていな い.ここで,別のアプローチが提案されている.オペレーティングシステムを モジュール化し,必要最低限の部分(マイクロカーネルと呼ぶ)と,様々な機能 を提供するユーザプロセスサーバ群に機能を分割する方法である.この方法は, ユーザプロセスとして,様々なサーバを構築することが可能であるので,シス テムを柔軟に設計することが可能である.したがって,分散サーバに分散共有 メモリを実装することも可能である.

そこで,本研究では,マイクロカーネルとして,Machオペレーティングシステ ムを用い,その上で動作する分散資源管理サーバを開発することを目的とする.