研究概要 |
本研究は大規模な最適化問題に適用できるような新しい遺伝的アルゴリズムとして,数千台,数万台の単純なプロセッサの使用を前提にしたSIMD型の遺伝的アルゴリズムを開発し,それを高速に実行する並列計算機のアーキテクチャと,プロセッサ要素を設計し,その一部を試作することにより,このシステムの性能を正確に把握することを目指している.昨年度はハードウエア記述言語VHDLによるVLSI設計環境を整え,ファーミングモデルによる並列SIMD遺伝的アルゴリズムを実現する共有マトリクスメモリ方式の専用プログラムの設計とFPGAへの実装を行った.またSIMDマシンでSPMD型並列プログラムを実行する方式について研究した. 今年度はファーミングモデルから一歩進んだ超並列モデルによる並列遺伝的アルゴリズムについて研究した.このモデルでは各プロセッサ要素は原理的には一個の個体を持つだけで,交配や選択は近傍のプロセッサとの通信だけでよいので並列度は大幅に向上する.しかし最適解への収束速度が問題になるが,我々はシミュレーションによって有効性を検証した.そこで最小限の機能を持つ一個のプロセッサ要素をVHDLによって設計し所要のハードウエア量を知ることができた. 次にSPMD方式で書かれた遺伝アルゴリズムのプログラムをSIMDマシンで実行するための新しい分岐機構について研究した.通常のSIMDマシンでではプロセッサ要素はコントロールプロセッサから送られる命令を受動的に実行するだけであり,分岐命令を実行することはないが,遺伝的アルゴリズムのように分岐の多いプログラムではすべてのプロセッサ要素が実行しない命令でもコントロールプロセッサが送り続けなければならず,処理速度の低下をもたらすことになった.そこで我々はコントロールプロセッサからプロセッサ要素に命令のアドレスを知らせることにより,プロセッサ要素でも分岐命令を実行できるようにし,すべてのプロセッサ要素が分岐したことをコントロールプロセッサが知ればそれ以降の命令の発行を回避するようした.またシミュレーションによってこの方法が探索問題の並列処理にも極めて有効なことを明らかにすることができた.このような分岐機構を備えたSIMDマシンをVHDLによって設計し,実現の可能性を実証した.
|