細粒度並列計算機iMSBMの開発
(平成6年11月30日 原稿受付)
電気工学科岩根雅彦 電気工学科野口善昭
電気工学科 茶屋道 宏 貴
電気工学科重松保弘
Development of Multiple Static Barrier MIMD(MSBM)
computer for Fine Grain Tasks
by Masahiko Iwane
Yoshiaki Noguchi Hirotaka Chayamichi Akira Motoishi Yasuhiro Shigematsu
Abstract
Decreasing the overhead of interprocessor synchronization and communication is important for the fine grain size parallel programs under the multiprogramming environment. Two mechanisms with a small amount of hardware to reduce these overhead are shown.
The hardware barrier synchronization mechanism with the normal barrier and the fuzzy bar.
rier synchronizes among the processing units as follows. The barrier grant pattern indicating that the processing units should synchronize each other using the barriers is stored into the modified content addressable memory before the execution of the program The synchronization mechan.
ism searches for the barrier grant pattern using the barrier requests from the processing units.
When the barrier requests include the barrier grant pattern, the fragments of the program in the processing units restart. The barrier grant pattern is removed from the modified contents address.
able memory after execution of the program.
The memory organization to reduce the memory bus traffic is called the group shared mem,
ory. The contents are the same in the group shared memories of the processing units belonging to the group which is the collection of the processing units assigned to the single program. This memory does not require any address translation hardware.
MSBM has been developed including these mechanisms. It consists of l host computer,16 processing units and the interface units as a test bed. The host computer is a 80386 based person.
al computer. The processing unit consists 8088十8087, the group shared memory and some inter.
face circuits using FPGA. The interface units has the mainly barrier synchronization hardware and the data transfer circuit, using FPGA. MSBM is used to evaluate these mechanisms under both single.programming and multi−programming environments. The simple result shows that the speed up ratio is 2.4 using Whetstone benchmark program.
列処理の効率を妨げる大きな要因はプロセッサ間の同期
1・はじめに と通信によるオ_バ_ヘッド1)である。プロセッサ間
汎用マルチプロセッサでは細粒度から粗粒度までの並 同期の方法の一つにバリア同期があり,その機構はソフ 列性をもった多種多様な複数のプログラムが多重プログ トウェアまたはハードウェアで実現されている。細粒度 ラミング環境で効率的に並列処理される必要がある。並 の並列性をもったプログラムではソフトウェアバリア同
期はバリア共有変数の操作による遅れが大きいのでハー
ドウェアバリア同期撒・)が提案されてし、る.ファジ 2・同期と通信
一バリァ3)はバリア同期識別情報とマスクによって, 21.静的バリア同期
エラスティックバリア4)は同期カウンタとマスクによっ 並列処理される1つの応用プログラムは,主プログラ て任意のプロセッサ間のバリア同期を可能にする分散型 ムと複数のサブプログラムから構成され,これらをプロ 同期機構である。一方集中型同期機構としてSBM 5), セジャと呼ぶ。オペレーティングシステムOSによりス DBM 6)がある。 SBMはバリア同期情報の代わりにバリ ケジューリングされて実行される1つの応用プログラム ア同期間で全順序関係を導入してバリアキューによって をジョブと呼び,1つのジョブに割り当てられたプロ 単一のバリア同期列の任意のプロセッサ間の同期を可能 セッサの集合をグループと呼ぶ。プロセジャごとに静的
としている。DBMはバリア同期間に半順序関係を導入 コードスケジューリング1])を行ってバリア同期を挿入 してバリアキューとCAM(Content Addressable Mem一 し,プロセジャ間でリンクをとったのち,プロセッサを ory)によって任意のプロセッサ間の複数のバリア同期 静的に割り当てて並列化されたジョブを形成する。
を同時に可能としている。分散型同期機i構は集中型同期 静的バリア同期SBM(Static Barrier MIMD)は,ジ 機構iに比べて配線量が増加する。またSBMおよびDBM ヨブの実行開始前にバリア同期機構にジョブ内で同期を では解の収束の程度によってループの繰り返し回数が異 とるプロセッサを示すパターン(バリアパターン)を登録 なるときにはバリアをとるプロセッサのCAMへの登録 し,ジョブ実行中には動的に変更せずにジョブ終了後に が困難である。 削除する方法である。SBMにおいて2つの異なるバリ 密結合マルチプロセッサにおけるプロセッサ問通信は ア同期処理形態sBM(single Barrier MIMD)とmBM
共有メモリによって行われるのでプロセッサと共有メモ (multiple Barrier MIMD)を考える。
リを接続する相互接続網や共有メモリモジュールにおい sBMでは1つのジョブはただ1つのバリアパターン て競合がおこる7)。集中型共有メモリにおける相互接 を設定して,ジョブに割り当てられたすべてのプロセッ 続網としてハードウェア量の少ないバス結合が多く使用 サでバリア同期をとる。mBMでは1つのジョブに複数
されている。プロセッサが十数台以上になるとキャッ のバリアパターンを設定し,独立かつ並列に複数のバリ シュメモリによりバス競合を削減させているが,ハード ア同期をとる。1つのプロセジャ内ではsBMと同様に ウェア量が増加するだけでなくキャッシュコヒーレンス プロセジャに割り当てられたすべてのプロセッサでバリ 問題が生じる8)。各プロセッサが局所メモリと共有メ ア同期をとる帆並列実行可能なプロセジャにそれぞれ モリをもつ部分共有マルチリードメモリでは共有メモリ 1つバリアパターンを設定して並列実行する。図1の(a)
の読み出し時の競合を減少できるが共有メモリをプロ にsBMおよび(b)にmBMの処理形態を示す。図1の斜 セッサに分散させるためにアドレス変換機構が必要であ 線での塗りつぶしはバリアパターンのバリア同期機構へ る9)。 の登録を,xはバリア同期を示す。また太い一点破線は 細粒度の並列性をもった多種多様な複数のプログラム ジョブを,細い点線はプロセジャを示す。sBMではバ
を多重プログラミング環境で効率よく処理するために, リアパターンは1つでプロセジャは逐次的に実行される。
MCAM(Modified Content Addressable Memory)lo) mBMではバリアパターンを割り当てられ待機していた によるハードウェアバリア同期機構,プログラムごとに プロセジャ2,4がメインプロセジャと並列に実行され 独立した共有メモリ空間とマルチキャスト機能による部 る。SBMではジョブまたはプロセジャごとに1つのバ 分分散共有メモリ構成をもったマルチマイクロプロセッ
サMSBM(M・1・ipl・S…i・Barri・・MIMD)を開発した. 。:°1ツ:, 。1↑°セ∴56,
本論文では,はじめにプロセッサ間同期と通信問題を論 1 じ,つぎにこの問題を解決するためのMCAMを用いた ii ハードウェア同期機構ならびに部分分散共有メモリであ i}
二:ズ驚蕊㍍s㌫㌻竺璽i}
構成について述べる。
}…
1
「 24
…
3
(・)・B凹 (b)藺BH
図1.静的バリアMIMD(SBM)
リアパターンを与えるために本来必要としないバリア同 のプロセッサに分散して共有メモリを持たせる分散型共 期をダミーとして挿入しなければならないが,バリァパ 有メモリが有効である。部分分散共有メモリにおいて,
ターンの登録および削除がジョブごとに一回ですむ。 個々のプロセッサが局所メモリと共有メモリをもってお 2.2.動的バリア同期 り,この共有メモリがプロセッサグループごとに共通し 動的バリア同期DBM(Dynamic Barrier MIMD)では たメモリ空間をとる構成をグループ共有メモリGSM バリア同期をとる必要があるプロセッサのみをバリアパ (Group Shared Memory)構成と呼ぶ。図3に示すよう ターンとしてジョブの実行中にバリア同期機構に登録し, にプロセッサのメモリ空間は境界レジスタによって局所 そのバリアパターンが不必要になったときにはすぐにバ メモリLMと共有メモリGSMに任意に分割でき,各プ
リア同期機構から削除する。すなわちジョブやプロセジ ロセッサごとに境界レジスタを設定するのでグループご ヤに1つのバリアパター一ンを設定する制限を取り去って とに任意の大きさのGSMをもつことができる。 GSM 必要なときに必要なだけのバリアパターンを設定するた ではグループごとに内容を一致させるので,あるプロセ めにダミーとしてのバリア同期を削減できるが,バリア ッサのGSMに書き込みが発生すると同一のグループの パターンの登録および削除の回数が増大しオーバーヘッ ほかのプロセッサのGSMを更新する。 GSMは書き込
ドとなる。図2にDBMの処理形態を示す。図2の斜線 み選択放送機能をもつ部分共有型マルチリードメモリを での塗りつぶしはバリアパターンの設定をしているが, 簡素化したメモリ構成である。
ジョブの実行中に必要に応じて変更している。
SBMおよびDBMではジョブ毎に並列度は異なるこ Gr。up l Gr。、1 G,。、p, G,。、p。
とから,使用していないプロセッサを別のジョブに割り 当て多重実行し,システムを多重プログラミング環境,
つまりMSBM(Multiple SBM)およびMDBM(Multi−
ple DBM)とすることでシステム全体のスループット向
LM GSM
LM GSM
上をはかる。 P「°c O P「°c 1 P「°c n−2P「°c n−1 図3.GSMメモリ空間
1 T
ii ii ii ii ii il
i…
li ii ii ii
プロセツサ
0 12 34 56 7
・、i
…i
ii ii ii ii
…i
ii ii …
.」
3.MSBMシステム構成
3.1.MSBMシステム概要
多重プログラミング環境において効率よく細粒度並列 処理が実行されるためのハードウェアによる静的バリア 同期機構および部分分散共有メモリ構成をもったマルチ マイクロプロセッサシステムMSBMを評価のための実 験機として開発した。図4に示すようにMSBMはホス トコンピュータHC(Host Computer),統合インタフェ ースIIU(lntegrated Interface Unit)および16台のプロ
図2.動的バリアMIMD(DBM)
GS岡 bus
2.3.部分分散共有メモリ Hcbus Puo Pul… … Pul5 マルチプロセッサシステムの共有メモリは各プロセッ
サからのアクセスに衝突が生じない構成が望ましいが,
それはハードウェア量とのトレードオフである。マルチ プログラミング細粒度並列処理環境において,共有メモ
州T bus リのアクセス競合を低減させるために各プロセッサが1
つのメモリを共有する集中型共有メモリではなく,個々 図4・MSBMシステム構成
セッサPU(Processing Unit)で構成され, HC−IIU間は
16ビットデータ幅のHCバス, IIU−PU間は8ビット 1101100 −,一__ oolo データ幅のDTバスと16ビットデータ幅のINTバス, 岡CAn HCAH⊆BRR
PU間は8ビットデータ幅のGSMバスで結合される。
またIIUへ各々のPUから1本ずつのバリア信号により バリア同期要求/バリア同期成立をあたえる。
HCは80386MPU,8MBメモリ,各種入出力装置お おびIIUインタフェースから構成され,ジョブスケジ
ュー 潟塔O,PU管理,入出力管理,ユーザインタフェ ースおよびIIUにあるバリア同期機構へのバリアパ ターンの設定などを行う。IIUはHCとPUの間のイン タフェースであり,マルチキャスト機能によるデータ転 送,PUからHCへの割り込みの仲介およびPUからの バリア同期処理を行う。PUは8088MPU+8087NDP,
256KBメモリ・IIUインタフェース・GSMインタフェ 図5.バリア同期機構 一スで構成され,HCまたはPUが他のPUを選択する
ために各PUは固有のPU番号PUNOと自由に設定可
能なグループ番号GPNOをもっている。 IIUはBgrt(Barrier Grant)信号を送りBARi/fにある 3.2.MCAMによる同期機構 Grフラグをセットする。 Bar命令ではAdフラグとGr 通常のバリア同期のほかに広がりのある領域内での同 フラグの両方がリセットしていればBreq信号をMCA一
期を許すファジーバリア(Fuzzy Barrier)同期を導入す MUに送ると共にBgrt信号が到着するまでPUの実行 る。これらの同期を実現するためにAdBar(Advanced を中断する。単にAdフラグのみがセットしていれば Barrier)命令, Bar(Barrier)命令をPU出力命令として Bgrt信号が到着するまでPUの実行を中断する。 Grフ 用意する。PUはAdBar命令を実行するとIIUにバリ ラグがセットしていればGrフラグをリセットしPU処 ア同期要求を送り処理を続行するが,このとき同期が成 理を続行する。Bgrt信号を受け取ったBARi/fはAdフ 立しておればIIUはPUに同期成立を知らせる。 PUが ラグがセットしていればGrフラグのセットとAdフラ Bar命令を実行したとき,すでにAdBar命令が実行さ グのリセットを行ったのちに, PUが処理を中断してい れて同期成立が知らされていればPuは処理を続行する。 れば再開する。 McAMuではBARi/fから送付された まだ同期が成立していなければ同期成立まで処理を中断 Breq信号はBRRの当該ビットをセットする。 MCA一 する。PUがBar命令に先だってAdBar命令を実行して MUはBRRをMCAMの探索データとして使用して包 いなければバリア同期要求をIIUに送り処理を中断す 含関係が成立すればMCAMをBGRに読み出す。すな る。そして同期が成立すればIIUはPUに同期成立を知 わち,
らせてPUは処理を再開させる。すなわちBar命令単独 if MCAMij⊆BRRj then BGRj:;MCAMij で通常のバリア同期,AdBar命令とBar命令のペアで (j=0,一一,n−1)
ファジーバリアを実現する。 但し,iはMCAM内のi番目のバリアパターン, jは 図5に示すようにバリア同期機溝はIIUにあるバリ バリアパターンiのjビット目, nはシステムのPU総数
ア同期ユニットMCAMU(Modified CAM Unit)と個々 を表す。また包含関係はMCAMij⊆BRRI≡rMCA一 のPU内のバリア同期インタフェースBARi/f(Barrier Mij>BRRjである。
interface)で構成される。またMCAMUはシステム内 BGRに読み出されたバリアパターンはBgrt信号とし PU台数に等しいビット長をもったBRR(Barrier Re一 てBARi/fに同期の成立を伝える。同時にBGR(バリ quest Register), BGR(Barrier Grant Register)および アパターン)が包含されているBRR(探索データ)の 機能メモリMCAMで構成される。 PUがAdBar命令を 該当ビットをリセットする。
実行したときBARi/fにあるAdフラグをセットして このようにMCAMによるバリア同期機構ではPU毎 Breq(Barrier Request)信号をMCAMUに送りPUの処 に独立にMCAMにバリアパターンを登録できるので任 理を続行する。このときバリア同期が成立しておれば 意のPU間で同期をとることができる。
RR
1 1 0 1 1 0 0 − 一 一 一 一 一 一 〇 〇 1 0 CAn HCAH⊆三BRR
00 000 1 1 − 一 一 一 一 一 一 1 1 00 1 0 0 1 0 00 − 一 一 一 一 一 一 〇 〇 1 0 OOOO I OO − 一 一 一 一 一 一 〇〇〇 1
GR
1 0 0 1 0 0 0 − 一 一 一 一 一 一 〇 〇 1 0
Breq/Bgrt
@PUO
Breq/Bgrt
@PUl
Breq/Bgrt
oUn−1
3.3.グループ共有メモリ 受け取ってPUの処理を中断させる。 unlock要求を発 各PUのメモリは図6に示すように128KBのRAM, 行するとグループ番号とunlock要求をGSMバスに送 96KBの2ポートメモリDPMおよび32KBのROMに 出し,中断している処理を再開させる。このようにジョ 基本的に分けられる。RAMは局所メモリLM, DPM ブ毎に独立して相互排除が可能である。
はグループ共有メモリGSM・R°M lまPUモニタ等の @4.船インタフエースユニット
基本ソフトウェアを格納するメモリとして使用される。
LMにはプログラムコードや局所データ, GSMにはグ 4.1. llU構成
ループ内PU間で共有するデータが格納される。メモリ IIUは図7に示すようにHCとPU間のデータ通信を はLMとGSMの区別なくPU毎に0番地から連続して 行うデータ転送ユニットDTU(Data Transfer Unit),
アドレスづけがなされているが同一グループ内PUの PUからHCへの割り込み処理を行う割り込み処理ユニ GSMの同一アドレスには同一データが格納される。 ットINTU(Interrupt Unit)およびバリア同期処理ユニ MPUはPUバスを介してPUメモリのすべてのアドレ ットMCAMUから構成されている。 DTUはDTバス,
ス空間にアクセスできるように,PUバスにはRAM, INTUはINTバスによってPUと接続されており,バリ DPMの一つのポートPort AおよびROMが接続され ア同期のためのPU個々からのBreq/Bgrt信号はMCA一 ている。DPMのもう一つのポートPort BはGSMバス MUに接続されている。 DTUはDMA転送のための インタフェースGSMi/fに接続されている。 MPUから DMAC(DMA Controller), PUのメモリアドレスを示 メモリの全アドレス空間に読み出しおよび書き込み可能 すアドレスカウンタADRCNTR,転送方向を示す方向 であるが,書き込み時にはGSMi/fの境界レジスタ レジスタHPPHおよびIIUの状態を示すステータスレ BASEと比較しGSMへの書き込みならばGSMバスに ジスタSTATUSをもっている。 MCAMUはバリア同 グループ番号,アドレス,データが放送される。受け取 期のためのMCAM, BRRおよびBGRのほかにHCか り側のPUではGSMi/fでGSMバス上のグループ番号 らMCAMにバリアパターンの登録のためのMCAMア とPUがもっているグループ番号を比較し一致すれば ドレスレジスタMCAMADRとMCAMデータレジス GSMバス上のデータをPort BからDPMに書き込む。 タMCAMDTをもっている。
ジョブによってはLMがRAM空間以上必要なことがあ PUは2×16ビットのPUNOを含んだパラメータの るのでDPMの一部をLMとして使用できるように 送付を伴ってHCに割り込を要求するが,この割り込み BASEを任意に設定可能とし不必要なGSMバスアクセ 要求の中継をINTUが行うためにINTUはパラメータ スを排除してバストラフィックの削減を図った。 を格納するバッファBUFFERをもっている。なおPU グループ共有メモリGSMの相互排除のためにlock/ の割り込み優先順位はデイジーチェーン接続によって決
unlock機能を用意している。あるPUがlock要求を発 められている。バリア同期ユニットMCAMUのバリア 行するとグループ番号と共にその要求はGSMバスに送 同期処理動作および割り込み処理ユニットINTUの中 出される。グループ番号の一致したPUはlock要求を 継動作は独自のシーケンサによって常に繰り返している・
HC bus
MPU
PU bus
MPU
PU bus 一 一…
Port A DPH
LM
GSMROH Port B
≧
BASE
Po叶 A DP門
LM
GSM
RO岡 Port B
、:,。 ,《,, 、;。
GS岡 bus
MPU
PU bus
Port Dpn
@LM GSMROH
PorPort B
,Aえ, 、;,。
llu
lNTU 岡CAHU
nCAHADR DTU
nCA帥丁 BRO ADRCNTR
岡CAH
BUFFER HPPH
STATUS BGR
一一一一一一≡
Breq/Bgrt DT bus
lNT bus
図6.GSM構成 図7. llU構成
4.2.データ転送ユニット
DTUはHCメモリとPUメモリの間でプログラムおよ 5・プロセッサ
びデータをHCバスとDTバスを使用してDMA転送す 5.1.プロセッサ構成
る。DMA転送においてHCメモリリフレッシュを簡素 プロセッサPUは割り当てられた細粒度タスクからな 化するために,HCメモリはメモリと一して, PUメモリ る逐次命令列を各々独立に実行するユニットであり,
は1/0として取り扱う。このためにDMACのアドレス ジョブを実行する複数PUがグループとして協調して並 レジスタによってHCメモリのアドレスは与えられるが, 列処理を行なう。図9に示すようにPUはMPU,
DMAcの外にPuメモリのアドレスを与えるアドレス MEMoRY, DTui/f, INTui/f, GsMi/f, BARi/fお カウンタADRCNTRが必要となる。また方向レジスタ よび複数のレジスタで構成されている。これらはPUバ HPPHによってHCからPUまたはPUからHCへの転 スで相互に接続され, IIUと各PUはDTバス, INTバ 送方向を与える。PUからHCへの転送は1対1で行な スおよび, Breq/Bgrt信号線で接続され,各PU間は われるがHCからPUへの転送は1対mのマルチキャ GSMバスで接続されている。
スト機能がPUヘプログラムコードのローディングや PU内レジスタにはPUの固有の値で識別するための データの配分に必要である。このPUの選択のために PU番号レジスタPUNO,グループごとに固有の値をも HCの出力命令にSELPU命令をもうけた。 って識別するグループ番号レジスタGPNO, MEM一 図8に示すようにSELPU命令のデータによって単一 〇RYのGSMの境界を示す境界レジスタBASEおよび
のPUの選択,ひとつのグループに属するPUの選択お HCとPU間での小規模の通信のための通信レジスタ よびシステム内のすべてのPUの選択が可能である。 PUCNTLがある。 PUNOはハードウェアで設定され HCがSELPU命令を実行したとき, DTUは単にPUに ているが, GPNO, BASE, PUCNTLはHCとPUの データを転送するのみである。実際のPU選択および選 両方から設定可能である。とくにGPNOはGSMバスお 択解除はPU内にあるPU選択フラグのセットおよびり よびDTバスでのマルチキャスト転送に, PUNOはグ セットで行なわれる。すなわち,DTUではDMA転送 ループの形成やDTバスでのマルチキャスト転送および の対象PUを考慮しておらずDTバスにアドレス,デー HCへの割り込み識別に用いられる。 PUCNTLの利用 タおよびコントロールの各信号を送っているだけである。 の一例としてHCからのPUプログムの実行開始がある。
DMA転送を開始する前にHCによって指定されたPU 通常PUはPUモニタ内でPUCNTLを検査しており,
がDTバス上の信号を受け取ってみずからのメモリに対 HCからPUCNTLの書き込みによりプログラムの実行 して処理を行わせることでマルチキャストを実現してい 開始が指示されるとPUモニタは割り当てられたプログ る。 ラムに制御を渡す。また並列実行されるプロセジャ間の ステータスレジスタSTATUSはIIU内に散在してい 実行開始および終了待ち合わせにはGSMにおかれた共 るフラグや,PUに関するフラグを集めて1つのレジス 有変数によって行われる。
タのようにまとめたものである。HCはこの内容を読み 込むことによってIIUおよびPUの状態を知ることがで
きる。 Gsnb、s
7 6 5 4 0 G/P F A GPNO/PUNO
0 PU選択フラグのリセット
1 PU選択フラゲのセット
0 0 PUNOで指定したPUの選択
10 GPNOで指定したGroupの選択
一 1 すべてのPUを選択
Gsn bUS GS岡i/f
PU
f一
PUCNTRL
岡EHORV BASE HPU@ 8088 GPNO
PU〜0 8087
i PU bus
L_,一一一.__. … i
BARi/f
ii.
DTUi/f
…・●・一
川TUI/f
Breq/Bgrt
DT bus lNT bus
図8.SELPU命令データフォーマット 図9. PU構成
5.2.各種インタフェース
DTui/fはDTuとDTバスにより接続され, Hcと PU間のデータを転送を行う。HCのSELPU出力命令 が実行されると図8のフォーマットでPU選択データが 送られる。DTUi/fはこのデータとPUNOあるいは GPNOと比較してL致していればPU選択フラグのセ ットまたはリセットを行なう。PU選択フラグをセット したならばDTUi/fはMpuに対してpuバスの使用を 要求する。DTUi/fはpuバスを獲得したときDTUに データ転送が可能であることを知らせる。そしてDTU
もしくはHCがDTバスの上にアドレス,データおよび, 図11. MSBM全景 読み出しあるいは書き込み信号を送ることにより選択し
たPUのメモリなどにデータ転送することができる。選 減される。なおGSMバスの調停においてPUNOによ 択されていないPUは自らの処理をこの間続行すること って優先順位がきめられている。
ができる。 BARi/fはMCAMUとBreq/Bgrt信号で接続され,
INTUi/fはINTUとINTバスにより接続され, MPUがBar命令またはAdBar命令を実行したときバリ MPUがHCへの割り込み要求であるSVCC出力命令を ア同期ユニットMCAMUにバリア同期要求を通知し,
実行したときデイジーチェーンによるPU割り込み優先 MCAMUからのバリア同期の成立によりMPUの処理 順位に従ってINTUに割り込み要求信号とともにパラ の再開の制御を行なう。
メータを送る。パラメータはMPUの出力命令によりあ 以上で述べた機能を持ったマルチマイクロプロセッサ らかじめINTui/f内パラメータレジスタに書き込んで MsBMを開発し完成した。現在MsBMはトラブルな おく。 しに順調に稼働しており,その全景を図11に示す。製作 GSMi/fはGSMバスによってほかのpuと相互接続 にはキャパシタによる遅れが問題とならない回路には
され,同一グループのPUのGSMの内容を一致させる FPGA(Field Programmable Gate Array)を使用したと 処理と相互排除のためのlock/unlock処理を行っている。 ころボード間のバス関係以外はすべてFPGAで実現で あるPUのMPUがMEMORYへの書き込みを行った きた。簡単な性能評価したところwhetstoneベンチマー ときアドレスがBASEより大きいときはGSMバスに制 クではsBMで速度向上比が1.3, mBMで2.4であった。
御信号,GPNOおよびデータを送出する。受け取るPU DhrystoneベンチマークではsBMで1.1であった。並列 ではGPNOが一致すればMEMORYに書き込む。 lock 化にあたって逐次コードのみの並列化を行い, do loop は発行したPUの属するグループ内の他のすべてのPU の並列化は行なわなかった。両ベンチマークとも並列化 の動作を中断させ,unlockは反対にPUの実行を再開 が非常に困難なプログラムであり, do loopの並列化を させる。lockとunlockはともにMPUの出力命令を実 行なえばもう少し速度向上率が上昇すると思われる。ま 行することによってGSMi/fからGSMバスに制御信号 たこれらのプログラムにおいて共有変数によるソフトウ およびGPNOを送出する。受け取るPUではGPNOが エアバリア同期を用いて並列化したものより並列化しな 一致すればlockまたはunlock動作を行なう。図10に いものの方が実行時間が短い結果も得ている。評価の詳 GSMバスの制御信号を示す。 GSMへの書き込みと 細については別稿に譲る。
lock, unlockを共用しているためにハードウェアが削
6.むすび
バリア同期を用いた細粒度並列実行による1つのプロ n/LL/U @ GPNO グラムの実行速度の向上と,複数のプログラムの多重実 行によるスループット向上を目的としたマルチマイクロ
0 一
10
1 1
GPNOで指定したGroupにマ)けキャスト プロセッサMSBMのハードウェア構成について述べた。
=誓塁1謬ili嵩i;ツク MSBMでは多重プ・グラミング環境におし・て,1つの
プログラムを実行する複数のPUを1つのグループとし 図10.GSMバス制御信号 てプログラム実行開始から終了まで変更せずに割り当て
ることならびにバリア同期のためのバリアパターンもプ
ログラムの実行開始から終了まで変更しないことを前提 参考文献
とした・この前提のもとでMCAMによる・ミリア同期機 ;語蕊㌶鷲誌;i。蕊蕊12i;。、 i。,he
構とグループ共有メモリを提案し,これらの機能をもっ System Design of Highly C・ncurrent Multi−pr・cessors,
たMSBMを開発した・MSBMはHCとしてのパーソナ 霊)1「a…n C°mputeらV°L C3ぴN°11・PP1292−13°9 ルコンピュータと7枚のワイヤラップボードで作製され (3)RGupta:The Fuzzy Barrier:AMechanism f・r High ている・7枚のボードの内4枚はプ・セ・サボードであ 麗ぱ漂;;til㌶ご「°cess°「s 3「d INt C°nf°n る。4PUで1枚のプロセッサボードを構成してし)るの (4)松本:Elastic Barrier:一般化されたバリア型同期機構,
で16PU構成となる。残りの3枚は統合インタフェース 情処論・V・1・32, N・・7・PP886−896(1991)・
ユニ・トボードであり,DTUボード, INTUボードお (5)器i二:let㌶,認i紺;蒜霊「蒜
よびMCAMUボードである。特に3枚のIIUボードに ゜n Pa「allel P「°cessin9・PP・15−142(1990)・
ついては設計当初の基本設計から現在}こ至るまで諸般の (6)霊〜9。i蕊、鵬。蕊,H蕊Mr;蒜罐
事情により大幅な変更を余儀なくされた。現在のIIU C・nf・n Parallel Pr・cessin9, PP・143−146(1990).
の機能では1枚のボードで+分である・このような変更 (7)誌i=蕊1:1=A驚ぽf漂蒜
でも対処できたのはFPGAの多用によるものである。 pp25−37, Feb.(1989).
現在ではMSBMは順調に稼働しており性能評価に使用 (8)==三:蒜蒜,=:n:蒜,£ll講
しており,MCAMによるバリア同期機構およびグルー Feb.(1988).
プ共有メモリの有用性が確認されている・ 、、罐讃義麓灘禦,携㌶巖育旨メモリの開発
今後の課題はMSBMを使用した並列タスクスケン 九州工業大学研究報告(工学),66号, PP.45−52(1994).
ユーリングアルゴリズム,並列コンパイラ,各種応用分 (11)A・Zaafrani・H・G・Dietz and M T・0 Keefe:Static S・he−
duling for Barrier MIMD Architectures,19901nt Conf. on 野の並列アルゴリズムの開発およびMSBMのバリア同 parallel processing, pp. II187.IIlg4(1ggO).
期機構を拡張したMDBM型並列計算機である開発中の FMM(Flexible Mesh−network Multimicroprocessor)
の完成である。