JP3916192B2 - 並列計算機システム及びその演算処理装置間の通信方法 - Google Patents

並列計算機システム及びその演算処理装置間の通信方法 Download PDF

Info

Publication number
JP3916192B2
JP3916192B2 JP18884098A JP18884098A JP3916192B2 JP 3916192 B2 JP3916192 B2 JP 3916192B2 JP 18884098 A JP18884098 A JP 18884098A JP 18884098 A JP18884098 A JP 18884098A JP 3916192 B2 JP3916192 B2 JP 3916192B2
Authority
JP
Japan
Prior art keywords
arithmetic processing
group
processing unit
data
units
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
Application number
JP18884098A
Other languages
English (en)
Other versions
JP2000020501A (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 JP18884098A priority Critical patent/JP3916192B2/ja
Publication of JP2000020501A publication Critical patent/JP2000020501A/ja
Application granted granted Critical
Publication of JP3916192B2 publication Critical patent/JP3916192B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は,通信手段および個別記憶装置を備えた多数の演算処理装置からなり,特に並列計算を目的とした並列計算機システム及びその演算処理装置の通信方法に関する。
【0002】
【従来の技術】
原子力施設をはじめとする大規模な施設の設計においては,例えば遮蔽設計などにおける放射線挙動計算,炉心設計における炉心性能予測解析などの大規模な計算がかなりの頻度で要求される。この要求に応えるためには大幅な計算速度の向上が必要である。このため最近では,通信手段と個別の記憶装置を備えた多数の演算処理装置を用いて,1台の演算処理装置しか持たない計算機を使用していたのでは得られないような高速度で,解析を行うことが考案されている。
【0003】
例えば炉心設計であれば,原子炉の炉心を複数の燃料集合体からなる幾つかのセグメントに分割し,それぞれのセグメントを1つの演算処理装置に対応させて,出力計算と熱水力計算を各々の演算処理装置で並列に計算させる。セグメント間での中性子束の流出入およびチャンネル間の冷却材の圧力バランスを解析する際には,前記通信手段によりセグメント境界の中性子束,各チャンネルの圧力損失のデータを演算処理装置間でやり取りすることで,空間的に連続した解析が行われる。
【0004】
また,遮蔽設計であれば,例えば原子炉の炉心,冷却材,遮蔽体などを含む全体系を幾つかの小領域に分割し,それぞれの小領域を1つの演算処理装置に対応させて,放射線束分布計算を各々の演算処理装置で並列に計算させる。小領域間での中性子束の流出入を解析する際には,前記通信手段により小領域境界の中性子束のデータを演算処理装置間でやり取りすることで,空間的に連続した解析が行われる。
【0005】
【発明が解決しようとする課題】
複数の演算処理装置を用いて並列に計算を行わせる際に,演算処理装置間の通信を行うことなく全く独立に計算を進めることができる例はまれであり,通常は演算処理装置間の通信を行いながら計算を進める。たとえば,4行4列の行列A,Bの掛け算を4台の演算処理装置で実施して4行4列の行列Cを求める場合を考える。A,B,Cの要素をそれぞれaIJ,bIJ,cIJで以下のように表記する。
【0006】
【数6】
Figure 0003916192
このとき,4台の演算処理装置のうちの1台においては例えば,
【0007】
【数7】
Figure 0003916192
のように計算が行われる。
【0008】
この例から明らかなように,演算に使う側(aIJまたはbIJ)については行或いは列全体についての要素のデータが必要である。また,演算の結果として得られるcIJの方は,各々の演算処理装置に於いては部分的にしかデータが得られない。このことは,例えば次のステップで行列Cと行列Aの掛け算を行う必要が生じたとき,計算で得られた要素だけではデータに不足が生じることを意味する。したがって,A×B=Cの計算を実施した後で残りの部分,上の式で言えば行列Cの少なくとも第1行と第2行のデータ及び第1列と第2列のデータは満たされた状態にしておかねばならない。
【0009】
これらの問題を一般化すると次のようになる。(n×k)個からなる配列X(nk)があり,これがn台の演算処理装置に分割され,例えば識別番号1の演算処理装置ではX(1),X(2),…X(k) ,識別番号2の演算処理装置ではX(k+1), X(k+2),…,X(2k) の計算結果を持っているものとする。この状態からn台の演算処理装置の間で通信を行うことにより,n台の演算処理装置が配列X(nk)の計算結果を持っている状況を作る操作が必要となることがある。
【0010】
このときの通信は1対1であることが通信手段上の条件である。すなわち,例えば演算処理装置1から演算処理装置2にデータを転送する際には,演算処理装置2は演算処理装置1からデータを受けとる態勢になければならないのであって,このとき演算処理装置2が他の処理,例えば演算処理装置3にデータを転送しようとしたり演算処理装置4からデータを受けようとしたりすると,通信は失敗して計算は中断することとなる。通信が滞りなく行われるには送信側と受信側の混乱がないように通信の順序を予め決めておく必要がある。
【0011】
4台の演算処理装置を使う場合を例にとれば,容易に考えられる方法として次のものが挙げられる。以下,表記を簡略化するため演算処理装置1,2,3,4をそれぞれ#1,#2,#3,#4と書く。
(1) 送信−受信を1つずつ順次行う方法
[1] #1の計算結果→#2, [2] #1の計算結果→#3,
[3] #1の計算結果→#4, [4] #2の計算結果→#1,
[5] #2の計算結果→#3, [6] #2の計算結果→#4,
[7] #3の計算結果→#1, [8] #3の計算結果→#2,
[9] #3の計算結果→#4, [10] #4の計算結果→#1,
[11] #4の計算結果→#2, [12] #4の計算結果→#3
を順次実行する。
【0012】
ここで,[1] ,[2] ,[3] ,…は処理のステップの番号を示す。演算処理装置をN台,1台に割り当てられたデータ量をwとすれば,通信回数は
2× N2 = N(N−1)
であり,データ移動量は
2w× N2 = wN(N−1)
である。N=4ならば通信回数は上述の12回である。この方法によれば, 時間はかかるが通信上の混乱は避けられる。なお, pq はp個の要素からq個の要素を選ぶ組合せの数を示す。
【0013】
(2) 代表の演算処理装置にデータを集めた後,各演算処理装置に配布する。
・データ集結
[1] #2の計算結果→#1, [2] #3の計算結果→#1,
[3] #4の計算結果→#1,… を順次実行。
#1に全データが揃う。
・全データ配布
[1] #1→#2, [2] #1→#3, [3] #1→#4,…
を順次実行。 配列全体を#2,#3,#4に送信する。
【0014】
この場合の通信回数は 2(N−1)回,
データ移動量は集結時に(N−1)w,配布時に N(N−1)wである。
この方法は(1)の方法に比べて通信回数は少ないが,全データ配布時に送信されるデータ量が多い点が短所である。
【0015】
また,通信の効率化を図った手法として次のものがある。
(3) 演算処理装置の1対1の組み合わせに対して並列・網羅的に通信を行う。 これは(1)の方法を改良したもので,例えば次のように行う。
[1] #1の計算結果→#2, #3の計算結果→#4 を同時に実行。
[2] #1の計算結果→#3, #2の計算結果→#4 を同時に実行。
[3] #1の計算結果→#4, #2の計算結果→#3 を同時に実行。
[4] #2の計算結果→#1, #4の計算結果→#3 を同時に実行。
[5] #3の計算結果→#1, #4の計算結果→#2 を同時に実行。
[6] #4の計算結果→#1, #3の計算結果→#2 を同時に実行。
【0016】
この通信方法によれば,通信が重複することも衝突することもなく,全データが4台の演算処理装置に行き渡る。演算処理装置がN台であれば通信回数は2(N−1),データ移動量は2(N−1)wである。
N=4であれば通信に要する時間は前述の(1)の方法の半分である。Nが大きくなるとともに差は広がる。
【0017】
(4) 演算処理装置の Binary treeにより代表の演算処理装置にデータを集めた後,各演算処理装置に配布する。これは(2)の方法を改良したもので,例えば次のように行う。
・データ集結
[1] #2の計算結果→#1,#4の計算結果→#3を同時に実行。
[2] #3に集結された計算結果→#1
・全データ配布
[3] #1→#3
[4] #1→#2, #3→#4を同時に実行。
【0018】
この方法によれば,演算処理装置がN台であれば,通信回数は 2× log2 N回,データ通信量は,集結時に(N−1)w,配布時に Nw log2 Nである。
N=4であれば通信回数は(2)の方法の2/3,データ移動量は(2)の方法の 11/15である。Nが大きくなるとともに差は広がる。
【0019】
(3)の方法は(4)の方法に比べてデータ移動量は少ないが通信回数が多いため,扱う配列が小さい場合には適していない。(4)の方法は通信回数は少ないが,データ移動量が多いため,巨大な配列を扱う場合には適していない。
【0020】
よって,データ移動量と通信回数がともに最適化された,あらゆる条件に対して適用可能な一般化された手法が必要である。
本発明は,このような点を考慮してなされたもので,通信によるデータの授受を並列に行えるようにすることで,演算処理装置間の通信回数およびデータの授受の際の待ち時間を最小限に抑えて高速化を図ることができる並列計算機システム及びその演算処理装置間の通信方法を提供することを目的とする。
【0022】
【課題を解決するための手段】
上記目的を達成するため,本発明の請求項1記載の発明は,固有の識別子を有する(2m +k)台の演算処理装置と,これら各演算処理装置に各々対応する個別記憶装置および通信手段とを備え,この通信手段により各演算処理装置間でデータの授受を行う並列計算機システムにおいて,(2m +k)個の小配列に分割して(2m +k)台の演算処理装置に分配・演算処理されたデータ配列を再び1つの配列に集結する際に,前記(2m +k)台の演算処理装置に個別記憶手段及び通信手段を備えた(2m −k)台の演算処理装置を加えた2m+1 台からなる演算処理装置群を形成し,この演算処理装置群を構成する2m+1 台の演算処理装置に識別番号0,1,…,2m+1 −1を付与し,識別番号Nの演算処理装置に対し2進法で表した識別番号Nの2i の位の数を反転させた番号N’を識別番号とする演算処理装置を対応させ,前記データ配列の演算処理結果を識別番号Nの演算処理装置と識別番号N’の演算処理装置の間で相互に送受信する操作iをi=0からi=mまで順次行い,j>0なるjに対しては,操作jの際に,N≦2m +kなる識別番号Nの演算処理装置からはその演算処理装置の演算処理結果及び操作(j−1)までで得られた演算処理結果を送信し,N>2m +kなる識別番号Nの演算処理装置からは操作(j−1)までで得られた演算処理結果を送信することにより(2m +k)台の演算処理装置において(m+1)回の操作でデータ配列を集結させることを特徴とする。
【0023】
また、請求項2記載の発明は,固有の識別子を有する(2m +k)台の演算処理装置と,これら各演算処理装置に各々対応する個別記憶装置および通信手段とを備え,この通信手段により各演算処理装置間でデータの授受を行う並列計算機システムにおいて,(2m +k)個の小配列に分割して(2m +k)台の演算処理装置に分配・演算処理されたデータ配列を再び1つの配列に集結する際に,この(2m +k)個のデータ配列に(2m −k)個の空の小配列を追加することで前記データ配列を小配列2m+1 個分の配列に拡張し,前記(2m +k)台の演算処理装置に,個別記憶手段及び通信手段を備えた(2m −k)台の演算処理装置を加えた2m+1 台からなる演算処理装置群を形成し,この演算処理装置群を構成する2m+1 台の演算処理装置に識別番号0,1,…,2m+1 −1を付与し,識別番号Nの演算処理装置に対し2進法で表した識別番号Nの2i の位の数を反転させた番号N’を識別番号とする演算処理装置を対応させ,前記データ配列の演算処理結果を識別番号Nの演算処理装置と識別番号N’の演算処理装置の間で相互に送受信する操作iをi=0からi=mまで順次行い,j>0なるjに対して,操作jの際に,識別番号N,N’の演算処理装置間で各演算処理装置による演算処理結果に加えて操作(j−1)までで得られた演算処理結果を送受信することにより(2m +k)台の演算処理装置において(m+1)回の操作でデータ配列を集結させることを特徴とする。
【0024】
また、請求項3記載の発明は,n>mなるn,mについて,固有の識別子を有する(2n +2m )台の演算処理装置と,これら各演算処理装置に各々対応する個別記憶装置および通信手段とを備え,この通信手段により各演算処理装置間でデータの授受を行う並列計算機システムにおいて,(2n +2m )個の小配列に分割して(2n +2m )台の演算処理装置に分配・演算処理されたデータ配列を再び1つの配列に集結する際に,前記(2n +2m )台の演算処理装置を2n 台からなるグループG1 と2m 台からなるグループG2 に分割し,また前記データ配列を初めの2n 個の小配列からなる配列A1 とその後の2m 個の小配列からなる配列A2 の2つに分割し,この配列A1 ,A2 をそれぞれグループG1 ,G2 と対応づけて分配,演算処理を行い,グループG1 の2n 台の演算処理装置に識別番号0,1,…,2n −1を付与し,識別番号Nの演算処理装置に対し2進法で表した識別番号Nの2i の位の数を反転させた番号N’を識別番号とする演算処理装置を対応させ,前記データ配列の演算処理結果を識別番号Nの演算処理装置と識別番号N’の演算処理装置の間で相互に送受信する操作iをi=0からi=n−1まで順次行い,j>0なるjに対して,操作jの際に識別番号N,N’の演算処理装置間で各演算処理装置による演算処理結果に加えて操作(j−1)までで得られた演算処理結果を送受信することによりグループG1 内で配列A1 を集結させる第1の工程と,グループG2 の2m 台の演算処理装置に識別番号0,1,…,2m −1を付与し,識別番号Nの演算処理装置に対し2進法で表した識別番号Nの2i の位の数を反転させた番号N’を識別番号とする演算処理装置を対応させ,前記データ配列の演算処理結果を識別番号Nの演算処理装置と識別番号N’の演算処理装置の間で相互に送受信する操作iをi=0からi=n−1まで順次行い,j>0なるjに対して,操作jの際に識別番号N,N’の演算処理装置間で各演算処理装置による演算処理結果に加えて操作(j−1)までで得られた演算処理結果を送受信することによりグループG1 内で配列A2 を集結させる第2の工程と,グループG1 からグループG2 の各演算処理装置に配列A1 を,グループG2 からグループG1 の各演算処理装置に配列A2 を送信する第3の工程とを有し,第1の工程と第2の工程を並列に実行した後に第3の工程を行なうことにより(2n +2m )台の演算処理装置においてデータ配列を集結させることを特徴とする。
【0025】
また、請求項4記載の発明は,固有の識別子を有する複数の演算処理装置と,これら各演算処理装置に各々対応する個別記憶装置および通信手段とを備えた並列計算機システムにおいて,
【数8】
Figure 0003916192
個の小配列(但し,n1 >n2 >n3 >…>nk ≧0)に分割して
【数9】
Figure 0003916192
台の演算処理装置に分配・演算処理されたデータ配列を再び1つの配列に集結する際に,これらの演算処理装置のうち
【数10】
Figure 0003916192
台をそれぞれグループG1 ,G2 ,…,Gk としてk個のグループに分割するとともに,前記小配列のうち
【0026】
【数11】
Figure 0003916192
個の小配列をそれぞれ配列A1 ,A2 ,…,Ak としてk個の配列に分割し,このk個の配列とk個のグループG1 ,G2 ,…,Gk とを1対1に対応づけて分配,演算処理を行い,
1≦p≦kなる各pに対し,グループGp の(2のnp 乗)台の演算処理装置に識別番号0,1,…を付与し,識別番号Nの演算処理装置に対し2進法で表した識別番号Nの2i の位の数を反転させた番号N’を識別番号とする演算処理装置を対応させ,前記データ配列の演算処理結果を識別番号Nの演算処理装置と識別番号N’の演算処理装置の間で相互に送受信する操作iをi=0からi=n−1まで順次行い,j>0なるjに対して,操作jの際に識別番号N,N’の演算処理装置間で各演算処理装置による演算処理結果に加えて操作(j−1)までで得られた演算処理結果を送受信することによりグループGp 内の演算処理装置でデータ配列Ap を集結させるグループ内工程pを実行し,
グループ内工程(k−1)が終了した後,グループGk の演算処理装置から配列Ak の演算結果をグループGk-1 の演算処理装置に送信するグループ間工程kを実行し,
次に,グループGp の各演算処理装置に集結された配列Ap の演算結果を,グループGp の演算処理装置からq>pなる全てのqに対しグループGq に属する各演算処理装置に送信するとともに,グループGq の演算処理装置から,グループGp 自身の演算結果である配列Ap 及びグループGp+1 の演算処理装置から受信した配列Ap-1 ,…,Ak の演算結果をグループGp-1 の演算処理装置に送信するグループ間工程pを,p=k−1からp=2までpに関して降順に実行することにより,
【0027】
【数12】
Figure 0003916192
台の演算処理装置においてデータ配列を集結させることを特徴とする。
【0028】
なお,この際には,k個のグループ内工程1,2,…,kを並列に実行し,
1≦s≦k−1なるsに対して,グループ内工程sが終了した時点で順次グループ間工程(s+1)を実行することで、全体の通信に要する時間をさらに短縮することができる。
【0029】
また、請求項5記載の発明は,請求項3または4記載の並列計算機システムを用いて演算処理装置のグループ間でのデータ交換を行う場合,p>qなるp,qについて,2p台の演算処理装置からなるグループGA で集結され共有されているデータ配列Aと,2q 台の演算処理装置からなるグループGB で集結され共有されているデータ配列Bとを,グループGA ,GB 間で相互に送受信する際に,グループGA のなかから選択される2q 台の演算処理装置をグループGB の各演算処理装置と1対1に対応させてグループGB の各演算処理装置にデータ配列Aを送信する操作を並列に実施するとともに,グループGA を,それぞれが2p-q 台の演算処理装置からなる小グループα1 ,α2 ,…,αr (r=2q )に分割して,各々の小グループとグループGB のr台の各演算処理装置とを1対1に対応させ,小グループαi のなかから選択される1台の演算処理装置に対して,小グループαi に対応するグループGB の演算処理装置からデータ配列Bを送信した後,小グループαi の演算処理装置間でデータ配列Bを送受信する操作iを,1≦i≦rなるiに関して並列に実行するすることにより,2p 台の演算処理装置と2q 台の演算処理装置にデータ配列Aとデータ配列Bを共有させることを特徴とする。
【0030】
また、請求項6記載の発明は,請求項1乃至5のいずれか記載の並列計算機システムを用いて2台の演算処理装置間でデータを交換する工程は,演算処理装置の識別番号の大きい方から小さい方にデータを送る第1の送信工程と,演算処理装置の識別番号の小さい方から大きい方にデータを送る第2の送信工程とからなり,この第1の送信工程と第2の送信工程のうちから選択される1工程を先に行った後,続いて他の1工程を行うことを特徴とする。
【0031】
【発明の実施の形態】
本発明の実施の形態について,以下,図面を参照して説明する。
図1は並列計算機システムの構成例を示すブロック図である。ここに示した並列計算機システムは,1台のホストの計算機1と8台の演算処理装置2−1, 2−2,…,2−8で構成されている。ホストの計算機には記憶装置3と通信手段4,演算処理装置2−1,2−2,…,2−8の各々には,個別記憶装置 5−1,5−2,…,5−8と通信手段6−1,6−2,…,6−8が備えられている。例えば,ホストの計算機で読み込んだ入力データ等は,通信手段4から通信手段6−1,6−2,…,6−8を通じて全演算処理装置に送信される。演算処理装置2−1,2−2,…,2−8では各々割り当てられた領域の計算を行い,必要に応じて演算処理装置間の通信によりデータの授受を行う。
【0032】
図1に示した並列計算機システムの構成に基き,本発明にかかる並列計算機システムの第1の実施の形態について説明する。図2は本実施の形態における並列計算機システムの演算処理装置間の通信方法を時系列で示すチャートである。
【0033】
演算処理装置2−1,2−2,…,2−8の識別番号をそれぞれ0,1,…,7とし,これらを2進法の3桁の数として表示するとそれぞれ 000, 001, 010, 011, 100, 101, 110, 111 となる。8×n個のデータからなる配列Aがn個のデータからなる8個の小配列a1 ,a2 ,…,a8 に分割されて,8台の演算処理装置2−1,2−2,…,2−8に割り当てられている。それぞれの演算処理装置で割り当てられた小配列のデータに関する演算処理を行った後,配列Aの要素を全ての演算処理装置に於いて集めることを考える。なお,図2において各演算処理装置にかかれた0または1はそれぞれ分割された小配列を示しており,0は計算結果が未入力の状態を,1は計算結果が入力済みの状態を表す。
【0034】
第1ステップとして,20 の位の数を反転(0ならば1,1ならば0とする)させた数を識別番号としてもつ演算処理装置との間でデータを交換する。例えば演算処理装置0(000) は演算処理装置1(001) ,演算処理装置3(011) は演算処理装置2(010) とn個のデータを交換する。各演算処理装置に2n個の要素が集まる。
【0035】
第2ステップでは,21 の位の数を反転させた数を識別番号としてもつ演算処理装置との間でデータを交換する。例えば演算処理装置0(000) は演算処理装置2(010) ,演算処理装置3(011) は演算処理装置1(001) とデータを交換する。この時,例えば演算処理装置0から演算処理装置2への送信では,演算処理装置0自身による演算結果の他に第1ステップで演算処理装置1から受信したデータを含む2n個のデータを送信する。これにより各演算処理装置に4n個の要素が集まる。
【0036】
最後に第3ステップとして,22 の位の数を反転させた数を識別番号としてもつ演算処理装置との間でデータを交換する。例えば演算処理装置0(000) は演算処理装置4(100) ,演算処理装置3(011) は演算処理装置7(111) と4n個のデータを交換する。各演算処理装置に8n個の要素が集まり,操作が完了する。
【0037】
以上述べた通信方法は演算を23 =8個に分割した場合でありこの時のステップ数は3である。同様に,演算を24 =16個に分割し16台の演算処理装置において通信を行なう場合には,上述した8分割の場合に比べてさらに1ステップが必要となり,全部で4ステップとなる。
一般に,演算をN個に分割しN台の演算処理装置において通信を行う場合は,上述の方法を流用して,ステップ数 log2 Nで通信が完了する。
【0038】
本実施の形態の作用効果について以下検証する。
例えば配列の大きさをM(word),演算処理装置の台数をKとし,配列全体がK分割されて各演算処理装置に渡されているものとする。Kの値としては並列計算で最も一般的な条件である2のべき乗の場合,つまりK=2n と表される場合について考える。この状態から,演算処理装置間の通信によって演算処理装置全部が配列全体についてデータを把握している状況を作り出すのにかかる時間について考察する。一般にデータを送信するのに要する時間Tは
T=A+B×W …………………… (1)
と表せる。ここで,Aは通信準備に要する時間で,送信するデータ量に関わらず1回の通信に必ず必要となる時間である。Aの値はデータ量に依らない。B×Wはデータ量に比例する項であり,Wがデータ量(WORD数),Bが1word当たりの転送時間である。
【0039】
データの授受のステップ数は log2 K=nである。各ステップで演算処理装置毎に送信と受信が1回づつ行われる。第mステップで授受されるデータ量は(M/K)×2m [word] である。
データ量M[word]のデータを全演算処理装置において集結させるのに必要な送受信の回数は各演算処理装置当り2n回であり,送受信する総データ量は
【0040】
【数13】
Figure 0003916192
である。よって,本発明を適用した場合の全通信時間Tは,
T(K)= 2A log2 K+2M(1−1/K)B ………… (2)
となる。
【0041】
比較のため,従来法,例えば Binary treeの方式で1台の代表演算処理装置に全データを集めておき,同様に Binary treeの方式で全演算処理装置にデータを送信する場合の通信時間を次に求めてみる。全データを1台の演算処理装置に集めるのに要する送受信の回数は,代表演算処理装置においてn= log2 K回である。また,第mステップ(m≦n)で送信されるデータ量は
(M/K)×2m-1 [word]である。よって,代表演算処理装置に全データを集めるのにかかる時間T1
1 (K)= A log2 K+M(1−1/K)B …………… (3)
となる。
【0042】
代表演算処理装置から各演算処理装置にデータを配布する際のステップ数は log2 Kで,演算処理装置あたり通信回数も最大で log2 K回である。ただし,各ステップ毎にM[word]のデータが送信される。よって,各演算処理装置にデータを配布する際にかかる時間T2
2 (K)= A log2 K+(M log2 K)B ……………… (4)
となる。したがって,全通信時間T0 =T1 +T2
0 (K)= 2A log2 K+M(1−1/K+ log2 )B …… (5)
となる。
【0043】
図3及び図4のグラフは,横軸に演算処理装置台数,縦軸に通信に要する時間をとって,演算処理装置台数増加に伴う通信時間の増加の関係を示しており,従来のBinary Tree の通信方式による (5)式の関係と,本実施の形態により通信を効率化した (2)式の関係を,比較して示している。このグラフ中の曲線のうち実線で示した符号10a,10bが本実施の形態の (2)式の場合,破線で示した符号11a,11bが従来の (5)式の場合を示している。
図3に示した符号10a,11aを付した曲線は,通信されるデータ量が少なく,(1) 式のA(通信立ち上げ時間)が全通信時間Tのほぼ半分を占める状況を,また図4に示した符号10b,11bを付した曲線は,通信されるデータ量が多く, (1) 式のA(通信立ち上げ時間)が全通信時間Tに比べて十分小さい状況を想定している。このグラフからも明らかなように,本実施の形態によれば,演算処理装置の台数が少数の場合,多数の場合何れも従来の方法より通信に要する時間を少なくすることができる。すなわち,本実施の形態により,データの授受の際の待ち時間を最小限に抑え,計算の高速化を図ることができる。
【0044】
なお,例えば演算処理装置の台数が16台からなる並列計算機システムにおいて,その内の8台の演算処理装置の間で上述の3ステップからなる配列の分割分配,演算集結を行うなど,複数の演算処理装置のうち2の冪乗の台数だけ抜き出してこれらに通信制御用の識別番号を付与し,この台数に適応して上述した方法で配列の分割分配,演算処理を行なうものとしてもよい。
【0045】
上記第1の実施の形態においては,関係する演算処理装置の台数が2の冪乗であることを前提としている。一般的な条件として演算処理装置の台数が2の冪乗でない場合,すなわち台数が 2n +k等として表される場合にも拡張したのが以下詳述する第2の実施の形態である。
【0046】
本発明にかかる並列計算機システムの第2の実施の形態について説明する。ここでは,例えば並列計算の配列を6分割して,6台の演算処理装置(識別番号を0,1,…,5とする。)に割り当てる場合について説明する。図5は本実施の形態における並列計算機システムの演算処理装置間の通信方法を時系列で示すチャートである。この際のデータ処理には,前記6台の演算処理装置のほかに2台の演算処理装置(識別番号を6,7とする。)を用いることとする。
【0047】
第1ステップとして,20 の位の数を反転させた数を識別番号としてもつ演算処理装置との間でデータを交換する。例えば演算処理装置0(000) は演算処理装置1(001) と,演算処理装置3(011) は演算処理装置2(010) と,それぞれn個のデータを交換する。演算処理装置6(110) と演算処理装置7(111) は交換すべきデータがないので休止する。この時点で,演算処理装置0〜5に2n個のデータが集められる。
【0048】
第2ステップでは,21 の位の数を反転させた数を識別番号としてもつ演算処理装置との間でデータを交換する。例えば演算処理装置4(100) は演算処理装置6(110) とのデータ交換となるが,この時点で演算処理装置6(110) は送信すべきデータがないので,演算処理装置4からデータを受信するのみとする。このデータ交換により,演算処理装置0〜3に4n個のデータが,演算処理装置4〜7には2n個のデータが集められる。
【0049】
第3ステップでは,22 の位の数を反転させた数を識別番号としてもつ演算処理装置との間でデータを交換する。例えば演算処理装置6(110) は演算処理装置2(010) との交換である。演算処理装置6から演算処理装置2へは2n個のデータ,演算処理装置2から演算処理装置6へは4n個のデータを送信する。このようにして6n個のデータが8台の演算処理装置全てに行き渡る。
【0050】
本実施の形態においては,一般に(2n +k)台の演算処理装置に対して, (2n −k)台の演算処理装置を加えた2n+1 台の演算処理装置群を構成し,この演算処理装置群に対して上述の第1の実施の形態で詳述したステップにより並列計算を行うものとする。これにより,2の冪乗ではない台数の演算処理装置に対しても2の冪乗の場合に準じた構成とすることで,上記第1の実施形態と同様の作用効果を得ることができる。
【0051】
次に本発明にかかる並列計算機システムの第3の実施の形態を説明する。本実施の形態における演算処理装置間の通信方法について,例として,配列を6個の小配列分割して6台の演算処理装置(識別番号0,1,…,5)に割り当てている場合について説明する。まず前記配列を小配列2個分拡張し,拡張した部分には0を埋める。例えば12個の要素からなる配列 (3,1,4,1,5,9,2,6,5,3,5,8)であれば,4個の要素からなる配列(0,0,0,0) を追加して,16の要素からなる配列 (3,1,4,1,5,9,2,6,5,3,5,8,0,0,0,0)とする。演算処理装置としては前記6台の演算処理装置のほかに2台の演算処理装置(識別番号6,7とする)を加えた8台の演算処理装置を用いる。この後は,上記第1の実施の形態において詳述した手順により,8台の演算処理装置間で通信を行いデータを交換する。
【0052】
本実施の形態においては,一般に(2n +k)台の演算処理装置に対して, (2n −k)台の演算処理装置を加えた2n+1 台の演算処理装置群を構成し,また配列についてもその要素を2n+1 個に拡張して各演算処理装置に分配し,上記第1の実施の形態と同様の方法で並列計算及びデータの集結を行うものとする。これにより,2の冪乗ではない台数の演算処理装置に対しても2の冪乗の場合に準じた構成とすることで,上記第1の実施形態と同様の作用効果を得ることができる。
【0053】
次に,本発明にかかる並列計算機システムの第4の実施の形態について説明する。第2及び第3の実施の形態は,配列の分割数が2の冪でない場合,すなわち(2n +k)個に分割される場合について,2n+1 台の演算処理装置によってデータ配列を1個に集結する方法について述べたものである。これに対し本実施の形態は,配列の分割数が,2n +2m (n>m)である場合に対し,
(2n +2m )台の演算処理装置で処理するものである。
【0054】
本実施の形態における並列計算機システムの演算処理装置間の通信方法として,ここではまず例として,配列を6分割して6台の演算処理装置(識別番号0,1,…,5)に割り当てている場合について説明する。図6はこの場合の演算処理装置間通信方法を時系列で示すチャートである。
【0055】
まず,6台の演算処理装置を2つのグループに分割する。演算処理装置グループ1は識別番号0〜3の4台で構成される。演算処理装置グループ2は識別番号4〜5の2台で構成される。次に,演算処理装置グループ1の4台間,および演算処理装置グループ2の2台間で,上述の第2の実施の形態における手順により,各々のグループでデータを集結させる。図6における第1及び第2ステップがこれに相当する。
【0056】
この後,グループ1とグループ2でデータ交換を次の手順で行う。
Figure 0003916192
この方法により,6台の演算処理装置によってデータ配列を集結させることができる。
【0057】
また,本実施の形態のもう一つの例として,配列を10分割して10台の演算処理装置(識別番号0,1,...9)に割り当てている場合について説明する。図7はこの場合における演算処理装置間通信方法を時系列で示すチャートである。
【0058】
まず,10台の演算処理装置を2つのグループに分割する。演算処理装置グループ1は識別番号0,1,…,7の8台で構成される。演算処理装置グループ2は識別番号8,9の2台で構成される。次に演算処理装置グループ1の8台の演算処理装置間,および演算処理装置グループ2の2台の演算処理装置間で,上記第2の実施の形態において述べた方法により,各々のグループでデータを集結させる。図7における第1,第2及び第3ステップがこれに相当する。
【0059】
この後,グループ1とグループ2でデータ交換を次の手順で行う。
Figure 0003916192
【0060】
この方法により,6台の演算処理装置によってデータ配列を集結させることができる。なお,グループ2からグループ1に送信されたデータのグループ2内の分配は Binary Treeの方式によっている。
【0061】
以下,本発明にかかる並列計算機システムの第5の実施の形態について説明する。本実施の形態における演算処理装置間の通信方法は,上記第5の実施の形態の通信方法を一般化したものである。以下,例として配列を22分割して22台の演算処理装置(識別番号0,1,…,21)に割り当てている場合について説明する。図8及び図9はこの配列22分割の場合における演算処理装置間通信方法を時系列で示すチャートである。図8において第1ステップから第4ステップまでを,図9において第5ステップから第8ステップまでを示した。
【0062】
22=24 +22 +21 であるから,まず,演算処理装置を次の3グループに分ける。
グループ1; 識別番号0,1,…,15の演算処理装置(16台)
グループ2; 識別番号16,17,18,19の演算処理装置(4台)
グループ3; 識別番号20,21の演算処理装置(2台)
【0063】
次に,演算処理装置グループ1の16台間,演算処理装置グループ2の4台間,および演算処理装置グループ3の2台間で,上記第1の実施の形態の方法により各々のグループでデータを集結させる。これは図8に示した第1ステップから第4ステップまでが相当する。
【0064】
この後は,上記第2或いは第3の実施の形態において説明した方法と同様の手順により,データのグループ間交換を行う。以下そのデータの通信方法を順を追って説明する。
まず,第2ステップでグループ2においてデータの集結が終了するが,その時点で既にグループ3のデータの集結は完了しているから,次のステップとして,グループ2の演算処理装置16,18とグループ3の演算処理装置19,20との間でそれぞれデータの交換が行なわれる。これは図8に示したグループ2とグループ3における第3ステップに相当する。この時点で,グループ3の全ての演算処理装置にはグループ2及びグループ3におけるデータがすべて格納された状態となる。
【0065】
次に,グループ2及びグループ3の全てのデータが格納されたグループ2の演算処理装置16,18から,それぞれグループ2の演算処理装置17,19に対してグループ3より受信したデータが送信される。これは図8に示したグループ2における第4ステップに相当する。
【0066】
グループ1においては第4ステップで各演算処理装置間でデータの集結が終了するが,次のステップとして,グループ1と,グループ2,3との間でデータの送受信を行う。まず,グループ1の演算処理装置0,1,2,3,4,5から,それぞれグループ2,3の演算処理装置16,17,18,19,20,21に対してデータが送信される。これによりグループ2,3においてはグループ1,2,3の22台の全ての演算処理装置のデータの集結が完了する。これは図9に示した第5ステップに相当する。
【0067】
次に,グループ1の16台の演算処理装置を4つの小グループに分割する。すなわち,
Figure 0003916192
とする。
【0068】
この各小グループから1台ずつ演算処理装置を選択する。ここでは演算処理装置0,4,8,12を選択する。この4台の演算処理装置に対して,それぞれグループ2の演算処理装置16,17,18,19から,グループ2及びグループ3に関して集結されたデータを送信する。これは図9に示した第6ステップに相当する。
【0069】
次に,グループ1の各小グループにおいて,従来のBinary Tree の方式で演算処理装置間でグループ2,3に関するデータの送受信を行ない,小グループの全演算総理装置においてグループ1,2,3のデータを集結させる。例えば小グループ1においては演算処理装置0から演算処理装置2に対してデータを送信し,次に演算処理装置0,2からそれぞれ演算処理装置1,3に対してデータの送信を行う。他の小グループにおいても同様である。これは図9に示した第7ステップ及び第8ステップに相当する。
こうして,全ての22台の演算処理装置において22個のデータ配列の集結を完了する。
【0070】
一般に,2の冪乗では表されない台数の演算処理装置におけるデータ配列は,以上説明した方法によって集結させることができる。まず,k個の整数
1 ,n2 ,n3 ,…,nk (但し,n1 >n2 >n3 >…>nk ≧0)
を用いて,並列計算機システムの演算処理装置の台数を
【0071】
【数14】
Figure 0003916192
と表す。また,データ配列をこの台数と同数の小配列に分割し,各演算処理装置に分割して演算処理を行なうものとする。
並列計算機システムの演算処理装置のうち,
【0072】
【数15】
Figure 0003916192
台をそれぞれグループG1 ,G2 ,…,Gk として,並列計算機システムの演算処理装置をk個のグループに分割する。同様にデータ配列の小配列の
【0073】
【数16】
Figure 0003916192
個をそれぞれ配列A1 ,A2 ,…,Ak としてk個の配列に分割する。
【0074】
次に,1≦p≦kなるすべてのpに対して,以下の『』内に定義する操作(以下,グループ内工程pという。)を行う。但し,グループ内工程1,…,kは並列して行うこととする。
【0075】
『 グループGp の(2のnp 乗)個の演算処理装置に識別番号0,1,…, (2のnp 乗−1)を付与する。次に,0≦q≦p−1なるqに対し,以下の 《 》内に定義する操作qを,q=0からq=p−1まで順次行なう。
《 識別番号Nの演算処理装置に対し,2進法で表した識別番号Nの2q の位を反転させた番号N’を識別番号とする演算処理装置を対応させ,データ配列の演算処理結果を識別番号Nの演算処理装置と識別番号N’の演算処理装置との間で相互に送受信する。但し,q>0なるqに対しては,操作qの際に,識別番号N,N’の演算処理装置間で,各演算処理装置による演算処理結果に加えて操作(q−1)までで得られた演算処理結果を合わせて送受信することとする。 》
この操作により,グループGp の(2のnp 乗)台の演算処理装置で,データ配列の集結を行う。 』
グループの設定方法により,グループ内工程1,…,kを並列に行なったとき,グループ内工程kが最初に終了し,以下,グループ内工程(k−1),…,2,1の順に終了する。このことを考慮して,以下の {{ }} に定義する操作(以下,グループ間工程pという。)を,p=k−1からp=1までpに関して降順に行うこととする。
【0076】
{{ グループ内工程pが終了した後,グループGp の各演算処理装置に集結された配列Ap のデータを,グループGp の演算処理装置から,グループGp+1 ,…,Gk に属する全ての演算処理装置に送信する。すなわち,グループGp に属する(2のnp 乗)台の演算処理装置のうち
【0077】
【数17】
Figure 0003916192
台を選択して,これら選択された演算処理装置とグループGp+1 ,…,Gk に属する演算処理装置とを1対1に対応させ,グループGp からグループGp+1 ,…,Gk への配列Ap のデータ送信を行う。
次に,グループGp+1 からグループGp へのデータの送信を行う。
(2のnp 乗)台の演算処理装置からなるグループGp を,それぞれが
【0078】
【数18】
Figure 0003916192
台の演算処理装置からなる小グループα1 ,…,αr に分割する。この小グループの数rは,
【0079】
【数19】
Figure 0003916192
である。ここで,グループGp+1 に属する演算処理装置をb1 ,…,br と表記する。 グループGp の小グループα1 ,…,αr と,グループGp+1 に属する演算処理装置をb1 ,…,br とを1対1に対応させて,グループGp+1 の演算処理装置bi から対応する小グループαi のうちから選択された1台の演算処理装置ai に,グループGp+1 において集結された配列Ap+1 のデータを送信する操作を,1≦i≦rなる全てのiについて並列に行う。このとき,p<k−1の場合,演算処理装置bi からai へは,グループGp+2 ,…,Gk より受信したデータ配列Ap+2 ,…,Ak を含めて送信するものとする。
【0080】
この後,各小グループαi において,演算処理装置ai からai 以外の全ての演算処理装置に対して,従来のBinary Tree の方式でデータの送信を行なう。これにより,グループGp の全ての演算処理装置に対してデータ配列Ap ,…, Ak に関するデータ配列の集結が完了する。 }}
この方法により,一般に複数台の演算処理装置によって各演算処理装置において分散され並列計算されたデータ配列を,効率よく集結させることができるから,計算の高速化を図ることができる。
【0081】
【発明の効果】
以上説明したように本発明によれば,並列計算機システムの演算処理装置間の通信方法の効率をより向上させることにより,データの授受の際の待ち時間を最小限に抑えることができるから,並列計算機システムにおいて実施される大規模な計算の高速化を図ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における並列計算機システムの構成を示すブロック図である。
【図2】本発明の第1の実施の形態にかかる並列計算機システムの演算処理装置間の通信方法を時系列で示すチャートである。
【図3】通信されるデータ量が少ない場合の本発明の第1の実施形態及び従来の通信方法を用いた場合の演算処理台数と通信時間の相関を示すグラフである。
【図4】通信されるデータ量が多い場合の本発明の第1の実施形態及び従来の通信方法を用いた場合の演算処理台数と通信時間の相関を示すグラフである。
【図5】本発明の第2の実施の形態にかかる並列計算機システムの演算処理装置間の通信方法を時系列で示すチャートである。
【図6】本発明の第2の実施の形態にかかる並列計算機システムの演算処理装置間の通信方法を時系列で示すチャートである。
【図7】本発明の第4の実施の形態にかかる並列計算機システムの演算処理装置間の通信方法を時系列で示すチャートである。
【図8】本発明の第5の実施の形態にかかる並列計算機システムの演算処理装置間の通信方法を時系列で示すチャートである。
【図9】本発明の第5の実施の形態にかかる並列計算機システムの演算処理装置間の通信方法を時系列で示すチャートである。
【符号の説明】
1…ホスト計算機, 2−1…演算処理装置, 3…記憶装置,
4…通信手段, 5−1…個別処理装置, 6−1…通信手段
10a,10b…本発明の第1の実施の形態における演算処理装置の台数と通信に要する時間の関係を示す曲線

Claims (6)

  1. 固有の識別子を有する(2m +k)台の演算処理装置と,これら各演算処理装置に各々対応する個別記憶装置および通信手段とを備え,この通信手段により各演算処理装置間でデータの授受を行う並列計算機システムにおいて,(2m +k)個の小配列に分割して(2m +k)台の演算処理装置に分配・演算処理されたデータ配列を再び1つの配列に集結する際に,前記(2m +k)台の演算処理装置に個別記憶手段及び通信手段を備えた(2m −k)台の演算処理装置を加えた2m+1 台からなる演算処理装置群を形成し,この演算処理装置群を構成する2m+1 台の演算処理装置に識別番号0,1,…,2m+1 −1を付与し,識別番号Nの演算処理装置に対し2進法で表した識別番号Nの2i の位の数を反転させた番号N’を識別番号とする演算処理装置を対応させ,前記データ配列の演算処理結果を識別番号Nの演算処理装置と識別番号N’の演算処理装置の間で相互に送受信する操作iをi=0からi=mまで順次行い,j>0なるjに対しては,操作jの際に,N≦2m +kなる識別番号Nの演算処理装置からはその演算処理装置の演算処理結果及び操作(j−1)までで得られた演算処理結果を送信し,N>2m +kなる識別番号Nの演算処理装置からは操作(j−1)までで得られた演算処理結果を送信することにより(2m +k)台の演算処理装置において(m+1)回の操作でデータ配列を集結させることを特徴とする並列計算機システム。
  2. 固有の識別子を有する(2m +k)台の演算処理装置と,これら各演算処理装置に各々対応する個別記憶装置および通信手段とを備え,この通信手段により各演算処理装置間でデータの授受を行う並列計算機システムにおいて,(2m +k)個の小配列に分割して(2m +k)台の演算処理装置に分配・演算処理されたデータ配列を再び1つの配列に集結する際に,この(2m +k)個のデータ配列に(2m −k)個の空の小配列を追加することで前記データ配列を小配列2m+1 個分の配列に拡張し,前記(2m +k)台の演算処理装置に,個別記憶手段及び通信手段を備えた(2m −k)台の演算処理装置を加えた2m+1 台からなる演算処理装置群を形成し,この演算処理装置群を構成する2m+1 台の演算処理装置に識別番号0,1,…,2m+1 −1を付与し,識別番号Nの演算処理装置に対し2進法で表した識別番号Nの2i の位の数を反転させた番号N’を識別番号とする演算処理装置を対応させ,前記データ配列の演算処理結果を識別番号Nの演算処理装置と識別番号N’の演算処理装置の間で相互に送受信する操作iをi=0からi=mまで順次行い,j>0なるjに対して,操作jの際に,識別番号N,N’の演算処理装置間で各演算処理装置による演算処理結果に加えて操作(j−1)までで得られた演算処理結果を送受信することにより(2m +k)台の演算処理装置において(m+1)回の操作でデータ配列を集結させることを特徴とする並列計算機システム。
  3. n>mなるn,mについて,固有の識別子を有する(2n +2m )台の演算処理装置と,これら各演算処理装置に各々対応する個別記憶装置および通信手段とを備え,この通信手段により各演算処理装置間でデータの授受を行う並列計算機システムにおいて,(2n +2m )個の小配列に分割して(2n +2m )台の演算処理装置に分配・演算処理されたデータ配列を再び1つの配列に集結する際に,前記(2n +2m )台の演算処理装置を2n 台からなるグループG1 と2m 台からなるグループG2 に分割し,また前記データ配列を初めの2n 個の小配列からなる配列A1 とその後の2m 個の小配列からなる配列A2 の2つに分割し,この配列A1 ,A2 をそれぞれグループG1 ,G2 と対応づけて分配,演算処理を行い,グループG1 の2n 台の演算処理装置に識別番号0,1,…,2n −1を付与し,識別番号Nの演算処理装置に対し2進法で表した識別番号Nの2i の位の数を反転させた番号N’を識別番号とする演算処理装置を対応させ,前記データ配列の演算処理結果を識別番号Nの演算処理装置と識別番号N’の演算処理装置の間で相互に送受信する操作iをi=0からi=n−1まで順次行い,j>0なるjに対して,操作jの際に識別番号N,N’の演算処理装置間で各演算処理装置による演算処理結果に加えて操作(j−1)までで得られた演算処理結果を送受信することによりグループG1 内で配列A1 を集結させる第1の工程と,グループG2 の2m 台の演算処理装置に識別番号0,1,…,2m −1を付与し,識別番号Nの演算処理装置に対し2進法で表した識別番号Nの2i の位の数を反転させた番号N’を識別番号とする演算処理装置を対応させ,前記データ配列の演算処理結果を識別番号Nの演算処理装置と識別番号N’の演算処理装置の間で相互に送受信する操作iをi=0からi=n−1まで順次行い,j>0なるjに対して,操作jの際に識別番号N,N’の演算処理装置間で各演算処理装置による演算処理結果に加えて操作(j−1)までで得られた演算処理結果を送受信することによりグループG1 内で配列A2 を集結させる第2の工程と,グループG1 からグループG2 の各演算処理装置に配列A1 を,グループG2 からグループG1 の各演算処理装置に配列A2 を送信する第3の工程とを有し,第1の工程と第2の工程を並列に実行した後に第3の工程を行なうことにより(2n +2m )台の演算処理装置においてデータ配列を集結させることを特徴とする並列計算機システム。
  4. 固有の識別子を有する複数の演算処理装置と,これら各演算処理装置に各々対応する個別記憶装置および通信手段とを備えた並列計算機システムにおいて,
    Figure 0003916192
    個の小配列(但し,n1 >n2 >n3 >…>nk ≧0)に分割して
    Figure 0003916192
    台の演算処理装置に分配・演算処理されたデータ配列を再び1つの配列に集結する際に,これらの演算処理装置のうち
    Figure 0003916192
    台をそれぞれグループG1 ,G2 ,…,Gk としてk個のグループに分割するとともに,前記小配列のうち
    Figure 0003916192
    個の小配列をそれぞれ配列A1 ,A2 ,…,Ak としてk個の配列に分割し,このk個の配列とk個のグループG1 ,G2 ,…,Gk とを1対1に対応づけて分配・演算処理を行い,1≦p≦kなる各pに対し,グループGp の(2のnp 乗)台の演算処理装置に識別番号0,1,…を付与し,識別番号Nの演算処理装置に対し2進法で表した識別番号Nの2i の位の数を反転させた番号N’を識別番号とする演算処理装置を対応させ,前記データ配列の演算処理結果を識別番号Nの演算処理装置と識別番号N’の演算処理装置の間で相互に送受信する操作iをi=0からi=n−1まで順次行い,j>0なるjに対して,操作jの際に識別番号N,N’の演算処理装置間で各演算処理装置による演算処理結果に加えて操作(j−1)までで得られた演算処理結果を送受信することによりグループGp 内の演算処理装置でデータ配列Ap を集結させるグループ内工程pを実行し,グループ内工程(k−1)が終了した後,グループGk の演算処理装置から配列Ak の演算結果をグループGk-1 の演算処理装置に送信するグループ間工程kを実行し,次に,グループGp の各演算処理装置に集結された配列Ap の演算結果を,グループGp の演算処理装置からq>pなる全てのqに対しグループGq に属する各演算処理装置に送信するとともに,グループGq の演算処理装置から,グループGp 自身の演算結果である配列Ap 及びグループGp+1 の演算処理装置から受信した配列Ap-1 ,…,Ak の演算結果をグループGp-1 の演算処理装置に送信するグループ間工程pを,p=k−1からp=2までpに関して降順に実行することにより,
    Figure 0003916192
    台の演算処理装置においてデータ配列を集結させることを特徴とする並列計算機システム。
  5. 請求項3または4記載の並列計算機システムを用いて演算処理装置のグループ間でのデータ交換を行う場合,p>qなるp,qについて,2p台の演算処理装置からなるグループGA で集結され共有されているデータ配列Aと,2q 台の演算処理装置からなるグループGB で集結され共有されているデータ配列Bとを,グループGA ,GB 間で相互に送受信する際に,グループGA のなかから選択される2q 台の演算処理装置をグループGB の各演算処理装置と1対1に対応させてグループGB の各演算処理装置にデータ配列Aを送信する操作を並列に実施するとともに,グループGA を,それぞれが2p-q 台の演算処理装置からなる小グループα1 ,α2 ,…,αr (r=2q )に分割して,各々の小グループとグループGB のr台の各演算処理装置とを1対1に対応させ,小グループαi のなかから選択される1台の演算処理装置に対して,小グループαi に対応するグループGB の演算処理装置からデータ配列Bを送信した後,小グループαi の演算処理装置間でデータ配列Bを送受信する操作iを,1≦i≦rなるiに関して並列に実行するすることにより,2p 台の演算処理装置と2q 台の演算処理装置にデータ配列Aとデータ配列Bを共有させることを特徴とする並列計算機システム。
  6. 請求項1乃至5のいずれか記載の並列計算機システムを用いて2台の演算処理装置間でデータを交換する工程は,演算処理装置の識別番号の大きい方から小さい方にデータを送る第1の送信工程と,演算処理装置の識別番号の小さい方から大きい方にデータを送る第2の送信工程とからなり,この第1の送信工程と第2の送信工程のうちから選択される1工程を先に行った後,続いて他の1工程を行うことを特徴とする並列演算機システムの演算処理装置間の通信方法。
JP18884098A 1998-07-03 1998-07-03 並列計算機システム及びその演算処理装置間の通信方法 Expired - Fee Related JP3916192B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18884098A JP3916192B2 (ja) 1998-07-03 1998-07-03 並列計算機システム及びその演算処理装置間の通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18884098A JP3916192B2 (ja) 1998-07-03 1998-07-03 並列計算機システム及びその演算処理装置間の通信方法

Publications (2)

Publication Number Publication Date
JP2000020501A JP2000020501A (ja) 2000-01-21
JP3916192B2 true JP3916192B2 (ja) 2007-05-16

Family

ID=16230770

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18884098A Expired - Fee Related JP3916192B2 (ja) 1998-07-03 1998-07-03 並列計算機システム及びその演算処理装置間の通信方法

Country Status (1)

Country Link
JP (1) JP3916192B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2005003995A1 (ja) * 2003-06-23 2006-11-30 独立行政法人情報通信研究機構 データ配置方法及び装置
JP4612546B2 (ja) * 2003-09-22 2011-01-12 日本電気株式会社 並列計算方法及び装置
JP4546413B2 (ja) 2006-03-17 2010-09-15 富士通株式会社 並列計算機のリダクション処理方法及び並列計算機
JP5527416B2 (ja) * 2010-08-25 2014-06-18 富士通株式会社 ネットワーク評価装置、ネットワーク評価方法及びネットワーク評価プログラム
JP6874564B2 (ja) 2017-06-27 2021-05-19 富士通株式会社 情報処理システム、管理装置及びプログラム
JP6911619B2 (ja) 2017-08-02 2021-07-28 富士通株式会社 情報処理システム及び情報処理方法
JP7230683B2 (ja) * 2019-05-21 2023-03-01 富士通株式会社 演算処理装置、プログラム、及び演算処理装置の制御方法

Also Published As

Publication number Publication date
JP2000020501A (ja) 2000-01-21

Similar Documents

Publication Publication Date Title
US9529590B2 (en) Processor for large graph algorithm computations and matrix operations
Wang et al. Matrix multiplication on the OTIS-mesh optoelectronic computer
Nassimi et al. Bitonic sort on a mesh-connected parallel computer
EP0942377A1 (en) Method for performing all-to-all communication in parallel computers
US20030033500A1 (en) Method and apparatus for interleaved exchange in a network mesh
US11520853B2 (en) Mapping convolution to a partition channel convolution engine
CN110728364A (zh) 一种运算装置和运算方法
JP3916192B2 (ja) 並列計算機システム及びその演算処理装置間の通信方法
CN108509592A (zh) 基于Redis的数据存储方法、读取方法及装置
CN113496279A (zh) 使用点对点连接的通道卷积引擎的分组卷积
Gupta et al. A scalable parallel algorithm for sparse matrix factorization
JP3519489B2 (ja) 演算処理装置間の並列通信方法
Yamazaki et al. On techniques to improve robustness and scalability of the Schur complement method
JP2000298658A (ja) 並列処理方法および並列処理装置
JP2003067354A (ja) 並列計算機システム及びプロセッサ間通信処理方法
US5513364A (en) Data transfer device and multiprocessor system
JP3653841B2 (ja) 問題領域分割・割り当て方法
Chakrabarti et al. VLSI architectures for multidimensional transforms
CN111462514B (zh) 自动驾驶控制方法和相关装置
Olariu et al. Data movement techniques on reconfigurable meshes, with applications
Symvonis Optimal algorithms for packet routing on trees
Cheng et al. VLSI systems for band matrix multiplication
Horiguchi et al. A parallel algorithm for finding the maximum value
CN108833048B (zh) 一种严格相关约束光正交签名图形码的构造方法
CN117332809A (zh) 神经网络推理芯片、方法及终端设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040601

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050414

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061010

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061211

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070205

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

Free format text: PAYMENT UNTIL: 20100216

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110216

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120216

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120216

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130216

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140216

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees