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
Links
Landscapes
- Multi Processors (AREA)
Description
れらを接続する通信機構とから構成され、1つのジョブ
を複数のプロセスに分割して計算機に割り付ける構成を
採って、各計算機が他計算機で動作するプロセスと同期
をとりつつ割り付けられるプロセスを実行する並列計算
機システムに関し、特に、少ないハードウェア量でもっ
て、その同期処理を実行できるようにする並列計算機シ
ステムに関する。
複数のプロセスに分割して複数の計算機で並列に処理す
ることで、そのジョブを高速に実行する構成を採ってい
る。この並列処理を実行する場合、各計算機は、他の計
算機で処理されるプロセスがある所まで処理されたこと
を条件にして、次のステップに進むように制御するバリ
ア同期制御を実行する。
に動作させるためには、各ジョブ内のプロセス間で同期
を同時に処理するための機構が必要となり、一般に大量
のハードウェアが必要となる。これから、このバリア同
期制御は、少ないハードウェア量で実現できるようにし
ていく必要がある。
列計算機システムのバリア同期制御について新たな発明
を開示した。
に、並列計算機システムで最大n個のプログラムが並列
に実行可能であり、各計算機にそれらのプログラムの全
てが自由に割り付けられる可能性があるとすると、各計
算機におけるプログラムの実行状態は、実行状態が例え
ば実行中/実行終了で示される場合には、nビットで表
すことができる。
計算機の台数がm台であるとすると、並列計算機システ
ムにおけるプログラムの実行状態は、n×mビットで表
されることになる。従って、この実行状態の目標状態に
ついても、n×mビットで表されることになるが、各計
算機で最大n個のプログラムが実行される可能性がある
ことから、各計算機では、目標状態を管理するn×mビ
ットの大きさを持つレジスタをn個備えなくてはならな
いことになる。
列計算機システムでは、バリア同期制御を実行するため
に、各計算機は、通信機構を介して通知される現在のプ
ログラムの実行状態を管理するn×mビットの大きさを
持つステータスレジスタの他に、その実行状態の目標状
態を管理するn×mビットの大きさを持つn個のマスク
レジスタを持つ構成を採っている。
ア同期制御を実行するために、n×n×mビットという
大きなハードウェア量のマスクレジスタを用意しなけれ
ばならないという問題点があった。
るプロセスの割り付け方法を制限して、このハードウェ
ア量を削減するという構成を採ることも可能だが、汎用
的な並列計算機システムとしては、多数の並列ジョブが
同時に走行できなくなり不利である。
であって、少ないハードウェア量でもって、バリア同期
制御を実行できるようにする新たな並列計算機システム
の提供を目的する。
を図示する。
構成する複数の計算機、2は計算機1を接続する通信機
構である。
ジョブを複数のプロセスに分割して計算機1に割り付け
る構成を採って、各計算機1が、自計算機1で動作する
1つ又は複数のプロセスの処理進行情報を通信機構2を
介して全計算機1に放送していくとともに、通信機構2
を介して放送される処理進行情報に従って他計算機1で
動作するプロセスと同期をとりつつ割り付けられるプロ
セスを実行する。
送手段21と、付加手段22と、書込手段23と、決定
手段24と、受信手段25と、指示手段26と、読込手
段27と、割込手段28とを備える。
るプロセスに対応付けて用意され、そのプロセスのジョ
ブ内の展開位置を示すジョブ内番号とそのジョブの識別
子とを管理するとともに、少なくともそのジョブの持つ
プロセスの数分のビット域を有して、そのビット域にプ
ロセスの処理進行情報を示すビット値を格納する第1の
レジスタ手段20aと、第1のレジスタ手段20aに対
応付けて備えられて、ビット域にプロセスの存在の有無
を示すビット値を格納する第2のレジスタ手段20bと
を備える。
ロセスの処理進行情報と、そのプロセスの属するジョブ
の識別子と、そのプロセスのジョブ内番号とを放送した
り、処理用データとジョブ識別子とを放送したり、割り
込み通知とジョブ識別子とを放送する。付加手段22
は、放送手段21の放送する放送情報に対してその情報
の種別を示すオペコードを付加する。
及びジョブ内番号の指す第1のレジスタ手段20aのビ
ット域に、放送される処理進行情報を書き込む。決定手
段24は、第1のレジスタ手段20aの格納データと、
対となる第2のレジスタ手段20bの格納データとを比
較することで、自計算機1で動作するプロセスを次のス
テップに進めるのか否かを決定する。
される情報を受信する。指示手段26は、受信手段25
の受信した情報の持つオペコードを解読する。
答して、例えば、放送されるジョブ識別子が自計算機1
で動作するプロセスの属するジョブと同一であることを
条件にして、受信手段25の受信する処理用データを読
み込む。割込手段28は、指示手段26の指示に応答し
て、例えば、放送されるジョブ識別子が自計算機1で動
作するプロセスの属するジョブと同一であることを条件
にして、受信手段25の受信する割り込み通知に応答し
てCPUに対して割り込みを発生する。
システムを構成する計算機1では、各計算機1の放送手
段21は、自計算機1で動作するプロセスの進行情報
と、そのプロセスの持つジョブ内番号及びジョブ識別子
とを通信機構2を介して全計算機1に放送する。
23は、放送されるジョブ識別子及びジョブ内番号の指
す第1のレジスタ手段20aに、放送される処理進行情
報を書き込む。そして、この書込結果を受けて、決定手
段24は、第1のレジスタ手段20aの格納データと、
対となる第2のレジスタ手段20bの格納データとを比
較することで、バリア同期点に到達したのか否かを判断
して、自計算機1で動作するプロセスを次のステップに
進めるのか否かを決定する。
1は、プロセスの処理進行情報に代えて、処理用データ
や割り込み通知を放送することがあり、このときには、
付加手段22は、放送される情報にオペコードを付加し
ていくので、指示手段26は、放送されるこのオペコー
ドを受けて、読込手段27を起動していくことで処理用
データの読み込みを実行したり、割込手段28を起動し
ていくことでCPUへの割り込みを実行する。
例えば、1つのジョブを8個のプロセスに分割して計算
機1で並列処理するときに、そのプロセスの処理進行情
報をジョブ内番号/ジョブ識別子とともに放送する構成
を採って、従来技術よりも少ないビット数の第2のレジ
スタ手段20bを使って、そのジョブについての8個の
バリア同期点到達の処理進行情報が放送されたのか否か
を検出することで、バリア同期制御を実行する構成を採
ることから、少ないハードウェア量でもってバリア同期
制御を実行できるようになる。
つ、他の計算機1に処理用データを書き込んだり、他の
計算機1に割り込みを通知できるようになる。
を詳細に説明する。
テムの一例を図示する。
1で示される計算機1-1と、PE2で示される計算機1
-2と、PE3で示される計算機1-3と、PE4で示され
る計算機1-4という4台の計算機1で構成されて、1つ
のジョブを並列処理する構成を採っている。
“1234”を持つ1つのジョブを8個のプロセス1〜8に
分割して、図3に示すように、計算機1-1がプロセス1
とプロセス2を実行し、計算機1-2がプロセス3とプロ
セス4を実行し、計算機1-3がプロセス5とプロセス6
を実行し、計算機1-4がプロセス7とプロセス8を実行
するという並列処理形態を想定する。
算機1は、自計算機1で動作するプロセスの処理進行情
報と、そのプロセスの属するジョブの識別子と、そのプ
ロセスのジョブ内番号(ジョブ内での展開位置を示す)
とを放送する構成を採っており、これを実現するため
に、通信機構2は、図4に示すように、各計算機1から
通知されるジョブ識別子(jobid)/ジョブ内番号(pid)
/処理進行情報(state)を受け取って、それを選択しつ
つ各計算機1に送信する選択回路200を備える構成を
採っている。
成する計算機1の一実施例を図示する。
n)はn台備えられるバリア同期機構であって、バリア
同期制御を実行するものである。ここで、このn台は、
1つの計算機1で並列に実行される可能性のあるプロセ
スの最大数に対応している。
構31-iの出力するジョブ識別子/ジョブ内番号/処理
進行情報を入力として、その内の1つのバリア同期機構
31-iの出力するジョブ識別子/ジョブ内番号/処理進
行情報を通信機構2に出力するものである。
放送されるジョブ識別子/ジョブ内番号/処理進行情報
を受信して、それを各バリア同期機構31-iに通知する
もの、34は機構番号表示回路であって、CPU30で
動作中のプロセスが使用しているバリア同期機構31-i
の機構番号を表示するものである。
示回路34の表示する機構番号に従ってバリア同期機構
31-iを選択して、CPU30がプロセスの処理進行情
報を変更するときに、その選択するバリア同期機構31
-iにその処理進行情報を出力するものである。
路34の表示する機構番号に従ってバリア同期機構31
-iを選択して、その選択するバリア同期機構31-iがバ
リア同期の取れた旨のビット値を出力するときに、その
出力値をCPU30の持つ規定のレジスタに書き込むも
のである。
割り込みを通知するのか否かを管理する構成を採って、
機構番号表示回路34の表示する機構番号に従ってバリ
ア同期機構31-iを選択して、その選択するバリア同期
機構31-iがバリア同期の取れた旨のビット値を出力す
るときに、割り込み通知が設定されているときには、そ
のバリア同期機構31-iを使用しているプロセスが動作
中であってもなくても、CPU30に割り込みを通知す
るものである。
しているプロセスのジョブ識別子を保持して選択回路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とを備える。
スクレジスタ44のビット数を16ビットで想定してい
る。これは、実稼働時には、16台の計算機1の各々
が、16個に分割される1つのプロセスを並列処理し、
デバッグ時には、それよりも少ない計算機1の各々が、
複数のプロセスを並列処理することでデバッグ処理を実
行する構成を採ることを想定しているからである。
御を実行するためには、従来技術では、上述したよう
に、16×n×nビットの大きさを持つマスクレジスタ
を用意しなければならないのに対して、本発明では、1
6×nビットの大きさを持つマスクレジスタ44を用意
すれば足りるので、ハードウェア量を大きく削減できる
ようになる。なお、ステータスレジスタ43について
も、16×nビットの大きさを持つ必要がある。
作処理について具体的に説明することで、本発明につい
て詳細に説明する。
ョブを8個のプロセス1〜8に分割して、計算機1-1が
プロセス1/プロセス2を実行し、計算機1-2がプロセ
ス3/プロセス4を実行し、計算機1-3がプロセス5/
プロセス6を実行し、計算機1-4がプロセス7/プロセ
ス8を実行するという並列処理形態を想定しているが、
更に、図6及び図7に示すように、プロセス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を使用することを想定する。
列処理に入った後、最初に、プロセス3がバリア同期点
に到達すると、図8に示すように、計算機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は同期待ちの状態に入る。
算機1-1の持つバリア同期機構31-iの内、ジョブ識別
子の一致する2つのバリア同期機構31-1,2が機能し
て、その2つのバリア同期機構31-1,2の書込回路46
は、その2つのバリア同期機構31-1,2のステータスレ
ジスタ43の第3番目のビット域にバリア同期に到達し
た旨を表示するビット値“1”を書き込む。そして、図
8に示すように、計算機1-2の持つバリア同期機構31
-iの内、ジョブ識別子の一致する2つのバリア同期機構
31-1,2が機能して、その2つのバリア同期機構31-
1,2の書込回路46は、その2つのバリア同期機構31-
1,2のステータスレジスタ43の第3番目のビット域に
バリア同期に到達した旨を表示するビット値“1”を書
き込む。
の持つバリア同期機構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”を書き込む。
すると、図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は同期待ちの状態に入る。
計算機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”を書き込む。
すると、図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は同期待ちの状態に入る。
計算機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”を書き込む。
すると、図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は同期待ちの状態に入る。
計算機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”を書き込む。
すると、図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は同期待ちの状態に入る。
計算機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”を書き込む。
すると、図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は同期待ちの状態に入る。
計算機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”を書き込む。
すると、図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は同期待ちの状態に入る。
計算機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”を書き込む。
すると、図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は同期待ちの状態に入る。
計算機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”を書き込む。
ロセス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がバリア同期点に到達したことを知ることにな
る。
テムを構成する計算機1-iは、従来技術よりも少ないハ
ードウェア量を持つマスクレジスタ44を使って、バリ
ア同期制御を実行できるようになる。
/マスクレジスタ44を使って、全プロセス1〜8がバ
リア同期点に到達したのか否かを判断する構成を採った
が、本発明に関連する技術として、プロセス1〜8の内
のどのプロセスがバリア同期点に到達しているのかを知
る必要がないときには、単なるカウンタを使って処理進
行情報を計数することにより、全プロセス1〜8がバリ
ア同期点に到達したのか否かを判断することで、バリア
同期制御を実行する構成を採ることも可能である。
-iは、他の計算機1-iに対して、検索の終了通知等の小
量データを送信したいことが起こる。また、他の計算機
1-iに対して、割り込みを通知したいことが起こる。
の並列計算機システムでは、図28に示すように、計算
機1-iは、ジョブ識別子(jobid)/ジョブ内番号(pid)
/処理進行情報(state)を送信するモードの他に、ジョ
ブ識別子(jobid)/小量データを送信するモードと、ジ
ョブ識別子(jobid)/割込通知を送信するモードとを用
意するとともに、それぞれに固有のオペコードを割り付
ける構成を採る。
60を備える構成を採って、それを使って放送されるオ
ペコードを解読することで、他計算機1-iから送られて
る送信情報がどの送信モードのものであるのかを解読し
て、ジョブ識別子(jobid)/ジョブ内番号(pid)/処理
進行情報(state)の送信モードであることを判断すると
きには、上述した構成を採るバリア機構61を起動し、
ジョブ識別子(jobid)/小量データの送信モードである
ことを判断するときには、その送られてくる小量データ
を規定のメモリ域に書き込む処理を実行するデータ読込
機構62を起動し、ジョブ識別子(jobid)/割込通知の
送信モードであることを判断するときには、CPUに割
り込みを通知する処理を実行する割込通知機構63を起
動する構成を採ることになる。
定のジョブ識別子が放送されるときには、ジョブ識別子
に関係なく小量データを読み込む構成を採ったり、ジョ
ブ識別子に関係なく割り込みを通知する構成を採ること
も可能である。
機システムによれば、複数の並列ジョブが同時に走行可
能で、1つのジョブを複数のプロセスに分割して各プロ
セスを各計算機に自由に割り当てて並列処理するとき
に、従来よりも少ないハードウェア量でもってバリア同
期制御を実行できるようになる。
つ、他の計算機に処理用データを書き込んだり、他の計
算機に割り込みを通知できるようになる。
ある。
ある。
Claims (7)
- 【請求項1】 1つのジョブを複数のプロセスに分割し
て計算機に割り付ける構成を採って、各計算機が、自計
算機で動作する1つ又は複数のプロセスの処理進行情報
を通信機構を介して全計算機に放送していくとともに、
該通信機構を介して放送される処理進行情報に従って他
計算機で動作するプロセスと同期をとりつつ割り付けら
れるプロセスを実行する並列計算機システムにおいて、 各計算機が、 自計算機で動作するプロセスに対応付けて用意され、該
プロセスのジョブ内の展開位置を示すジョブ内番号と該
ジョブの識別子とを管理するとともに、少なくとも該ジ
ョブの持つプロセスの数分のビット域を有して、該ビッ
ト域にプロセスの処理進行情報を示すビット値を格納す
る第1のレジスタ手段と、該第1のレジスタ手段に対応
付けて備えられて、ビット域にプロセスの存在の有無を
示すビット値を格納する第2のレジスタ手段とを持つ管
理手段と、 自計算機で動作するプロセスの持つジョブ内番号及びジ
ョブ識別子を、該プロセスの処理進行情報とともに放送
する放送手段と、 放送されるジョブ識別子及びジョブ内番号の指す上記第
1のレジスタ手段のビット域に、放送される処理進行情
報を書き込む書込手段と、 上記第1のレジスタ手段の格納データと、対となる上記
第2のレジスタ手段の格納データとを比較することで、
自計算機で動作するプロセスを次のステップに進めるの
か否かを決定する決定手段とを備えることを、 特徴とする並列計算機システム。 - 【請求項2】 請求項1記載の並列計算機システムにお
いて、 ジョブ内番号として通番を使用するとともに、上記第1
のレジスタ手段のビット域に該通番と同一の通番を割り
付ける構成を採ることを、 特徴とする並列計算機システム。 - 【請求項3】 請求項1又は2記載の並列計算機システ
ムにおいて、 上記放送手段は、処理進行情報を放送する他に、処理用
データを放送する機能を持ち、 かつ、放送されるジョブ識別子が自計算機で動作するプ
ロセスの属するジョブ識別子と同一であるときに、放送
される処理用データを読み込む読込手段を備えること
を、 特徴とする並列計算機システム。 - 【請求項4】 請求項3記載の並列計算機システムにお
いて、 上記読込手段は、特定のジョブ識別子が放送されるとき
には、自計算機で動作するプロセスに関係なく放送され
る処理用データを読み込むことを、 特徴とする並列計算機システム。 - 【請求項5】 請求項1又は2記載の並列計算機システ
ムにおいて、 上記放送手段は、処理進行情報を放送する他に、割り込
み通知を放送する機能を持ち、 かつ、放送されるジョブ識別子が自計算機で動作するプ
ロセスの属するジョブ識別子と同一であるときに、放送
される割り込み通知に従ってCPUに対して割り込みを
発生する割込手段を備えることを、 特徴とする並列計算機システム。 - 【請求項6】 請求項5記載の並列計算機システムにお
いて、 上記割込手段は、特定のジョブ識別子が放送されるとき
には、自計算機で動作するプロセスに関係なくCPUに
対して割り込みを発生することを、 特徴とする並列計算機システム。 - 【請求項7】 請求項1又は2記載の並列計算機システ
ムにおいて、 上記放送手段が、処理進行情報を放送する他に、処理用
データを放送する機能と、割り込み通知を放送する機能
を持ち、 かつ、上記放送手段の放送処理時に、放送される情報に
対して該情報の種別を示すオペコードを付加する付加手
段と、 放送されるオペコードを解読して、その解読結果が処理
進行情報を示すときに、バリア同期機構を起動し、その
解読結果が処理用データを示すときに、該処理用データ
の読み込みを指示し、その解読結果が割り込み通知を示
すときに、CPUへの割り込み発生を指示する指示手段
とを備えることを、 特徴とする並列計算機システム。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
JP5176230B2 (ja) * | 2008-03-10 | 2013-04-03 | 株式会社日立製作所 | 計算機システム、計算機制御方法及び計算機制御プログラム |
JP5239751B2 (ja) | 2008-10-31 | 2013-07-17 | 富士通株式会社 | ノード間同期装置、ノード間同期方法およびノード間同期プログラム |
WO2012032572A1 (ja) * | 2010-09-08 | 2012-03-15 | 株式会社日立製作所 | 計算機 |
JP5549574B2 (ja) * | 2010-12-17 | 2014-07-16 | 富士通株式会社 | 並列計算機システム、同期装置、並列計算機システムの制御方法 |
JP5831316B2 (ja) | 2012-03-19 | 2015-12-09 | 富士通株式会社 | 並列処理装置 |
-
1996
- 1996-09-09 JP JP23743696A patent/JP3429631B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
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) | 指令解析器以及图形处理单元及其方法 | |
CN1991768B (zh) | 与不同种类的资源通信的基于指令***结构的内定序器 | |
JP2644780B2 (ja) | 処理依頼機能を持つ並列計算機 | |
US7577874B2 (en) | Interactive debug system for multiprocessor array | |
CN101840390B (zh) | 适用于多处理器***的硬件同步电路结构及其实现方法 | |
CN101702231A (zh) | 绘图处理单元同步***与方法 | |
US20070180334A1 (en) | Multi-frequency debug network for a multiprocessor array | |
JPH09128351A (ja) | 並列計算機における並列プロセススケジューリング方法および並列計算機用処理装置 | |
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) | 外部記憶装置の割込み制御方式 | |
KR20180091364A (ko) | 디버그 호스트로서 동작하는 cpu를 포함하는 시스템 온 칩 및 이의 동작 방법 | |
US7237088B2 (en) | Methods and apparatus for providing context switching between software tasks with reconfigurable control | |
US4837688A (en) | Multi-channel shared resource processor | |
CN100349121C (zh) | 嵌入式并行计算***以及嵌入式并行计算方法 | |
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 |