本研究では、基本的な問題に対する効率よい並列アルゴリズムの開発とライブラリ化の検討を行った。 まず、最初に再構成メッシュ上のシミュレータを開発し、さまざまな並列アルゴリズムをインプリメントした。シミュレータ上で実行する並列アルゴリズムはC風の言語で記述することができる。また、実行過程における通信と計算状況や、実行時間遅延時間などの統計データを表示することができる。具体的には、プレフィックスサム、ソーティング、最小全域木などを計算するアルゴリズムをインプリメントし、性能評価を行なった。また、O(loglogn)時間で平面上にあるn個の点の凸包を求める並列アルゴリズムを考案した。これまでに知られている最高速のアルゴリズムはO(logn)時間で、これを大幅に改善したことになる。 次に、ネットワーク上での並列アルゴリズムのライブラリ化について検討を行なった。まず、並列アルゴリズムの基本である初期化問題の検討を行なった。初期化とは、n個のプロセッサに通し番号を順につける問題である。提案したアルゴリズムはO(n)時間で通し番号をつける。また、このアルゴリズムで各プロセッサが通信する時間は、O(logn)時間であり、通信の効率が極めて良いアルゴリズムである。また、リーダ選択問題やランキング、ソーティング、ラウティングなどの基本問題についても検討を行ない、さまざまな効率良い並列アルゴリズムを得た。
|