マルチマイクロプロセッサMDBM/FMMの開発
(平成7年11月30日 原稿受付)
電気工学科岩根雅彦
電気工学科茶屋道宏貴
電気工学科立川尚久
Development of Multi−microprocessor System MDBM/FMM
by Masahiko Iwane Hirotaka Chayamichi Akira Motoishi Naohisa Tatsukawa Naohiko Urasaki
Abstract
In a general purpose multi−processor system, decreasing the overhead of interprocessor com.
munication and synchronization is important for running fine to coarse grain size parallel pro9「ams・
The dynamic barrier synchronization mechanism with a small amount of hardware to reduce the synchronization overhead for fine grain programs and the reconfigurable shared memory sys−
tem with the mesh network for all grain size programs are shown. The dynamic barriCr synchro.
nization mechanism specifies dynamically in execution of programs the barrier group in which the processing units(PUs)synchronize each other. The reconfigurable shared memory system gives
。n。p。,t・fm・m・・yinth・・y・t・m・・a・h・・edm・m・・yt・・n・p・・all・l p・・9・am・nd・n・th・・p・・t・f memory as the private memory with the mesh network to another parallel program at the same time, or all of memory as a shared memory to the system.
・MDBM/FMM has been developed including the synchronization mechanism and the recon.
figurable memory system as a test bed. It consists of 180486 based personal computer as a HOST/10P,328088十8087 based PUs and the interface unit between HOST/10P and the PUs.
Most of the interface unit and most of the PU except MPU are implemented using FPGA to change the design easily. 9FPGAs are used for the interface unit and 96 FPGAs for 32 PUs.
MDBM/FMM is under evaluation using benchmarks.
期をとるプロセッサ組(バリアグループ)の指定方法とし
1・はじめ こ て,タグによる指定・),キューを用いたSBM(St。ti,
細粒度並列処理を実行するマルチプロセッサではプロ Barrier MIMD)6・7), CAM(Content Addressable セッサ間の同期と通信によるオーバーヘッド1)を極力削 Memory)を用いたDBM(Dynamic Barrier MIMD)8),
減する必要がある。 MCAM(Modified Content Addressable Memory)9)によ プロセッサ間同期の方法の一つにハードウェァによる るMSBM (Multiple Static Barrier management バリア同期機構2)が提案されている。ハードウェアバリ MIMD)10)がある。
ア同期の機能拡張としてのFuzzy Barrier3), Elastic 並列計算機におけるメモリ構成は共有メモリ構成と分
Barrier4), Ultimate Barrier同期機構5),またバリア同 散メモ,リ構成に分けられる。共有メモリ構成による密結
合マルチプロセッサではどのプロセッサからも共有メモ 更命令方式が考えられる。
リに直接アクセスできるので細粒度並列処理にも使用さ タグ方式はハードウェアによるプロセッサのバリア同 れている。しかしこのような構成では共有メモリとプロ 期命令に同期を識別する情報を付加する。ソフトウェア セッサを接続する相互結合網やメモリモジュールで競合 によるバリア同期をそのままハードウェア化しているの が起こり性能が低下することがある。とくにバス結合に でハードウェア量は多くなる。しかし必要なプロセッサ
よる相互結合網ではプロセッサ数が多くなるに従って競 のみが選択されるのでダミーバリア同期は不要である。
合が著しく増加する。プロセッサが十数台以上になると 予約方式の一つはバリアグループをあらかじめまとめ キャッシュメモリによりバス競合を削減させている1)。 てバリアキューに登録しておき同期が成立することに自 局所メモリだけをもつ疎結合マルチプロセッサではこの 動的にバリアキューを更新する。SBMはバリア同期間 ような競合は発生しない。疎結合マルチプロセッサにお に完全順序関係を導入しバリアキューによって単一のバ けるプロセッサ間通信は入出力操作と同様に行われる。 リアグループのバリア同期を可能にしている。DBMは 直接通信路のないプロセッサ間ではオーバヘッドが生じ バリア同期間に半順序関係を導入しバリアキューと
るが,隣接したプロセッサへ一度に多量の通信を行える CAMによって複数のバリアグループのバリア同期成立 ので中粒度/粗粒度の並列性をもつプログラムに対して を可能としている。変更命令方式はプロセッサにバリア は格子結合網が有効であるL11)。 同期命令だけでなくバリアグループ変更命令をもたせ,
細粒度並列処理におけるバリア同期と細粒度/中粒度/ バリアグループの変更が必要となるたびに変更命令を発 粗粒度並列処理におけるプロセッサ間通信の検証のため 行してソフトウェアでバリアグループを管理する。
にマルチマイクロプロセッサMDBM(Multiple Dynamic 動的なバリアグループ設定のハードウェア量はタグ方 Barrier management MIMD)/FMM(Flexible Mesh一 式,予約方式,変更命令方式の順に少なくなる。逆に設 network Multiprocessors)をテストベッドとして開発し 定時間は変更命令方式,予約方式,タグ方式の順で短く た。MDBM/FMMでは並列プログラムの実行時に なる。そこでバリァグループ設定のハードウェア量をで MCAMの内容を動的に書き換えることによってバリア きる限り少なくしかつ設定時間を短縮する方法を考える。
グループの指定を行う。またプロセッサ間通信機構とし 21.2.スケジューリングとバリア同期管理
て,局所メモリつきの共有メモリ,分散メモリおよびこ 並列処理される1つの応用プログラムは,主プログラ れらの中間的な部分分散共有メモリとなる再構成可能な ムと複数のサブプログラムから構成され,これらをプロ メモリおよび隣接プロセッサ間通信のためのILLIAC セジャと呼ぶ。オペレーティングシステムOSによりス 網によるDMA転送機構をもつ。大学の一研究室による ケジューリングされて実行される1つの応用プログラム MDBM/FMMの開発では設計変更が多いのでFPGA をプロセスと呼び,1つのプロセスに割り当てられたプ
(Field Programmable Gate Array)を積極的に使用した。 ロセッサの集合をプロセッサグループと呼ぶ。プロセ 本論文では,2章で細粒度並列処理におけるバリア同 ジャごとにコードスケジューリングを行って各々のコー 期とプロセッサ間通信について述べる。3章でMDBM/ ドを論理プロセッサに割り当ててバリアグループ変更命 FMMのシステム構成,4,5章でハードウェアの詳細 令およびバリア同期命令を挿入する。このとき必要なら
について述べる。 ばダミーバリア同期命令も挿入する。プロセジャ間でリ 2.基本設計 ンクをとってプロセジャスケジューリングを行ってプロ セスを生成する。プロセスでは異なったバリアグループ 2.1.動的バリア同期管理 単位(スレッドセット)で論理プロセッサを物理プロセッ 2.1.1.バリアグループ指定 サに実行時に割り当てられる。すなわちバリアグループ 静的なバリア同期管理であるMSBMでは一つのプロ 内は静的なスケジューリングが行われバリアグループ間
グラムに一つまたは複数のバリアグループをMCAMに は動的なスケジューリングが行われるのでハイブリッド
プログラムの実行前に登録しておきプログラム終了後に スケジューリング12)と呼ぶ。ハイブリッドスケジュー
除去する。この方法ではプロセッサの有効利用および不 リングではバリアグループの設定を動的スケジューリン
必要なダミーバリア同期に関して問題がある。そこで動 グに埋め込むことによってバリアグループの設定時間に
的なバリア同期管理を考える。 よるオーバーヘッドを削減する。変更命令方式によるバ
バリア同期をとるプロセッサすなわちバリアグループ リアグループの設定でもスレッドセットの実行時間があ
を動的に指定する方法にはタグ方式,予約方式および変 る程度長ければ細粒度並列処理も可能である。図1にハ
プロセッサ
0 1 2 3 4 5
PU PU PU PU PU
:
1 −一一一一
:
ロ
: 図2 再構成可能共有メモリ
:
:
.」