JPH10334063A - 並列計算における動的負荷分散方法、動的負荷分散装置及び動的負荷分散プログラムを記録した記録媒体 - Google Patents
並列計算における動的負荷分散方法、動的負荷分散装置及び動的負荷分散プログラムを記録した記録媒体Info
- Publication number
- JPH10334063A JPH10334063A JP9153009A JP15300997A JPH10334063A JP H10334063 A JPH10334063 A JP H10334063A JP 9153009 A JP9153009 A JP 9153009A JP 15300997 A JP15300997 A JP 15300997A JP H10334063 A JPH10334063 A JP H10334063A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- elements
- storage unit
- moving
- dynamic load
- 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.)
- Granted
Links
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】
【課題】 並列計算機上における高速かつ高品質の動的
負荷分散装置ならびにその制御方法を提供する。 【解決手段】 装置はプロセッサエレメントとネットワ
ークから構成されている。プロセッサエレメントは複数
存在し、ネットワークにより、プロセッサエレメントは
お互いに通信を行なえる。プロセッサエレメントは連結
性調査部101、要素移動量決定部103、要素移動箇
所決定部102、プロセッサ接続情報生成部104、デ
ータ移動部105、要素接続記憶部106、要素通信先
対応記憶部107、プロセッサ情報記憶部108、要素
移動先対応記憶部109から構成されている。その制御
方式は要素グラフからプロセッサの論理的な接続状態を
調べ、負荷均等化のための移動量、移動箇所を決定し負
荷の均等化を行う。そのため従来法に見られた不必要な
領域の細分化が生じず、アダプティブ有限要素法を並列
計算機上で実行するのに必要な通信量の急激な増大を防
ぐことができる。同時に動的負荷分散を処理する時間を
短縮でき、この装置そのものが従来の物より高速に動作
する。
負荷分散装置ならびにその制御方法を提供する。 【解決手段】 装置はプロセッサエレメントとネットワ
ークから構成されている。プロセッサエレメントは複数
存在し、ネットワークにより、プロセッサエレメントは
お互いに通信を行なえる。プロセッサエレメントは連結
性調査部101、要素移動量決定部103、要素移動箇
所決定部102、プロセッサ接続情報生成部104、デ
ータ移動部105、要素接続記憶部106、要素通信先
対応記憶部107、プロセッサ情報記憶部108、要素
移動先対応記憶部109から構成されている。その制御
方式は要素グラフからプロセッサの論理的な接続状態を
調べ、負荷均等化のための移動量、移動箇所を決定し負
荷の均等化を行う。そのため従来法に見られた不必要な
領域の細分化が生じず、アダプティブ有限要素法を並列
計算機上で実行するのに必要な通信量の急激な増大を防
ぐことができる。同時に動的負荷分散を処理する時間を
短縮でき、この装置そのものが従来の物より高速に動作
する。
Description
【0001】
【発明の属する技術分野】本発明はアダプティブ有限要
素法を分散メモリ並列計算機上で効率の良くするのに必
要な動的負荷分散方法、装置及びそのプログラムを記録
した記録媒体に関するものである。
素法を分散メモリ並列計算機上で効率の良くするのに必
要な動的負荷分散方法、装置及びそのプログラムを記録
した記録媒体に関するものである。
【0002】
【従来の技術】一般に有限要素法による構造解析、流体
解析のシミュレーションにおいては、解を求める領域を
三角形等の要素と呼ばれる小領域に分割し近似解を求め
る。高精度な近似解を求めるためには解の変化が激しい
領域において十分に細かな要素分割をしなければならな
いが、一般にどこで解の急激な変化が起こるかは計算の
前には分からない。そこで計算の進行と同時に領域を細
分化していくアダプティブ有限要素法という方法が、高
精度シミュレーションの方法として開発され、広く用い
られるようになりつつある。
解析のシミュレーションにおいては、解を求める領域を
三角形等の要素と呼ばれる小領域に分割し近似解を求め
る。高精度な近似解を求めるためには解の変化が激しい
領域において十分に細かな要素分割をしなければならな
いが、一般にどこで解の急激な変化が起こるかは計算の
前には分からない。そこで計算の進行と同時に領域を細
分化していくアダプティブ有限要素法という方法が、高
精度シミュレーションの方法として開発され、広く用い
られるようになりつつある。
【0003】さて、一般に並列処理において並列化の手
法として領域分割法が広く用いられている。領域分割法
は、あらかじめ要素群をプロセッサ数と同数のブロック
に分割し、プロセッサにブロックを割り当てる方法であ
る。要素群を分割することは、数学的にグラフの分割問
題として捉えることができ、これまで数々の方法の提案
がなされてきた。
法として領域分割法が広く用いられている。領域分割法
は、あらかじめ要素群をプロセッサ数と同数のブロック
に分割し、プロセッサにブロックを割り当てる方法であ
る。要素群を分割することは、数学的にグラフの分割問
題として捉えることができ、これまで数々の方法の提案
がなされてきた。
【0004】アダプティブ有限要素法の処理を並列計算
機上で実行しようとすると、領域分割法における事前の
要素群の分割だけでなく、並列計算の実行過程におい
て、要素を再配置する必要が生じる。このような実行時
の負荷再配置問題(以降、動的負荷分散問題)は、これ
まであまり研究がなされておらず、研究論文なども少な
い。しかしながら並列コンピュータの真の実用化を考え
るとき、この動的負荷分散問題を解決することは必須の
技術課題だと言える。
機上で実行しようとすると、領域分割法における事前の
要素群の分割だけでなく、並列計算の実行過程におい
て、要素を再配置する必要が生じる。このような実行時
の負荷再配置問題(以降、動的負荷分散問題)は、これ
まであまり研究がなされておらず、研究論文なども少な
い。しかしながら並列コンピュータの真の実用化を考え
るとき、この動的負荷分散問題を解決することは必須の
技術課題だと言える。
【0005】図26に従来の処理を示す。領域の細分化
によって生じた要素集合を入力としプロセッサ数と同数
の色を使って生じた要素を各色同要素数になるようにラ
ンダムに色付けし、同色の色を並列計算機の各プロセッ
サに割り当て直すことで負荷の均等化が行なわれてき
た。この方法では負荷の均等化は容易に行なえるもの
の、隣接する要素が異なるプロセッサに割り当てられて
いることが多く、偏微分方程式の解法の中で通信量が膨
大になってしまう。その結果並列計算機上において、ア
ダプティブ有限要素法の並列実行効率が極度に低下す
る。これをサイクリック法と呼ぶ。
によって生じた要素集合を入力としプロセッサ数と同数
の色を使って生じた要素を各色同要素数になるようにラ
ンダムに色付けし、同色の色を並列計算機の各プロセッ
サに割り当て直すことで負荷の均等化が行なわれてき
た。この方法では負荷の均等化は容易に行なえるもの
の、隣接する要素が異なるプロセッサに割り当てられて
いることが多く、偏微分方程式の解法の中で通信量が膨
大になってしまう。その結果並列計算機上において、ア
ダプティブ有限要素法の並列実行効率が極度に低下す
る。これをサイクリック法と呼ぶ。
【0006】一方近年、負荷を均等化するために以下の
様な手法[Johan De Keyser,et.`
`Run−Time load balancing
support for a parallel mu
ltiblockEuler/Navier−Stok
es code with adaptive ref
inement on distributedmem
ory computers’’. Parallel
Computing Vol.20 1994, p
p.1069−1088]が知られている。この方法は
Multiblock法と呼ばれている。図27に示さ
れる処理が行われて来た。この方法はMultiblo
ck法あるいはブロック法と呼ばれる。
様な手法[Johan De Keyser,et.`
`Run−Time load balancing
support for a parallel mu
ltiblockEuler/Navier−Stok
es code with adaptive ref
inement on distributedmem
ory computers’’. Parallel
Computing Vol.20 1994, p
p.1069−1088]が知られている。この方法は
Multiblock法と呼ばれている。図27に示さ
れる処理が行われて来た。この方法はMultiblo
ck法あるいはブロック法と呼ばれる。
【0007】領域分割法で初期要素を分割する。分割に
よって生じた要素の集合をブロックと呼ぶ。Multi
block法はブロックの要素接続表、要素通信対応表
を入力とし、要素数の増大したブロックは分割し、それ
によって生じた新たなブロックは他の要素数の少ないロ
セッサに割り当てる。その分割によって、プロセッサ内
にあった要素間の参照関係がプロセッサ間の要素の参照
関係になる。そのためアダプティブ有限要素法の処理に
おいて、計算の進展につれ他のプロセッサにある要素の
参照回数が増大し、通信量が増大する。その結果、通信
時間が長くなり、アダプティブ有限要素法の処理時間が
長くなってしまい、並列実行効率が極度に低下してしま
う。
よって生じた要素の集合をブロックと呼ぶ。Multi
block法はブロックの要素接続表、要素通信対応表
を入力とし、要素数の増大したブロックは分割し、それ
によって生じた新たなブロックは他の要素数の少ないロ
セッサに割り当てる。その分割によって、プロセッサ内
にあった要素間の参照関係がプロセッサ間の要素の参照
関係になる。そのためアダプティブ有限要素法の処理に
おいて、計算の進展につれ他のプロセッサにある要素の
参照回数が増大し、通信量が増大する。その結果、通信
時間が長くなり、アダプティブ有限要素法の処理時間が
長くなってしまい、並列実行効率が極度に低下してしま
う。
【0008】
【発明が解決しようとする課題】Multiblock
法の装置、制御方法は、サイクリック法に比べ、通信量
を減少させアダプティブ有限要素法の並列実行性能を向
上させてはいる。Multiblock法は計算の進行
につれブロック数は増大し、負荷の均等化のために通信
量が増大する。そのため計算の通信時間が増大してしま
う欠点があり、計算の進行とともにアダプティブ有限要
素法の並列実行効率が著しく低下するという欠点は改良
されていない。本発明の目的は、計算の進展とともにア
ダプティブ有限要素法の並列実行効率が低下しない動的
負荷分散方法、動的負荷分散装置及び動的負荷分散プロ
グラムを記録した記録媒体を提供することにある。
法の装置、制御方法は、サイクリック法に比べ、通信量
を減少させアダプティブ有限要素法の並列実行性能を向
上させてはいる。Multiblock法は計算の進行
につれブロック数は増大し、負荷の均等化のために通信
量が増大する。そのため計算の通信時間が増大してしま
う欠点があり、計算の進行とともにアダプティブ有限要
素法の並列実行効率が著しく低下するという欠点は改良
されていない。本発明の目的は、計算の進展とともにア
ダプティブ有限要素法の並列実行効率が低下しない動的
負荷分散方法、動的負荷分散装置及び動的負荷分散プロ
グラムを記録した記録媒体を提供することにある。
【0009】
【課題を解決するための手段】本発明は要素の接続グラ
フからプロセッサグラフを作成し、プロセッサグラフか
ら移動要素数を計算し、境界要素から距離が近い順に移
動させる要素を決定するという手法である。ブロック法
に見られる負荷の均等化のためにブロックを再分割し他
のプロセッサに割り当てる作業がないため、プロセッサ
に割り当てられた要素が非連結になることをブロック法
よりも防ぐことができる。またプロセッサ内で非連結な
要素集合数が2以上の場合には、連結になるよう要素を
他のプロセッサに移動させることで、非連結な要素集合
を減らす方向に動く。このようにすることで、従来法に
比べ、一つのプロセッサに多数の非連結な要素集合が割
り当てられることは少なくなる。その結果、アダプティ
ブ有限要素法の処理に必要な連立一次方程式の求解など
の処理のために必要な通信量が減り、通信時間の短縮に
つながる。従来の方法と比較して、アダプティブ有限要
素法を並列に計算するときの効率の低下を抑えることが
できる。
フからプロセッサグラフを作成し、プロセッサグラフか
ら移動要素数を計算し、境界要素から距離が近い順に移
動させる要素を決定するという手法である。ブロック法
に見られる負荷の均等化のためにブロックを再分割し他
のプロセッサに割り当てる作業がないため、プロセッサ
に割り当てられた要素が非連結になることをブロック法
よりも防ぐことができる。またプロセッサ内で非連結な
要素集合数が2以上の場合には、連結になるよう要素を
他のプロセッサに移動させることで、非連結な要素集合
を減らす方向に動く。このようにすることで、従来法に
比べ、一つのプロセッサに多数の非連結な要素集合が割
り当てられることは少なくなる。その結果、アダプティ
ブ有限要素法の処理に必要な連立一次方程式の求解など
の処理のために必要な通信量が減り、通信時間の短縮に
つながる。従来の方法と比較して、アダプティブ有限要
素法を並列に計算するときの効率の低下を抑えることが
できる。
【0010】
【発明の実施の形態】本発明の動的負荷分散方法、動的
負荷分散装置及び動的負荷分散プログラムを記録した記
録媒体の実施の形態について説明する。まず最初に本明
細書で用いる言葉の定義をした後で、具体的な構成及び
動作について説明する。
負荷分散装置及び動的負荷分散プログラムを記録した記
録媒体の実施の形態について説明する。まず最初に本明
細書で用いる言葉の定義をした後で、具体的な構成及び
動作について説明する。
【0011】有限要素法では要素間の接続をグラフを使
って記述することが多い。要素の接続を表現したグラフ
を要素グラフといい、これを表に表したものを要素接続
表と呼ぶ。
って記述することが多い。要素の接続を表現したグラフ
を要素グラフといい、これを表に表したものを要素接続
表と呼ぶ。
【0012】並列化を行った後、並列計算機の各プロセ
ッサは要素を所有している。要素を一つの対象として考
えた場合、もとの要素の間には接続関係が存在している
ため、その対象にも参照関係が存在する。その参照関係
を記述したグラフをプロセッサグラフと呼ぶ。
ッサは要素を所有している。要素を一つの対象として考
えた場合、もとの要素の間には接続関係が存在している
ため、その対象にも参照関係が存在する。その参照関係
を記述したグラフをプロセッサグラフと呼ぶ。
【0013】通信が必要な要素と通信先のプロセッサ番
号との対応を示した表のことを要素通信先対応表と呼
ぶ。
号との対応を示した表のことを要素通信先対応表と呼
ぶ。
【0014】本発明の動的負荷分散装置に実施の形態を
図1に示す。本発明の動的負荷分散装置は、プロセッサ
エレメントとネットワークから構成されている。
図1に示す。本発明の動的負荷分散装置は、プロセッサ
エレメントとネットワークから構成されている。
【0015】プロセッサエレメントは複数存在し、ネッ
トワークにより、互いに通信を行なうことができる。プ
ロセッサエレメントは連結性調査部101、要素移動量
決定部103、要素移動箇所決定部102、プロセッサ
接続情報生成部104、データ移動部105、要素接続
記憶部106、要素通信先対応記憶部107、プロセッ
サ情報記憶部108、要素移動先対応記憶部109、制
御部110から構成されている。
トワークにより、互いに通信を行なうことができる。プ
ロセッサエレメントは連結性調査部101、要素移動量
決定部103、要素移動箇所決定部102、プロセッサ
接続情報生成部104、データ移動部105、要素接続
記憶部106、要素通信先対応記憶部107、プロセッ
サ情報記憶部108、要素移動先対応記憶部109、制
御部110から構成されている。
【0016】連結性調査部101は図4に示す方法で処
理され、そのために図9に示すような成分要素記憶部と
成分番号記憶部を含んでいる。成分要素記憶部は、成分
要素記憶表を記憶する。成分要素記憶部は、成分ごと
に、その成分に含まれる要素数を記憶する成分に含まれ
る要素数記憶部と、その成分に含まれる要素の要素番号
を記憶する要素番号の集合記憶部と、その成分に隣接す
る要素が参照しているプロセッサの番号を記憶するプロ
セッサ番号の集合記憶部、番号付け、から構成される。
成分番号記憶部には、成分要素記憶表の記憶されている
成分の中で、要素数が最大の成分の番号が記憶されてい
る。
理され、そのために図9に示すような成分要素記憶部と
成分番号記憶部を含んでいる。成分要素記憶部は、成分
要素記憶表を記憶する。成分要素記憶部は、成分ごと
に、その成分に含まれる要素数を記憶する成分に含まれ
る要素数記憶部と、その成分に含まれる要素の要素番号
を記憶する要素番号の集合記憶部と、その成分に隣接す
る要素が参照しているプロセッサの番号を記憶するプロ
セッサ番号の集合記憶部、番号付け、から構成される。
成分番号記憶部には、成分要素記憶表の記憶されている
成分の中で、要素数が最大の成分の番号が記憶されてい
る。
【0017】要素移動箇所決定部102は図6に示す方
法で制御され、そのために図11に示すようなプロセッ
サ番号表1とプロセッサ番号表2を含んでいる。それら
はプロセッサ番号記憶部と移動要素数記憶部から構成さ
れている。
法で制御され、そのために図11に示すようなプロセッ
サ番号表1とプロセッサ番号表2を含んでいる。それら
はプロセッサ番号記憶部と移動要素数記憶部から構成さ
れている。
【0018】要素移動量決定部103は図5に示す方法
で制御され、そのために図10に示すように、番号記憶
部、最大値記憶部、平均値記憶部を含んでいる。最大値
記憶部はプロセッサ番号記憶部と計算値記憶部から構成
されている。
で制御され、そのために図10に示すように、番号記憶
部、最大値記憶部、平均値記憶部を含んでいる。最大値
記憶部はプロセッサ番号記憶部と計算値記憶部から構成
されている。
【0019】プロセッサ接続情報生成部104は図3に
示される方法で制御される。
示される方法で制御される。
【0020】データ移動部105は、図7に示される方
法で制御される。
法で制御される。
【0021】要素接続記憶部106の内部を図12に示
す。要素接続記憶部106には要素グラフが要素接続表
として記憶される。そのために要素番号を記憶する複数
の要素番号記憶部と、要素番号記憶部ごとに、その要素
番号記憶部に記憶された要素に隣接する要素の番号の集
合を記憶する隣接する要素番号の集合記憶部とから構成
される。
す。要素接続記憶部106には要素グラフが要素接続表
として記憶される。そのために要素番号を記憶する複数
の要素番号記憶部と、要素番号記憶部ごとに、その要素
番号記憶部に記憶された要素に隣接する要素の番号の集
合を記憶する隣接する要素番号の集合記憶部とから構成
される。
【0022】要素通信先対応記憶部107の内部を図1
3に示す。要素通信先対応記憶部107には要素通信先
対応表が記憶される。そのために通信が必要な要素の要
素番号を記憶する要素番号記憶部とその要素の通信先プ
ロセッサ番号を記憶する隣接する要素を持つプロセッサ
番号の集合記憶部とから構成される。
3に示す。要素通信先対応記憶部107には要素通信先
対応表が記憶される。そのために通信が必要な要素の要
素番号を記憶する要素番号記憶部とその要素の通信先プ
ロセッサ番号を記憶する隣接する要素を持つプロセッサ
番号の集合記憶部とから構成される。
【0023】プロセッサ情報記憶部108の内部を図8
に示す。プロセッサ情報記憶部108には、プロセッサ
グラフをプロセッサ情報表として記憶する。そのため
に、それぞれのプロセッサごとに、プロセッサの番号を
記憶するプロセッサ番号記憶部と、仮想プロセッサ番号
記憶部と、そのプロセッサが持つ要素数記憶部と、その
プロセッサに隣接するプロセッサの番号を記憶する複数
のプロセッサ番号記憶部と、その隣接するプロセッサへ
移動する要素数を記憶する隣接するプロセッサへ移動す
る要素数記憶部から構成されている。
に示す。プロセッサ情報記憶部108には、プロセッサ
グラフをプロセッサ情報表として記憶する。そのため
に、それぞれのプロセッサごとに、プロセッサの番号を
記憶するプロセッサ番号記憶部と、仮想プロセッサ番号
記憶部と、そのプロセッサが持つ要素数記憶部と、その
プロセッサに隣接するプロセッサの番号を記憶する複数
のプロセッサ番号記憶部と、その隣接するプロセッサへ
移動する要素数を記憶する隣接するプロセッサへ移動す
る要素数記憶部から構成されている。
【0024】要素移動先対応記憶部109の内部を図1
4に示す。要素移動先対応記憶部109には要素移動先
対応表が記憶される。そのために要素の移動先のプロセ
ッサのプロセッサ番号を記憶するプロセッサ番号記憶部
と、移動する要素の番号を記憶する移動する要素番号の
集合記憶部から構成される。
4に示す。要素移動先対応記憶部109には要素移動先
対応表が記憶される。そのために要素の移動先のプロセ
ッサのプロセッサ番号を記憶するプロセッサ番号記憶部
と、移動する要素の番号を記憶する移動する要素番号の
集合記憶部から構成される。
【0025】これら、連結性調査部101、要素移動箇
所決定部102、要素移動量決定部103、プロセッサ
接続情報生成部104、データ移動部105、要素接続
記憶部106、要素通信先対応記憶部107、プロセッ
サ情報記憶部108、要素移動先対応記憶部109は制
御部110により制御される。
所決定部102、要素移動量決定部103、プロセッサ
接続情報生成部104、データ移動部105、要素接続
記憶部106、要素通信先対応記憶部107、プロセッ
サ情報記憶部108、要素移動先対応記憶部109は制
御部110により制御される。
【0026】本発明の動的負荷分散方法の実施の形態を
図2に示す。この負荷分散方法は並列計算機の全プロセ
ッサが起動することで実行が開始される。
図2に示す。この負荷分散方法は並列計算機の全プロセ
ッサが起動することで実行が開始される。
【0027】まず、要素接続表、要素通信対応表を入力
する(ステップ201)。ただし要素接続表にある要素
数はプロセッサごとに必ずしも等しいとは限らない。
する(ステップ201)。ただし要素接続表にある要素
数はプロセッサごとに必ずしも等しいとは限らない。
【0028】それらの入力を行った後、非連結な要素集
合の移動を行う(ステップ202)。その方法を図4に
示す。図4に示す処理は、プロセッサが持っている要素
グラフを連結な要素集合に分類し、要素集合の要素数が
最大のもの以外は、その要素集合に隣接する要素を持つ
プロセッサの中で、要素数が最小のプロセッサに要素集
合を送るというものである。
合の移動を行う(ステップ202)。その方法を図4に
示す。図4に示す処理は、プロセッサが持っている要素
グラフを連結な要素集合に分類し、要素集合の要素数が
最大のもの以外は、その要素集合に隣接する要素を持つ
プロセッサの中で、要素数が最小のプロセッサに要素集
合を送るというものである。
【0029】その後、負荷の均等化のための要素移動数
移動先の計算を行う(ステップ203)。その計算を図
5に示す。図5に示す処理は、プロセッサグラフを用
い、反復計算によって解を求める方法であり、アダプテ
ィブ有限要素法における処理の後にプロセッサが持って
いる要素数よりも多くの要素を他のプロセッサに移動さ
せる可能性のあるプロセッサは、自分のプロセッサを介
して要素を移動することをやめ、最も要素の移動数が多
いプロセッサに要素を最も多く供給するプロセッサに隣
接させる。そのような処理を解が収束するまで行なうと
いうものである。
移動先の計算を行う(ステップ203)。その計算を図
5に示す。図5に示す処理は、プロセッサグラフを用
い、反復計算によって解を求める方法であり、アダプテ
ィブ有限要素法における処理の後にプロセッサが持って
いる要素数よりも多くの要素を他のプロセッサに移動さ
せる可能性のあるプロセッサは、自分のプロセッサを介
して要素を移動することをやめ、最も要素の移動数が多
いプロセッサに要素を最も多く供給するプロセッサに隣
接させる。そのような処理を解が収束するまで行なうと
いうものである。
【0030】その後、要素数の均等化のために移動させ
る要素集合、つまり、移動要素領域の計算を行う(ステ
ップ204)。その計算方法は図6に示す。図6に示す
処理は、プロセッサの境界要素集合に属する要素から順
次移動させる要素に加えていくという方法である。
る要素集合、つまり、移動要素領域の計算を行う(ステ
ップ204)。その計算方法は図6に示す。図6に示す
処理は、プロセッサの境界要素集合に属する要素から順
次移動させる要素に加えていくという方法である。
【0031】その後、移動要素数、移動要素先、移動要
素箇所の計算の結果に従い要素を移動させる(ステップ
206)。その方法を図7に示す。
素箇所の計算の結果に従い要素を移動させる(ステップ
206)。その方法を図7に示す。
【0032】具体的に本発明の動的負荷分装置の動作に
ついて図1及び図2のフローチャートに基づいて説明す
る。
ついて図1及び図2のフローチャートに基づいて説明す
る。
【0033】まず、要素接続記憶部106には、要素グ
ラフが要素接続表として記憶され、要素通信先対応記憶
部107には要素通信先対応表が記憶される(ステップ
201)。
ラフが要素接続表として記憶され、要素通信先対応記憶
部107には要素通信先対応表が記憶される(ステップ
201)。
【0034】要素通信先対応記憶部107は図12に示
すように、要素番号記憶部と隣接する要素番号の集合記
憶部から構成される。
すように、要素番号記憶部と隣接する要素番号の集合記
憶部から構成される。
【0035】ここで、図15に要素グラフを示す。これ
は領域分割法によって並列化を行うまえの要素グラフで
ある。節点が要素を表し、枝が要素間の参照関係を示し
ている。要素には番号付けされており、この要素番号が
要素番号記憶部に記憶され、この要素に隣接する要素の
番号が、隣接する要素番号の集合記憶部に記憶される。
は領域分割法によって並列化を行うまえの要素グラフで
ある。節点が要素を表し、枝が要素間の参照関係を示し
ている。要素には番号付けされており、この要素番号が
要素番号記憶部に記憶され、この要素に隣接する要素の
番号が、隣接する要素番号の集合記憶部に記憶される。
【0036】要素通信先対応記憶部107は図13に示
すように要素番号記憶部と隣接する要素を持つプロセッ
サ番号の集合記憶部から構成される。並列計算機でアダ
プティブ有限要素法の計算を進行させると要素グラフ
は、図16のようになる。そして各々の成分の要素グラ
フは各々のプロセッサに記憶される。図15と図16を
比較すると枝が存在しない箇所が存在するがそれがプロ
セッサの境界を示しており、それに隣接する要素の要素
番号を要素番号記憶部に、その要素の参照先プロセッサ
番号を隣接する要素を持つプロセッサ番号の集合記憶部
に記憶する。
すように要素番号記憶部と隣接する要素を持つプロセッ
サ番号の集合記憶部から構成される。並列計算機でアダ
プティブ有限要素法の計算を進行させると要素グラフ
は、図16のようになる。そして各々の成分の要素グラ
フは各々のプロセッサに記憶される。図15と図16を
比較すると枝が存在しない箇所が存在するがそれがプロ
セッサの境界を示しており、それに隣接する要素の要素
番号を要素番号記憶部に、その要素の参照先プロセッサ
番号を隣接する要素を持つプロセッサ番号の集合記憶部
に記憶する。
【0037】次に、非連結な要素集合の移動を行う(ス
テップ202)。非連結要素の移動では連結性調査部1
01とデータ移動部105が動作する。
テップ202)。非連結要素の移動では連結性調査部1
01とデータ移動部105が動作する。
【0038】まず、連結性調査部101からプロセッサ
接続情報生成部104を起動し、プロセッサ情報記憶部
108にプロセッサ情報表を作成する(ステップ40
1)。
接続情報生成部104を起動し、プロセッサ情報記憶部
108にプロセッサ情報表を作成する(ステップ40
1)。
【0039】プロセッサ情報表は図3に示す処理により
作成される。ここで、図3のプロセッサ情報表を作成す
る処理を説明する。
作成される。ここで、図3のプロセッサ情報表を作成す
る処理を説明する。
【0040】まず、プロセッサグラフをプロセッサ情報
表として記憶するプロセッサ情報記憶部108は、図8
に示すように、それぞれのプロセッサごとに、プロセッ
サの番号を記憶するプロセッサ番号記憶部と、仮想プロ
セッサ番号を記憶する仮想プロセッサ番号記憶部と、そ
のプロセッサが持つ要素数記憶部と、そのプロセッサに
隣接するプロセッサの番号を記憶する複数のプロセッサ
番号記憶部と、その隣接するプロセッサへ移動する要素
数を記憶する隣接するプロセッサへ移動する要素数記憶
部から構成されている。
表として記憶するプロセッサ情報記憶部108は、図8
に示すように、それぞれのプロセッサごとに、プロセッ
サの番号を記憶するプロセッサ番号記憶部と、仮想プロ
セッサ番号を記憶する仮想プロセッサ番号記憶部と、そ
のプロセッサが持つ要素数記憶部と、そのプロセッサに
隣接するプロセッサの番号を記憶する複数のプロセッサ
番号記憶部と、その隣接するプロセッサへ移動する要素
数を記憶する隣接するプロセッサへ移動する要素数記憶
部から構成されている。
【0041】プロセッサ情報表はプロセッサ接続情報生
成部104により作成される。プロセッサ接続情報生成
部104は、図13の要素通信先対応記憶部107に記
憶された要素通信先対応表から隣接するプロセッサ番号
の集合を読み、そのプロセッサ番号を図8に示すプロセ
ッサ番号記憶部の自分のプロセッサ番号に対応する隣接
プロセッサ番号記憶部に記憶する。そして図12に示す
要素接続記憶部106から要素接続表を読みだし、要素
の個数を数え、図8に示すプロセッサ番号記憶部の自分
のプロセッサ番号に対応するプロセッサが持つ要素記憶
部に記憶する(ステップ301)。これによりプロセッ
サグラフの節点に要素数が記憶されたことになる。
成部104により作成される。プロセッサ接続情報生成
部104は、図13の要素通信先対応記憶部107に記
憶された要素通信先対応表から隣接するプロセッサ番号
の集合を読み、そのプロセッサ番号を図8に示すプロセ
ッサ番号記憶部の自分のプロセッサ番号に対応する隣接
プロセッサ番号記憶部に記憶する。そして図12に示す
要素接続記憶部106から要素接続表を読みだし、要素
の個数を数え、図8に示すプロセッサ番号記憶部の自分
のプロセッサ番号に対応するプロセッサが持つ要素記憶
部に記憶する(ステップ301)。これによりプロセッ
サグラフの節点に要素数が記憶されたことになる。
【0042】その記憶結果を全プロセッサにむけネット
ワークに送る(ステップ302)。
ワークに送る(ステップ302)。
【0043】各々のプロセッサから送られ来た結果は、
図8に示すプロセッサ番号記憶部の送り元のプロセッサ
番号に対応する箇所に各々記憶される(ステップ30
3)。
図8に示すプロセッサ番号記憶部の送り元のプロセッサ
番号に対応する箇所に各々記憶される(ステップ30
3)。
【0044】次に、プロセッサが持っている要素グラフ
を連結な要素集合に分類するために、図4のステップ4
02〜407が実行される。
を連結な要素集合に分類するために、図4のステップ4
02〜407が実行される。
【0045】まず、連結性調査部101の成分番号記憶
部の値を0にする(ステップ402)。
部の値を0にする(ステップ402)。
【0046】要素接続記憶部106に記憶されている全
ての要素の処理が完了したかを調べる。完了した場合に
はステップ408に、未完了の場合にはステップ404
の処理にうつる(ステップ403)。
ての要素の処理が完了したかを調べる。完了した場合に
はステップ408に、未完了の場合にはステップ404
の処理にうつる(ステップ403)。
【0047】連結性調査部101の成分番号記憶部の値
を1増やす(ステップ404)。
を1増やす(ステップ404)。
【0048】未処理の要素を一つ選ぶ(ステップ40
5)。
5)。
【0049】要素接続表を使い幅優先、もしくは深さ優
先探索を行う。そのときに訪問した要素には処理が終了
したことを示す印を付け、訪問した要素数を数える。処
理した要素は成分要素記憶部の要素番号の集合記憶部に
記憶する(ステップ406)。
先探索を行う。そのときに訪問した要素には処理が終了
したことを示す印を付け、訪問した要素数を数える。処
理した要素は成分要素記憶部の要素番号の集合記憶部に
記憶する(ステップ406)。
【0050】要素数を成分要素記憶部の成分に含まれる
要素数記憶部に記憶したのちステップ403の処理をす
る(ステップ407)。
要素数記憶部に記憶したのちステップ403の処理をす
る(ステップ407)。
【0051】ステップ402〜407の結果、図9に示
す成分要素記憶部の成分に含まれる要素数記憶部に連結
成分の要素数が記憶され、要素番号の集合記憶部に連結
成分に含まれる要素番号が記憶される。
す成分要素記憶部の成分に含まれる要素数記憶部に連結
成分の要素数が記憶され、要素番号の集合記憶部に連結
成分に含まれる要素番号が記憶される。
【0052】次に、分類の結果、要素集合の要素数が最
大の連結成分以外は、その要素集合に隣接する要素を持
つプロセッサの中で、要素数が最小のプロセッサに要素
集合を送る。
大の連結成分以外は、その要素集合に隣接する要素を持
つプロセッサの中で、要素数が最小のプロセッサに要素
集合を送る。
【0053】そのため、まず、成分要素構成表の中で成
分に含まれる要素数の最大値の成分番号を図9に示す連
結性調査部101の成分番号記憶部に記憶する(ステッ
プ408)。
分に含まれる要素数の最大値の成分番号を図9に示す連
結性調査部101の成分番号記憶部に記憶する(ステッ
プ408)。
【0054】そして、成分番号記憶部に記憶された成分
番号に対応する成分を除きすべての成分について要素番
号の集合記憶部に記憶された要素集合の番号と、図13
に示す要素通信先対応表の要素番号記憶部に記憶された
要素番号を比較し、重複する要素番号が存在する場合に
は、それに対応する参照先プロセッサ番号を図13に示
す要素通信先対応表から読み、図9に示すプロセッサ番
号の集合記憶部に記憶する(ステップ409)。
番号に対応する成分を除きすべての成分について要素番
号の集合記憶部に記憶された要素集合の番号と、図13
に示す要素通信先対応表の要素番号記憶部に記憶された
要素番号を比較し、重複する要素番号が存在する場合に
は、それに対応する参照先プロセッサ番号を図13に示
す要素通信先対応表から読み、図9に示すプロセッサ番
号の集合記憶部に記憶する(ステップ409)。
【0055】これによりプロセッサ番号の集合記憶部に
は、その成分に隣接する要素が参照しているプロセッサ
の番号が記憶されることになる。
は、その成分に隣接する要素が参照しているプロセッサ
の番号が記憶されることになる。
【0056】連結性調査部101の成分番号記憶部に記
憶された番号以外の成分番号について、連結性調査部1
01のプロセッサ番号の集合記憶部に記憶されている全
てのプロセッサ番号の中から、プロセッサ情報記憶部1
08に記憶されている要素数を調べ、その値が最小のプ
ロセッサ番号を選び、そのプロセッサ番号を図14に示
す要素移動先対応記憶部109のプロセッサ番号記憶部
に記憶し、成分番号の要素番号の集合記憶部に記憶され
ている要素番号を、要素移動先対応記憶部109に記憶
する(ステップ410)。
憶された番号以外の成分番号について、連結性調査部1
01のプロセッサ番号の集合記憶部に記憶されている全
てのプロセッサ番号の中から、プロセッサ情報記憶部1
08に記憶されている要素数を調べ、その値が最小のプ
ロセッサ番号を選び、そのプロセッサ番号を図14に示
す要素移動先対応記憶部109のプロセッサ番号記憶部
に記憶し、成分番号の要素番号の集合記憶部に記憶され
ている要素番号を、要素移動先対応記憶部109に記憶
する(ステップ410)。
【0057】次に、連結性調査部101によりデータ移
動部105が起動され、ステップ410で記憶された要
素移動先対応表と図12の要素接続記憶部106に記憶
された要素接続表と、図13の要素通信先対応記憶部1
07に記憶された要素通信先対応表を入力として図7に
示すデータ移動部105の動作が開始される。
動部105が起動され、ステップ410で記憶された要
素移動先対応表と図12の要素接続記憶部106に記憶
された要素接続表と、図13の要素通信先対応記憶部1
07に記憶された要素通信先対応表を入力として図7に
示すデータ移動部105の動作が開始される。
【0058】データ移動部105は、まず、図14の要
素移動先対応記憶部109に記憶された移動先プロセッ
サ番号と、このプロセッサ番号に対応する移動する要素
番号の集合を読み込む。そして読み込まれた移動する要
素番号の集合に含まれる要素番号に対応する要素接続表
を要素接続記憶部106から読み出し、更に要素接続先
対応記憶部からこれらの要素番号に対応する隣接する要
素を持つプロセッサ番号の集合を読み出す。そして読み
出された要素移動先対応表、要素接続表、要素通信先対
応表をネットワークを介して移動先プロセッサにおくる
(ステップ701)。
素移動先対応記憶部109に記憶された移動先プロセッ
サ番号と、このプロセッサ番号に対応する移動する要素
番号の集合を読み込む。そして読み込まれた移動する要
素番号の集合に含まれる要素番号に対応する要素接続表
を要素接続記憶部106から読み出し、更に要素接続先
対応記憶部からこれらの要素番号に対応する隣接する要
素を持つプロセッサ番号の集合を読み出す。そして読み
出された要素移動先対応表、要素接続表、要素通信先対
応表をネットワークを介して移動先プロセッサにおくる
(ステップ701)。
【0059】そして、移動元のプロセッサでは、要素移
動先記憶部、要素接続記憶部106、要素通信先対応記
憶部107に記憶されている、要素移動先対応表、要素
接続表、要素通信先対応表を移動先プロセッサに送った
要素番号に対応する箇所を、初期化する(ステップ70
2)。
動先記憶部、要素接続記憶部106、要素通信先対応記
憶部107に記憶されている、要素移動先対応表、要素
接続表、要素通信先対応表を移動先プロセッサに送った
要素番号に対応する箇所を、初期化する(ステップ70
2)。
【0060】自分に送られてきた移動要素番号の集合、
その集合に含まれる要素番号に対応する要素接続表と要
素通信先対応表を受け取り、要素接続記憶部106と要
素通信先対応表を更新する(ステップ703)。
その集合に含まれる要素番号に対応する要素接続表と要
素通信先対応表を受け取り、要素接続記憶部106と要
素通信先対応表を更新する(ステップ703)。
【0061】図16の要素グラフから非連結な要素集合
を移動した結果、図17に示す要素グラフになる。図1
7では4つの成分を各々のプロセッサが記憶している。
を移動した結果、図17に示す要素グラフになる。図1
7では4つの成分を各々のプロセッサが記憶している。
【0062】その後図2に示す負荷の均等化のための通
信先通信量の計算が行われる(ステップ203)。その
動作内容は図5に示してある。
信先通信量の計算が行われる(ステップ203)。その
動作内容は図5に示してある。
【0063】まず、要素移動量決定部103によりプロ
セッサ接続情報生成部104が起動され、プロセッサ接
続情報生成部104にて図3に示す処理が実行されプロ
セッサ情報表が生成される。生成されたプロセッサ情報
表は、図8に示すプロセッサ情報記憶部108に記憶さ
れる(ステップ501)。これにより例えば、連結成分
が移動された後の図17の要素グラフから図18に示す
プロセッサグラフが作成される。
セッサ接続情報生成部104が起動され、プロセッサ接
続情報生成部104にて図3に示す処理が実行されプロ
セッサ情報表が生成される。生成されたプロセッサ情報
表は、図8に示すプロセッサ情報記憶部108に記憶さ
れる(ステップ501)。これにより例えば、連結成分
が移動された後の図17の要素グラフから図18に示す
プロセッサグラフが作成される。
【0064】次にプロセッサ情報表の隣接するプロセッ
サへ移動する要素数をすべて0に初期化する(ステップ
502)。これにより例えば、図18に示すプロセッサ
グラフは図19のようになる。
サへ移動する要素数をすべて0に初期化する(ステップ
502)。これにより例えば、図18に示すプロセッサ
グラフは図19のようになる。
【0065】次に図8のプロセッサ情報記憶部108の
プロセッサが持つ要素数記憶部の値が正のものに関して
平均が取られ図10に示す要素移動量決定部103の平
均値記憶部に記憶される(ステップ503)。例えば、
図19に示す例では、39.25という値が図10の平
均値記憶部に記憶される。
プロセッサが持つ要素数記憶部の値が正のものに関して
平均が取られ図10に示す要素移動量決定部103の平
均値記憶部に記憶される(ステップ503)。例えば、
図19に示す例では、39.25という値が図10の平
均値記憶部に記憶される。
【0066】また図8に記憶されたプロセッサが持つ要
素数記憶部の最大値も取られ、そのプロセッサ番号とと
もに要素移動量決定部103の最大値記憶部の中の計算
値記憶部とプロセッサ番号記憶部に記憶される(ステッ
プ504)。
素数記憶部の最大値も取られ、そのプロセッサ番号とと
もに要素移動量決定部103の最大値記憶部の中の計算
値記憶部とプロセッサ番号記憶部に記憶される(ステッ
プ504)。
【0067】プロセッサが持つ要素数が最大のプロセッ
サから仮想的に幅優先で番号付けがなされ、プロセッサ
情報記憶部108の仮想プロセッサ番号記憶部に記憶さ
れる。つまり、プロセッサの持つ要素数が最大のプロセ
ッサから訪問した順番に番号を付ける(ステップ50
5)。
サから仮想的に幅優先で番号付けがなされ、プロセッサ
情報記憶部108の仮想プロセッサ番号記憶部に記憶さ
れる。つまり、プロセッサの持つ要素数が最大のプロセ
ッサから訪問した順番に番号を付ける(ステップ50
5)。
【0068】その番号付けされた状態を図20に示す。
その番号の大きなものから、つまり、図20では4と示
されたものから負荷の均等化の計算が以下に示す処理に
より開始される。
その番号の大きなものから、つまり、図20では4と示
されたものから負荷の均等化の計算が以下に示す処理に
より開始される。
【0069】要素移動量決定部103の番号記憶部にプ
ロセッサ台数を記憶する(ステップ506)。
ロセッサ台数を記憶する(ステップ506)。
【0070】要素移動量決定部103の番号記憶部に記
憶されている値から1を引き、その値を記憶する(ステ
ップ507)。
憶されている値から1を引き、その値を記憶する(ステ
ップ507)。
【0071】要素移動量決定部103の番号記憶部に記
憶されている値の正負を調べる。正か0ならステップ5
13の処理をし、それ以外ならステップ509の処理を
する(ステップ508)。
憶されている値の正負を調べる。正か0ならステップ5
13の処理をし、それ以外ならステップ509の処理を
する(ステップ508)。
【0072】要素移動量決定部103の平均値記憶部に
記憶されている値から要素移動量決定部103の番号記
憶部に記憶されている値をひき、その値が負ならステッ
プ510の処理をし、それ以外の場合にはステップ51
1の処理をする(ステップ509)。
記憶されている値から要素移動量決定部103の番号記
憶部に記憶されている値をひき、その値が負ならステッ
プ510の処理をし、それ以外の場合にはステップ51
1の処理をする(ステップ509)。
【0073】要素移動量決定部103の番号記憶部に記
憶されている番号を仮想プロセッサ番号とするプロセッ
サ(以下このステップにおいて自プロセッサという)を
プロセッサ情報記憶部108から探索し、探索した自プ
ロセッサの隣接するプロセッサ番号記憶部に記憶されて
いるプロセッサ(以下このステップにおいて隣接プロセ
ッサという)のうち、仮想プロセッサ番号が要素移動量
決定部103の番号記憶部に記憶されている番号より小
さく、かつ(隣接プロセッサが持つ要素数−隣接プロセ
ッサから他のプロセッサへ移動する要素数の総和)が最
小のプロセッサAを探索し、自プロセッサからプロセッ
サAへ移動する要素数を1増やし、プロセッサAから自
分のプロセッサへ移動する要素数を1減らし、再び(隣
接するプロセッサが持つ要素数−隣接プロセッサから他
のプロセッサへ移動する要素数の総和)が最小のプロセ
ッサAを見つけ、その作業を(平均値記憶部に記憶され
た値−自プロセッサの要素数)の値が1以上の間行なう
(ステップ510)。
憶されている番号を仮想プロセッサ番号とするプロセッ
サ(以下このステップにおいて自プロセッサという)を
プロセッサ情報記憶部108から探索し、探索した自プ
ロセッサの隣接するプロセッサ番号記憶部に記憶されて
いるプロセッサ(以下このステップにおいて隣接プロセ
ッサという)のうち、仮想プロセッサ番号が要素移動量
決定部103の番号記憶部に記憶されている番号より小
さく、かつ(隣接プロセッサが持つ要素数−隣接プロセ
ッサから他のプロセッサへ移動する要素数の総和)が最
小のプロセッサAを探索し、自プロセッサからプロセッ
サAへ移動する要素数を1増やし、プロセッサAから自
分のプロセッサへ移動する要素数を1減らし、再び(隣
接するプロセッサが持つ要素数−隣接プロセッサから他
のプロセッサへ移動する要素数の総和)が最小のプロセ
ッサAを見つけ、その作業を(平均値記憶部に記憶され
た値−自プロセッサの要素数)の値が1以上の間行なう
(ステップ510)。
【0074】要素移動量決定部103の平均値記憶部に
記憶されている値から要素移動量決定部103の番号記
憶部に記憶されている値をひき、その値が正ならステッ
プ512の処理をし、それ以外の場合にはステップ50
7の処理をする(ステップ511)。
記憶されている値から要素移動量決定部103の番号記
憶部に記憶されている値をひき、その値が正ならステッ
プ512の処理をし、それ以外の場合にはステップ50
7の処理をする(ステップ511)。
【0075】要素移動量決定部103の番号記憶部に記
憶されている番号を仮想プロセッサ番号とするプロセッ
サ(以下このステップにおいて自プロセッサという)を
プロセッサ情報記憶部108から探索し、探索した自プ
ロセッサの隣接するプロセッサ番号記憶部に記憶されて
いるプロセッサ(以下このステップにおいて隣接プロセ
ッサという)のうち、仮想プロセッサ番号が要素移動量
決定部103の番号記憶部に記憶されている番号より小
さく、かつ(隣接プロセッサが持つ要素数−隣接プロセ
ッサから他のプロセッサへ移動する要素数の総和)が最
大のプロセッサBを探索し、自プロセッサからプロセッ
サBへ移動する要素数を1減らし、プロセッサBから自
分のプロセッサへ移動する要素数を1増やし、再び(隣
接するプロセッサが持つ要素数−隣接プロセッサから他
のプロセッサへ移動する要素数の総和)が最大のプロセ
ッサBを見つけ、その作業を(平均値記憶部に記憶され
た値−自プロセッサの要素数)の値1以上の間行なう
(ステップ512)。
憶されている番号を仮想プロセッサ番号とするプロセッ
サ(以下このステップにおいて自プロセッサという)を
プロセッサ情報記憶部108から探索し、探索した自プ
ロセッサの隣接するプロセッサ番号記憶部に記憶されて
いるプロセッサ(以下このステップにおいて隣接プロセ
ッサという)のうち、仮想プロセッサ番号が要素移動量
決定部103の番号記憶部に記憶されている番号より小
さく、かつ(隣接プロセッサが持つ要素数−隣接プロセ
ッサから他のプロセッサへ移動する要素数の総和)が最
大のプロセッサBを探索し、自プロセッサからプロセッ
サBへ移動する要素数を1減らし、プロセッサBから自
分のプロセッサへ移動する要素数を1増やし、再び(隣
接するプロセッサが持つ要素数−隣接プロセッサから他
のプロセッサへ移動する要素数の総和)が最大のプロセ
ッサBを見つけ、その作業を(平均値記憶部に記憶され
た値−自プロセッサの要素数)の値1以上の間行なう
(ステップ512)。
【0076】全てのプロセッサ番号に関して、そのプロ
セッサに隣接するプロセッサ番号の中で、移動する要素
数が正の値のものの総和を求め、その値からそのプロセ
ッサが持つ要素数を引いた値が最大のプロセッサ番号と
その値を最大値記憶部に記憶する(ステップ513)。
セッサに隣接するプロセッサ番号の中で、移動する要素
数が正の値のものの総和を求め、その値からそのプロセ
ッサが持つ要素数を引いた値が最大のプロセッサ番号と
その値を最大値記憶部に記憶する(ステップ513)。
【0077】最大値記憶部の計算値記憶部に記憶された
値の正負を判定する。0以下なら処理を終了し、それ以
外の場合にはステップ516の処理をする(ステップ5
14)。
値の正負を判定する。0以下なら処理を終了し、それ以
外の場合にはステップ516の処理をする(ステップ5
14)。
【0078】最大値記憶部に記憶されたプロセッサCの
要素数をそのプロセッサCに隣接するプロセッサの中で
最小要素数のプロセッサDに足し、プロセッサCの要素
数を0とし、プロセッサCの参照関係をプロセッサDの
参照関係に加えるようにプロセッサ情報記憶部108に
記憶し、プロセッサCの参照関係がなくなるようにプロ
セッサ記憶部に記憶する(ステップ516)。
要素数をそのプロセッサCに隣接するプロセッサの中で
最小要素数のプロセッサDに足し、プロセッサCの要素
数を0とし、プロセッサCの参照関係をプロセッサDの
参照関係に加えるようにプロセッサ情報記憶部108に
記憶し、プロセッサCの参照関係がなくなるようにプロ
セッサ記憶部に記憶する(ステップ516)。
【0079】ここで、参照関係を加える処理は、プロセ
ッサDを示すプロセッサ番号記憶部に対応する隣接する
プロセッサ番号記憶部と、プロセッサCを示すプロセッ
サ番号記憶部に対応する隣接するプロセッサ番号記憶部
の和集合をとり、それをプロセッサDを示すプロセッサ
番号記憶部に対応する隣接するプロセッサ番号記憶部に
記憶し、逆にプロセッサDを示すプロセッサ番号記憶部
に対応する隣接するプロセッサ番号記憶部に記憶されて
いる番号を示すプロセッサ番号記憶部に対応する、隣接
プロセッサ番号記憶部には、プロセッサDのプロセッサ
番号を記憶することにより行われる。
ッサDを示すプロセッサ番号記憶部に対応する隣接する
プロセッサ番号記憶部と、プロセッサCを示すプロセッ
サ番号記憶部に対応する隣接するプロセッサ番号記憶部
の和集合をとり、それをプロセッサDを示すプロセッサ
番号記憶部に対応する隣接するプロセッサ番号記憶部に
記憶し、逆にプロセッサDを示すプロセッサ番号記憶部
に対応する隣接するプロセッサ番号記憶部に記憶されて
いる番号を示すプロセッサ番号記憶部に対応する、隣接
プロセッサ番号記憶部には、プロセッサDのプロセッサ
番号を記憶することにより行われる。
【0080】また、参照関係をなくす処理は、プロセッ
サCに対応する隣接プロセッサ番号記憶部に記憶されて
いる全てのプロセッサ番号に対応するプロセッサに対応
する隣接プロセッサ番号記憶部に記憶されている、プロ
セッサCに対応するところを0に初期化し、プロセッサ
Cに対応するプロセッサ番号記憶部と隣接プロセッサ番
号を0に初期化することにより行われる。
サCに対応する隣接プロセッサ番号記憶部に記憶されて
いる全てのプロセッサ番号に対応するプロセッサに対応
する隣接プロセッサ番号記憶部に記憶されている、プロ
セッサCに対応するところを0に初期化し、プロセッサ
Cに対応するプロセッサ番号記憶部と隣接プロセッサ番
号を0に初期化することにより行われる。
【0081】次に、移動する要素数の絶対値の総和が最
大のプロセッサEを見つけ、プロセッサEに隣接するプ
ロセッサの中で、プロセッサEに移動する要素数が最小
のプロセッサFを見つけ、プロセッサFとステップ51
6で参照関係がなくなったプロセッサCとが参照関係を
持つようにプロセッサ記憶部に記憶し、ステップ502
の処理に戻る(ステップ517)。
大のプロセッサEを見つけ、プロセッサEに隣接するプ
ロセッサの中で、プロセッサEに移動する要素数が最小
のプロセッサFを見つけ、プロセッサFとステップ51
6で参照関係がなくなったプロセッサCとが参照関係を
持つようにプロセッサ記憶部に記憶し、ステップ502
の処理に戻る(ステップ517)。
【0082】すなわち、プロセッサ番号記憶部の値がプ
ロセッサFの対応する隣接プロセッサ番号記憶部にプロ
セッサCの番号を記憶し、新たにプロセッサCのプロセ
ッサ番号をプロセッサ番号記憶部に記憶し、それに対応
する隣接するプロセッサ番号記憶部には、プロセッサF
の番号を記憶する。
ロセッサFの対応する隣接プロセッサ番号記憶部にプロ
セッサCの番号を記憶し、新たにプロセッサCのプロセ
ッサ番号をプロセッサ番号記憶部に記憶し、それに対応
する隣接するプロセッサ番号記憶部には、プロセッサF
の番号を記憶する。
【0083】以上の負荷均等化の計算により、図20で
示されたプロセッサ4の処理を行った後の状態が図21
に示される。図10の平均値記憶部の値よりも小さな値
であったため図21のように計算される。図21のプロ
セッサ1からプロセッサ4への移動量10は図8に示す
プロセッサ番号1に対応する領域の、プロセッサ番号4
に対応する隣接するプロセッサ番号記憶部に対応する領
域に対応する隣接プロセッサへ移動する要素数には正の
値つまり、10として記憶され、プロセッサ番号4に対
応する領域の、プロセッサ番号1に対応する隣接するプ
ロセッサ番号記憶部に対応する領域に対応する隣接プロ
セッサへ移動する要素数には負の値つまり、−10とし
て記憶される。その後、図5に示すループで繰り返し処
理され、その計算の進行過程を図22、図23に示す。
図20に示すプロセッサ4の処理の時と同様に、図8に
示すプロセッサ情報記憶部108に記憶されていく。
示されたプロセッサ4の処理を行った後の状態が図21
に示される。図10の平均値記憶部の値よりも小さな値
であったため図21のように計算される。図21のプロ
セッサ1からプロセッサ4への移動量10は図8に示す
プロセッサ番号1に対応する領域の、プロセッサ番号4
に対応する隣接するプロセッサ番号記憶部に対応する領
域に対応する隣接プロセッサへ移動する要素数には正の
値つまり、10として記憶され、プロセッサ番号4に対
応する領域の、プロセッサ番号1に対応する隣接するプ
ロセッサ番号記憶部に対応する領域に対応する隣接プロ
セッサへ移動する要素数には負の値つまり、−10とし
て記憶される。その後、図5に示すループで繰り返し処
理され、その計算の進行過程を図22、図23に示す。
図20に示すプロセッサ4の処理の時と同様に、図8に
示すプロセッサ情報記憶部108に記憶されていく。
【0084】その後、要素数の均等化のために移動させ
る要素集合、つまり、移動要素領域の計算を行う(ステ
ップ204)。
る要素集合、つまり、移動要素領域の計算を行う(ステ
ップ204)。
【0085】この移動要素領域の計算は、要素移動箇所
決定部102により図6の処理により計算される。要素
移動箇所決定部102は、図11に示すようにプロセッ
サ番号表1記憶部とプロセッサ番号表2記憶部を含んで
おり、それらはプロセッサ番号記憶部と要素移動数記憶
部から構成されている。移動要素領域の計算はプロセッ
サの境界要素集合に属する要素から順次移動させる要素
に加えていくという方法である。以下に具体的に説明す
る。
決定部102により図6の処理により計算される。要素
移動箇所決定部102は、図11に示すようにプロセッ
サ番号表1記憶部とプロセッサ番号表2記憶部を含んで
おり、それらはプロセッサ番号記憶部と要素移動数記憶
部から構成されている。移動要素領域の計算はプロセッ
サの境界要素集合に属する要素から順次移動させる要素
に加えていくという方法である。以下に具体的に説明す
る。
【0086】移動箇所決定部は、プロセッサ情報記憶部
108からプロセッサ情報表を、要素接続記憶部106
から要素接続表を、要素通信先対応記憶部107は、要
素通信先対応表を参照して以下の処理がなされる。
108からプロセッサ情報表を、要素接続記憶部106
から要素接続表を、要素通信先対応記憶部107は、要
素通信先対応表を参照して以下の処理がなされる。
【0087】まず、プロセッサ情報表を用いて、自分の
プロセッサから自分のプロセッサに隣接するプロセッサ
へ移動する要素数が全て0以下かどうかを判定する。全
て0以下なら処理を終了する(ステップ601)。
プロセッサから自分のプロセッサに隣接するプロセッサ
へ移動する要素数が全て0以下かどうかを判定する。全
て0以下なら処理を終了する(ステップ601)。
【0088】次に、プロセッサ情報記憶部108に記憶
された、自分のプロセッサから自分のプロセッサに隣接
するプロセッサへ移動する要素数が正かつ移動先のプロ
セッサの要素数が0でない全てのプロセッサ番号とその
プロセッサへ移動する要素数を要素移動箇所決定部10
2のプロセッサ番号表1記憶部に記憶する(ステップ6
02)。
された、自分のプロセッサから自分のプロセッサに隣接
するプロセッサへ移動する要素数が正かつ移動先のプロ
セッサの要素数が0でない全てのプロセッサ番号とその
プロセッサへ移動する要素数を要素移動箇所決定部10
2のプロセッサ番号表1記憶部に記憶する(ステップ6
02)。
【0089】プロセッサ情報記憶部108に記憶され
た、自分のプロセッサに隣接するプロセッサへ移動する
要素数が正かつ移動先のプロセッサの要素数が0の全て
のプロセッサ番号とそのプロセッサへ移動する要素数を
要素移動箇所決定部102のプロセッサ番号表2記憶部
に記憶する(ステップ603)。
た、自分のプロセッサに隣接するプロセッサへ移動する
要素数が正かつ移動先のプロセッサの要素数が0の全て
のプロセッサ番号とそのプロセッサへ移動する要素数を
要素移動箇所決定部102のプロセッサ番号表2記憶部
に記憶する(ステップ603)。
【0090】プロセッサ表1記憶部に記憶されたプロセ
ッサ番号が存在を判定する。存在する場合にはステップ
605の処理を行ない、そうでない場合にはステップ6
13の処理を行なう(ステップ604)。
ッサ番号が存在を判定する。存在する場合にはステップ
605の処理を行ない、そうでない場合にはステップ6
13の処理を行なう(ステップ604)。
【0091】プロセッサ表1記憶部に記憶された現在処
理しているプロセッサに対応する移動要素数の正負を判
定する。正ならステップ606の処理を行ない、そうで
ない場合にはステップ608の処理を行なう(ステップ
605)。
理しているプロセッサに対応する移動要素数の正負を判
定する。正ならステップ606の処理を行ない、そうで
ない場合にはステップ608の処理を行なう(ステップ
605)。
【0092】要素通信先対応記憶部107からプロセッ
サ表1記憶部に記憶された現在処理しているプロセッサ
が持っている要素番号を調べ、要素接続記憶部106か
らそれらの要素に連結な要素が存在するかどうかを調
べ、存在しない場合にはステップ607の処理をし、存
在する場合にはステップ609の処理をする(ステップ
606)。
サ表1記憶部に記憶された現在処理しているプロセッサ
が持っている要素番号を調べ、要素接続記憶部106か
らそれらの要素に連結な要素が存在するかどうかを調
べ、存在しない場合にはステップ607の処理をし、存
在する場合にはステップ609の処理をする(ステップ
606)。
【0093】プロセッサ番号表1の現在処理しているプ
ロセッサのプロセッサ番号とそれに対応する移動要素数
をプロセッサ番号表2記憶部に記憶し、プロセッサ番号
表1のそのプロセッサ番号と対応する移動要素数を0に
初期化する(ステップ607)。
ロセッサのプロセッサ番号とそれに対応する移動要素数
をプロセッサ番号表2記憶部に記憶し、プロセッサ番号
表1のそのプロセッサ番号と対応する移動要素数を0に
初期化する(ステップ607)。
【0094】プロセッサ番号表1から移動要素数が0に
なったところのプロセッサ番号を0に初期化する(ステ
ップ608)。
なったところのプロセッサ番号を0に初期化する(ステ
ップ608)。
【0095】ステップ606における連結な要素かつ要
素移動先対応記憶部109に記憶されていない要素集合
に、現在処理しているプロセッサに対応する要素集合を
要素通信先対応記憶部107から調べ、その要素集合か
ら距離の短い順に優先順位を決め、最も優先順位の高い
ものを選び出す(ステップ609)。
素移動先対応記憶部109に記憶されていない要素集合
に、現在処理しているプロセッサに対応する要素集合を
要素通信先対応記憶部107から調べ、その要素集合か
ら距離の短い順に優先順位を決め、最も優先順位の高い
ものを選び出す(ステップ609)。
【0096】優先順位が最も高い要素の番号を、要素移
動先対応記憶部109の対応する要素番号の、現在処理
しているプロセッサ番号に対応する移動する要素番号の
集合記憶部に記憶する(ステップ610)。
動先対応記憶部109の対応する要素番号の、現在処理
しているプロセッサ番号に対応する移動する要素番号の
集合記憶部に記憶する(ステップ610)。
【0097】プロセッサ番号表1記憶部に記憶された、
現在処理しているプロセッサ番号に対応する移動要素数
を1減らす(ステップ611)。
現在処理しているプロセッサ番号に対応する移動要素数
を1減らす(ステップ611)。
【0098】次のプロセッサ番号の処理に移動し、ステ
ップ604の処理を行なう(ステップ612)。
ップ604の処理を行なう(ステップ612)。
【0099】自分のプロセッサが持っている要素集合の
中で、要素移動先対応記憶部109に記憶されていない
要素集合を、プロセッサ番号表2に記憶された全プロセ
ッサの移動要素数で、グラフ分割アルゴリズムを使って
分割し、その分割結果を要素移動先対応記憶部109に
記憶し処理を終了する(ステップ613)。
中で、要素移動先対応記憶部109に記憶されていない
要素集合を、プロセッサ番号表2に記憶された全プロセ
ッサの移動要素数で、グラフ分割アルゴリズムを使って
分割し、その分割結果を要素移動先対応記憶部109に
記憶し処理を終了する(ステップ613)。
【0100】この制御により例えば、各プロセッサが図
17の要素グラフを持っている場合、要素移動箇所決定
部102による計算の後、図24の三角形で示された節
点を移動要素として決定される。
17の要素グラフを持っている場合、要素移動箇所決定
部102による計算の後、図24の三角形で示された節
点を移動要素として決定される。
【0101】その後に要素の移動を行う(ステップ20
5)。要素移動箇所決定部102によりデータ移動部1
05が起動され、図6の処理の結果、要素移動先対応記
憶部109に記憶された要素移動先対応表と、要素接続
記憶部106に記憶された要素接続表と、要素通信先対
応記憶部107に記憶された要素通信対応表を用いて図
7に示すデータ移動部105の動作が開始される。図7
の処理により、図12の要素接続記憶部106と図13
の要素通信先対応表を更新する。
5)。要素移動箇所決定部102によりデータ移動部1
05が起動され、図6の処理の結果、要素移動先対応記
憶部109に記憶された要素移動先対応表と、要素接続
記憶部106に記憶された要素接続表と、要素通信先対
応記憶部107に記憶された要素通信対応表を用いて図
7に示すデータ移動部105の動作が開始される。図7
の処理により、図12の要素接続記憶部106と図13
の要素通信先対応表を更新する。
【0102】図24に示す例では、図24の三角形で示
された節点に関する、要素グラフ、要素通信先対応表を
要素移動先対応表に示されたように送り、各プロセッサ
で更新処理を行なうと図25のような要素グラフが作成
される。
された節点に関する、要素グラフ、要素通信先対応表を
要素移動先対応表に示されたように送り、各プロセッサ
で更新処理を行なうと図25のような要素グラフが作成
される。
【0103】最後に、本発明の動的負荷分散プログラム
を記録した記録媒体の実施の形態について説明する。
を記録した記録媒体の実施の形態について説明する。
【0104】本発明の動的負荷分散プログラムを記録し
た記録媒体は、上述の並列計算の動的負荷分散方法をコ
ンピュータが読みとり実行可能なプログラム言語によっ
てプログラムし、当該プログラムをCD−ROMやFD
等の記録媒体に記録することによって実現することがで
きる。
た記録媒体は、上述の並列計算の動的負荷分散方法をコ
ンピュータが読みとり実行可能なプログラム言語によっ
てプログラムし、当該プログラムをCD−ROMやFD
等の記録媒体に記録することによって実現することがで
きる。
【0105】また上記記録媒体はサーバ装置などに備え
られるハードディスクなどの記憶手段でも良く、更に該
記憶手段にこのコンピュータプログラムを記録しておき
ネットワークを介してこのコンピュータプログラムを読
み込むことによって、本発明の記録媒体を実現すること
も可能である。
られるハードディスクなどの記憶手段でも良く、更に該
記憶手段にこのコンピュータプログラムを記録しておき
ネットワークを介してこのコンピュータプログラムを読
み込むことによって、本発明の記録媒体を実現すること
も可能である。
【0106】
【発明の効果】プロセッサエレメントに本発明の装置が
装備されたものと従来の装置が装備されたものを用い、
初期の全体の要素数を2980としそれを8309に増
大させたときに、負荷の均等化の処理を行うための処理
時間、通信量すなわち異なるプロセッサ間で共有される
1プロセッサあたりの節点数、ならびに分配された負荷
のバランス度を比較した結果を図28に示す。負荷のバ
ランス度は100×(各プロセッサの計算時間)/
((プロセッサの計算時間の最大値)・(プロセッサ台
数))で定義する。
装備されたものと従来の装置が装備されたものを用い、
初期の全体の要素数を2980としそれを8309に増
大させたときに、負荷の均等化の処理を行うための処理
時間、通信量すなわち異なるプロセッサ間で共有される
1プロセッサあたりの節点数、ならびに分配された負荷
のバランス度を比較した結果を図28に示す。負荷のバ
ランス度は100×(各プロセッサの計算時間)/
((プロセッサの計算時間の最大値)・(プロセッサ台
数))で定義する。
【0107】初期分割において2980の要素は3台の
プロセッサに994、994、993に分割されてお
り、その状態から適応的に格子を再構成することで、各
プロセッサの要素数は994、3668、3647に要
素数が変化したとする。また従来の装置の制御方法は、
993の要素数を持つ小領域をブロックとして採用し
た。またブロックを分割する方式はRecursive
Spectral Bisection法を採用し
た。
プロセッサに994、994、993に分割されてお
り、その状態から適応的に格子を再構成することで、各
プロセッサの要素数は994、3668、3647に要
素数が変化したとする。また従来の装置の制御方法は、
993の要素数を持つ小領域をブロックとして採用し
た。またブロックを分割する方式はRecursive
Spectral Bisection法を採用し
た。
【0108】図28より本発明によれば、ブロックを分
けることない。そのためブロックを分割するための計算
時間が短縮できる。そのため本発明による負荷分散の計
算時間は短縮していることが分かる。また、従来法に比
べ1プロセッサあたりの通信量が減少していることか
ら、アダプティブ有限要素法に必要な連立一次方程式の
求解に必要な通信量が少なくなっていることが分かる。
それは一つのプロセッサに不連続なブロックが割り当て
られていないためである。通信量が少なくなった結果、
通信時間が短くなり、連立一次方程式の求解に必要な計
算時間は短くなったと言える。さらに、図28からプロ
セッサ間の負荷バランスも、従来法に比べ高いことが分
かる。
けることない。そのためブロックを分割するための計算
時間が短縮できる。そのため本発明による負荷分散の計
算時間は短縮していることが分かる。また、従来法に比
べ1プロセッサあたりの通信量が減少していることか
ら、アダプティブ有限要素法に必要な連立一次方程式の
求解に必要な通信量が少なくなっていることが分かる。
それは一つのプロセッサに不連続なブロックが割り当て
られていないためである。通信量が少なくなった結果、
通信時間が短くなり、連立一次方程式の求解に必要な計
算時間は短くなったと言える。さらに、図28からプロ
セッサ間の負荷バランスも、従来法に比べ高いことが分
かる。
【0109】この結果から、本提案の動的負荷分散装
置、動的負荷分散方法を使うとアダプティブ有限要素法
が分散メモリ並列計算機上で従来法に比べ効果的に実装
できていることが示せた。
置、動的負荷分散方法を使うとアダプティブ有限要素法
が分散メモリ並列計算機上で従来法に比べ効果的に実装
できていることが示せた。
【0110】すなわち、本発明によれば、従来のように
ブロックにわけ、それを細分し負荷の均等化を行うので
はなく、要素の接続情報から負荷を均一にするための要
素移動量を計算し、その要素移動量から負荷の移動領域
を決定し、その後に実際に要素を移動させため、領域が
要素数の少ないブロックで細分化されることは避けるこ
とができる。通信は細分化されたブロックの境界で生じ
るため、分割を行った後で連立一次方程式を分散メモリ
並列計算機上でとくときに、本提案における動的負荷分
散装置、動的負荷分散方法は従来の方法と比較して、通
信時間を短縮することができる。さらに領域のブロック
化を行わないため、各々の要素の参照関係は保たれ、従
来法に比べ連立一次方程式の反復解法の収束性の悪化を
防ぐことができる。その結果従来の動的負荷分散装置、
方法を用いたときと比較して、連立一次方程式をとくた
めの計算時間は大幅に短縮することが可能である。さら
に従来法のように細分化されたブロックを分割する必要
はないので、ブロックを分割を計算する時間を短縮する
ことができる。そのため動的負荷分散に必要な計算時間
は本発明により大幅に短縮することが可能になる。
ブロックにわけ、それを細分し負荷の均等化を行うので
はなく、要素の接続情報から負荷を均一にするための要
素移動量を計算し、その要素移動量から負荷の移動領域
を決定し、その後に実際に要素を移動させため、領域が
要素数の少ないブロックで細分化されることは避けるこ
とができる。通信は細分化されたブロックの境界で生じ
るため、分割を行った後で連立一次方程式を分散メモリ
並列計算機上でとくときに、本提案における動的負荷分
散装置、動的負荷分散方法は従来の方法と比較して、通
信時間を短縮することができる。さらに領域のブロック
化を行わないため、各々の要素の参照関係は保たれ、従
来法に比べ連立一次方程式の反復解法の収束性の悪化を
防ぐことができる。その結果従来の動的負荷分散装置、
方法を用いたときと比較して、連立一次方程式をとくた
めの計算時間は大幅に短縮することが可能である。さら
に従来法のように細分化されたブロックを分割する必要
はないので、ブロックを分割を計算する時間を短縮する
ことができる。そのため動的負荷分散に必要な計算時間
は本発明により大幅に短縮することが可能になる。
【図1】本発明の一実施形態を示す装置の図である。
【図2】本発明の装置を制御する方法を示したフローチ
ャートである
ャートである
【図3】本発明のプロセッサ接続情報生成部104を制
御する方法を示したフローチャートである
御する方法を示したフローチャートである
【図4】本発明の連結性調査部101を制御する方法を
示したフローチャートである
示したフローチャートである
【図5】本発明の要素移動量決定部103を制御する方
法を示したフローチャートである
法を示したフローチャートである
【図6】本発明の要素移動箇所決定部102を制御する
方法を示したフローチャートである
方法を示したフローチャートである
【図7】本発明のデータ移動部105を制御する方法を
示したフローチャートである
示したフローチャートである
【図8】本発明のプロセッサ情報記憶部108の装置内
部を示す図である
部を示す図である
【図9】本発明の連結性調査部101の装置内部を示す
図である
図である
【図10】本発明の要素移動量決定部103の装置内部
を示す図である
を示す図である
【図11】本発明の要素移動箇所決定部102の装置内
部を示す図である
部を示す図である
【図12】本発明の要素接続記憶部106の装置内部を
示す図である
示す図である
【図13】本発明の要素通信先対応記憶部107の装置
内部を示す図である
内部を示す図である
【図14】本発明の要素移動先対応記憶部109の装置
内部を示す図である
内部を示す図である
【図15】元の要素グラフを示す図である
【図16】並列化された後の要素グラフを示す図である
【図17】非連結な要素集合を移動した後の要素グラフ
を示す図である
を示す図である
【図18】生成されたプロセッサグラフを示す図である
【図19】要素移動量移動先決定方法の計算途中を示す
図である
図である
【図20】要素移動量移動先決定方法の計算途中を示す
図である
図である
【図21】要素移動量移動先決定方法の計算途中を示す
図である
図である
【図22】要素移動量移動先決定方法の計算途中を示す
図である
図である
【図23】要素移動量移動先決定方法の計算結果を示す
図である
図である
【図24】移動箇所決定方法の計算結果を示す図である
【図25】移動箇所決定方法の計算結果を示す図である
【図26】従来法のサイクリック法を示すフローチャー
トである
トである
【図27】従来法のブロック法を示すフローチャートで
ある
ある
【図28】本発明の効果を示すための図表である
101 プロセッサエレメントは連結性調査部 103 要素移動量決定部 102 要素移動箇所決定部 104 プロセッサ接続情報生成部 105 データ移動部 106 要素接続記憶部 107 要素通信先対応記憶部 108 プロセッサ情報記憶部 109 要素移動先対応記憶部 110 制御部
Claims (12)
- 【請求項1】アダプティブ有限要素法を用いた並列計算
における動的負荷分散方法において、 プロセッサが持っている要素間の接続関係を示す要素グ
ラフから連結な要素集合を分類し、非連結な要素集合を
減らすように前記分類された要素集合を移動し、 移動後の要素接続グラフからプロセッサグラフを作成
し、作成されたプロセッサグラフに基づいて負荷均等化
のための要素移動数と移動先を決定し、 要素数の均等化のために移動させる要素集合を決定し、
要素の移動を行うことを特徴とする並列計算における動
的負荷分散方法。 - 【請求項2】前記非連結な要素集合を減らすように前記
分類された要素集合を移動するために、 前記分類された要素集合の中で要素数が最大のもの以外
の要素集合を、当該要素集合に隣接する要素を持つプロ
セッサの中で、要素数が最小のプロセッサに移動するこ
とを特徴とする請求項1に記載の並列計算における動的
負荷分散方法。 - 【請求項3】前記負荷均等化のための要素移動数と移動
先の決定は、 プロセッサが持っている要素数よりも多くの要素を他の
プロセッサに移動させる可能性のあるプロセッサは、自
分のプロセッサを介して要素を移動することをやめ、最
も要素の移動数が多いプロセッサに要素を最も多く供給
するプロセッサに隣接させ、当該処理を解が収束するま
で行なうことを特徴とする請求項1又は2に記載の並列
計算における動的負荷分散方法。 - 【請求項4】プロセッサの境界要素集合に属する要素か
ら順次移動させる要素とすることにより前記要素数の均
等化のために移動させる要素集合を決定することを特徴
とする請求項1、2又は3に記載の並列計算における動
的負荷分散方法。 - 【請求項5】アダプティブ有限要素法を用いた並列計算
における動的負荷分散装置において、 要素間の接続を表した要素グラフを記憶する要素接続記
憶部と、 通信が必要な要素と通信先のプロセッサとの対応を示し
た要素通信先対応表を記憶する要素通信先対応記憶部
と、 プロセッサ間の参照関係を記述したプロセッサグラフを
記憶するプロセッサ情報記憶部と、 移動する要素と当該要素の移動先プロセッサとの関係を
示した要素移動先対応表を記憶する要素移動先対応記憶
部と、 前記要素移動先対応表に基づき要素を移動するデータ移
動部と、 前記要素通信先対応表を用いて、前記要素グラフから連
結な要素集合を分類し、非連結な要素集合を減らすよう
に前記分類された要素集合を移動させための前記要素移
動先対応表を作成し、前記データ移動部を起動する連結
性調査部と、 前記分類された要素集合が移動された要素グラフからプ
ロセッサグラフを作成し、作成されたプロセッサグラフ
に基づいて負荷均等化のための要素移動数と移動先プロ
セッサを決定する要素移動量決定部と、 前記要素移動量決定部により決定された要素移動数と移
動先プロセッサに基づいて要素数の均等化のために移動
させる要素集合を決定し、前記要素移動先対応記憶部に
記憶し、前記データ移動部を起動する要素移動箇所決定
部と、を含むことを特徴とする並列計算における動的負
荷分散装置。 - 【請求項6】前記連結性調査部は、 前記要素通信先対応を用いて、前記要素グラフから連結
な要素集合を分類し、前記分類された要素集合の中で要
素数が最大のもの以外の要素集合を、当該要素集合に隣
接する要素を持つプロセッサの中で、要素数が最小のプ
ロセッサに移動するように前記要素移動先対応表を作成
することを特徴とする請求項5に記載の並列計算におけ
る動的負荷分散装置。 - 【請求項7】前記要素移動量決定部は、 プロセッサが持っている要素数よりも多くの要素を他の
プロセッサに移動させる可能性のあるプロセッサは、自
分のプロセッサを介して要素を移動することをやめ、最
も要素の移動数が多いプロセッサに要素を最も多く供給
するプロセッサに隣接する。そのような処理を解が収束
するまで行なうことにより、前記負荷均等化のための要
素移動数と移動先の決定することを特徴とする請求項6
又は7に記載の並列計算における動的負荷分散装置。 - 【請求項8】前記要素移動箇所決定部は、 前記要素移動量決定部により決定された要素移動数と移
動先プロセッサに基づいて、要素数の均等化のために移
動させる要素集合を、プロセッサの境界要素集合に属す
る要素から順次移動させる要素とすることにより決定
し、前記要素移動先対応記憶部に記憶すること特徴とす
る請求項5、6又は7に記載の並列計算における動的負
荷分散装置。 - 【請求項9】アダプティブ有限要素法を用いた並列計算
における動的負荷分散プログラムを記録したコンピュー
タ読みとり可能な記録媒体において、 プロセッサが持っている要素間の接続関係を示す要素グ
ラフから連結な要素集合を分類し、非連結な要素集合を
減らすように前記分類された要素集合を移動する第1の
ステップと、 移動後の要素接続グラフからプロセッサグラフを作成
し、作成されたプロセッサグラフに基づいて負荷均等化
のための要素移動数と移動先を決定する第2のステップ
と、 要素数の均等化のために移動させる要素集合を決定し、
要素の移動を行う第3のステップとを含む並列計算にお
ける動的負荷分散プログラムを記録したコンピュータ読
みとり可能な記録媒体。 - 【請求項10】前記第1のステップにて、前記分類され
た要素集合の中で要素数が最大のもの以外の要素集合
を、当該要素集合に隣接する要素を持つプロセッサの中
で、要素数が最小のプロセッサに移動することを特徴と
する請求項9に記載の並列計算における動的負荷分散プ
ログラムを記録したコンピュータ読みとり可能な記録媒
体。 - 【請求項11】前記第2のステップにて、 プロセッサが持っている要素数よりも多くの要素を他の
プロセッサに移動させる可能性のあるプロセッサは、自
分のプロセッサを介して要素を移動することをやめ、最
も要素の移動数が多いプロセッサに要素を最も多く供給
するプロセッサに隣接させ、当該処理を解が収束するま
で行なうことにより前記負荷均等化のための要素移動数
と移動先の決定を行うことを特徴とする請求項9又は1
0に記載の並列計算における動的負荷分散プログラムを
記録したコンピュータ読みとり可能な記録媒体。 - 【請求項12】前記第3のステップにて、 プロセッサの境界要素集合に属する要素から順次移動さ
せる要素とすることにより前記要素数の均等化のために
移動させる要素集合を決定することを特徴とする請求項
9、10又は11に記載の並列計算における動的負荷分
散プログラムを記録したコンピュータ読みとり可能な記
録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9153009A JP2973973B2 (ja) | 1997-05-27 | 1997-05-27 | 並列計算における動的負荷分散方法、動的負荷分散装置及び動的負荷分散プログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9153009A JP2973973B2 (ja) | 1997-05-27 | 1997-05-27 | 並列計算における動的負荷分散方法、動的負荷分散装置及び動的負荷分散プログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10334063A true JPH10334063A (ja) | 1998-12-18 |
JP2973973B2 JP2973973B2 (ja) | 1999-11-08 |
Family
ID=15552970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9153009A Expired - Fee Related JP2973973B2 (ja) | 1997-05-27 | 1997-05-27 | 並列計算における動的負荷分散方法、動的負荷分散装置及び動的負荷分散プログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2973973B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001117887A (ja) * | 1999-10-14 | 2001-04-27 | Nec Corp | 分散型アプリケーションサーバシステム,サービス方法および記録媒体 |
WO2004006116A1 (ja) * | 2002-07-08 | 2004-01-15 | Fujitsu Limited | 並列演算プログラム、並列演算システムおよび並列演算管理装置 |
JP2011028464A (ja) * | 2009-07-24 | 2011-02-10 | Hitachi Ltd | バッチ処理多重化方法 |
US9342478B2 (en) | 2009-02-13 | 2016-05-17 | Samsung Electronics Co., Ltd. | Processor with reconfigurable architecture including a token network simulating processing of processing elements |
-
1997
- 1997-05-27 JP JP9153009A patent/JP2973973B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001117887A (ja) * | 1999-10-14 | 2001-04-27 | Nec Corp | 分散型アプリケーションサーバシステム,サービス方法および記録媒体 |
WO2004006116A1 (ja) * | 2002-07-08 | 2004-01-15 | Fujitsu Limited | 並列演算プログラム、並列演算システムおよび並列演算管理装置 |
US9342478B2 (en) | 2009-02-13 | 2016-05-17 | Samsung Electronics Co., Ltd. | Processor with reconfigurable architecture including a token network simulating processing of processing elements |
JP2011028464A (ja) * | 2009-07-24 | 2011-02-10 | Hitachi Ltd | バッチ処理多重化方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2973973B2 (ja) | 1999-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112887437B (zh) | 区块链交易处理方法、区块链节点和区块链系统 | |
US5813005A (en) | Method and system of database divisional management for parallel database system | |
US7752628B2 (en) | Method and apparatus for reassigning objects to processing units | |
US6101495A (en) | Method of executing partition operations in a parallel database system | |
US7599910B1 (en) | Method and system of database divisional management for parallel database system | |
JP5304251B2 (ja) | 並列ソート装置、方法、およびプログラム | |
Walshaw et al. | A localized algorithm for optimizing unstructured mesh partitions | |
US20220147795A1 (en) | Neural network tiling method, prediction method, and related apparatus | |
KR102326586B1 (ko) | 큰 규모 분산 행렬 곱 처리 방법 및 그 장치 | |
KR102406540B1 (ko) | 새로운 태스크에 적응하며 지속 학습하기 위한 신경망 모델의 분할 및 재결합 학습 방법 | |
US11093862B2 (en) | Locality aware data loading for machine learning | |
CN112001491A (zh) | 针对处理器确定神经网络架构的搜索方法和装置 | |
CN116368494A (zh) | 一种神经网络编译优化方法和相关装置 | |
US20070043865A1 (en) | Method of assigning objects to processing units | |
US7647592B2 (en) | Methods and systems for assigning objects to processing units | |
JP2973973B2 (ja) | 並列計算における動的負荷分散方法、動的負荷分散装置及び動的負荷分散プログラムを記録した記録媒体 | |
CN112929400A (zh) | 一种分布式缓存库数据重均衡方法和系统 | |
CN115705497B (zh) | 一种量子计算机操作系统和量子计算机 | |
CN113407336B (zh) | 基于禁忌搜索优化算法的全比较数据分发方法 | |
CN112948087A (zh) | 一种基于拓扑排序的任务调度方法及系统 | |
US11184248B1 (en) | Network resource allocation using forecasted network traffic patterns selected utilizing network topology | |
Lavi et al. | The home model and competitive algorithms for load balancing in a computing cluster | |
US20230196129A1 (en) | Non-transitory computer-readable storage medium for storing data generation program, data generation method, and data generation device | |
CN111107003A (zh) | 一种智能路由方法 | |
CN115720195B (zh) | 一种虚拟网络重映射方法、装置及存储介质 |
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: 19990803 |
|
LAPS | Cancellation because of no payment of annual fees |