研究概要 |
1. 形式記述言語LOTOSは,複数プロセス間の選択や割込,マルチランデブ(複数の同期するプロセス群の中から1つを排他的に選び,同期・データ交換を行うための機構)などの機能を有しており,分散システムを簡潔に記述できる.本研究ではバス型ネットワーク上での実現に焦点をしぼり,ブロードキャストを利用した効率の良いマルチランデブのアルゴリズムを考案するとともに,異なる計算機で実行されるプロセス間に同期や選択などの実行関係が指定可能なあるクラスのLOTOS仕様を実行効率の高い目的プログラム群として実現する手法を考案した.また,その手法に基づきLOTOSコンパイラを作成した. 2. 考案した手法では,ブロードキャストメッセージは全ての計算機で同じ順序で受信されるという性質を持つバス型ネットワークモデル上での実装を考える.各計算機が受信したメッセージの内容とよび到着順序から各計算機が独立に同期条件を満たすイベントの組合せを計算する方式を採用することにより,効率の良いマルチランデブ機構を実装している.また,各計算機のプロセスの呼び出しや消滅によりシステム全体の実行関係が動的に変化するため,プロセスの呼び出しや消滅による実行関係の変化をネットワーク上の全計算機にブロードキャストすることにより,システム全体としての実行関係の整合性を保証している. 3. 本手法に基づき,バス型のTCP/IPネットワーク上で動作する目的コード群を生成するLOTOSコンパイラを作成した.実際の実装では,ブロードキャストメッセージが誤りなく完全に同じ順序で受信されると仮定できないので,考案した手法に順序制御のための機構や再送機構などを付加した.作成したコンパイラを用いて実際に目的コード群を生成し実行効率を調べたところ,4〜7台程度の計算機間で1秒当たり数百回程度のマルチランデブが可能であることを確認した.これらは分散データベースの排他制御や複数計算機間でのビデオ情報の同期再生などのシステムの実装において,実用上十分な速度であることが確認された.
|