JP2001092679A - 並列実行制御装置 - Google Patents
並列実行制御装置Info
- Publication number
- JP2001092679A JP2001092679A JP27017699A JP27017699A JP2001092679A JP 2001092679 A JP2001092679 A JP 2001092679A JP 27017699 A JP27017699 A JP 27017699A JP 27017699 A JP27017699 A JP 27017699A JP 2001092679 A JP2001092679 A JP 2001092679A
- Authority
- JP
- Japan
- Prior art keywords
- data
- communication pattern
- communication
- information
- region
- 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.)
- Withdrawn
Links
Landscapes
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】 並列実行制御装置に関し、並列処理の性能向
上を可能にすることを目的とする。 【解決手段】 複数回繰り返し実行されるデータ通信処
理において、通信パターン情報作成手段13により最初
に作成された情報は、データ格納手段11に通信パター
ン情報11aとして保持され、次回以降は、通信パター
ン比較判別手段12で通信パターンの同一性が判断され
た場合、格納情報取出手段14が通信パターン情報11
aを再利用する。また、リージョン分割処理において、
最初の処理で作成されたリージョン制御データ11bを
データ格納手段11に保持しておき、次回以降は、リー
ジョン制御データ有無判定手段15がリージョン制御デ
ータの存在を確認後、レベル判定処理手段16がレベル
判定を行い、データ再利用処理手段17がレベルに応じ
た範囲のデータ項目を取り出して再利用する。
上を可能にすることを目的とする。 【解決手段】 複数回繰り返し実行されるデータ通信処
理において、通信パターン情報作成手段13により最初
に作成された情報は、データ格納手段11に通信パター
ン情報11aとして保持され、次回以降は、通信パター
ン比較判別手段12で通信パターンの同一性が判断され
た場合、格納情報取出手段14が通信パターン情報11
aを再利用する。また、リージョン分割処理において、
最初の処理で作成されたリージョン制御データ11bを
データ格納手段11に保持しておき、次回以降は、リー
ジョン制御データ有無判定手段15がリージョン制御デ
ータの存在を確認後、レベル判定処理手段16がレベル
判定を行い、データ再利用処理手段17がレベルに応じ
た範囲のデータ項目を取り出して再利用する。
Description
【0001】
【発明の属する技術分野】本発明は並列実行制御装置に
関し、特に並列計算機における並列処理を高速化させる
ようにした並列実行制御装置に関する。
関し、特に並列計算機における並列処理を高速化させる
ようにした並列実行制御装置に関する。
【0002】近年、ベクトル計算機など高速処理が可能
な計算機の需要が増え、さらなる高速化に応えるべく並
列計算機が登場した。この中で、並列計算機の性能向上
に期待がかけられている。
な計算機の需要が増え、さらなる高速化に応えるべく並
列計算機が登場した。この中で、並列計算機の性能向上
に期待がかけられている。
【0003】
【従来の技術】並列計算機におけるメモリ管理は、高速
処理の観点から柔軟かつ高度な機能なが要求されてい
る。従来の一般的なメモリシステムは、複数のプロセッ
サに対して一つの共有メモリを持つような構成を有する
もの、個々のプロセッサに分散配置されているような構
成を有するものがある。
処理の観点から柔軟かつ高度な機能なが要求されてい
る。従来の一般的なメモリシステムは、複数のプロセッ
サに対して一つの共有メモリを持つような構成を有する
もの、個々のプロセッサに分散配置されているような構
成を有するものがある。
【0004】図15は共有メモリシステムの構成を示す
図である。複数のプロセッサ、図示の例では3台のプロ
セッサPE1〜PE3は、一つの共有メモリMに接続さ
れた構成を有している。このような共有メモリシステム
の場合、共有メモリMに割り当てられた番地は一つしか
ないので、どのプロセッサPE1〜PE3からでも共有
メモリMを同じようにアクセスすることができる。
図である。複数のプロセッサ、図示の例では3台のプロ
セッサPE1〜PE3は、一つの共有メモリMに接続さ
れた構成を有している。このような共有メモリシステム
の場合、共有メモリMに割り当てられた番地は一つしか
ないので、どのプロセッサPE1〜PE3からでも共有
メモリMを同じようにアクセスすることができる。
【0005】図16は分散メモリシステムの構成を示す
図である。分散メモリシステムでは、各プロセッサPE
1〜PE3はそれぞれ自分のメモリM1〜M3を備え、
かつプロセッサ間通信専用線Lによって相互に接続され
ている。このように、各プロセッサPE1〜PE3にそ
れぞれメモリM1〜M3が分散配置されている形態で
は、あるプロセッサが他のプロセッサのメモリの中に存
在するデータを使って演算を実行する場合にプロセッサ
間通信が生じる。この場合、プロセッサは、データがど
のプロセッサのメモリのどの位置に割り当てられている
かをあらかじめ計算をした上でプロセッサ間通信専用線
Lを介して相互にデータのやりとりを行う必要がある。
このため、各プロセッサPE1〜PE3は、プロセッサ
間通信が発生するたびに、送信しようとするデータが格
納されているメモリのアドレス、通信先のプロセッサを
表す番号、送信要素数、そのプロセッサが持つメモリの
データ受信アドレスなどの通信情報を作成する必要があ
る。
図である。分散メモリシステムでは、各プロセッサPE
1〜PE3はそれぞれ自分のメモリM1〜M3を備え、
かつプロセッサ間通信専用線Lによって相互に接続され
ている。このように、各プロセッサPE1〜PE3にそ
れぞれメモリM1〜M3が分散配置されている形態で
は、あるプロセッサが他のプロセッサのメモリの中に存
在するデータを使って演算を実行する場合にプロセッサ
間通信が生じる。この場合、プロセッサは、データがど
のプロセッサのメモリのどの位置に割り当てられている
かをあらかじめ計算をした上でプロセッサ間通信専用線
Lを介して相互にデータのやりとりを行う必要がある。
このため、各プロセッサPE1〜PE3は、プロセッサ
間通信が発生するたびに、送信しようとするデータが格
納されているメモリのアドレス、通信先のプロセッサを
表す番号、送信要素数、そのプロセッサが持つメモリの
データ受信アドレスなどの通信情報を作成する必要があ
る。
【0006】分散メモリシステムでは、共有メモリシス
テムに比べてこのような通信情報の作成が処理のオーバ
ヘッドとなっている。特に、通信情報の作成には多くの
時間が必要であるが通信速度自体は固定であるので、通
信のオーバヘッドをいかに少なくするかが、並列系の処
理では大きなポイントになる。
テムに比べてこのような通信情報の作成が処理のオーバ
ヘッドとなっている。特に、通信情報の作成には多くの
時間が必要であるが通信速度自体は固定であるので、通
信のオーバヘッドをいかに少なくするかが、並列系の処
理では大きなポイントになる。
【0007】これに対し、たとえば特開平10−402
23号公報に、通信を最適化することによって通信のオ
ーバヘッドを小さくする方法が提案されている。この方
法によれば、通信が必要になったときに、その通信が最
適化通信サブシステムである集合通信ライブラリの中に
定められたパターンに合致する場合に、そのライブラリ
に従った最適な通信を行う。このとき、高速化の手法と
して、そのような集合通信の認識を最適化することを行
っている。
23号公報に、通信を最適化することによって通信のオ
ーバヘッドを小さくする方法が提案されている。この方
法によれば、通信が必要になったときに、その通信が最
適化通信サブシステムである集合通信ライブラリの中に
定められたパターンに合致する場合に、そのライブラリ
に従った最適な通信を行う。このとき、高速化の手法と
して、そのような集合通信の認識を最適化することを行
っている。
【0008】
【発明が解決しようとする課題】ところで、並列計算機
では、高速処理を実現する上で、時間のかかる通信処理
を最適化することは非常に有効である。しかし、最適化
処理はすべての通信に適用できるのではなく、最適化さ
れないこともある。
では、高速処理を実現する上で、時間のかかる通信処理
を最適化することは非常に有効である。しかし、最適化
処理はすべての通信に適用できるのではなく、最適化さ
れないこともある。
【0009】本発明はこのような点に鑑みてなされたも
のであり、従来の通信最適化で最適化されなかった通信
に対しても高速処理が可能であり、さらには、並列の動
作単位であるリージョンの分割・実行についてもリージ
ョン制御を高速化することにより並列処理の性能向上を
可能にした並列実行制御装置を提供することを目的とす
る。
のであり、従来の通信最適化で最適化されなかった通信
に対しても高速処理が可能であり、さらには、並列の動
作単位であるリージョンの分割・実行についてもリージ
ョン制御を高速化することにより並列処理の性能向上を
可能にした並列実行制御装置を提供することを目的とす
る。
【0010】
【課題を解決するための手段】図1は上記目的を達成す
る本発明の原理図である。本発明による並列実行制御装
置は、通信パターン情報11aおよびリージョン制御デ
ータ11bを格納するデータ格納手段11と、通信デー
タ作成要求に応じて通信パターンが過去に実行した通信
のパターンと同じであるかどうかを判別する通信パター
ン比較判別手段12と、通信パターン情報を作成する通
信パターン情報作成手段13と、この通信パターン情報
作成手段13にて作成されてデータ格納手段11に格納
されている通信パターン情報を取り出す格納情報取出手
段14と、リージョン制御データ作成要求に応じてデー
タ格納手段11におけるリージョン制御データ11bの
有無を判定するリージョン制御データ有無判定手段15
と、現リージョンの状態とデータ格納手段11に格納さ
れているリージョン制御データ11bとを比較して、再
利用できる範囲に応じたレベル分けを行うレベル判定処
理手段16と、判定されたレベルに応じてリージョン制
御データ11bの全部または一部を再利用するデータ再
利用処理手段17とを備えている。
る本発明の原理図である。本発明による並列実行制御装
置は、通信パターン情報11aおよびリージョン制御デ
ータ11bを格納するデータ格納手段11と、通信デー
タ作成要求に応じて通信パターンが過去に実行した通信
のパターンと同じであるかどうかを判別する通信パター
ン比較判別手段12と、通信パターン情報を作成する通
信パターン情報作成手段13と、この通信パターン情報
作成手段13にて作成されてデータ格納手段11に格納
されている通信パターン情報を取り出す格納情報取出手
段14と、リージョン制御データ作成要求に応じてデー
タ格納手段11におけるリージョン制御データ11bの
有無を判定するリージョン制御データ有無判定手段15
と、現リージョンの状態とデータ格納手段11に格納さ
れているリージョン制御データ11bとを比較して、再
利用できる範囲に応じたレベル分けを行うレベル判定処
理手段16と、判定されたレベルに応じてリージョン制
御データ11bの全部または一部を再利用するデータ再
利用処理手段17とを備えている。
【0011】ここで、複数回繰り返し実行されるデータ
通信処理において、通信パターン情報作成手段13によ
り最初に作成された情報は、データ格納手段11に通信
パターン情報11aとして保持される。次回以降の実行
処理の際には、通信パターン比較判別手段12が現在実
行しようとしている通信パターンとデータ格納手段11
に格納されている通信パターン情報11aとを比較し、
これらが同一の場合には、格納されている通信パターン
情報11aをそのまま取り出して、新たな通信データと
して再利用する。したがって、同一形状の通信パターン
が複数回繰り返し実行される場合、2回目以降の通信パ
ターン情報の作成を省略することができる。
通信処理において、通信パターン情報作成手段13によ
り最初に作成された情報は、データ格納手段11に通信
パターン情報11aとして保持される。次回以降の実行
処理の際には、通信パターン比較判別手段12が現在実
行しようとしている通信パターンとデータ格納手段11
に格納されている通信パターン情報11aとを比較し、
これらが同一の場合には、格納されている通信パターン
情報11aをそのまま取り出して、新たな通信データと
して再利用する。したがって、同一形状の通信パターン
が複数回繰り返し実行される場合、2回目以降の通信パ
ターン情報の作成を省略することができる。
【0012】また、複数回繰り返し実行されるリージョ
ン分割処理において、最初の処理でリージョン制御デー
タが作成されると、そのリージョン制御データは、デー
タ格納手段11にリージョン制御データ11bとして保
持される。次回以降の実行処理の際には、リージョン制
御データ有無判定手段15がデータ格納手段11にリー
ジョン制御データが存在することを確認後、レベル判定
処理手段16は、そのリージョン制御データ11bの中
でデータ項目のどの範囲まで再利用可能かどうかのレベ
ル判定を行う。そして、データ再利用処理手段17は、
データ格納手段11のリージョン制御データ11bから
レベルに応じた範囲のデータ項目を取り出して再利用す
る。再利用されなかったデータ項目については、新たに
再設定されてデータの補完が行われ、リージョン制御デ
ータとして出力される。これにより、複数回繰り返し実
行されるリージョン制御において、2回目以降のリージ
ョン制御データの全部または一部の作成を省略すること
ができる。
ン分割処理において、最初の処理でリージョン制御デー
タが作成されると、そのリージョン制御データは、デー
タ格納手段11にリージョン制御データ11bとして保
持される。次回以降の実行処理の際には、リージョン制
御データ有無判定手段15がデータ格納手段11にリー
ジョン制御データが存在することを確認後、レベル判定
処理手段16は、そのリージョン制御データ11bの中
でデータ項目のどの範囲まで再利用可能かどうかのレベ
ル判定を行う。そして、データ再利用処理手段17は、
データ格納手段11のリージョン制御データ11bから
レベルに応じた範囲のデータ項目を取り出して再利用す
る。再利用されなかったデータ項目については、新たに
再設定されてデータの補完が行われ、リージョン制御デ
ータとして出力される。これにより、複数回繰り返し実
行されるリージョン制御において、2回目以降のリージ
ョン制御データの全部または一部の作成を省略すること
ができる。
【0013】これにより、複数回繰り返し実行される処
理の中で、毎回実行される通信データ作成処理およびリ
ージョン制御データ作成処理において、作成に時間のか
かるこれらの処理がなくなり、並列処理系全体の性能を
向上させることができる。
理の中で、毎回実行される通信データ作成処理およびリ
ージョン制御データ作成処理において、作成に時間のか
かるこれらの処理がなくなり、並列処理系全体の性能を
向上させることができる。
【0014】また、本発明によれば、データ通信時に通
信相手に送信する通信データの通信パターン情報を作成
する通信パターン情報作成手段と、前記通信パターン情
報作成手段によって作成された通信パターン情報をデー
タ格納手段に保持するデータ保持手段と、通信データ作
成要求に応じて現在実行しようとしている通信パターン
と前記データ格納手段に格納されている前記通信パター
ン情報とを比較してすべての要素が同じであるかどうか
を判別する通信パターン比較判別手段と、前記通信パタ
ーン比較判別手段により通信パターンの同一性が判別さ
れたときに前記データ格納手段に格納されている前記通
信パターン情報を取り出す格納情報取出手段とを有する
並列実行制御プログラムを記録したコンピュータ読み取
り可能な記録媒体、およびリージョン制御データ作成要
求に応じてリージョン分割処理の際に作成されて前記デ
ータ格納手段に保持されているリージョン制御データの
有無を判定するリージョン制御データ有無判定手段と、
現リージョンの状態と前記データ格納手段に格納されて
いるリージョン制御データとを比較して再利用できるデ
ータ項目の範囲に応じたレベル分けを行うレベル判定処
理手段と、前記レベル判定処理手段で判定されたレベル
に応じて前記リージョン制御データの全部または一部を
再利用する処理を行うデータ再利用処理手段とを有する
並列実行制御プログラムを記録したコンピュータ読み取
り可能な記録媒体が提供される。
信相手に送信する通信データの通信パターン情報を作成
する通信パターン情報作成手段と、前記通信パターン情
報作成手段によって作成された通信パターン情報をデー
タ格納手段に保持するデータ保持手段と、通信データ作
成要求に応じて現在実行しようとしている通信パターン
と前記データ格納手段に格納されている前記通信パター
ン情報とを比較してすべての要素が同じであるかどうか
を判別する通信パターン比較判別手段と、前記通信パタ
ーン比較判別手段により通信パターンの同一性が判別さ
れたときに前記データ格納手段に格納されている前記通
信パターン情報を取り出す格納情報取出手段とを有する
並列実行制御プログラムを記録したコンピュータ読み取
り可能な記録媒体、およびリージョン制御データ作成要
求に応じてリージョン分割処理の際に作成されて前記デ
ータ格納手段に保持されているリージョン制御データの
有無を判定するリージョン制御データ有無判定手段と、
現リージョンの状態と前記データ格納手段に格納されて
いるリージョン制御データとを比較して再利用できるデ
ータ項目の範囲に応じたレベル分けを行うレベル判定処
理手段と、前記レベル判定処理手段で判定されたレベル
に応じて前記リージョン制御データの全部または一部を
再利用する処理を行うデータ再利用処理手段とを有する
並列実行制御プログラムを記録したコンピュータ読み取
り可能な記録媒体が提供される。
【0015】この媒体に記録された並列実行制御プログ
ラムをコンピュータに実行させることにより、通信パタ
ーン情報作成手段と、データ保持手段と、通信パターン
比較判別手段と、格納情報取出手段と、リージョン制御
データ有無判定手段と、レベル判定処理手段と、データ
再利用処理手段と、の各機能がコンピュータによって実
現できる。
ラムをコンピュータに実行させることにより、通信パタ
ーン情報作成手段と、データ保持手段と、通信パターン
比較判別手段と、格納情報取出手段と、リージョン制御
データ有無判定手段と、レベル判定処理手段と、データ
再利用処理手段と、の各機能がコンピュータによって実
現できる。
【0016】
【発明の実施の形態】まず、本発明の概略について図面
を参照して説明する。図1は本発明による並列実行制御
装置の原理的な構成を示す図である。本発明の並列実行
制御装置は、複数の計算機を互いに結合して並列処理を
行う並列処理系に適用されるもので、各計算機におい
て、通信およびリージョン制御が発生するごとに実行さ
れる。
を参照して説明する。図1は本発明による並列実行制御
装置の原理的な構成を示す図である。本発明の並列実行
制御装置は、複数の計算機を互いに結合して並列処理を
行う並列処理系に適用されるもので、各計算機におい
て、通信およびリージョン制御が発生するごとに実行さ
れる。
【0017】本発明による並列実行制御装置は、通信パ
ターン情報11aおよびリージョン制御データ11bを
格納するデータ格納手段11と、通信パターン比較判別
手段12と、通信パターン情報作成手段13と、格納情
報取出手段14と、リージョン制御データ有無判定手段
15と、レベル判定処理手段16と、データ再利用処理
手段17とを備えている。
ターン情報11aおよびリージョン制御データ11bを
格納するデータ格納手段11と、通信パターン比較判別
手段12と、通信パターン情報作成手段13と、格納情
報取出手段14と、リージョン制御データ有無判定手段
15と、レベル判定処理手段16と、データ再利用処理
手段17とを備えている。
【0018】通信パターン比較判別手段12は、通信デ
ータ作成要求に応じて通信パターンが過去に実行した通
信のパターンと同じであるかどうかを判別する機能を有
し、通信パターン情報作成手段13は、通信パターン情
報を作成する機能を有し、格納情報取出手段14は、こ
の通信パターン情報作成手段13にて作成されてデータ
格納手段11に格納されている通信パターン情報を取り
出す機能を有している。また、リージョン制御データ有
無判定手段15は、リージョン制御データ作成要求に応
じてデータ格納手段11におけるリージョン制御データ
11bの有無を判定する機能を有し、レベル判定処理手
段16は、現リージョンの状態とデータ格納手段11に
格納されているリージョン制御データ11bとを比較し
て、再利用できる範囲に応じたレベル分けを行う機能を
有し、データ再利用処理手段17は、判定されたレベル
に応じてリージョン制御データ11bの全部または一部
を再利用する機能を有している。
ータ作成要求に応じて通信パターンが過去に実行した通
信のパターンと同じであるかどうかを判別する機能を有
し、通信パターン情報作成手段13は、通信パターン情
報を作成する機能を有し、格納情報取出手段14は、こ
の通信パターン情報作成手段13にて作成されてデータ
格納手段11に格納されている通信パターン情報を取り
出す機能を有している。また、リージョン制御データ有
無判定手段15は、リージョン制御データ作成要求に応
じてデータ格納手段11におけるリージョン制御データ
11bの有無を判定する機能を有し、レベル判定処理手
段16は、現リージョンの状態とデータ格納手段11に
格納されているリージョン制御データ11bとを比較し
て、再利用できる範囲に応じたレベル分けを行う機能を
有し、データ再利用処理手段17は、判定されたレベル
に応じてリージョン制御データ11bの全部または一部
を再利用する機能を有している。
【0019】ここで、複数回繰り返し実行されるデータ
通信処理において、通信パターン情報作成手段13によ
り最初に作成された情報は、データ格納手段11に通信
パターン情報11aとして保持される。次回以降の実行
処理の際には、通信パターン比較判別手段12が現在実
行しようとしている通信パターンとデータ格納手段11
に格納されている通信パターン情報11aとを比較し、
これらが同一の場合には、格納されている通信パターン
情報11aをそのまま取り出して、新たな通信データと
して再利用する。これにより、同一形状の通信パターン
が複数回繰り返し実行される場合、2回目以降の通信パ
ターン情報については、その作成を省略することが可能
になる。
通信処理において、通信パターン情報作成手段13によ
り最初に作成された情報は、データ格納手段11に通信
パターン情報11aとして保持される。次回以降の実行
処理の際には、通信パターン比較判別手段12が現在実
行しようとしている通信パターンとデータ格納手段11
に格納されている通信パターン情報11aとを比較し、
これらが同一の場合には、格納されている通信パターン
情報11aをそのまま取り出して、新たな通信データと
して再利用する。これにより、同一形状の通信パターン
が複数回繰り返し実行される場合、2回目以降の通信パ
ターン情報については、その作成を省略することが可能
になる。
【0020】また、複数回繰り返し実行されるリージョ
ン分割処理において、最初の処理でリージョン制御デー
タが作成されると、そのリージョン制御データは、デー
タ格納手段11にリージョン制御データ11bとして保
持される。次回以降の実行処理の際には、リージョン制
御データ有無判定手段15がデータ格納手段11にリー
ジョン制御データが存在することを確認後、レベル判定
処理手段16は、そのリージョン制御データ11bの中
でデータ項目のどの範囲まで再利用可能かどうかのレベ
ル判定を行う。データ再利用処理手段17では、判定さ
れたレベルに応じて、データ格納手段11のリージョン
制御データ11bから利用可能なデータ項目を再利用
し、利用不可のデータ項目については再設定をしてデー
タの補完を行い、新たなリージョン制御データとして出
力する。これにより、複数回繰り返し実行されるリージ
ョン制御において、2回目以降のリージョン制御データ
の全部または一部の作成を省略することができる。
ン分割処理において、最初の処理でリージョン制御デー
タが作成されると、そのリージョン制御データは、デー
タ格納手段11にリージョン制御データ11bとして保
持される。次回以降の実行処理の際には、リージョン制
御データ有無判定手段15がデータ格納手段11にリー
ジョン制御データが存在することを確認後、レベル判定
処理手段16は、そのリージョン制御データ11bの中
でデータ項目のどの範囲まで再利用可能かどうかのレベ
ル判定を行う。データ再利用処理手段17では、判定さ
れたレベルに応じて、データ格納手段11のリージョン
制御データ11bから利用可能なデータ項目を再利用
し、利用不可のデータ項目については再設定をしてデー
タの補完を行い、新たなリージョン制御データとして出
力する。これにより、複数回繰り返し実行されるリージ
ョン制御において、2回目以降のリージョン制御データ
の全部または一部の作成を省略することができる。
【0021】これにより、複数回繰り返し実行される処
理の中で、毎回実行される通信データ作成処理およびリ
ージョン制御データ作成処理において、保持しておいた
データを再利用することで、作成に時間のかかるこれら
の処理がなくなり、並列処理系全体の性能を向上させる
ことができる。
理の中で、毎回実行される通信データ作成処理およびリ
ージョン制御データ作成処理において、保持しておいた
データを再利用することで、作成に時間のかかるこれら
の処理がなくなり、並列処理系全体の性能を向上させる
ことができる。
【0022】次に、本発明の実施の形態を、プログラム
の実行時に呼び出されるランタイムシステムライブラリ
に適用した場合を例にして説明する。図2はオブジェク
ト構成を示す図である。ランタイムシステムライブラリ
20は、データ域としてパケット格納域21、再利用制
御域22、リージョン制御データ域23を有し、処理と
してパケット格納処理、データ再利用判定処理、リージ
ョン再利用判定処理、およびレベル判定処理を行う。ユ
ーザオブジェクトプログラム25が実行するときに、そ
の他のライブラリ26とともに呼び出されて、通信を行
うときのパケット格納処理およびデータ再利用判定処
理、手続きを行うときのリージョン再利用判定処理およ
びレベル判定処理を行う。
の実行時に呼び出されるランタイムシステムライブラリ
に適用した場合を例にして説明する。図2はオブジェク
ト構成を示す図である。ランタイムシステムライブラリ
20は、データ域としてパケット格納域21、再利用制
御域22、リージョン制御データ域23を有し、処理と
してパケット格納処理、データ再利用判定処理、リージ
ョン再利用判定処理、およびレベル判定処理を行う。ユ
ーザオブジェクトプログラム25が実行するときに、そ
の他のライブラリ26とともに呼び出されて、通信を行
うときのパケット格納処理およびデータ再利用判定処
理、手続きを行うときのリージョン再利用判定処理およ
びレベル判定処理を行う。
【0023】ここで、通常のプログラムの実行処理にお
いて、同一部分を複数繰り返し実行する場合が非常に多
く存在する。このような場合、その都度、一番コストの
かかる通信データの作成を毎回繰り返している。また、
並列の動作処理単位であるリージョンの分割・実行につ
いても、通信を行う前に、リージョングループ情報など
のリージョン制御データを毎回作成している。この繰り
返し実行処理の例を、プログラムの中のDO文を例に説
明する。
いて、同一部分を複数繰り返し実行する場合が非常に多
く存在する。このような場合、その都度、一番コストの
かかる通信データの作成を毎回繰り返している。また、
並列の動作処理単位であるリージョンの分割・実行につ
いても、通信を行う前に、リージョングループ情報など
のリージョン制御データを毎回作成している。この繰り
返し実行処理の例を、プログラムの中のDO文を例に説
明する。
【0024】図3は実行処理の流れを示す説明図であ
る。プログラムの実行処理において、DO文繰り返しの
中では、まず、リージョンの分割を行う。ここでは、イ
ンデックスの分割、リージョングループ分け、リージョ
ン制御データ作成、リージョンごとのバリアマスク作
成、およびバリアマスク設定の処理が行われる。次のデ
ータ通信では、通信データの分割、通信パターン最適
化、パケット作成、およびパケット投入の処理が行われ
る。そして、リージョンの結合では、バリアマスク設定
解除およびリージョン制御データ開放の処理が行われ
る。
る。プログラムの実行処理において、DO文繰り返しの
中では、まず、リージョンの分割を行う。ここでは、イ
ンデックスの分割、リージョングループ分け、リージョ
ン制御データ作成、リージョンごとのバリアマスク作
成、およびバリアマスク設定の処理が行われる。次のデ
ータ通信では、通信データの分割、通信パターン最適
化、パケット作成、およびパケット投入の処理が行われ
る。そして、リージョンの結合では、バリアマスク設定
解除およびリージョン制御データ開放の処理が行われ
る。
【0025】以上の処理の流れにおいて、通常のプログ
ラム処理では、大きな繰り返しの中で並列実行および通
信処理を同様の範囲で、あるいは同様の方法で行ってい
るため、処理のオーバヘッドが繰り返し回数分加算され
る。しかし、図示の処理の中で、右側に星印を付けた行
の処理については、その処理を繰り返しの中で最初の1
回のみ行い、その最初の処理で作られた情報を保持して
おくことにより、2回目以降の繰り返しでは、その情報
の同一性が確認された場合に保持していた情報を再利用
することで、その2回目以降の処理を省略することが可
能になる。次に、通信データの再利用の場合と、リージ
ョン制御データの再利用の場合とについて、詳細に説明
する。
ラム処理では、大きな繰り返しの中で並列実行および通
信処理を同様の範囲で、あるいは同様の方法で行ってい
るため、処理のオーバヘッドが繰り返し回数分加算され
る。しかし、図示の処理の中で、右側に星印を付けた行
の処理については、その処理を繰り返しの中で最初の1
回のみ行い、その最初の処理で作られた情報を保持して
おくことにより、2回目以降の繰り返しでは、その情報
の同一性が確認された場合に保持していた情報を再利用
することで、その2回目以降の処理を省略することが可
能になる。次に、通信データの再利用の場合と、リージ
ョン制御データの再利用の場合とについて、詳細に説明
する。
【0026】図4はデータ通信を行うときの1回目の処
理の流れを示すフローチャートである。データ通信処理
が開始されると、まず、各プロセッサに依頼する通信デ
ータの範囲を計算することによって通信データの分割を
行う(ステップS1)。次に、通信パターンの最適化を
行う(ステップS2)。この通信パターンの最適化は、
通常行われている最適化であり、これにより最も簡単に
通信するパターンが得られる。以下、その通信パターン
に基づいてパケットを作成することになるが、その場合
にメモリに作成される通信データについて説明する。
理の流れを示すフローチャートである。データ通信処理
が開始されると、まず、各プロセッサに依頼する通信デ
ータの範囲を計算することによって通信データの分割を
行う(ステップS1)。次に、通信パターンの最適化を
行う(ステップS2)。この通信パターンの最適化は、
通常行われている最適化であり、これにより最も簡単に
通信するパターンが得られる。以下、その通信パターン
に基づいてパケットを作成することになるが、その場合
にメモリに作成される通信データについて説明する。
【0027】図5はランタイムシステムライブラリが使
うメモリ内領域のデータ構造を示す図である。プロセッ
サPEが持つメモリMは、一般的に、ユーザ領域とライ
ブラリ領域とを有し、そのライブラリ領域の中に、再利
用制御域、パケット格納域、およびパケット域が配置さ
れている。再利用制御域には、通信データを再利用する
ための制御情報が作られ、パケット格納域にはパケット
情報を含む通信データが作られ、パケット域はパケット
作成時にパケット情報が一時的に作成される領域であ
る。
うメモリ内領域のデータ構造を示す図である。プロセッ
サPEが持つメモリMは、一般的に、ユーザ領域とライ
ブラリ領域とを有し、そのライブラリ領域の中に、再利
用制御域、パケット格納域、およびパケット域が配置さ
れている。再利用制御域には、通信データを再利用する
ための制御情報が作られ、パケット格納域にはパケット
情報を含む通信データが作られ、パケット域はパケット
作成時にパケット情報が一時的に作成される領域であ
る。
【0028】再利用制御域に作られるデータは、再利用
要求、再利用結果、作成パケット数、およびパケット格
納域ポインタを有し、パケット格納域に作られるデータ
は、パケットごとに、次パケット格納域ポインタ、通信
対象のプロセッサを表す識別子(通信対象VPID)、
リード・ライトフラグ(read#write#flag)、およびパ
ケット情報を有し、このパケット情報には受信先プロセ
ッサ番号、送信要素数、送信アドレス、受信アドレスな
どが含まれている。ここでは、次パケット格納域ポイン
タ、通信対象VPID、リード・ライトフラグ、および
パケット情報を含む情報を通信パターン情報とする。こ
の通信パターン情報は、並列動作を行おうとするプロセ
ッサの台数分作られる。また、作られた通信パターン情
報は開放されることなく残される。
要求、再利用結果、作成パケット数、およびパケット格
納域ポインタを有し、パケット格納域に作られるデータ
は、パケットごとに、次パケット格納域ポインタ、通信
対象のプロセッサを表す識別子(通信対象VPID)、
リード・ライトフラグ(read#write#flag)、およびパ
ケット情報を有し、このパケット情報には受信先プロセ
ッサ番号、送信要素数、送信アドレス、受信アドレスな
どが含まれている。ここでは、次パケット格納域ポイン
タ、通信対象VPID、リード・ライトフラグ、および
パケット情報を含む情報を通信パターン情報とする。こ
の通信パターン情報は、並列動作を行おうとするプロセ
ッサの台数分作られる。また、作られた通信パターン情
報は開放されることなく残される。
【0029】次に、図4に戻って、再利用制御域にパケ
ット格納域へのポインタを設定する(ステップS3)。
次に、パケット個数回繰り返しの処理となり、まず、パ
ケット域にパケット情報を作成し(ステップS4)、作
成したパケット情報を通信パターン情報へ格納し(ステ
ップS5)、そのパケット情報を投入し送信する(ステ
ップS6)。パケット個数は、通信データの分割の段階
で分かっているので、その個数分だけステップS4〜S
6の処理を繰り返す。
ット格納域へのポインタを設定する(ステップS3)。
次に、パケット個数回繰り返しの処理となり、まず、パ
ケット域にパケット情報を作成し(ステップS4)、作
成したパケット情報を通信パターン情報へ格納し(ステ
ップS5)、そのパケット情報を投入し送信する(ステ
ップS6)。パケット個数は、通信データの分割の段階
で分かっているので、その個数分だけステップS4〜S
6の処理を繰り返す。
【0030】ここで、ステップS4において、パケット
域に作成されるパケット情報の具体例を示す。図6はパ
ケット情報の内容例を示す図であって、(A)は送信プ
ロセッサのメモリ配置例を示し、(B)は受信プロセッ
サのメモリ配置例を示し、(C)は作成されるパケット
情報の例を示している。通信データを送信しようとする
プロセッサPE1側のメモリの先頭アドレスが100番
地、送信しようとするデータAの先頭アドレスが3番目
であり、受信先のプロセッサPE2のメモリの先頭アド
レスが200番地、受信しようとするデータBの先頭ア
ドレスが6番目であったとする。このような場合、プロ
セッサPE1で作られるパケット情報は、受信先プロセ
ッサ番号「2」、送信要素数「1」、送信アドレス「1
02」、受信アドレス「205」となる。
域に作成されるパケット情報の具体例を示す。図6はパ
ケット情報の内容例を示す図であって、(A)は送信プ
ロセッサのメモリ配置例を示し、(B)は受信プロセッ
サのメモリ配置例を示し、(C)は作成されるパケット
情報の例を示している。通信データを送信しようとする
プロセッサPE1側のメモリの先頭アドレスが100番
地、送信しようとするデータAの先頭アドレスが3番目
であり、受信先のプロセッサPE2のメモリの先頭アド
レスが200番地、受信しようとするデータBの先頭ア
ドレスが6番目であったとする。このような場合、プロ
セッサPE1で作られるパケット情報は、受信先プロセ
ッサ番号「2」、送信要素数「1」、送信アドレス「1
02」、受信アドレス「205」となる。
【0031】次に、ステップS5における通信パターン
情報への格納処理について説明する。図7は通信パター
ン情報への格納処理の流れを示すフローチャートであ
る。この通信パターン情報への格納処理では、まず、パ
ケット格納域を獲得する(ステップS11)。すなわ
ち、再利用制御域のパケット格納域ポインタにて予約さ
れたパケット格納域のアドレスから始まる領域を獲得す
る。次に、獲得したパケット格納域に、通信対象VPI
Dおよびリード・ライトフラグを設定後、パケット域に
作成されたパケット情報をコピーすることによってパケ
ット情報のパケット格納域への設定を行う(ステップS
12)。次に、既に作成されている前パケット格納域の
次パケット格納域ポインタに、獲得したパケット格納域
の先頭のアドレスを設定する(ステップS13)。そし
て、再利用制御域の作成パケット数に1を加算する(ス
テップS14)。
情報への格納処理について説明する。図7は通信パター
ン情報への格納処理の流れを示すフローチャートであ
る。この通信パターン情報への格納処理では、まず、パ
ケット格納域を獲得する(ステップS11)。すなわ
ち、再利用制御域のパケット格納域ポインタにて予約さ
れたパケット格納域のアドレスから始まる領域を獲得す
る。次に、獲得したパケット格納域に、通信対象VPI
Dおよびリード・ライトフラグを設定後、パケット域に
作成されたパケット情報をコピーすることによってパケ
ット情報のパケット格納域への設定を行う(ステップS
12)。次に、既に作成されている前パケット格納域の
次パケット格納域ポインタに、獲得したパケット格納域
の先頭のアドレスを設定する(ステップS13)。そし
て、再利用制御域の作成パケット数に1を加算する(ス
テップS14)。
【0032】図8は2回目以降の処理の流れを示すフロ
ーチャートである。データ通信処理が開始されると、ま
ず最初に、再利用可能かどうかの判定を行う(ステップ
S21)。ここで、再利用できないと判断されれば、1
回目の処理に移り、最初の通信データの分割からやり直
す(ステップS22)。再利用可能と判断されると、既
に格納されているパケット情報をパケット格納域から取
り出してパケット域にコピーし(ステップS23)、こ
のパケット情報を投入する(ステップS24)という処
理を、パケット個数回繰り返す。このように、再利用可
能と判断されると、即座に取り出し実行できる状態で格
納してある実際の通信データを、何ら加工することなく
そのまま利用することになる。
ーチャートである。データ通信処理が開始されると、ま
ず最初に、再利用可能かどうかの判定を行う(ステップ
S21)。ここで、再利用できないと判断されれば、1
回目の処理に移り、最初の通信データの分割からやり直
す(ステップS22)。再利用可能と判断されると、既
に格納されているパケット情報をパケット格納域から取
り出してパケット域にコピーし(ステップS23)、こ
のパケット情報を投入する(ステップS24)という処
理を、パケット個数回繰り返す。このように、再利用可
能と判断されると、即座に取り出し実行できる状態で格
納してある実際の通信データを、何ら加工することなく
そのまま利用することになる。
【0033】次に、ステップS21における再利用可能
かどうかの判定処理について説明する。図9は再利用可
能かどうかを判定する再利用判定処理の流れを示すフロ
ーチャートである。まず、パケット格納域に格納してあ
る通信パターン情報が現在実行しようとしている通信パ
ターンと同一かどうかの判定がなされる(ステップS3
1)。次に、その判定の結果に対し、通信パターン情報
のすべての要素が同じかどうかが判断され(ステップS
32)、すべての要素が同じなら、再利用可能であると
判断され、要素の一つでも異なれば、再利用不可と判断
される。
かどうかの判定処理について説明する。図9は再利用可
能かどうかを判定する再利用判定処理の流れを示すフロ
ーチャートである。まず、パケット格納域に格納してあ
る通信パターン情報が現在実行しようとしている通信パ
ターンと同一かどうかの判定がなされる(ステップS3
1)。次に、その判定の結果に対し、通信パターン情報
のすべての要素が同じかどうかが判断され(ステップS
32)、すべての要素が同じなら、再利用可能であると
判断され、要素の一つでも異なれば、再利用不可と判断
される。
【0034】なお、上記の通信データの再利用の例で
は、通信パターン情報として、「次パケット格納域ポイ
ンタ」「通信対象VPID」「read#write#flag」およ
び「パケット情報」の実際の情報を使用し、これらを個
々に比較することによって通信パターンの同一性を判断
したが、これらの情報を簡略化した判別用情報を、たと
えば各パケット情報の前に付加しておき、現在実行しよ
うとしている通信パターンについても同じような判別用
情報を作成し、再利用可能かどうかの判定の際には、こ
れらの判別用情報のみの比較で同一性の判断をするよう
にしてもよい。判別用情報の同一性が判断された場合
は、パケット情報域から実際の情報を取り出して再利用
することになる。
は、通信パターン情報として、「次パケット格納域ポイ
ンタ」「通信対象VPID」「read#write#flag」およ
び「パケット情報」の実際の情報を使用し、これらを個
々に比較することによって通信パターンの同一性を判断
したが、これらの情報を簡略化した判別用情報を、たと
えば各パケット情報の前に付加しておき、現在実行しよ
うとしている通信パターンについても同じような判別用
情報を作成し、再利用可能かどうかの判定の際には、こ
れらの判別用情報のみの比較で同一性の判断をするよう
にしてもよい。判別用情報の同一性が判断された場合
は、パケット情報域から実際の情報を取り出して再利用
することになる。
【0035】次に、リージョン制御データの再利用につ
いて説明する。図10はリージョンの分割処理の流れを
示すフローチャートである。まず、プログラムの実行に
必要なメモリを複数のプロセッサに割り当てる際に、各
プロセッサにどれだけの領域を割り当てればいいかを計
算する、インデックスの分割を行う(ステップS4
1)。その次に、通信を行うプロセッサを何台ずつにす
るのかによってリージョンのグループ分けを行う(ステ
ップS42)。次に、リージョン制御データがあるかど
うかの判定を行う(ステップS43)。最初の処理のと
きには、リージョン制御データは存在しないので、リー
ジョン制御データの作成に移る(ステップS44)。リ
ージョン制御データが作成されると、その作成されたリ
ージョン制御データからプロセッサ間の同期に必要なバ
リアマスクをリージョンごとに作成し(ステップS4
5)、作成したバリアマスクをリージョン制御データに
設定する(ステップS46)。
いて説明する。図10はリージョンの分割処理の流れを
示すフローチャートである。まず、プログラムの実行に
必要なメモリを複数のプロセッサに割り当てる際に、各
プロセッサにどれだけの領域を割り当てればいいかを計
算する、インデックスの分割を行う(ステップS4
1)。その次に、通信を行うプロセッサを何台ずつにす
るのかによってリージョンのグループ分けを行う(ステ
ップS42)。次に、リージョン制御データがあるかど
うかの判定を行う(ステップS43)。最初の処理のと
きには、リージョン制御データは存在しないので、リー
ジョン制御データの作成に移る(ステップS44)。リ
ージョン制御データが作成されると、その作成されたリ
ージョン制御データからプロセッサ間の同期に必要なバ
リアマスクをリージョンごとに作成し(ステップS4
5)、作成したバリアマスクをリージョン制御データに
設定する(ステップS46)。
【0036】既に、リージョン制御データがある場合に
は、レベル判定を行う(ステップS47)。このレベル
判定では、そのリージョン制御データを、再利用できる
データ範囲に応じてレベル分けする。そして、判定され
たレベルに応じて、リージョン制御データの全部または
一部を再利用する(ステップS48)。
は、レベル判定を行う(ステップS47)。このレベル
判定では、そのリージョン制御データを、再利用できる
データ範囲に応じてレベル分けする。そして、判定され
たレベルに応じて、リージョン制御データの全部または
一部を再利用する(ステップS48)。
【0037】図11はレベル判定の処理の流れを示すフ
ローチャートである。まず、リージョン制御データ域に
格納されているリージョン制御データと現リージョンの
状態とを比較する(ステップS51)。次に、実行プロ
セッサグループが同じかどうかを判断する(ステップS
52)。ここで、実行プロセッサグループが同じでなけ
れば、データとしては同じところがないので、「レベル
1」と判断される。実行プロセッサグループが同じなら
ば、次に、親/兄弟のプロセッサグループが同じかどう
かが判断される(ステップS53)。ここで、親/兄弟
のプロセッサグループが同じでなければ、「レベル2」
と判断される。実行プロセッサグループが同じであっ
て、親/兄弟のプロセッサグループも同じであれば、
「レベル3」と判断される。
ローチャートである。まず、リージョン制御データ域に
格納されているリージョン制御データと現リージョンの
状態とを比較する(ステップS51)。次に、実行プロ
セッサグループが同じかどうかを判断する(ステップS
52)。ここで、実行プロセッサグループが同じでなけ
れば、データとしては同じところがないので、「レベル
1」と判断される。実行プロセッサグループが同じなら
ば、次に、親/兄弟のプロセッサグループが同じかどう
かが判断される(ステップS53)。ここで、親/兄弟
のプロセッサグループが同じでなければ、「レベル2」
と判断される。実行プロセッサグループが同じであっ
て、親/兄弟のプロセッサグループも同じであれば、
「レベル3」と判断される。
【0038】レベル判定にて、「レベル1」と判定され
た場合は、利用できるデータはないのでリージョン制御
データの格納域のみが再利用され、「レベル2」と判定
された場合には、リージョン制御データのバリアマスク
値が再利用され、「レベル3」と判定された場合には、
リージョン制御データのすべてを再利用することにな
る。
た場合は、利用できるデータはないのでリージョン制御
データの格納域のみが再利用され、「レベル2」と判定
された場合には、リージョン制御データのバリアマスク
値が再利用され、「レベル3」と判定された場合には、
リージョン制御データのすべてを再利用することにな
る。
【0039】次に、このようなレベルとなる場合の例に
ついてプログラム例を参照しながら説明する。図12は
プログラムの例を示す図、図13はプログラム実行時の
処理分割範囲を示す説明図である。プログラムは、メイ
ンプログラム31と、このメインプログラムから呼ばれ
るサブルーチンプログラム32とから構成されている。
これらメインプログラム31およびサブルーチンプログ
ラム32は、並列化言語であるハイパフォーマンスフォ
ートラン(HPF:High Performance Fortran)で記述され
ている。
ついてプログラム例を参照しながら説明する。図12は
プログラムの例を示す図、図13はプログラム実行時の
処理分割範囲を示す説明図である。プログラムは、メイ
ンプログラム31と、このメインプログラムから呼ばれ
るサブルーチンプログラム32とから構成されている。
これらメインプログラム31およびサブルーチンプログ
ラム32は、並列化言語であるハイパフォーマンスフォ
ートラン(HPF:High Performance Fortran)で記述され
ている。
【0040】メインプログラム31において、まず、プ
ロセッサの台数が定義される(ここでは4台のプロセッ
サPE1〜PE4)。次に、最初の処理Xが実行される
と、このメインプログラムで使われるメモリ範囲は、こ
れらのプロセッサPE1〜PE4にまたがるリージョン
Xとなる。次に、プロセッサ番号1〜3のプロセッサP
E1〜PE3を使って処理Aを実行する。このときの処
理単位は、図13においてリージョンAで示してある。
次に、サブルーチンプログラム32が呼ばれて実行され
る。ここでは、3台のプロセッサPE1〜PE3を使っ
て処理Dを実行することになるが、手続きの分割を指示
する指示文「Independent」により、処理Dは並列化さ
れ、それぞれ三つのリージョンD1〜D3にて実行され
ることになる。
ロセッサの台数が定義される(ここでは4台のプロセッ
サPE1〜PE4)。次に、最初の処理Xが実行される
と、このメインプログラムで使われるメモリ範囲は、こ
れらのプロセッサPE1〜PE4にまたがるリージョン
Xとなる。次に、プロセッサ番号1〜3のプロセッサP
E1〜PE3を使って処理Aを実行する。このときの処
理単位は、図13においてリージョンAで示してある。
次に、サブルーチンプログラム32が呼ばれて実行され
る。ここでは、3台のプロセッサPE1〜PE3を使っ
て処理Dを実行することになるが、手続きの分割を指示
する指示文「Independent」により、処理Dは並列化さ
れ、それぞれ三つのリージョンD1〜D3にて実行され
ることになる。
【0041】メインプログラム31の次の処理では、プ
ロセッサ番号「4」のプロセッサPE4を使い、処理を
実行する。このときのメモリ配置はリージョンBとな
る。サブルーチンでの処理は、使えるプロセッサは1台
なので、処理DはリージョンBと同じリージョンD4の
中で実行される。
ロセッサ番号「4」のプロセッサPE4を使い、処理を
実行する。このときのメモリ配置はリージョンBとな
る。サブルーチンでの処理は、使えるプロセッサは1台
なので、処理DはリージョンBと同じリージョンD4の
中で実行される。
【0042】次に、タスクリージョンが開放され、処理
Cが実行される。この処理Cでは、使用可能なプロセッ
サ台数は4台であるので、リージョンXと同じリージョ
ンCが割り当てられ、サブルーチンでは、処理Dが4台
のプロセッサPE1〜PE4のリージョンD1〜D4に
て実行される。
Cが実行される。この処理Cでは、使用可能なプロセッ
サ台数は4台であるので、リージョンXと同じリージョ
ンCが割り当てられ、サブルーチンでは、処理Dが4台
のプロセッサPE1〜PE4のリージョンD1〜D4に
て実行される。
【0043】次に、以上のような処理の場合に作成され
るリージョン制御データについて説明する。図14はリ
ージョン制御データの例を示す図である。リージョン制
御データは、場合ごとに、リージョングループ、親情
報、兄弟情報、バリアマスク値を保持している。リージ
ョングループは、並列処理を行うプロセッサの仲間を表
している。また、親/兄弟情報とは、割り当てられたリ
ージョンが分割されたときに、分割されたリージョンか
ら見た分割前のリージョンを親、分割されたリージョン
同士を兄弟としている。バリアマスク値は、並列処理を
行う場合のプロセッサ間の同期処理に用いられる情報で
ある。
るリージョン制御データについて説明する。図14はリ
ージョン制御データの例を示す図である。リージョン制
御データは、場合ごとに、リージョングループ、親情
報、兄弟情報、バリアマスク値を保持している。リージ
ョングループは、並列処理を行うプロセッサの仲間を表
している。また、親/兄弟情報とは、割り当てられたリ
ージョンが分割されたときに、分割されたリージョンか
ら見た分割前のリージョンを親、分割されたリージョン
同士を兄弟としている。バリアマスク値は、並列処理を
行う場合のプロセッサ間の同期処理に用いられる情報で
ある。
【0044】このリージョン制御データにおいて、たと
えば処理Aのときの場合を見ると、プロセッサ番号1〜
3のプロセッサPE1〜PE3が指定されているので、
リージョングループは「123」、親情報は「X」、兄
弟情報は「B」、バリアマスク値は「1110」とな
る。また、処理Aの後に繰り返し実行される処理Dにお
いて、最初の処理の場合(A−D1)には、リージョン
グループは「1」、親情報は「A」、兄弟情報は「D
2,D3」、バリアマスク値は「1000」となる。
えば処理Aのときの場合を見ると、プロセッサ番号1〜
3のプロセッサPE1〜PE3が指定されているので、
リージョングループは「123」、親情報は「X」、兄
弟情報は「B」、バリアマスク値は「1110」とな
る。また、処理Aの後に繰り返し実行される処理Dにお
いて、最初の処理の場合(A−D1)には、リージョン
グループは「1」、親情報は「A」、兄弟情報は「D
2,D3」、バリアマスク値は「1000」となる。
【0045】ここで、リージョンDに関しては、親/兄
弟のプロセッサグループが異なるので、「レベル2」で
あり、リージョンA,B,X,Cについては、「レベル
3」である。なお、このリージョン制御データの例で
は、実行プロセッサグループが違うと判定される「レベ
ル1」の場合はない。レベル2の場合には、リージョン
制御データの中のバリアマスク値が再利用され、レベル
3の場合には、すべてのデータ項目が再利用される。レ
ベル1およびレベル2の場合、再利用されなかったデー
タ項目は、値の再設定が行われ、データの補完が行われ
る。
弟のプロセッサグループが異なるので、「レベル2」で
あり、リージョンA,B,X,Cについては、「レベル
3」である。なお、このリージョン制御データの例で
は、実行プロセッサグループが違うと判定される「レベ
ル1」の場合はない。レベル2の場合には、リージョン
制御データの中のバリアマスク値が再利用され、レベル
3の場合には、すべてのデータ項目が再利用される。レ
ベル1およびレベル2の場合、再利用されなかったデー
タ項目は、値の再設定が行われ、データの補完が行われ
る。
【0046】また、上記の各コンピュータが有すべき並
列実行制御機能の処理内容は、コンピュータで読み取り
可能な記録媒体に記録されたプログラムに記述させてお
くことができる。この並列実行制御プログラムをコンピ
ュータで実行することにより、上記処理がコンピュータ
で実現できる。コンピュータで読み取り可能な記録媒体
としては、磁気記録装置や半導体メモリなどがある。市
場に流通させる場合には、CD−ROM(Compact Disk
Read Only Memory)やフロッピー(登録商標)ディス
クなどの可搬型記録媒体にプログラムを格納して流通さ
せたり、ネットワークを介して接続されたコンピュータ
の記憶装置に格納しておき、ネットワークを通じて他の
コンピュータに転送することもできる。コンピュータで
実行する際には、コンピュータ内のハードディスク装置
などに並列実行制御プログラムを格納しておき、そのプ
ログラムをメインメモリにロードして実行する。
列実行制御機能の処理内容は、コンピュータで読み取り
可能な記録媒体に記録されたプログラムに記述させてお
くことができる。この並列実行制御プログラムをコンピ
ュータで実行することにより、上記処理がコンピュータ
で実現できる。コンピュータで読み取り可能な記録媒体
としては、磁気記録装置や半導体メモリなどがある。市
場に流通させる場合には、CD−ROM(Compact Disk
Read Only Memory)やフロッピー(登録商標)ディス
クなどの可搬型記録媒体にプログラムを格納して流通さ
せたり、ネットワークを介して接続されたコンピュータ
の記憶装置に格納しておき、ネットワークを通じて他の
コンピュータに転送することもできる。コンピュータで
実行する際には、コンピュータ内のハードディスク装置
などに並列実行制御プログラムを格納しておき、そのプ
ログラムをメインメモリにロードして実行する。
【0047】
【発明の効果】以上説明したように本発明では、複数回
繰り返し実行される処理の中で、毎回実行される通信デ
ータ作成処理およびリージョン制御データ作成処理にお
いて、これらの処理で作成されたデータを保持してお
き、2回目以降の実行の際に、保持しておいたデータと
実行しようとするデータとの同一性が判定された場合
に、保持しておいたデータを再利用するように構成し
た。このため、作成に時間のかかる通信データ作成処理
およびリージョン制御データ作成処理をなくすことがで
きる。特に、並列処理系においては、通信および並列制
御処理のオーバヘッドの短縮化が全体の性能向上に大き
く寄与する。
繰り返し実行される処理の中で、毎回実行される通信デ
ータ作成処理およびリージョン制御データ作成処理にお
いて、これらの処理で作成されたデータを保持してお
き、2回目以降の実行の際に、保持しておいたデータと
実行しようとするデータとの同一性が判定された場合
に、保持しておいたデータを再利用するように構成し
た。このため、作成に時間のかかる通信データ作成処理
およびリージョン制御データ作成処理をなくすことがで
きる。特に、並列処理系においては、通信および並列制
御処理のオーバヘッドの短縮化が全体の性能向上に大き
く寄与する。
【図1】本発明による並列実行制御装置の原理的な構成
を示す図である。
を示す図である。
【図2】オブジェクト構成を示す図である。
【図3】実行処理の流れを示す説明図である。
【図4】データ通信を行うときの1回目の処理の流れを
示すフローチャートである。
示すフローチャートである。
【図5】ランタイムシステムライブラリが使うメモリ内
領域のデータ構造を示す図である。
領域のデータ構造を示す図である。
【図6】パケット情報の内容例を示す図であって、
(A)は送信プロセッサのメモリ配置例を示し、(B)
は受信プロセッサのメモリ配置例を示し、(C)は作成
されるパケット情報の例を示している。
(A)は送信プロセッサのメモリ配置例を示し、(B)
は受信プロセッサのメモリ配置例を示し、(C)は作成
されるパケット情報の例を示している。
【図7】通信パターン情報への格納処理の流れを示すフ
ローチャートである。
ローチャートである。
【図8】2回目以降の処理の流れを示すフローチャート
である。
である。
【図9】再利用可能かどうかを判定する再利用判定処理
の流れを示すフローチャートである。
の流れを示すフローチャートである。
【図10】リージョンの分割処理の流れを示すフローチ
ャートである。
ャートである。
【図11】レベル判定の処理の流れを示すフローチャー
トである。
トである。
【図12】プログラムの例を示す図である。
【図13】プログラム実行時の処理分割範囲を示す説明
図である。
図である。
【図14】リージョン制御データの例を示す図である。
【図15】共有メモリシステムの構成を示す図である。
【図16】分散メモリシステムの構成を示す図である。
11 データ格納手段 11a 通信パターン情報 11b リージョン制御データ 12 通信パターン比較判別手段 13 通信パターン情報作成手段 14 格納情報取出手段 15 リージョン制御データ有無判定手段 16 レベル判定処理手段 17 データ再利用処理手段 20 ランタイムシステムライブラリ 21 パケット格納域 22 再利用制御域 23 リージョン制御データ域 25 ユーザオブジェクトプログラム 26 他のライブラリ 31 メインプログラム 32 サブルーチンプログラム
Claims (8)
- 【請求項1】 複数のプロセッサと結合して並列処理を
実行する並列実行制御装置において、 データ通信時に通信相手に送信する通信データの通信パ
ターン情報を作成する通信パターン情報作成手段と、 前記通信パターン情報作成手段によって作成された通信
パターン情報を保持するデータ格納手段と、 通信データ作成要求に応じて現在実行しようとしている
通信パターンと前記データ格納手段に格納されている前
記通信パターン情報とを比較してすべての要素が同じで
あるかどうかを判別する通信パターン比較判別手段と、 前記通信パターン比較判別手段により通信パターンの同
一性が判別されたときに前記データ格納手段に格納され
ている前記通信パターン情報を取り出す格納情報取出手
段と、 を備えていることを特徴とする並列実行制御装置。 - 【請求項2】 前記通信パターン情報は、受信先プロセ
ッサ番号、送信要素数、送信アドレス、受信アドレスを
含む実際に送信されるパケット情報を含んでいることを
特徴とする請求項1記載の並列実行制御装置。 - 【請求項3】 前記通信パターン情報は、実際に送信さ
れるパケット情報を簡略化した判別用情報を含み、前記
通信パターン比較判別手段による比較を前記判別用情報
で行い、判別用情報の同一性が判別されたときには、前
記格納情報取出手段は前記実際に送信されるパケット情
報を取り出すようにしたことを特徴とする請求項2記載
の並列実行制御装置。 - 【請求項4】 複数のプロセッサと結合して並列処理を
実行する並列実行制御装置において、 リージョン分割処理の際に作成されたリージョン制御デ
ータを保持するデータ格納手段と、 リージョン制御データ作成要求に応じて前記データ格納
手段における前記リージョン制御データの有無を判定す
るリージョン制御データ有無判定手段と、 現リージョンの状態と前記データ格納手段に格納されて
いるリージョン制御データとを比較して再利用できるデ
ータ項目の範囲に応じたレベル分けを行うレベル判定処
理手段と、 前記レベル判定処理手段で判定されたレベルに応じて前
記リージョン制御データの全部または一部を再利用する
処理を行うデータ再利用処理手段と、 を備えていることを特徴とする並列実行制御装置。 - 【請求項5】 前記レベル判定処理手段は、再利用可能
なデータ項目がない場合、データ項目の一部だけ再利用
が可能な場合、すべてのデータ項目が再利用可能な場合
の3段階にレベル分けするようにしたことを特徴とする
請求項4記載の並列実行制御装置。 - 【請求項6】 前記データ再利用処理手段は、前記レベ
ル判定処理手段により再利用可能なデータ項目がないま
たは一部だけと判別された場合、再利用されなかったデ
ータ項目を再設定してデータを補完することを特徴とす
る請求項5記載の並列実行制御装置。 - 【請求項7】 データ通信時に通信相手に送信する通信
データの通信パターン情報を作成する通信パターン情報
作成手段と、前記通信パターン情報作成手段によって作
成された通信パターン情報をデータ格納手段に保持する
データ保持手段と、通信データ作成要求に応じて現在実
行しようとしている通信パターンと前記データ格納手段
に格納されている前記通信パターン情報とを比較してす
べての要素が同じであるかどうかを判別する通信パター
ン比較判別手段と、前記通信パターン比較判別手段によ
り通信パターンの同一性が判別されたときに前記データ
格納手段に格納されている前記通信パターン情報を取り
出す格納情報取出手段とを有する並列実行制御プログラ
ムを記録したコンピュータ読み取り可能な記録媒体。 - 【請求項8】 リージョン制御データ作成要求に応じて
リージョン分割処理の際に作成されて前記データ格納手
段に保持されているリージョン制御データの有無を判定
するリージョン制御データ有無判定手段と、現リージョ
ンの状態と前記データ格納手段に格納されているリージ
ョン制御データとを比較して再利用できるデータ項目の
範囲に応じたレベル分けを行うレベル判定処理手段と、
前記レベル判定処理手段で判定されたレベルに応じて前
記リージョン制御データの全部または一部を再利用する
処理を行うデータ再利用処理手段とを有する並列実行制
御プログラムを記録したコンピュータ読み取り可能な記
録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27017699A JP2001092679A (ja) | 1999-09-24 | 1999-09-24 | 並列実行制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27017699A JP2001092679A (ja) | 1999-09-24 | 1999-09-24 | 並列実行制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001092679A true JP2001092679A (ja) | 2001-04-06 |
Family
ID=17482595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27017699A Withdrawn JP2001092679A (ja) | 1999-09-24 | 1999-09-24 | 並列実行制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001092679A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100783472B1 (ko) * | 2007-01-30 | 2007-12-07 | 한두희 | 토류벽 시공시 사용된 에이취 빔 인출장치 |
JP2008181388A (ja) * | 2007-01-25 | 2008-08-07 | Nec Corp | 分散メモリ型マルチプロセッサシステムの多次元シフト通信高速化装置、その方法及びそのプログラム |
-
1999
- 1999-09-24 JP JP27017699A patent/JP2001092679A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008181388A (ja) * | 2007-01-25 | 2008-08-07 | Nec Corp | 分散メモリ型マルチプロセッサシステムの多次元シフト通信高速化装置、その方法及びそのプログラム |
JP4529188B2 (ja) * | 2007-01-25 | 2010-08-25 | 日本電気株式会社 | 分散メモリ型マルチプロセッサシステムの多次元シフト通信高速化装置、その方法及びそのプログラム |
KR100783472B1 (ko) * | 2007-01-30 | 2007-12-07 | 한두희 | 토류벽 시공시 사용된 에이취 빔 인출장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200202246A1 (en) | Distributed computing system, and data transmission method and apparatus in distributed computing system | |
US7280481B2 (en) | Shortest path search method “Midway” | |
US8381230B2 (en) | Message passing with queues and channels | |
EP0234803A2 (en) | Method for the dynamic partitioning of parallel processors | |
US6507809B1 (en) | Method and system for simulating performance of a computer system | |
JPH04348451A (ja) | 並列計算機 | |
CN108845863A (zh) | 用于虚拟机与宿主机的通信方法、装置和系统 | |
CN111984729A (zh) | 异构数据库数据同步方法、装置、介质和电子设备 | |
CN115543219A (zh) | 一种对主机io处理的优化方法、装置、设备及介质 | |
US20110246582A1 (en) | Message Passing with Queues and Channels | |
CN117332831A (zh) | 分布式神经网络加速器系统 | |
CN111310638A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
JP2001092679A (ja) | 並列実行制御装置 | |
JP4489958B2 (ja) | イベントベースシステムの同時処理 | |
JP2000227872A (ja) | 複数メモリ要求の動的スロット割当および追跡 | |
JPH08292932A (ja) | マルチプロセッサシステムおよびマルチプロセッサシステムにおいてタスクを実行する方法 | |
CN112445587A (zh) | 一种任务处理的方法以及任务处理装置 | |
JPH11338719A (ja) | 計算機システム | |
JPH02245864A (ja) | 多重プロセッサシステム | |
JPH0877118A (ja) | 分散処理装置及びプロセス実行方法 | |
EP0509946A2 (en) | Apparatus and method for implementing a distributed program stack | |
JP3248491B2 (ja) | 並列実行方法及びプログラムを記録した機械読み取り可能な記録媒体 | |
JPH11282514A (ja) | マスク情報生成装置及びマスク情報生成プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN118484413A (zh) | Dma数据传输方法、装置、系统级芯片、设备、介质和产品 | |
JP2004086921A (ja) | マルチプロセッサシステムおよびマルチプロセッサシステムにおいてタスクを実行する方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060308 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20070221 |