JP2880880B2 - データマッピング方法 - Google Patents

データマッピング方法

Info

Publication number
JP2880880B2
JP2880880B2 JP5203901A JP20390193A JP2880880B2 JP 2880880 B2 JP2880880 B2 JP 2880880B2 JP 5203901 A JP5203901 A JP 5203901A JP 20390193 A JP20390193 A JP 20390193A JP 2880880 B2 JP2880880 B2 JP 2880880B2
Authority
JP
Japan
Prior art keywords
coordinate
processor
physical
virtual
physical processor
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 - Lifetime
Application number
JP5203901A
Other languages
English (en)
Other versions
JPH0756870A (ja
Inventor
定雄 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP5203901A priority Critical patent/JP2880880B2/ja
Publication of JPH0756870A publication Critical patent/JPH0756870A/ja
Application granted granted Critical
Publication of JP2880880B2 publication Critical patent/JP2880880B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列計算機における仮
想プロセッサと物理プロセッサとの間のデータマッピン
グ方法に関する。
【0002】
【従来の技術】高速の処理装置を多数並べた分散メモリ
型超並列計算機を実現し、効率的に動作させることがで
きれば、科学技術計算において劇的な性能向上を期待で
きる。分散メモリ型並列計算機で最大性能を引き出すた
めには、計算を分割し、なおかつプロセッシングエレメ
ント(以下、PEと略記する)間の通信を最小化させる
必要がある。従って、プログラムの構造に適したデータ
のPEへの配置方法を選択することが重要である。
【0003】数値計算の分野では、Fortran言語
が広く使われており、特に並列計算機に対しては並列拡
張されたFortran言語が考えられている。図9
は、このような並列Fortranによるプログラム例
である。このプログラムは、長さ20の2つの1次元配
列A、Bを定義し、Aの要素を右に1つづつ循環シフト
してBに格納するものである。図中の行70にあるFO
RALL文は並列実行を意味し、配列Aの循環シフト
と、その結果の配列Bへの格納とが、要素ごとに並列に
実行される。並列プログラミングでは、図9で示した処
理やこれに類似した処理は度々現れ、基本的な処理パタ
ーンの一つである。
【0004】上記プログラムによる並列実行を具体化す
るために、長さ20の1次元の仮想プロセッサ配列V
(i) 、(i=0,1,…,19)を定義し、配列データ
A、Bを仮想プロセッサ配列にマッピングする。ここで
仮想プロセッサとは、プログラムの持つデータを通信距
離を導入して分割したとき、分割された各々のデータの
集合のことである。従って、同じ仮想プロセッサに属す
るデータの参照には通信を必要としないのでコストがか
からないが、異なる仮想プロセッサに属するデータの参
照には通信を必要とする可能性があるのでコストがかか
ると考える。今の場合、仮想プロセッサV(i) に、配列
データA(i) および配列データB(i) 、(i=0,1,
…,19)を対応させる。図9のプログラムでは、1次
元の仮想プロセッサがリング状に結合されている、すな
わち1次元トーラス結合されていると考えると都合がよ
い。
【0005】仮想プロセッサを物理プロセッサに割り当
てる方法として、従来からサイクリック分割法とブロッ
ク分割法が知られている。図10は、20個の1次元ト
ーラス結合された上記仮想プロセッサを、5個のPEか
らなる1次元物理プロセッサP'(0)〜P'(4)へサイクリ
ック分割する例である。この分割によって例えば物理プ
ロセッサP'(0)は、配列データA(0) 、A(5) 、A(1
0)、A(15)、および、B(0) 、B(5) 、B(10)、B(15)
を持つことになる。
【0006】図10において、物理プロセッサが実際に
1次元トーラス結合されている場合は問題ないが、物理
プロセッサP'(4)とP'(0)を結ぶ直接の結合が存在しな
い場合、P'(4)からP'(0)への通信は途中のP'(3)、
P'(2)、およびP'(1)を介して行うことになる。従っ
て、この場合にはPE間通信に時間がかかることにな
る。
【0007】ここに、図9で示した並列Fortran
プログラムはグローバルな名前空間を持つ。すなわち、
配列Aおよび配列Bが並列計算機全体に対して定義され
て、PE間の通信はデータ参照として表し、明示的な形
では記述しない。このプログラムを個々の物理プロセッ
サで実行するためには、物理プロセッサのローカルメモ
リ上のデータに対するプログラム、すなわちローカルな
名前空間を持つプログラムに変換しなければならない。
ローカル名前空間を持つプログラムでは他のPEとの通
信は送信関数send()および受信関数recv()
を使って明示的に表現する。
【0008】図9のプログラムを前記サイクリック分割
法によるデータマッピングに従ってプログラム変換する
と、図11のような物理PEが直接実行できるプログラ
ムになる。個々の物理PEに割り当てられた配列を、元
のグローバルな配列に対してローカルな配列という。図
11において、ローカル配列はa、bで表されている。
物理プロセッサP'(0)の場合、ローカル配列の要素a
[0] 、a[1] 、a[2] 、a[3] 、b[0] 、b[1] 、b
[2] 、b[3] には、各々グローバル配列の要素A(0) 、
A(5) 、A(10)、A(15)、B(0) 、B(5) 、B(10)、B
(15)が対応する。
【0009】図11のプログラムを実行させるために
は、プログラムを全ての物理PEにコピーし、同時に実
行を開始させる。各々の物理PEは、プログラムの実行
の先頭で図中の行71によってプロセッサ番号を取得し
て変数pに格納する。その後の処理はプロセッサ番号の
値によって少しずつ異なる。
【0010】例えば、図中の行72は、物理プロセッサ
P'(p)からP'(p+1)へのデータ送信であり、行73は、
物理プロセッサP'(p)のP'(p-1)からのデータ受信であ
る。この場合、物理プロセッサのメモリバンド幅が十分
高いか、またはプロセッサ内のレジスタに対して直接デ
ータの送受信を行うなら、データ送信とデータ受信を同
時に実行することが可能である。従って、前記行の72
のsend関数は送信の終了を待たずに制御を戻し、次
のデータ受信である行73のrecv関数の実行を開始
できる。以上により、前記送信および前記受信の実行時
間は、図8(a)におけるT´で示される。プロセッサ
間通信時間T´は可能な限り短くする必要があるが、こ
こで示した従来例では、これ以上短くすることはできな
い。
【0011】以上述べた従来例は1次元の場合である
が、多次元に拡張した場合も同様のことが言える。ま
た、科学技術計算、特に2次元領域や3次元領域上で偏
微分方程式を解く問題では周期境界条件がよく現れ、従
ってプロセッサ間通信が2次元または3次元のトーラス
接続に従って発生すると仮定すると都合がよい場合が多
い。あるいは、全要素の和を計算する等のグローバルな
演算を高速化するためにもトーラス接続は便利である。
【0012】従来からよく知れらた並列計算機として、
PEが物理的に2次元、または3次元の格子状に結合さ
れた並列計算機がある。そのような格子状に結合された
計算機は実装が容易であり、拡張性が高いという特徴が
ある。図12は、2次元格子結合された並列計算機の例
である。このような並列計算機の上にトーラス結合され
た仮想プロセッサを、従来のサイクリックマッピングや
ブロックマッピング方法でマッピングすると、直接PE
間の接続のないP'(0,0)とP'(0,3)との間の通信が発生
し、このような通信は通信経路上のP'(0,1)、P'(0,2)
を介して行うことになる。一般に、PE間通信はPE間
距離が大きい程時間がかかる。そして通信距離が長いと
その間の通信路を占有するため、他の通信を待たせる可
能性が高くなる。従って、すべてのPEが仮想的なトー
ラス接続に沿って一斉に隣接PEと通信を行おうとする
と、距離の長い通信経路によって通信性能が抑えられる
ことになる。
【0013】前記問題を解決するために、PE間を物理
的にトーラスネットワークで結合することが考えられ
る。この方法は、実行プログラムがトーラス結合された
プロセッサの全体を使う場合はよいが、通常この条件は
満足されない。その一つの例は、多数のPEから成る並
列計算機を空間的に分割し、分割された各々の並列計算
機をユーザに割り当てることによって、マルチユーザを
実現する場合である。図13は、2次元トーラス接続さ
れた並列計算機上で、ユーザAとユーザBに各々空間分
割された並列計算機131と並列計算機132を割り当
てた例を示している。この場合、ユーザAにおいてP'
(0,3)とP'(0,0)とが通信を行うためにトーラス接続を
利用するなら、通信メッセージは他のユーザBの領域を
通過することになる。これは通信距離が長いという問題
の他に、異なるユーザのメッセージが混じり合うため、
他ユーザの誤ったメッセージ通信によって自分の正しい
プログラムの動作が妨げられる可能性が生じる。また異
なるユーザのメッセージが混じりあって互いに影響しあ
うことはプログラムのデバックを困難なものにする。も
しP'(0,3)とP'(0,0)の通信を自分の領域内だけで行う
なら、状況は前記図12で述べた格子結合ネットワーク
の場合と同じであり、従来のマッピング方法では距離の
長い通信経路によって通信経路によって通信性能が劣化
する。
【0014】
【発明が解決しようとする課題】以上のように、従来の
データマッピング方法では、距離の長い通信経路が存在
するので、この通信経路によって通信性能が劣化すると
いう問題点があった。本発明は、上記問題点に鑑みてな
されたものであり、高速なプロセッシングエレメント間
通信を可能とするデータマッピング方法を提供すること
を目的とする。
【0015】
【課題を解決するための手段】本発明(請求項1)は、
N個の座標軸の座標値の組で番号付けられる複数個の物
理プロセッサ(ただし、各座標軸の座標値の要素数は3
以上)と、M個(ただし、M≧N)の座標軸の座標値の
組で番号づけられる複数個の仮想プロセッサとの間で、
前記仮想プロセッサの前記M個の座標軸の内のN個をそ
れぞれ前記物理プロセッサのN個の座標軸のいずれかと
一対一に対応付けることによって、前記仮想プロセッサ
の持つデータを前記物理プロセッサのメモリに割り当て
るデータマッピング方法であって、対応付ける前記仮想
プロセッサの座標軸と前記物理プロセッサの座標軸との
組すべてについて、前記仮想プロセッサの座標軸の座標
値の要素数が前記物理プロセッサの対応する座標軸の座
標値の要素数の2倍以上になるように設定し、前記仮想
プロセッサの座標軸の座標値vを前記物理プロセッサの
対応する座標軸の座標値pに対応させた場合、前記仮想
プロセッサの前記座標軸の座標値v+1を前記物理プロ
セッサの前記対応する座標軸の座標値p−1、p、また
はp+1に対応させるとともに、前記仮想プロセッサの
前記座標軸についてその座標値を最小のものから1づつ
増加させたとき、対応する前記物理プロセッサの前記座
標軸の座標値の作る数列が、単調増加する部分列と単調
減少する部分列とを交互に並べたものから構成され、か
つ、該数列に単調増加から単調減少へと切り替わる部分
が含まれる場合には該部分における最大値が該物理プロ
セッサの該座標軸の座標値の最大値に一致し、該数列に
単調減少から単調増加へと切り替わる部分が含まれる場
合には該部分における最小値が該物理プロセッサの該座
標軸の座標値の最小値に一致するものとなるように、対
応させることを特徴とする。本発明(請求項2)は、N
個の座標軸の座標値の組で番号付けられる複数個の物理
プロセッサ(ただし、各座標軸の座標値の要素数は3以
上)と、N個の座標軸の座標値の組で番号付けられる複
数個の仮想プロセッサとの間で、前記仮想プロセッサの
N個の座標軸をそれぞれ前記物理プロセッサのN個の座
標軸のいずれかと一対一に対応付けることによって、前
記仮想プロセッサの持つデータを前記物理プロセッサの
メモリに割り当てるデータマッピング方法であって、対
応付ける仮想プロセッサの座標軸と物理プロセッサの座
標軸との組すべてについて、仮想プロセッサの座標軸の
座標値の要素数が物理プロセッサの座標軸の座標値の要
素数の偶数倍になるように設定し、前記仮想プロセッサ
の各座標軸についてその座標値を最小のものから1づつ
増加させたとき、対応する前記物理プロセッサの座標軸
の座標値の作る数列が、該物理プロセッサの該座標軸の
座標値の最小値から最大値へ1づつ増加する部分列と最
大値から最小値へ1づつ減少する部分列とを交互に並べ
たものから構成されるように、前記仮想プロセッサの座
標値と前記物理プロセッサの座標値とを対応付けること
を特徴とする。
【0016】
【作用】本発明では、トーラス結合された仮想プロセッ
サV(v0 ,v1 ,…,vM-1 )を折り畳むようにトーラス結
合されていない物理プロセッサP(p0 ,p1 ,…,pN-1
に割当てることによって、互いに隣接したすべての(あ
るいはv0 ,vM-1 間を除くすべての)仮想プロセッサ
を互いに隣接した物理プロセッサまたは同一の物理プロ
セッサに割当てることができる。
【0017】それゆえ、本発明のデータマッピング方法
によって、従来のデータマッピング方法を適用した場合
に存在していた両端の物理プロセッサ間の接続がなくな
り(あるいは高々1つとなり)、また、循環シフト通信
で右方向の通信と左方向の通信を同時に実行できるの
で、PE間通信の高速化を図ることができる。
【0018】また、本発明によって隣接した物理プロセ
ッサ間でのみ通信を行うようにすれば、並列計算機を空
間的に分割し、分割された並列計算機の各々を異なるユ
ーザに割当てたとき、各ユーザは他のユーザとは分離し
た独立なトーラスネットワークを実現できる。
【0019】さらに、本発明のデータマッピング方法に
従って、仮想プロセッサに対応してデータを分割された
クローバル名前空間のプログラムを、個々の物理プロセ
ッサが実行できるローカルな名前空間を持つプログラム
に変換したとき、従来のブロック分割やサイクリック分
割の場合にはない新しいプログラム最適化の機会が得ら
れ、PE間通信のさらなる高速化が可能になる。
【0020】
【実施例】以下、図面を参照しながら、本発明の一実施
例について説明する。図1は、本発明に係る物理PE1
の構成図である。図1に示すように、この物理プロセッ
サ1は、メモリ2、中央演算処理部(以下、CPUと略
記する)4、および他の物理PEと通信を行うために2
つの通信ポートA、Bを備える。
【0021】通信ポートAは、入力ポート11と出力ポ
ート12とから成り、同様に通信ポートBは入力ポート
21と出力ポート22とから成る。この物理PE1の内
部で、これら入力ポート11、21および出力ポート1
2,22はそれぞれ、レジスタまたは高速なメモリ1
3,23,14,24に接続されている。従って、本実
施例のPEは、4つの入力/出力ポート11,12,1
3,14を同時に動作させてデータ転送を行うことが可
能である。
【0022】図2は、前記物理PE1を1次元結合した
並列計算機の構成図である。すなわち、本発明の実施例
では、図1の物理PE1を図2に示すように1次元状に
接続する。1つの物理PEの通信ポートAの入力ポート
11および出力ポート22は、隣接する物理PEの通信
ポートBの出力ポート22および入力ポート21とそれ
ぞれ接続される。図に示されている通り本実施例では、
両端に位置するプロセッシングエレメントP(0) とP
(4) とを直接的には接続しない。従って、図1の物理P
E1を用いて構成した1次元並列計算機を複数結合して
より大きな1次元並列計算機に拡張することが容易であ
る。
【0023】次に、図3には、本発明のデータマッピン
グ方法に従って、20個のトーラス結合された(ループ
状に結合された)1次元仮想プロセッサを、5個の物理
PEからなる1次元物理プロセッサへ割り当てた例を示
す。
【0024】図3のように、まず、仮想プロセッサV
(0) を物理プロセッサP(0) に割り当てる。次に、仮想
プロセッサV(0) に隣接するV(1) を物理プロセッサP
(0) 隣接するP(1) に割り当てる。同様に、V(2) 〜V
(4) を、それぞれP(2) 〜P(4) に割り当てる。ここ
で、本発明では次の5つの仮想プロセッサV(5) 〜V
(9)を、折り畳むようにしてそれぞれ上記物理プロセッ
サP(4) 〜P(0) に割り当てる。同様に、V(10)〜V(1
4)をそれぞれP(0) 〜P(4) に、V(15)〜V(19)をそれ
ぞれP(4) 〜P(0) に割り当てる。
【0025】これによって、互いに隣接する仮想プロセ
ッサを、すべて互いに隣接する物理プロセッサまたは同
一の物理プロセッサに割り当てることができる。この場
合、隣接する仮想プロセッサ間の通信はすべて、たかだ
か隣接する物理プロセッサ間の通信のみによって実行さ
れる。
【0026】また、本実施例のデータマッピング方法に
よって、例えば物理プロセッサP(0) のローカル配列の
要素a[0] 、a[1] 、a[2] 、a[3] 、b[0] 、b[1]
、b[2] 、b[3] には、グローバル配列の要素A(0)
、A(10)、A(9) 、A(19)、B(0) 、B(10)、B(9)
、B(19)を対応させる。他の物理プロセッサのローカ
ル配列もまた同様にグローバル配列の異なる部分が対応
する。
【0027】図4は、図3のマッピングに対応して、前
述した図9の並列Fortranによるプログラムを物
理PEのプログラムに変換してものである。図9のプロ
グラムを実行するためには、予め図4のプログラムを図
2の全てのPEのメモリにコピーし、全物理PEで同時
に前記プログラムを動作させる。
【0028】まず、各物理PEはプログラムの実行の先
頭で図4の行31によって自分のプロセッサ番号を取得
して変数pに格納する。その後の処理はプロセッサ番号
の値によって少しずつ異なる。
【0029】通信の最も多いP(1) 〜P(3) の場合につ
いて説明すると、図中の行32は、物理プロセッサP
(p) からP(p+1) へのデータ送信であり、行33はP
(p) からP(p+1) へのデータ送信である。これら2つの
送信はそれぞれ、相手PEが自分の左側のPEおよび右
側のPEである。従って、必要とする通信ポートが異な
るため、図1で述べたPEによって、前記2つの送信を
同時に実行することが可能である。図中の行34はP
(p) のP(p+1) からのデータ受信であり、行35はP
(p) からP(p-1) からのデータ受信である。これら2つ
のデータ受信も同じ理由により同時に実行することが可
能である。
【0030】さらに、図1で述べた本発明のPEでは、
PE間の結合が全2重であるので、送信と受信とを同時
に実行可能であり、行32〜35に示される通信は、す
べて同時に実行可能である。
【0031】また、本実施例による送信データおよび受
信データのサイズは、従来例である図11の場合の半分
になる。従来例である図11のプログラムの行72,7
3に示されている通り、従来方法では長さ4のデータを
右側のPEに送信し、長さ4のデータを左側のPEから
受信する必要があった。一方、本発明の実施例に対応す
る図4のプログラムでは、図中の行32〜35に示され
ている通り、送信すべきデータのサイズは上記従来例の
半分の2で良いが、その代わり右側のPEと左側のPE
に送信し、また長さ2のデータを右側のPEと左側のP
Eから受信する必要がある。しかしながら既に述べたよ
うに本発明の実施例では、右側への送信と左側への送信
は同時に実行可能であり、右側からの受信と左側からの
受信も同時に実行可能なのである。
【0032】図5は、図4のプログラムの動作を表すフ
ローチャートである。図4における行32〜35に示さ
れる通信はそれぞれ、図5におけるステップ47〜50
に対応する。図5において、まずステップ47で示され
る左側PEへの送信を実行する。そして、ステップ47
の実行終了を待たずに制御を戻し、ステップ48で示さ
れる右側のPEへの送信を実行する。同様に、ステップ
48の実行終了を待たずにステップ49で示される左側
PEからの受信を実行し、ステップ49の実行終了を待
たずに、ステップ50で示される右側のPEからの受信
を実行する。従って、ステップ47〜50の各通信は、
実行時間が重なることになる。
【0033】図8(b)は、図5におけるステップ47
〜50の通信の実行時間を示したものである。これら
は、実行時間が重なってほぼ並列に動作し、全体の通信
時間がTとなる。
【0034】本実施例では転送すべきデータサイズが従
来例の半分になるが、そのかわりデータは左のPEと右
のPEの両方に転送しなければならない。しかし、左の
PEへの転送と右のPEへの転送とは同時に実行可能で
ある。従って、全体として従来よりも転送時間を短くで
きるのである。
【0035】以上により、本実施例によるデータ通信時
間Tは、従来例によるデータ転送時間T´のほぼ半分に
なる。なお、図4および図5において、P(0) およびP
(4) における処理内容および動作の流れは、以上の説明
によって当業者であれば容易に理解できるので、詳細な
説明は省略した。
【0036】ここに、上述した本発明の実施例では、2
0個の仮想プロセッサを5個の物理プロセッサにマッピ
ングするものであったので、マッピングは図3のように
規則的なもので実現できた。しかしながら、本発明は様
々な仮想プロセッサ数と物理プロセッサ数とに対して適
用可能である。例えば、17個のトーラス結合された仮
想プロセッサを8個のトーラス結合されてない物理プロ
セッサにマッピングする場合にも本発明は適用可能であ
る。この場合のマッピングの一例を図6に示す。この例
でも隣接する仮想プロセッサは、隣接する物理プロセッ
サまたは同一の物理プロセッサにマッピングされてい
る。
【0037】以上述べた本発明の実施例は1次元プロセ
ッサの場合であったが、本発明は1次元に限定されるも
のではなく、多次元のプロセッサ配列にも適応できる。
図7は2次元の仮想プロセッサのトーラスネットワーク
を物理プロセッサの2次元の格子ネットワークにマッピ
ングする例である。例えば、仮想プロセッサV(0,0),
V(0,5) ,V(5,0) ,V(5,5) は、物理プロセッサP
(0,0) に割り当てられ、仮想プロセッサV(1,2) ,V
(1,3) ,V(4,2) ,V(4,3) は、物理プロセッサP(1,
2) に割り当てられる。図7のように、ここでも隣接す
る仮想プロセッサは、隣接する物理プロセッサまたは同
一の物理プロセッサにマッピングされている。すなわ
ち、本発明の実施によって2次元のトーラス結合された
仮想プロセッサがトーラスではない2次元格子結合され
た物理プロセッサにマッピングされた。また、同じ方法
は3次元トーラスに対しても適用できる。
【0038】このように、本発明によれば多次元トーラ
ス結合された仮想プロセッサ配列を、トーラス結合され
てない多次元格子結合された物理プロセッサ配列上に、
隣接性を保ったマッピングが可能になる。従って本発明
によって、格子ネットワークにも関わらずトーラス結合
を想定したPE間通信が高速に実行できる。
【0039】ここに、格子ネットワークは分割と拡張が
容易であり、この格子ネットワークの中の任意の部分格
子に仮想プロセッサのトーラスネットワークをマッピン
グできることは大きな利点である。
【0040】さらに、例えば、物理プロセッサを空間的
に分割して、複数のユーザに割り当てるとき、他のユー
ザの領域に影響を与えずに、自分の領域である部分格子
上にトーラスネットワークを構築できる。従って、デー
タ通信におけるユーザ間の分離が可能になり、信頼性の
高いプログラミングとプログラム実行環境を実現するこ
とができる。
【0041】また、本発明によって並列プログラミング
においてよく現れる基本的な通信パターンにおいて、P
E間データ転送時間を従来よりも高速化することが可能
になる。
【0042】
【発明の効果】本発明によれば、トーラス結合された仮
想プロセッサ配列を、トーラス結合されていない物理プ
ロセッサ配列上に、隣接性を保ってマッピングすること
が可能になる。
【0043】従って、本発明によって、格子ネットワー
クにも関わらずトーラス結合を想定したPE間通信が高
速に実行できる。また、本発明によって、並列プログラ
ミング中によく現れる基本的な通信パターンにおいて、
PE間データ転送時間を従来よりも高速化することが可
能になる。また、本発明は上述した各実施例に限定され
るものではなく、その要旨を逸脱しない範囲で、種々変
形して実施することができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係る物理プロセッシングエ
レメントの構成図
【図2】本発明の一実施例に係る並列計算機の構成図
【図3】本発明の一実施例に係るデータマッピング方法
を示す図
【図4】図3のデータマッピングに対応する物理プロセ
ッシングエレメントのプログラム
【図5】図4のプログラムのフローチャート
【図6】本発明を適用して17個の仮想プロセッサを8
個の物理プロセッサにマッピングする方法を説明するた
めの図
【図7】本発明の2次元トーラス結合された仮想プロセ
ッサに対する適用を説明するための図
【図8】本発明の一実施例および従来例におけるデータ
転送時間を比較するための図
【図9】並列Fortranのプログラムの一例
【図10】従来例のデータマッピング方法の一例を示す
【図11】図10の従来例に対応して図9のプログラム
から導かれた物理PEのプログラム
【図12】従来の単純な格子結合ネットワークを持つ並
列計算機の一例を示す図
【図13】従来の2次元トーラスネットワークを空間分
割してマルチユーザを実現する一例を示す図
【符号の説明】
1…物理プロセッサ 2…メモリ 4…中央演算処理部 11,21…入力ポート 12,22…出力ポート 13,14,23,24…レジスタまたは高速なメモリ P(0) 〜P(4) …物理プロセッサ V(0) 〜V(19)…仮想プロセッサ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−139759(JP,A) H.Y.CHANG,S.UTKU, M.SALAMA and D.RAP P,”A parallel Hous eholder tridiagona lization stratagem using scattered s quare decompositio n”,PARALLEL COMPUT ING, VOL.6,NO.3,p. 297−311(1988) (58)調査した分野(Int.Cl.6,DB名) G06F 15/16 - 15/177 JICSTファイル(JOIS)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】N個の座標軸の座標値の組で番号付けられ
    る複数個の物理プロセッサ(ただし、各座標軸の座標値
    の要素数は3以上)と、M個(ただし、M≧N)の座標
    軸の座標値の組で番号づけられる複数個の仮想プロセッ
    サとの間で、前記仮想プロセッサの前記M個の座標軸の
    内のN個をそれぞれ前記物理プロセッサのN個の座標軸
    のいずれかと一対一に対応付けることによって、前記仮
    想プロセッサの持つデータを前記物理プロセッサのメモ
    リに割り当てるデータマッピング方法であって、 対応付ける前記仮想プロセッサの座標軸と前記物理プロ
    セッサの座標軸との組すべてについて、 前記仮想プロセッサの座標軸の座標値の要素数が前記物
    理プロセッサの対応する座標軸の座標値の要素数の2倍
    以上になるように設定し、 前記仮想プロセッサの座標軸の座標値vを前記物理プロ
    セッサの対応する座標軸の座標値pに対応させた場合、
    前記仮想プロセッサの前記座標軸の座標値v+1を前記
    物理プロセッサの前記対応する座標軸の座標値p−1、
    p、またはp+1に対応させるとともに、 前記仮想プロセッサの前記座標軸についてその座標値を
    最小のものから1づつ増加させたとき、対応する前記物
    理プロセッサの前記座標軸の座標値の作る数列が、単調
    増加する部分列と単調減少する部分列とを交互に並べた
    ものから構成され、かつ、該数列に単調増加から単調減
    少へと切り替わる部分が含まれる場合には該部分におけ
    る最大値が該物理プロセッサの該座標軸の座標値の最大
    値に一致し、該数列に単調減少から単調増加へと切り替
    わる部分が含まれる場合には該部分における最小値が該
    物理プロセッサの該座標軸の座標値の最小値に一致する
    ものとなるように、対応させることを特徴とするデータ
    マッピング方法。
  2. 【請求項2】N個の座標軸の座標値の組で番号付けられ
    る複数個の物理プロセッサ(ただし、各座標軸の座標値
    の要素数は3以上)と、N個の座標軸の座標値の組で番
    号付けられる複数個の仮想プロセッサとの間で、前記仮
    想プロセッサのN個の座標軸をそれぞれ前記物理プロセ
    ッサのN個の座標軸のいずれかと一対一に対応付けるこ
    とによって、前記仮想プロセッサの持つデータを前記物
    理プロセッサのメモリに割り当てるデータマッピング方
    法であって、 対応付ける仮想プロセッサの座標軸と物理プロセッサの
    座標軸との組すべてについて、 仮想プロセッサの座標軸の座標値の要素数が物理プロセ
    ッサの座標軸の座標値の要素数の偶数倍になるように設
    定し、 前記仮想プロセッサの各座標軸についてその座標値を
    小のものから1づつ増加させたとき、対応する前記物理
    プロセッサの座標軸の座標値の作る数列が、該物理プロ
    セッサの該座標軸の座標値の最小値から最大値へ1づつ
    増加する部分列と最大値から最小値へ1づつ減少する部
    分列とを交互に並べたものから構成されるように、前記
    仮想プロセッサの座標値と前記物理プロセッサの座標値
    とを対応付けることを特徴とするデータマッピング方
    法。
JP5203901A 1993-08-18 1993-08-18 データマッピング方法 Expired - Lifetime JP2880880B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5203901A JP2880880B2 (ja) 1993-08-18 1993-08-18 データマッピング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5203901A JP2880880B2 (ja) 1993-08-18 1993-08-18 データマッピング方法

Publications (2)

Publication Number Publication Date
JPH0756870A JPH0756870A (ja) 1995-03-03
JP2880880B2 true JP2880880B2 (ja) 1999-04-12

Family

ID=16481591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5203901A Expired - Lifetime JP2880880B2 (ja) 1993-08-18 1993-08-18 データマッピング方法

Country Status (1)

Country Link
JP (1) JP2880880B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130191437A1 (en) * 2010-10-01 2013-07-25 Hitachi, Ltd. Distributed processing system and method of node distribution in distributed processing system
JP6191401B2 (ja) * 2013-11-01 2017-09-06 富士通株式会社 並列計算機システム、制御装置、並列計算機システムの制御方法及び制御装置の制御プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
H.Y.CHANG,S.UTKU,M.SALAMA and D.RAPP,"A parallel Householder tridiagonalization stratagem using scattered square decomposition",PARALLEL COMPUTING, VOL.6,NO.3,p.297−311(1988)

Also Published As

Publication number Publication date
JPH0756870A (ja) 1995-03-03

Similar Documents

Publication Publication Date Title
US5247694A (en) System and method for generating communications arrangements for routing data in a massively parallel processing system
US7730121B2 (en) Parallel processing systems and method
JP3003418B2 (ja) プロセッサ間データ通信方法
US11003604B2 (en) Procedures for improving efficiency of an interconnect fabric on a system on chip
US5058001A (en) Two-dimensional array of processing elements for emulating a multi-dimensional network
US5944779A (en) Cluster of workstations for solving compute-intensive applications by exchanging interim computation results using a two phase communication protocol
EP0460599B1 (en) Massively parallel processor including queue-based message delivery system
US5689722A (en) Multipipeline multiprocessor system
US5446915A (en) Parallel processing system virtual connection method and apparatus with protection and flow control
US5583990A (en) System for allocating messages between virtual channels to avoid deadlock and to optimize the amount of message traffic on each type of virtual channel
Lim et al. Efficient algorithms for block-cyclic redistribution of arrays
EP0456201A2 (en) Massively parallel processor including slice-wise communications arrangement
JP2512272B2 (ja) マルチプロセッサ・コンピュ―タ・システムおよびそのデ―タ割振り方法
JP2880880B2 (ja) データマッピング方法
JPH11110362A (ja) 計算機間データ通信方法
JPH07271744A (ja) 並列計算機
US7086045B2 (en) Heuristic to improve register allocation using pass degree
JPS62212763A (ja) 計算機ネツトワ−クにおけるジヨブ実行方式
JP3653841B2 (ja) 問題領域分割・割り当て方法
Sarbazi-Azad et al. A parallel algorithm for Lagrange interpolation on the star graph
JP3641837B2 (ja) 分散メモリ型並列計算機のデータ転送方法
JPH07114515A (ja) 同期通信用ネットワークを有する分散メモリ計算機
Vandewalle et al. The numerical solution of elliptic partial differential equations on a hypercube multiprocessor
Heck Running FORTRAN Programmes in an OCCAM Environment
Richardson Evaluation of a parallel Chaos router simulator

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090129

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090129

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100129

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100129

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110129

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120129

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130129

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20140129

Year of fee payment: 15

EXPY Cancellation because of completion of term