JP3371793B2 - データ転送スケジュリング方式 - Google Patents
データ転送スケジュリング方式Info
- Publication number
- JP3371793B2 JP3371793B2 JP04347998A JP4347998A JP3371793B2 JP 3371793 B2 JP3371793 B2 JP 3371793B2 JP 04347998 A JP04347998 A JP 04347998A JP 4347998 A JP4347998 A JP 4347998A JP 3371793 B2 JP3371793 B2 JP 3371793B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- data transfer
- data
- range
- digit
- 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
- Complex Calculations (AREA)
Description
し、特に分散メモリ型マルチプロセッサシステム上のデ
ータ転送におけるデータ転送回数を削減するデータ転送
スケジュリング方式に関する。 【0002】 【従来の技術】従来の分散メモリ型マルチプロセッサシ
ステムにおいて、配列が特定の次元で分割されて、各プ
ロセッサ上に分散配置されているような状況で、分割次
元の変更または各分割サイズの変更を行う場合は、各プ
ロセッサが他の全てのプロセッサ各々と互いに通信し合
うという方法が良く行われていた。この場合、プロセッ
サ数がnに対し通信するステップ数のオーダーはn回とな
る。データ転送量のオーダーは、配列サイズMに対してM
/nとなる。 【0003】例えば、特開平3−98152の「ブロー
ドキャスト・バリアによるデータ通信方式」では、1つ
のプロセッサから、他の全てのプロセッサへのブロード
キャスト転送の際に、各プロセッサの終了信号を全プロ
セッサで待ち合わせ、また各プロセッサのデータを全プ
ロセッサで共有する場合、通信するステップ数を減らす
ためにバタフライ方式のスケジュリングによりデータ転
送を行う例である。この場合、プロセッサ数がnに対す
るステップ数のオーダーは、log2nである。 【0004】 【発明が解決しようとする課題】上述した従来の第1番
目の技術の場合、各プロセッサが他の全てのプロセッサ
各々と互いに通信し合うので、プロセッサ数が増加する
のに比例し起動時間がかかり、分散メモリ型マルチプロ
セッサシステムにおけるデータ転送ではデータ転送の性
能が劣化するという欠点を有している。 【0005】また、上述した従来の第2番目の技術の場
合、1つのプロセッサが持つ単一のデータを、そのプロ
セッサを起点として全てのプロセッサに送信するデータ
転送方式は、各プロセッサが、他の全プロセッサとそれ
ぞれ異なるデータを送受信しなければならない場合には
適用できない、という欠点を有している。 【0006】本発明は、上記の点に鑑み、分散メモリ型
マルチプロセッサシステム上のデータ転送において、デ
ータ転送回数を削減し実行時間の短縮を図るデータ転送
スケジュリング方式を提供することにある。 【0007】 【課題を解決するための手段】第1の発明のデータ転送
スケジュリング方式は、分散メモリ型マルチプロセッサ
システム上で、N台のプロセッサの各々が、他のN-1台の
プロセッサに対して送信及び受信しなければならないデ
ータを持つようなデータ転送パタンのデータ転送におい
て、各プロセッサが他のm(但し、mはN=2mを満た
す整数とする)台のプロセッサと通信を行うときに、各
通信ステップi (i=0,1,2,...,m-1とする)において、送
信元プロセッサのプロセッサ識別子を2進表示した値の
左端の桁を1桁目として左端からi+1桁目のビットを反
転した値をプロセッサ識別子とするプロセッサを転送相
手プロセッサとし、通信するプロセッサの順序をスケジ
ュリングするスケジュリング手段と、前記スケジュリン
グ手段により算出されたスケジュリングにより行わなけ
ればならない送信及び受信データのプロセッサ間の授受
を達成するために、各通信ステップi(i=0,1,2,...,m-1
とする)において、プロセッサ識別子Kのプロセッサ
(プロセッサK)の転送相手プロセッサのプロセッサ識
別子をLとしたとき、Kを2進表示した時に上からi桁目
までのビットを全て0にした数をp、Lを2進表示した時
に上からi+1桁目より下のビットを全て0にした数をqと
し、データ転送前にプロセッサp+(j-1)2 m−i (j=1,2,
3,...,2 i とする)が所有しているデータの範囲の集合
と、データ転送後にプロセッサq+j (j=0,1,...,2
m−i−1 -1とする)が所有しているデータの範囲の集
合との積を、プロセッサKの送信範囲とし、Lを2進表
示した時に上からi桁目までのビットを全て0にした数を
r、Kを2進表示した時に上からi+1桁目より下のビット
を全て0にした数をsとし、データ転送前にプロセッサr+
(j-1)2 m−i (j=1,2,3,...,2 i とする)が所有してい
るデータの範囲の集合と、データ転送後にプロセッサs+
j (j=0,1,...,2 m−i−1 -1とする)が所有しているデ
ータの範囲の集合との積を、プロセッサKの受信範囲と
するデータ転送の範囲を算出するデータ転送範囲解析手
段と、前記スケジュリング手段と前記データ転送範囲解
析手段との算出結果に基づき、各通信ステップにおい
て、各プロセッサはスケジュリングされたデータ転送相
手に対して、算出されたデータ転送範囲情報の示すデー
タの送受信を行うデータ転送手段と、を備えて構成され
ている。 【0008】 【0009】 【0010】 【0011】 【0012】 【0013】 【発明の実施の形態】次に、本発明の一つの実施の形態
について図面を参照して説明する。 【0014】図1は本発明の実施の形態を示すブロック
図である。図1を参照すると、データ転送スケジュリン
グ方式1は、スケジュリング手段11と、データ転送範
囲解析手段12と、データ転送手段13とから構成され
ている。 【0015】スケジュリング手段11は、データ転送す
る各通信ステップにおいて、どのプロセッサとどのプロ
セッサがどの順序で通信するかをスケジュリングする。
データ転送範囲解析手段12は、前記スケジュリング手
段11によりスケジュリングされた各プロセッサの対に
対して、データのどの範囲を送受信するかを算出する。
データ転送手段13は、前記スケジュリング手段11と
前記データ転送範囲解析手段12の解析結果に基づき実
際にデータ転送を行う。 【0016】図2は本実施の形態における動作の一例を
示す流れ図である。同図を参照して本実施の形態の動作
を説明する。データ転送時の動作は、N台のプロセッサ
の各々が、他のN-1台のプロセッサに対して送信及び受
信しなければならないデータを持つようなデータ転送パ
タンのデータ転送において、各プロセッサが他のm(但
し、mはN=2 m を満たす整数とする)台のプロセッサ
と行うデータ転送を、(言い換えれば、1組のプロセッ
サ対で行う転送を1通信ステップとするとき、各プロセ
ッサがlogN(底は2)通信ステップで行うデータ転送
を、)以下のステップ201〜203の処理で行う。 【0017】ステップ201は、スケジュリング手段1
1により、各通信ステップにおいてどのプロセッサとど
のプロセッサが通信を行うかをスケジュリングする。以
下にスケジュリングを説明する。 【0018】プロセッサ数をNとし、2mに等しいとする
(すなわち、N=8のとき変数mは3となり通信ステッ
プ数は3回となる)。また、各プロセッサは、0からN-1
までの範囲の自然数と、一対一に対応付けられていると
し、これをプロセッサ識別子と呼ぶ。このとき、通信ス
テップi (i=0,1,2,...,m-1とする)において、送信元の
プロセッサ識別子をKとすると、転送相手のプロセッサ
識別子は、Kを2進表示した時に左端の桁を1桁目とす
ると、左端からi+1桁目のビットを反転した値を転送相
手のプロセッサ識別子とする(すなわち、通信ステップ
0のプロセッサ5の転送相手は、5の2進数は101で
あるから、101の左端の1を0に反転すると001と
なり転送相手の識別子はプロセッサ1となる)。各通信
ステップごとにスケジュリングし得られたスケジュリン
グ情報をステップ202に渡す。 【0019】ステップ202は、データ転送範囲解析手
段12では、決定されたスケジュリング情報から各通信
ステップにおいて、各プロセッサがデータ転送相手のプ
ロセッサに対して送信するデータの範囲、及びデータ転
送相手のプロセッサから受信するデータの範囲を算出す
る。以下に算出方法を説明する。 【0020】通信ステップi(i=0,1,2,...,m-1とする)に
おいて、プロセッサKの転送相手のプロセッサのプロセ
ッサ識別子をLとする。また、プロセッサKの送信範囲
は、Kを2進表示した時に、上から、i桁目までのビット
を全て0にした数をp、Lを2進表示した時に、上からi+1
桁目より下のビットを全て0にした数をqとする。 【0021】プロセッサKの送信範囲は、データ転送前
に、プロセッサp+(j-1)2m-i(j=1,2,3,...,2iとする)が
所有しているデータの範囲の集合と、データ転送後にプ
ロセッサq+j (j=0,1,...,2m-i-1-1とする)が所有して
いるデータの範囲の集合の積となる。 【0022】また、プロセッサKの受信範囲は、Lを2
進表示した時に、上からi桁目までのビットを全て0にし
た数をrとし、Kを2進表示した時に、上からi+1桁目よ
り下のビットを全て0にした数をsとすると、データ転送
前に、プロセッサr+(j-1)2m-i (j=1,2,3,...,2i とす
る)が所有しているデータの範囲の集合と、データ転送
後に、プロセッサs+j (j=0,1,...,2m-i-1-1とする)が
所有しているデータの範囲の集合の積となる。 【0023】スケジュリング手段11により得られたス
ケジュリング情報とデータ転送範囲解析手段12とから
得られたデータ転送範囲情報はステップ203に通知す
る。 【0024】ステップ203は、データ転送手段13に
より、各プロセッサは各通信ステップにおいてスケジュ
リングされたデータ転送相手に対して、算出されたデー
タ転送範囲情報の示すデータの送受信を行う。 【0025】 【実施例】図3は、N台のプロセッサの各々が、他のN-1
台のプロセッサに対して送信及び受信しなければならな
いデータを持つようなデータ転送パタンのデータ転送で
ある、本実施の形態の一例として、転送対象となる2次
元配列データAのプロセッサへの分割次元が、転送前と
転送後とで移動するようなデータ転送パタンを示す図で
ある。図4は、本実施の形態で各通信ステップにおける
データ転送を行うプロセッサの対の一実施例を示す図で
ある。本発明の実施例について、図3と図4を参照して
詳細に説明する。 【0026】図3は、データ転送されるデータの例であ
り、2次元配列A(0:7,0:7)が、1次元目で分割されて8台
のプロセッサに分散配置されている。即ち、A(0,0:7)が
プロセッサ0に、A(1,0:7)がプロセッサ1に、A(2,0:7)が
プロセッサ2に、A(3,0:7)がプロセッサ3に、A(4,0:7)が
プロセッサ4に、A(5,0:7)がプロセッサ5に、A(6,0:7)が
プロセッサ6に、A(7,0:7)がプロセッサ7に、それぞれ配
置されている。 【0027】この配列Aを、データ転送を行うことによ
り、2次元目で分割して8台のプロセッサに分散配置す
る。即ち、A(0:7,0)がプロセッサ0に、A(0:7,1)がプロ
セッサ1に、A(0:7,2)がプロセッサ2に、A(0:7,3)がプロ
セッサ3に、A(0:7,4)がプロセッサ4に、A(0:7,5)がプロ
セッサ5に、A(0:7,6)がプロセッサ6に、A(0:7,7)がプロ
セッサ7に、それぞれ配置されるようにデータ転送を行
う。 【0028】次に、図2の処理フローに基づき、図3、図
4を参照して、実施例の動作について詳細に説明する。 【0029】スケジュリング手段11は、各プロセッサ
の各通信ステップにおける転送相手を決定する(ステッ
プ201)。 【0030】例えば、プロセッサ識別子5の転送相手の
プロセッサは、5の二進表示が101であるから、通信
ステップ0では、i+1のiは0だから1桁目の反転を
示すので101の左端の1桁目の1を反転するので00
1となりプロセッサ001(つまりプロセッサ1)とな
る。 【0031】通信ステップ1では、プロセッサ識別子5
の転送相手のプロセッサは、同様にi+1のiは1だか
ら2桁目の反転を示すので101の左端から2桁目の0
を反転するので111となりプロセッサ111(つまり
プロセッサ7)となる。 【0032】通信ステップ2では、同様にi+1のiは
2だから3桁目の反転を示すので101の左端から3桁
目の1を反転するので100となりプロセッサ100
(つまりプロセッサ4)と各々通信を行う。 【0033】各プロセッサの各通信ステップも同様に求
めた通信相手のプロセッサの対を示したのが図4であ
る。ここでは、例えば、プロセッサ識別子5のプロセッ
サを、P101と二進表示で示してある。 【0034】次に、データ転送範囲解析手段12によ
り、上記スケジュリング手段11が決定したスケジュリ
ングと、図3に示されるような、データ転送前とデータ
転送後の分散に基づき、各通信ステップにおいて、各プ
ロセッサが、送受信するデータの範囲を算出する(ステ
ップ202)。 【0035】例えば、プロセッサ識別子101(プロセッサ
5)のプロセッサは、通信ステップ0において、通信相手
がプロセッサ001(プロセッサ1)であることから、データ
転送前に、プロセッサ101が所有しているデータの集合
(つまり、A(5,0:7))と、データ転送後に、プロセッサ00
0,001,010,011が所有しているデータの集合(つまり、A
(0:7,0:3))との積、即ち、A(5,0:3)を送信し、データ転
送前に、プロセッサ001が所有しているデータの集合(つ
まり、A(1,0:7))と、データ転送後に、プロセッサ100,1
01,110,111が所有しているデータの集合(つまり、A(0:
7,4:7))との積、即ち、A(1,4:7)を受信する。 【0036】通信ステップ1において、通信相手がプロ
セッサ111(プロセッサ7)であることから、データ転送前
に、プロセッサ001,101が所有しているデータの集合(つ
まり、A(1,0:7),A(5,0:7))と、データ転送後に、プロセ
ッサ110,111が所有しているデータの集合(つまり、A(0:
7,6:7))との積、即ち、A(1,6:7),A(5,6:7)を送信し、デ
ータ転送前に、プロセッサ011,111が所有しているデー
タの集合(つまり、A(3,0:7),A(7,0:7))と、データ転送
後に、プロセッサ100,101が所有しているデータの集合
(つまり、A(0:7,4:5))との積、即ち、A(3,4:5),A(7,4:
5)を受信する。 【0037】通信ステップ2において、通信相手がプロ
セッサ100(プロセッサ4)であることから、データ転送前
に、プロセッサ001,011,101,111が所有しているデータ
の集合(つまり、A(1,0:7),A(3,0:7),A(5,0:7),A(7,0:
7))と、データ転送後に、プロセッサ100が所有している
データの集合(つまり、A(0:7,4))との積、即ち、A(1,
4),A(3,4),A(5,4),A(7,4)を送信し、データ転送前に、
プロセッサ000,010,100,110が所有しているデータの集
合(つまり、A(0,0:7),A(2,0:7),A(4,0:7),A(6,0:7))
と、データ転送後に、プロセッサ101が所有しているデ
ータの集合(つまり、A(0:7,5))との積、即ち、A(0,5),A
(2,5),A(4,5),A(6,5)を受信する。他のプロセッサに関
しても同様である。上記スケジュリング手段11が決定
したスケジュリング及び、上記データ転送範囲解析手段
12が算出した各データ転送の通信ステップにおけるデ
ータ転送の送信範囲と受信範囲の情報に基づき、データ
転送手段13が、実際にデータ転送を行う(ステップ20
3)。 【0038】 【発明の効果】以上説明したように、本発明によると全
プロセッサと通信を行うのと比べて、通信ステップ数が
削減されるため、分散メモリ型マルチプロセッサシステ
ムのデータ転送において、データ転送の起動時間が短縮
されるという効果を有している。
である。 【図3】本実施の形態における転送されるデータ例を示
す図である。 【図4】本実施の形態で各ステップにおけるデータ転送
を行うプロセッサの対の一実施例を示す図である。 【符号の説明】 1 データ転送スケジュリング方式 11 スケジュリング手段 12 データ転送範囲解析手段 13 データ転送手段
Claims (1)
- (57)【特許請求の範囲】 【請求項1】 分散メモリ型マルチプロセッサシステム
上で、N台のプロセッサの各々が、他のN-1台のプロセッ
サに対して送信及び受信しなければならないデータを持
つようなデータ転送パタンのデータ転送において、 各プロセッサが他のm(但し、mはN=2mを満たす整
数とする)台のプロセッサと通信を行うときに、各通信
ステップi (i=0,1,2,...,m-1とする)において、送信元
プロセッサのプロセッサ識別子を2進表示した値の左端
の桁を1桁目として左端からi+1桁目のビットを反転し
た値をプロセッサ識別子とするプロセッサを転送相手プ
ロセッサとし、通信するプロセッサの順序をスケジュリ
ングするスケジュリング手段と、 前記スケジュリング手段により算出されたスケジュリン
グにより行わなければならない送信及び受信データのプ
ロセッサ間の授受を達成するために、各通信ステップi
(i=0,1,2,...,m-1とする)において、プロセッサ識別子
Kのプロセッサ(プロセッサK)の転送相手プロセッサ
のプロセッサ識別子をLとしたとき、Kを2進表示した
時に上からi桁目までのビットを全て0にした数をp、L
を2進表示した時に上からi+1桁目より下のビットを全て
0にした数をqとし、データ転送前にプロセッサp+(j-1)
2 m−i (j=1,2,3,...,2 i とする)が所有しているデー
タの範囲の集合と、データ転送後にプロセッサq+j (j=
0,1,...,2 m−i−1 -1とする)が所有しているデータの
範囲の集合との積を、プロセッサKの送信範囲とし、L
を2進表示した時に上からi桁目までのビットを全て0に
した数をr、Kを2進表示した時に上からi+1桁目より下
のビットを全て0にした数をsとし、データ転送前にプロ
セッサr+(j-1)2 m−i (j=1,2,3,...,2 i とする)が所
有しているデータの範囲の集合と、データ転送後にプロ
セッサs+j (j=0,1,...,2 m−i−1 -1とする)が所有し
ているデータの範囲の集合との積を、プロセッサKの受
信範囲とするデータ転送の範囲を算出するデータ転送範
囲解析手段と、 前記スケジュリング手段と前記データ転送範囲解析手段
との算出結果に基づき、各通信ステップにおいて、各プ
ロセッサはスケジュリングされたデータ転送相手に対し
て、算出されたデータ転送範囲情報の示すデータの送受
信を行うデータ転送手段と、 を備えることを特徴とするデータ転送スケジュリング方
式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04347998A JP3371793B2 (ja) | 1998-02-25 | 1998-02-25 | データ転送スケジュリング方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04347998A JP3371793B2 (ja) | 1998-02-25 | 1998-02-25 | データ転送スケジュリング方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11242662A JPH11242662A (ja) | 1999-09-07 |
JP3371793B2 true JP3371793B2 (ja) | 2003-01-27 |
Family
ID=12664870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04347998A Expired - Fee Related JP3371793B2 (ja) | 1998-02-25 | 1998-02-25 | データ転送スケジュリング方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3371793B2 (ja) |
-
1998
- 1998-02-25 JP JP04347998A patent/JP3371793B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
「並列処理シンポジウムJSPP’95」(1995−5)P.361−376 |
Also Published As
Publication number | Publication date |
---|---|
JPH11242662A (ja) | 1999-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102984123A (zh) | 使用多个消息组的计算机系统中的代理之间的通信消息请求事务类型 | |
US11196586B2 (en) | Collective communication system and methods | |
US7564809B1 (en) | Event-synchronization protocol for parallel simulation of large-scale wireless networks | |
US20060218375A1 (en) | System and method of transferring data between a massive number of processors | |
JPH08501403A (ja) | インテリジェント通信システム | |
Kikuchi et al. | Implementation and performance evaluation of collective communications using CIRCUS on multiple FPGAs | |
JP3371793B2 (ja) | データ転送スケジュリング方式 | |
Kandlur et al. | Reliable broadcast algorithms for HARTS | |
Hoare et al. | Bitwise aggregate networks | |
JPS6187451A (ja) | ディジタルデータ通信システム | |
Beaumont et al. | FIFO scheduling of divisible loads with return messages under the one-port model | |
CN113867802B (zh) | 一种中断分发装置、芯片和电子设备 | |
GB2617507A (en) | Shared control bus for graphics processors | |
Patarasuk et al. | Techniques for pipelined broadcast on ethernet switched clusters | |
JP3532102B2 (ja) | 間接ローテータグラフネットワーク及び間接ローテータグラフネットワークにおける伝送経路の設定方法 | |
Moore et al. | Generating an efficient broadcast sequence using reflected gray codes | |
Moorthy et al. | Fast collective communication algorithms for reflective memory network clusters | |
Gergel | Introduction to Parallel Programming | |
Arshi et al. | Application performance improvement on the iPSC/2 computer | |
JPS62280956A (ja) | 配列デ−タ転送方法 | |
KR100399774B1 (ko) | 인터프로세서 통신 시뮬레이터의 태스크 생성 처리 방법 | |
JPH11238042A (ja) | 分散シミュレーション制御装置 | |
JPH10171770A (ja) | マルチプロセッサシステム | |
JP2758752B2 (ja) | 共通バス競合調停方式 | |
JPH0318958A (ja) | マルチプロセッサシステム |
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: 20021022 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071122 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081122 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081122 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091122 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091122 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101122 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111122 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111122 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121122 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |