JP3429631B2 - 並列計算機システム - Google Patents

並列計算機システム

Info

Publication number
JP3429631B2
JP3429631B2 JP23743696A JP23743696A JP3429631B2 JP 3429631 B2 JP3429631 B2 JP 3429631B2 JP 23743696 A JP23743696 A JP 23743696A JP 23743696 A JP23743696 A JP 23743696A JP 3429631 B2 JP3429631 B2 JP 3429631B2
Authority
JP
Japan
Prior art keywords
barrier synchronization
computer
broadcast
job
computer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP23743696A
Other languages
English (en)
Other versions
JPH1083379A (ja
Inventor
賢一 石坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP23743696A priority Critical patent/JP3429631B2/ja
Publication of JPH1083379A publication Critical patent/JPH1083379A/ja
Application granted granted Critical
Publication of JP3429631B2 publication Critical patent/JP3429631B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の計算機とそ
れらを接続する通信機構とから構成され、1つのジョブ
を複数のプロセスに分割して計算機に割り付ける構成を
採って、各計算機が他計算機で動作するプロセスと同期
をとりつつ割り付けられるプロセスを実行する並列計算
機システムに関し、特に、少ないハードウェア量でもっ
て、その同期処理を実行できるようにする並列計算機シ
ステムに関する。
【0002】並列計算機システムでは、1つのジョブを
複数のプロセスに分割して複数の計算機で並列に処理す
ることで、そのジョブを高速に実行する構成を採ってい
る。この並列処理を実行する場合、各計算機は、他の計
算機で処理されるプロセスがある所まで処理されたこと
を条件にして、次のステップに進むように制御するバリ
ア同期制御を実行する。
【0003】多数の並列ジョブを同時にあるいは時分割
に動作させるためには、各ジョブ内のプロセス間で同期
を同時に処理するための機構が必要となり、一般に大量
のハードウェアが必要となる。これから、このバリア同
期制御は、少ないハードウェア量で実現できるようにし
ていく必要がある。
【0004】
【従来の技術】本発明者は、特開平7-262142 号で、並
列計算機システムのバリア同期制御について新たな発明
を開示した。
【0005】この特開平7-262142 号で説明したよう
に、並列計算機システムで最大n個のプログラムが並列
に実行可能であり、各計算機にそれらのプログラムの全
てが自由に割り付けられる可能性があるとすると、各計
算機におけるプログラムの実行状態は、実行状態が例え
ば実行中/実行終了で示される場合には、nビットで表
すことができる。
【0006】これから、並列計算機システムを構成する
計算機の台数がm台であるとすると、並列計算機システ
ムにおけるプログラムの実行状態は、n×mビットで表
されることになる。従って、この実行状態の目標状態に
ついても、n×mビットで表されることになるが、各計
算機で最大n個のプログラムが実行される可能性がある
ことから、各計算機では、目標状態を管理するn×mビ
ットの大きさを持つレジスタをn個備えなくてはならな
いことになる。
【0007】
【発明が解決しようとする課題】このように、従来の並
列計算機システムでは、バリア同期制御を実行するため
に、各計算機は、通信機構を介して通知される現在のプ
ログラムの実行状態を管理するn×mビットの大きさを
持つステータスレジスタの他に、その実行状態の目標状
態を管理するn×mビットの大きさを持つn個のマスク
レジスタを持つ構成を採っている。
【0008】これから、従来技術に従っていると、バリ
ア同期制御を実行するために、n×n×mビットという
大きなハードウェア量のマスクレジスタを用意しなけれ
ばならないという問題点があった。
【0009】この問題点に対して、各計算機に割り付け
るプロセスの割り付け方法を制限して、このハードウェ
ア量を削減するという構成を採ることも可能だが、汎用
的な並列計算機システムとしては、多数の並列ジョブが
同時に走行できなくなり不利である。
【0010】本発明はかかる事情に鑑みてなされたもの
であって、少ないハードウェア量でもって、バリア同期
制御を実行できるようにする新たな並列計算機システム
の提供を目的する。
【0011】
【課題を解決するための手段】図1に本発明の原理構成
を図示する。
【0012】図中、1は本発明の並列計算機システムを
構成する複数の計算機、2は計算機1を接続する通信機
構である。
【0013】本発明の並列計算機システムでは、1つの
ジョブを複数のプロセスに分割して計算機1に割り付け
る構成を採って、各計算機1が、自計算機1で動作する
1つ又は複数のプロセスの処理進行情報を通信機構2を
介して全計算機1に放送していくとともに、通信機構2
を介して放送される処理進行情報に従って他計算機1で
動作するプロセスと同期をとりつつ割り付けられるプロ
セスを実行する。
【0014】発明の計算機1は、管理手段20と、放
送手段21と、付加手段22と、書込手段23と、決定
手段24と、受信手段25と、指示手段26と、読込手
段27と、割込手段28とを備える。
【0015】この管理手段20は、自計算機1で動作す
るプロセスに対応付けて用意され、そのプロセスのジョ
ブ内の展開位置を示すジョブ内番号とそのジョブの識別
子とを管理するとともに、少なくともそのジョブの持つ
プロセスの数分のビット域を有して、そのビット域にプ
ロセスの処理進行情報を示すビット値を格納する第1の
レジスタ手段20aと、第1のレジスタ手段20aに対
応付けて備えられて、ビット域にプロセスの存在の有無
を示すビット値を格納する第2のレジスタ手段20bと
を備える。
【0016】放送手段21は、自計算機1で動作するプ
ロセスの処理進行情報と、そのプロセスの属するジョブ
の識別子と、そのプロセスのジョブ内番号とを放送した
り、処理用データとジョブ識別子とを放送したり、割り
込み通知とジョブ識別子とを放送する。付加手段22
は、放送手段21の放送する放送情報に対してその情報
の種別を示すオペコードを付加する。
【0017】書込手段23は、放送されるジョブ識別子
及びジョブ内番号の指す第1のレジスタ手段20aのビ
ット域に、放送される処理進行情報を書き込む。決定手
段24は、第1のレジスタ手段20aの格納データと、
対となる第2のレジスタ手段20bの格納データとを比
較することで、自計算機1で動作するプロセスを次のス
テップに進めるのか否かを決定する。
【0018】受信手段25は、通信機構2を介して放送
される情報を受信する。指示手段26は、受信手段25
の受信した情報の持つオペコードを解読する。
【0019】読込手段27は、指示手段26の指示に応
答して、例えば、放送されるジョブ識別子が自計算機1
で動作するプロセスの属するジョブと同一であることを
条件にして、受信手段25の受信する処理用データを読
み込む。割込手段28は、指示手段26の指示に応答し
て、例えば、放送されるジョブ識別子が自計算機1で動
作するプロセスの属するジョブと同一であることを条件
にして、受信手段25の受信する割り込み通知に応答し
てCPUに対して割り込みを発生する。
【0020】このように構成される本発明の並列計算機
システムを構成する計算機1では、各計算機1の放送手
段21は、自計算機1で動作するプロセスの進行情報
と、そのプロセスの持つジョブ内番号及びジョブ識別子
とを通信機構2を介して全計算機1に放送する。
【0021】この放送を受けて、各計算機1の書込手段
23は、放送されるジョブ識別子及びジョブ内番号の指
す第1のレジスタ手段20aに、放送される処理進行情
報を書き込む。そして、この書込結果を受けて、決定手
段24は、第1のレジスタ手段20aの格納データと、
対となる第2のレジスタ手段20bの格納データとを比
較することで、バリア同期点に到達したのか否かを判断
して、自計算機1で動作するプロセスを次のステップに
進めるのか否かを決定する。
【0022】この構成を採るときにあって、放送手段2
1は、プロセスの処理進行情報に代えて、処理用データ
や割り込み通知を放送することがあり、このときには、
付加手段22は、放送される情報にオペコードを付加し
ていくので、指示手段26は、放送されるこのオペコー
ドを受けて、読込手段27を起動していくことで処理用
データの読み込みを実行したり、割込手段28を起動し
ていくことでCPUへの割り込みを実行する。
【0023】このようにして、本発明の計算機1では、
例えば、1つのジョブを8個のプロセスに分割して計算
機1で並列処理するときに、そのプロセスの処理進行情
報をジョブ内番号/ジョブ識別子とともに放送する構成
を採って、従来技術よりも少ないビット数の第2のレジ
スタ手段20bを使って、そのジョブについての8個の
バリア同期点到達の処理進行情報が放送されたのか否か
を検出することで、バリア同期制御を実行する構成を採
ることから、少ないハードウェア量でもってバリア同期
制御を実行できるようになる。
【0024】そして、このバリア同期制御を実行しつ
つ、他の計算機1に処理用データを書き込んだり、他の
計算機1に割り込みを通知できるようになる。
【0025】
【発明の実施の形態】以下、実施の形態に従って本発明
を詳細に説明する。
【0026】図に、本発明を具備する並列計算機シス
テムの一例を図示する。
【0027】この図に示す並列計算機システムは、PE
1で示される計算機1-1と、PE2で示される計算機1
-2と、PE3で示される計算機1-3と、PE4で示され
る計算機1-4という4台の計算機1で構成されて、1つ
のジョブを並列処理する構成を採っている。
【0028】以下では、説明の便宜上、ジョブ識別子
“1234”を持つ1つのジョブを8個のプロセス1〜8に
分割して、図に示すように、計算機1-1がプロセス1
とプロセス2を実行し、計算機1-2がプロセス3とプロ
セス4を実行し、計算機1-3がプロセス5とプロセス6
を実行し、計算機1-4がプロセス7とプロセス8を実行
するという並列処理形態を想定する。
【0029】本発明の並列計算機システムを構成する計
算機1は、自計算機1で動作するプロセスの処理進行情
報と、そのプロセスの属するジョブの識別子と、そのプ
ロセスのジョブ内番号(ジョブ内での展開位置を示す)
とを放送する構成を採っており、これを実現するため
に、通信機構2は、図に示すように、各計算機1から
通知されるジョブ識別子(jobid)/ジョブ内番号(pid)
/処理進行情報(state)を受け取って、それを選択しつ
つ各計算機1に送信する選択回路200を備える構成を
採っている。
【0030】図に、本発明の並列計算機システムを構
成する計算機1の一実施例を図示する。
【0031】図中、30はCPU、31-i(i=1〜
n)はn台備えられるバリア同期機構であって、バリア
同期制御を実行するものである。ここで、このn台は、
1つの計算機1で並列に実行される可能性のあるプロセ
スの最大数に対応している。
【0032】32は選択回路であって、各バリア同期機
構31-iの出力するジョブ識別子/ジョブ内番号/処理
進行情報を入力として、その内の1つのバリア同期機構
31-iの出力するジョブ識別子/ジョブ内番号/処理進
行情報を通信機構2に出力するものである。
【0033】33は受信回路であって、通信機構2から
放送されるジョブ識別子/ジョブ内番号/処理進行情報
を受信して、それを各バリア同期機構31-iに通知する
もの、34は機構番号表示回路であって、CPU30で
動作中のプロセスが使用しているバリア同期機構31-i
の機構番号を表示するものである。
【0034】35は宛先選択回路であって、機構番号表
示回路34の表示する機構番号に従ってバリア同期機構
31-iを選択して、CPU30がプロセスの処理進行情
報を変更するときに、その選択するバリア同期機構31
-iにその処理進行情報を出力するものである。
【0035】36は選択回路であって、機構番号表示回
路34の表示する機構番号に従ってバリア同期機構31
-iを選択して、その選択するバリア同期機構31-iがバ
リア同期の取れた旨のビット値を出力するときに、その
出力値をCPU30の持つ規定のレジスタに書き込むも
のである。
【0036】37は割込マスクであって、CPU30に
割り込みを通知するのか否かを管理する構成を採って、
機構番号表示回路34の表示する機構番号に従ってバリ
ア同期機構31-iを選択して、その選択するバリア同期
機構31-iがバリア同期の取れた旨のビット値を出力す
るときに、割り込み通知が設定されているときには、そ
のバリア同期機構31-iを使用しているプロセスが動作
中であってもなくても、CPU30に割り込みを通知す
るものである。
【0037】このバリア同期機構31-iは、自分を使用
しているプロセスのジョブ識別子を保持して選択回路3
2に出力するジョブ識別子レジスタ40と、自分を使用
しているプロセスのジョブ内番号を保持して選択回路3
2に出力するジョブ内番号レジスタ41と、宛先選択回
路35から通知される処理進行情報を書き込む状態レジ
スタ42と、8ビット以上のビット域を有して、ビット
域i(i=1〜8)にプロセスi(i=1〜8)の処理
進行情報を示すビット値(初期値はall"0") を格納する
ステータスレジスタ43と、ステータスレジスタ43に
対応付けて備えられて、ビット域i(i=1〜8)にプ
ロセスi(i=1〜8)の存在を示すビット値“1”を
格納し、それ以外のビット域にプロセスの不存在を示す
ビット値“0”を格納するマスクレジスタ44と、ステ
ータスレジスタ43のビット値とマスクレジスタ44の
ビット値とを比較することで、バリア同期が取れたのか
否かを検出して、その検出結果を選択回路36/割込マ
スク37に出力する同期検出回路45と、受信回路33
の受信するジョブ識別子と、ジョブ識別子レジスタ40
の保持するジョブ識別子とが一致するときに、受信回路
33の受信するジョブ内番号の指すステータスレジスタ
43のビット域に、放送されてくる処理進行情報を書き
込む書込回路46とを備える。
【0038】以下では、ステータスレジスタ43及びマ
スクレジスタ44のビット数を16ビットで想定してい
る。これは、実稼働時には、16台の計算機1の各々
が、16個に分割される1つのプロセスを並列処理し、
デバッグ時には、それよりも少ない計算機1の各々が、
複数のプロセスを並列処理することでデバッグ処理を実
行する構成を採ることを想定しているからである。
【0039】このような構成を採る場合、バリア同期制
御を実行するためには、従来技術では、上述したよう
に、16×n×nビットの大きさを持つマスクレジスタ
を用意しなければならないのに対して、本発明では、1
6×nビットの大きさを持つマスクレジスタ44を用意
すれば足りるので、ハードウェア量を大きく削減できる
ようになる。なお、ステータスレジスタ43について
も、16×nビットの大きさを持つ必要がある。
【0040】次に、このように構成される計算機1の動
作処理について具体的に説明することで、本発明につい
て詳細に説明する。
【0041】ここで、図で説明したように、1つのジ
ョブを8個のプロセス1〜8に分割して、計算機1-1が
プロセス1/プロセス2を実行し、計算機1-2がプロセ
ス3/プロセス4を実行し、計算機1-3がプロセス5/
プロセス6を実行し、計算機1-4がプロセス7/プロセ
ス8を実行するという並列処理形態を想定しているが、
更に、図及び図に示すように、プロセス1が計算機
1-1のバリア同期機構31-1を使用し、プロセス2が計
算機1-1のバリア同期機構31-2を使用し、プロセス3
が計算機1-2のバリア同期機構31-1を使用し、プロセ
ス4が計算機1-2のバリア同期機構31-2を使用し、プ
ロセス5が計算機1-3のバリア同期機構31-1を使用
し、プロセス6が計算機1-3のバリア同期機構31-2を
使用し、プロセス7が計算機1-4のバリア同期機構31
-1を使用し、プロセス8が計算機1-4のバリア同期機構
31-2を使用することを想定する。
【0042】4台の計算機1-iが、プロセス1〜8の並
列処理に入った後、最初に、プロセス3がバリア同期点
に到達すると、図に示すように、計算機1-2の宛先選
択回路35が、プロセス3の使用するバリア同期機構3
1-1を選択して、そのバリア同期機構31-1の状態レジ
スタ42にバリア同期に到達した旨を表示するビット値
“1”の処理進行情報を書き込み、これを受けて、計算
機1-2の選択回路32は、その状態レジスタ42に書き
込まれる処理進行情報“1”を、そのバリア同期機構3
1-1の管理するジョブ識別子“1234”/ジョブ内番号
“3”とともに、通信機構2を介して全計算機1-iに放
送する。そして、プロセス3は同期待ちの状態に入る。
【0043】この放送を受けて、図に示すように、計
算機1-1の持つバリア同期機構31-iの内、ジョブ識別
子の一致する2つのバリア同期機構31-1,2が機能し
て、その2つのバリア同期機構31-1,2の書込回路46
は、その2つのバリア同期機構31-1,2のステータスレ
ジスタ43の第3番目のビット域にバリア同期に到達し
た旨を表示するビット値“1”を書き込む。そして、図
に示すように、計算機1-2の持つバリア同期機構31
-iの内、ジョブ識別子の一致する2つのバリア同期機構
31-1,2が機能して、その2つのバリア同期機構31-
1,2の書込回路46は、その2つのバリア同期機構31-
1,2のステータスレジスタ43の第3番目のビット域に
バリア同期に到達した旨を表示するビット値“1”を書
き込む。
【0044】そして、図10に示すように、計算機1-3
の持つバリア同期機構31-iの内、ジョブ識別子の一致
する2つのバリア同期機構31-1,2が機能して、その2
つのバリア同期機構31-1,2の書込回路46は、その2
つのバリア同期機構31-1,2のステータスレジスタ43
の第3番目のビット域にバリア同期に到達した旨を表示
するビット値“1”を書き込む。そして、図11に示す
ように、計算機1-4の持つバリア同期機構31-iの内、
ジョブ識別子の一致する2つのバリア同期機構31-1,2
が機能して、その2つのバリア同期機構31-1,2の書込
回路46は、その2つのバリア同期機構31-1,2のステ
ータスレジスタ43の第3番目のビット域にバリア同期
に到達した旨を表示するビット値“1”を書き込む。
【0045】続いて、プロセス5がバリア同期点に到達
すると、図13に示すように、計算機1-3の宛先選択回
路35が、プロセス5の使用するバリア同期機構31-1
を選択して、そのバリア同期機構31-1の状態レジスタ
42にバリア同期に到達した旨を表示するビット値
“1”の処理進行情報を書き込み、これを受けて、計算
機1-3の選択回路32は、その状態レジスタ42に書き
込まれる処理進行情報“1”を、そのバリア同期機構3
1-1の管理するジョブ識別子“1234”/ジョブ内番号
“5”とともに、通信機構2を介して全計算機1-iに放
送する。そして、プロセス5は同期待ちの状態に入る。
【0046】この放送を受けて、図12に示すように、
計算機1-1のバリア同期機構31-1,2の持つ書込回路4
6は、バリア同期機構31-1,2のステータスレジスタ4
3の第5番目のビット域にバリア同期に到達した旨を表
示するビット値“1”を書き込む。そして、図12に示
すように、計算機1-2のバリア同期機構31-1,2の持つ
書込回路46は、バリア同期機構31-1,2のステータス
レジスタ43の第5番目のビット域にバリア同期に到達
した旨を表示するビット値“1”を書き込む。そして、
13に示すように、計算機1-3のバリア同期機構31
-1,2の持つ書込回路46は、バリア同期機構31-1,2の
ステータスレジスタ43の第5番目のビット域にバリア
同期に到達した旨を表示するビット値“1”を書き込
む。そして、図13に示すように、計算機1-4のバリア
同期機構31-1,2の持つ書込回路46は、バリア同期機
構31-1,2のステータスレジスタ43の第5番目のビッ
ト域にバリア同期に到達した旨を表示するビット値
“1”を書き込む。
【0047】続いて、プロセス1がバリア同期点に到達
すると、図14に示すように、計算機1-1の宛先選択回
路35が、プロセス1の使用するバリア同期機構31-1
を選択して、そのバリア同期機構31-1の状態レジスタ
42にバリア同期に到達した旨を表示するビット値
“1”の処理進行情報を書き込み、これを受けて、計算
機1-3の選択回路32は、その状態レジスタ42に書き
込まれる処理進行情報“1”を、そのバリア同期機構3
1-1の管理するジョブ識別子“1234”/ジョブ内番号
“1”とともに、通信機構2を介して全計算機1-iに放
送する。そして、プロセス1は同期待ちの状態に入る。
【0048】この放送を受けて、図14に示すように、
計算機1-1のバリア同期機構31-1,2の持つ書込回路4
6は、バリア同期機構31-1,2のステータスレジスタ4
3の第1番目のビット域にバリア同期に到達した旨を表
示するビット値“1”を書き込む。そして、図14に示
すように、計算機1-2のバリア同期機構31-1,2の持つ
書込回路46は、バリア同期機構31-1,2のステータス
レジスタ43の第1番目のビット域にバリア同期に到達
した旨を表示するビット値“1”を書き込む。そして、
15に示すように、計算機1-3のバリア同期機構31
-1,2の持つ書込回路46は、バリア同期機構31-1,2の
ステータスレジスタ43の第1番目のビット域にバリア
同期に到達した旨を表示するビット値“1”を書き込
む。そして、図15に示すように、計算機1-4のバリア
同期機構31-1,2の持つ書込回路46は、バリア同期機
構31-1,2のステータスレジスタ43の第1番目のビッ
ト域にバリア同期に到達した旨を表示するビット値
“1”を書き込む。
【0049】続いて、プロセス6がバリア同期点に到達
すると、図17に示すように、計算機1-3の宛先選択回
路35が、プロセス6の使用するバリア同期機構31-2
を選択して、そのバリア同期機構31-2の状態レジスタ
42にバリア同期に到達した旨を表示するビット値
“1”の処理進行情報を書き込み、これを受けて、計算
機1-3の選択回路32は、その状態レジスタ42に書き
込まれる処理進行情報“1”を、そのバリア同期機構3
1-2の管理するジョブ識別子“1234”/ジョブ内番号
“6”とともに、通信機構2を介して全計算機1-iに放
送する。そして、プロセス6は同期待ちの状態に入る。
【0050】この放送を受けて、図16に示すように、
計算機1-1のバリア同期機構31-1,2の持つ書込回路4
6は、バリア同期機構31-1,2のステータスレジスタ4
3の第6番目のビット域にバリア同期に到達した旨を表
示するビット値“1”を書き込む。そして、図16に示
すように、計算機1-2のバリア同期機構31-1,2の持つ
書込回路46は、バリア同期機構31-1,2のステータス
レジスタ43の第6番目のビット域にバリア同期に到達
した旨を表示するビット値“1”を書き込む。そして、
17に示すように、計算機1-3のバリア同期機構31
-1,2の持つ書込回路46は、バリア同期機構31-1,2の
ステータスレジスタ43の第6番目のビット域にバリア
同期に到達した旨を表示するビット値“1”を書き込
む。そして、図17に示すように、計算機1-4のバリア
同期機構31-1,2の持つ書込回路46は、バリア同期機
構31-1,2のステータスレジスタ43の第6番目のビッ
ト域にバリア同期に到達した旨を表示するビット値
“1”を書き込む。
【0051】続いて、プロセス2がバリア同期点に到達
すると、図18に示すように、計算機1-1の宛先選択回
路35が、プロセス2の使用するバリア同期機構31-2
を選択して、そのバリア同期機構31-2の状態レジスタ
42にバリア同期に到達した旨を表示するビット値
“1”の処理進行情報を書き込み、これを受けて、計算
機1-1の選択回路32は、その状態レジスタ42に書き
込まれる処理進行情報“1”を、そのバリア同期機構3
1-2の管理するジョブ識別子“1234”/ジョブ内番号
“2”とともに、通信機構2を介して全計算機1-iに放
送する。そして、プロセス2は同期待ちの状態に入る。
【0052】この放送を受けて、図18に示すように、
計算機1-1のバリア同期機構31-1,2の持つ書込回路4
6は、バリア同期機構31-1,2のステータスレジスタ4
3の第2番目のビット域にバリア同期に到達した旨を表
示するビット値“1”を書き込む。そして、図18に示
すように、計算機1-2のバリア同期機構31-1,2の持つ
書込回路46は、バリア同期機構31-1,2のステータス
レジスタ43の第2番目のビット域にバリア同期に到達
した旨を表示するビット値“1”を書き込む。そして、
19に示すように、計算機1-3のバリア同期機構31
-1,2の持つ書込回路46は、バリア同期機構31-1,2の
ステータスレジスタ43の第2番目のビット域にバリア
同期に到達した旨を表示するビット値“1”を書き込
む。そして、図19に示すように、計算機1-4のバリア
同期機構31-1,2の持つ書込回路46は、バリア同期機
構31-1,2のステータスレジスタ43の第2番目のビッ
ト域にバリア同期に到達した旨を表示するビット値
“1”を書き込む。
【0053】続いて、プロセス7がバリア同期点に到達
すると、図21に示すように、計算機1-4の宛先選択回
路35が、プロセス7の使用するバリア同期機構31-1
を選択して、そのバリア同期機構31-1の状態レジスタ
42にバリア同期に到達した旨を表示するビット値
“1”の処理進行情報を書き込み、これを受けて、計算
機1-4の選択回路32は、その状態レジスタ42に書き
込まれる処理進行情報“1”を、そのバリア同期機構3
1-1の管理するジョブ識別子“1234”/ジョブ内番号
“7”とともに、通信機構2を介して全計算機1-iに放
送する。そして、プロセス7は同期待ちの状態に入る。
【0054】この放送を受けて、図20に示すように、
計算機1-1のバリア同期機構31-1,2の持つ書込回路4
6は、バリア同期機構31-1,2のステータスレジスタ4
3の第7番目のビット域にバリア同期に到達した旨を表
示するビット値“1”を書き込む。そして、図20に示
すように、計算機1-2のバリア同期機構31-1,2の持つ
書込回路46は、バリア同期機構31-1,2のステータス
レジスタ43の第7番目のビット域にバリア同期に到達
した旨を表示するビット値“1”を書き込む。そして、
21に示すように、計算機1-3のバリア同期機構31
-1,2の持つ書込回路46は、バリア同期機構31-1,2の
ステータスレジスタ43の第7番目のビット域にバリア
同期に到達した旨を表示するビット値“1”を書き込
む。そして、図21に示すように、計算機1-4のバリア
同期機構31-1,2の持つ書込回路46は、バリア同期機
構31-1,2のステータスレジスタ43の第7番目のビッ
ト域にバリア同期に到達した旨を表示するビット値
“1”を書き込む。
【0055】続いて、プロセス4がバリア同期点に到達
すると、図22に示すように、計算機1-2の宛先選択回
路35が、プロセス4の使用するバリア同期機構31-2
を選択して、そのバリア同期機構31-2の状態レジスタ
42にバリア同期に到達した旨を表示するビット値
“1”の処理進行情報を書き込み、これを受けて、計算
機1-2の選択回路32は、その状態レジスタ42に書き
込まれる処理進行情報“1”を、そのバリア同期機構3
1-2の管理するジョブ識別子“1234”/ジョブ内番号
“4”とともに、通信機構2を介して全計算機1-iに放
送する。そして、プロセス4は同期待ちの状態に入る。
【0056】この放送を受けて、図22に示すように、
計算機1-1のバリア同期機構31-1,2の持つ書込回路4
6は、バリア同期機構31-1,2のステータスレジスタ4
3の第4番目のビット域にバリア同期に到達した旨を表
示するビット値“1”を書き込む。そして、図22に示
すように、計算機1-2のバリア同期機構31-1,2の持つ
書込回路46は、バリア同期機構31-1,2のステータス
レジスタ43の第4番目のビット域にバリア同期に到達
した旨を表示するビット値“1”を書き込む。そして、
23に示すように、計算機1-3のバリア同期機構31
-1,2の持つ書込回路46は、バリア同期機構31-1,2の
ステータスレジスタ43の第4番目のビット域にバリア
同期に到達した旨を表示するビット値“1”を書き込
む。そして、図23に示すように、計算機1-4のバリア
同期機構31-1,2の持つ書込回路46は、バリア同期機
構31-1,2のステータスレジスタ43の第4番目のビッ
ト域にバリア同期に到達した旨を表示するビット値
“1”を書き込む。
【0057】続いて、プロセス8がバリア同期点に到達
すると、図25に示すように、計算機1-4の宛先選択回
路35が、プロセス8の使用するバリア同期機構31-2
を選択して、そのバリア同期機構31-2の状態レジスタ
42にバリア同期に到達した旨を表示するビット値
“1”の処理進行情報を書き込み、これを受けて、計算
機1-4の選択回路32は、その状態レジスタ42に書き
込まれる処理進行情報“1”を、そのバリア同期機構3
1-2の管理するジョブ識別子“1234”/ジョブ内番号
“8”とともに、通信機構2を介して全計算機1-iに放
送する。そして、プロセス8は同期待ちの状態に入る。
【0058】この放送を受けて、図24に示すように、
計算機1-1のバリア同期機構31-1,2の持つ書込回路4
6は、バリア同期機構31-1,2のステータスレジスタ4
3の第8番目のビット域にバリア同期に到達した旨を表
示するビット値“1”を書き込む。そして、図24に示
すように、計算機1-2のバリア同期機構31-1,2の持つ
書込回路46は、バリア同期機構31-1,2のステータス
レジスタ43の第8番目のビット域にバリア同期に到達
した旨を表示するビット値“1”を書き込む。そして、
25に示すように、計算機1-3のバリア同期機構31
-1,2の持つ書込回路46は、バリア同期機構31-1,2の
ステータスレジスタ43の第8番目のビット域にバリア
同期に到達した旨を表示するビット値“1”を書き込
む。そして、図25に示すように、計算機1-4のバリア
同期機構31-1,2の持つ書込回路46は、バリア同期機
構31-1,2のステータスレジスタ43の第8番目のビッ
ト域にバリア同期に到達した旨を表示するビット値
“1”を書き込む。
【0059】このようにして、プロセス1〜8が、「プ
ロセス3→プロセス5→プロセス1→プロセス6→プロ
セス2→プロセス7→プロセス4→プロセス8」の順番
に従ってバリア同期点に到達すると、図26及び図27
に示すように、各計算機1-iのステータスレジスタ43
のビット域i(i=1〜8)に“1”がセットされると
ともに、それ以外のビット域に“0”がセットされるこ
とで、ステータスレジスタ43の格納データとマスクレ
ジスタ44の格納データとが一致することになるので、
各計算機1-iのバリア同期機構31-1,2の持つ同期検出
回路45は、全プロセス1〜8がバリア同期点に到達し
たことを判断して、その旨を選択回路36/割込マスク
37に出力し、これを受けて、CPU30は、全プロセ
ス1〜8がバリア同期点に到達したことを知ることにな
る。
【0060】このようにして、本発明の並列計算機シス
テムを構成する計算機1-iは、従来技術よりも少ないハ
ードウェア量を持つマスクレジスタ44を使って、バリ
ア同期制御を実行できるようになる。
【0061】この実施例では、ステータスレジスタ43
/マスクレジスタ44を使って、全プロセス1〜8がバ
リア同期点に到達したのか否かを判断する構成を採った
が、本発明に関連する技術として、プロセス1〜8の内
のどのプロセスがバリア同期点に到達しているのかを知
る必要がないときには、単なるカウンタを使って処理進
行情報を計数することにより、全プロセス1〜8がバリ
ア同期点に到達したのか否かを判断することで、バリア
同期制御を実行する構成を採ることも可能である。
【0062】更に、並列計算機システムでは、計算機1
-iは、他の計算機1-iに対して、検索の終了通知等の小
量データを送信したいことが起こる。また、他の計算機
1-iに対して、割り込みを通知したいことが起こる。
【0063】このような要求に対処するために、本発明
の並列計算機システムでは、図28に示すように、計算
機1-iは、ジョブ識別子(jobid)/ジョブ内番号(pid)
/処理進行情報(state)を送信するモードの他に、ジョ
ブ識別子(jobid)/小量データを送信するモードと、ジ
ョブ識別子(jobid)/割込通知を送信するモードとを用
意するとともに、それぞれに固有のオペコードを割り付
ける構成を採る。
【0064】そして、各計算機1にオペコード解読機構
60を備える構成を採って、それを使って放送されるオ
ペコードを解読することで、他計算機1-iから送られて
る送信情報がどの送信モードのものであるのかを解読し
て、ジョブ識別子(jobid)/ジョブ内番号(pid)/処理
進行情報(state)の送信モードであることを判断すると
きには、上述した構成を採るバリア機構61を起動し、
ジョブ識別子(jobid)/小量データの送信モードである
ことを判断するときには、その送られてくる小量データ
を規定のメモリ域に書き込む処理を実行するデータ読込
機構62を起動し、ジョブ識別子(jobid)/割込通知の
送信モードであることを判断するときには、CPUに割
り込みを通知する処理を実行する割込通知機構63を起
動する構成を採ることになる。
【0065】ここで、この構成を採るときにあって、特
定のジョブ識別子が放送されるときには、ジョブ識別子
に関係なく小量データを読み込む構成を採ったり、ジョ
ブ識別子に関係なく割り込みを通知する構成を採ること
も可能である。
【0066】
【発明の効果】以上説明したように、本発明の並列計算
機システムによれば、複数の並列ジョブが同時に走行可
能で、1つのジョブを複数のプロセスに分割して各プロ
セスを各計算機に自由に割り当てて並列処理するとき
に、従来よりも少ないハードウェア量でもってバリア同
期制御を実行できるようになる。
【0067】そして、このバリア同期制御を実行しつ
つ、他の計算機に処理用データを書き込んだり、他の計
算機に割り込みを通知できるようになる。
【図面の簡単な説明】
【図1】発明の原理構成図である。
【図2】並列計算機システムの一例である。
【図3】プロセスの並列処理形態の一例である。
【図4】通信機構の処理説明図である。
【図5】計算機の一実施例である。
【図6】バリア同期機構を使用するプロセスの説明図で
ある。
【図7】バリア同期機構を使用するプロセスの説明図で
ある。
【図8】実施例の動作説明図である。
【図9】実施例の動作説明図である。
【図10】実施例の動作説明図である。
【図11】実施例の動作説明図である。
【図12】実施例の動作説明図である。
【図13】実施例の動作説明図である。
【図14】実施例の動作説明図である。
【図15】実施例の動作説明図である。
【図16】実施例の動作説明図である。
【図17】実施例の動作説明図である。
【図18】実施例の動作説明図である。
【図19】実施例の動作説明図である。
【図20】実施例の動作説明図である。
【図21】実施例の動作説明図である。
【図22】実施例の動作説明図である。
【図23】実施例の動作説明図である。
【図24】実施例の動作説明図である。
【図25】実施例の動作説明図である。
【図26】実施例の動作説明図である。
【図27】実施例の動作説明図である。
【図28】本発明の一実施例である。
【符号の説明】
1 計算機 2 通信機 0 管理手段 20a 第1のレジスタ手段 20b 第2のレジスタ手段 21 放送手段 22 付加手段 23 書込手段 24 決定手段 25 受信手段 26 指示手段 27 読込手段 28 割込手段
フロントページの続き (56)参考文献 特開 平7−200486(JP,A) 特開 平2−297656(JP,A) 特開 昭61−35645(JP,A) 特開 平7−262142(JP,A) 特開 平7−219917(JP,A) 特開 平7−200436(JP,A) 特開 平7−129526(JP,A) 特開 平6−187303(JP,A) 特開 平5−151173(JP,A) 特開 平4−199257(JP,A) 特開 平3−80733(JP,A) 特開 平2−116954(JP,A) 特開 平1−303561(JP,A) 特開 昭64−62759(JP,A) 特開 昭61−139868(JP,A) 特開 昭59−161952(JP,A) 野口善昭、他3名,汎用マルチマイク ロプロセッサFMMの構成と性能評価, 情報処理学会研究報告,日本,社団法人 情報処理学会,1994年 7月23日,第94 巻,第66号,(94−ARC−107),p. 17−24 (58)調査した分野(Int.Cl.7,DB名) G06F 15/16 - 15/177 G06F 9/46

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 1つのジョブを複数のプロセスに分割し
    て計算機に割り付ける構成を採って、各計算機が、自計
    算機で動作する1つ又は複数のプロセスの処理進行情報
    を通信機構を介して全計算機に放送していくとともに、
    該通信機構を介して放送される処理進行情報に従って他
    計算機で動作するプロセスと同期をとりつつ割り付けら
    れるプロセスを実行する並列計算機システムにおいて、 各計算機が、 自計算機で動作するプロセスに対応付けて用意され、該
    プロセスのジョブ内の展開位置を示すジョブ内番号と該
    ジョブの識別子とを管理するとともに、少なくとも該ジ
    ョブの持つプロセスの数分のビット域を有して、該ビッ
    ト域にプロセスの処理進行情報を示すビット値を格納す
    る第1のレジスタ手段と、該第1のレジスタ手段に対応
    付けて備えられて、ビット域にプロセスの存在の有無を
    示すビット値を格納する第2のレジスタ手段とを持つ管
    理手段と、 自計算機で動作するプロセスの持つジョブ内番号及びジ
    ョブ識別子を、該プロセスの処理進行情報とともに放送
    する放送手段と、 放送されるジョブ識別子及びジョブ内番号の指す上記第
    1のレジスタ手段のビット域に、放送される処理進行情
    報を書き込む書込手段と、 上記第1のレジスタ手段の格納データと、対となる上記
    第2のレジスタ手段の格納データとを比較することで、
    自計算機で動作するプロセスを次のステップに進めるの
    か否かを決定する決定手段とを備えることを、 特徴とする並列計算機システム。
  2. 【請求項2】 請求項1記載の並列計算機システムにお
    いて、 ジョブ内番号として通番を使用するとともに、上記第1
    のレジスタ手段のビット域に該通番と同一の通番を割り
    付ける構成を採ることを、 特徴とする並列計算機システム。
  3. 【請求項3】 請求項1又は2記載の並列計算機システ
    ムにおいて、 上記放送手段は、処理進行情報を放送する他に、処理用
    データを放送する機能を持ち、 かつ、放送されるジョブ識別子が自計算機で動作するプ
    ロセスの属するジョブ識別子と同一であるときに、放送
    される処理用データを読み込む読込手段を備えること
    を、 特徴とする並列計算機システム。
  4. 【請求項4】 請求項3記載の並列計算機システムにお
    いて、 上記読込手段は、特定のジョブ識別子が放送されるとき
    には、自計算機で動作するプロセスに関係なく放送され
    る処理用データを読み込むことを、 特徴とする並列計算機システム。
  5. 【請求項5】 請求項1又は2記載の並列計算機システ
    ムにおいて、 上記放送手段は、処理進行情報を放送する他に、割り込
    み通知を放送する機能を持ち、 かつ、放送されるジョブ識別子が自計算機で動作するプ
    ロセスの属するジョブ識別子と同一であるときに、放送
    される割り込み通知に従ってCPUに対して割り込みを
    発生する割込手段を備えることを、 特徴とする並列計算機システム。
  6. 【請求項6】 請求項5記載の並列計算機システムにお
    いて、 上記割込手段は、特定のジョブ識別子が放送されるとき
    には、自計算機で動作するプロセスに関係なくCPUに
    対して割り込みを発生することを、 特徴とする並列計算機システム。
  7. 【請求項7】 請求項1又は2記載の並列計算機システ
    ムにおいて、 上記放送手段が、処理進行情報を放送する他に、処理用
    データを放送する機能と、割り込み通知を放送する機能
    を持ち、 かつ、上記放送手段の放送処理時に、放送される情報に
    対して該情報の種別を示すオペコードを付加する付加手
    段と、 放送されるオペコードを解読して、その解読結果が処理
    進行情報を示すときに、バリア同期機構を起動し、その
    解読結果が処理用データを示すときに、該処理用データ
    の読み込みを指示し、その解読結果が割り込み通知を示
    すときに、CPUへの割り込み発生を指示する指示手段
    とを備えることを、 特徴とする並列計算機システム。
JP23743696A 1996-09-09 1996-09-09 並列計算機システム Expired - Fee Related JP3429631B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23743696A JP3429631B2 (ja) 1996-09-09 1996-09-09 並列計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23743696A JP3429631B2 (ja) 1996-09-09 1996-09-09 並列計算機システム

Publications (2)

Publication Number Publication Date
JPH1083379A JPH1083379A (ja) 1998-03-31
JP3429631B2 true JP3429631B2 (ja) 2003-07-22

Family

ID=17015339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23743696A Expired - Fee Related JP3429631B2 (ja) 1996-09-09 1996-09-09 並列計算機システム

Country Status (1)

Country Link
JP (1) JP3429631B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356568B2 (en) 2002-12-12 2008-04-08 International Business Machines Corporation Method, processing unit and data processing system for microprocessor communication in a multi-processor system
US7360067B2 (en) 2002-12-12 2008-04-15 International Business Machines Corporation Method and data processing system for microprocessor communication in a cluster-based multi-processor wireless network
US7493417B2 (en) 2002-12-12 2009-02-17 International Business Machines Corporation Method and data processing system for microprocessor communication using a processor interconnect in a multi-processor system
US7359932B2 (en) 2002-12-12 2008-04-15 International Business Machines Corporation Method and data processing system for microprocessor communication in a cluster-based multi-processor system
JP5176230B2 (ja) * 2008-03-10 2013-04-03 株式会社日立製作所 計算機システム、計算機制御方法及び計算機制御プログラム
JP5239751B2 (ja) 2008-10-31 2013-07-17 富士通株式会社 ノード間同期装置、ノード間同期方法およびノード間同期プログラム
EP2615548B1 (en) * 2010-09-08 2016-12-28 Hitachi, Ltd. Computing device
JP5549574B2 (ja) * 2010-12-17 2014-07-16 富士通株式会社 並列計算機システム、同期装置、並列計算機システムの制御方法
JP5831316B2 (ja) 2012-03-19 2015-12-09 富士通株式会社 並列処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
野口善昭、他3名,汎用マルチマイクロプロセッサFMMの構成と性能評価,情報処理学会研究報告,日本,社団法人情報処理学会,1994年 7月23日,第94巻,第66号,(94−ARC−107),p.17−24

Also Published As

Publication number Publication date
JPH1083379A (ja) 1998-03-31

Similar Documents

Publication Publication Date Title
CN101877120B (zh) 支持多个绘图处理器的互动的方法与系统
TWI251750B (en) An apparatus and method for selectable hardware accelerators in a data driven architecture
US6671827B2 (en) Journaling for parallel hardware threads in multithreaded processor
CN100590655C (zh) 指令解析器以及图形处理单元及其方法
JP3271125B2 (ja) データを転送する方法と装置及びデータ転送をインタリーブする装置
CN1991768B (zh) 与不同种类的资源通信的基于指令系统结构的内定序器
JP2644780B2 (ja) 処理依頼機能を持つ並列計算機
US7577874B2 (en) Interactive debug system for multiprocessor array
US7805638B2 (en) Multi-frequency debug network for a multiprocessor array
CN101840390B (zh) 适用于多处理器系统的硬件同步电路结构及其实现方法
CN101702231A (zh) 绘图处理单元同步系统与方法
RU2137182C1 (ru) Выполнение инструкции обработки данных
JP3429631B2 (ja) 並列計算機システム
US20060150023A1 (en) Debugging apparatus
JP2008065707A (ja) 検査装置、プログラム改ざん検出装置、メモリレイアウト特定方法
JP3285629B2 (ja) 同期処理方法及び同期処理装置
EP2144157A2 (en) Information processing unit, and exception processing method for application-specific instruction
JPH02230455A (ja) 外部記憶装置の割込み制御方式
CA1272295A (en) Multi-channel shared resource processor
US7237088B2 (en) Methods and apparatus for providing context switching between software tasks with reconfigurable control
CN100349121C (zh) 嵌入式并行计算系统以及嵌入式并行计算方法
KR20180091364A (ko) 디버그 호스트로서 동작하는 cpu를 포함하는 시스템 온 칩 및 이의 동작 방법
JP2009175960A (ja) 仮想マルチプロセッサシステム
JPH11312148A (ja) バリア同期方法及び装置
AU626067B2 (en) Apparatus and method for control of asynchronous program interrupt events in a data processing system

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030430

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080516

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090516

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090516

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100516

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100516

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees