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

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

Info

Publication number
JP2000020501A
JP2000020501A JP10188840A JP18884098A JP2000020501A JP 2000020501 A JP2000020501 A JP 2000020501A JP 10188840 A JP10188840 A JP 10188840A JP 18884098 A JP18884098 A JP 18884098A JP 2000020501 A JP2000020501 A JP 2000020501A
Authority
JP
Japan
Prior art keywords
arithmetic processing
processing unit
group
data
identification number
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
Application number
JP10188840A
Other languages
English (en)
Other versions
JP3916192B2 (ja
Inventor
Mikio Uematsu
幹夫 上松
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

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 並列計算機の各演算処理装置で分散処理され
たデータを効率的に集結する。 【解決手段】 識別番号0,1,…,2n −1が付与さ
れた2n 台の演算処理装置と個別記憶装置及び通信手段
を備えた並列計算機システムで,2n 個の小配列に分割
して各演算処理装置に分配/演算処理されたデータ配列
を1つの配列に集結する際に,識別番号Nに対し2進法
で表した識別番号Nの2i の位の数を反転させた番号
N’を対応させ,識別番号Nの演算処理装置と識別番号
N’の演算処理装置の間でデータ配列の演算処理結果を
相互に送受信する操作iをi=0からi=n−1まで順
次行う。この際,j>0なるjに対しては,操作iの際
に,識別番号N,N’の演算処理装置間で各演算処理装
置による演算処理結果に加えて操作(j−1)までで得
られた演算処理結果を送受信する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は,通信手段および個
別記憶装置を備えた多数の演算処理装置からなり,特に
並列計算を目的とした並列計算機システム及びその演算
処理装置の通信方法に関する。
【0002】
【従来の技術】原子力施設をはじめとする大規模な施設
の設計においては,例えば遮蔽設計などにおける放射線
挙動計算,炉心設計における炉心性能予測解析などの大
規模な計算がかなりの頻度で要求される。この要求に応
えるためには大幅な計算速度の向上が必要である。この
ため最近では,通信手段と個別の記憶装置を備えた多数
の演算処理装置を用いて,1台の演算処理装置しか持た
ない計算機を使用していたのでは得られないような高速
度で,解析を行うことが考案されている。
【0003】例えば炉心設計であれば,原子炉の炉心を
複数の燃料集合体からなる幾つかのセグメントに分割
し,それぞれのセグメントを1つの演算処理装置に対応
させて,出力計算と熱水力計算を各々の演算処理装置で
並列に計算させる。セグメント間での中性子束の流出入
およびチャンネル間の冷却材の圧力バランスを解析する
際には,前記通信手段によりセグメント境界の中性子
束,各チャンネルの圧力損失のデータを演算処理装置間
でやり取りすることで,空間的に連続した解析が行われ
る。
【0004】また,遮蔽設計であれば,例えば原子炉の
炉心,冷却材,遮蔽体などを含む全体系を幾つかの小領
域に分割し,それぞれの小領域を1つの演算処理装置に
対応させて,放射線束分布計算を各々の演算処理装置で
並列に計算させる。小領域間での中性子束の流出入を解
析する際には,前記通信手段により小領域境界の中性子
束のデータを演算処理装置間でやり取りすることで,空
間的に連続した解析が行われる。
【0005】
【発明が解決しようとする課題】複数の演算処理装置を
用いて並列に計算を行わせる際に,演算処理装置間の通
信を行うことなく全く独立に計算を進めることができる
例はまれであり,通常は演算処理装置間の通信を行いな
がら計算を進める。たとえば,4行4列の行列A,Bの
掛け算を4台の演算処理装置で実施して4行4列の行列
Cを求める場合を考える。A,B,Cの要素をそれぞれ
IJ,bIJ,cIJで以下のように表記する。
【0006】
【数6】 このとき,4台の演算処理装置のうちの1台においては
例えば,
【0007】
【数7】 のように計算が行われる。
【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】よって,データ移動量と通信回数がともに
最適化された,あらゆる条件に対して適用可能な一般化
された手法が必要である。本発明は,このような点を考
慮してなされたもので,通信によるデータの授受を並列
に行えるようにすることで,演算処理装置間の通信回数
およびデータの授受の際の待ち時間を最小限に抑えて高
速化を図ることができる並列計算機システム及びその演
算処理装置間の通信方法を提供することを目的とする。
【0021】
【課題を解決するための手段】上記目的を達成するた
め,本発明の請求項1記載の発明は,固有の識別子を有
する少なくとも2n 台の演算処理装置と,これら各演算
処理装置に各々対応する個別記憶装置および通信手段と
を備え,この通信手段により各演算処理装置間でデータ
の授受を行う並列計算機システムにおいて,2n 個の小
配列に分割して2n 台の演算処理装置に分配され各演算
処理装置で演算処理されたデータ配列を再び1つの配列
に集結する際に,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)までで得られた演算処理結
果を送受信することにより2n 台の演算処理装置間でn
回の操作でデータ配列を集結させることを特徴とする。
【0022】また,請求項2記載の発明は,固有の識別
子を有する(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】また,請求項3記載の発明は,固有の識別
子を有する(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】また,請求項4記載の発明は,n>mなる
n,mについて,固有の識別子を有する(2n +2m
台の演算処理装置と,これら各演算処理装置に各々対応
する個別記憶装置および通信手段とを備え,この通信手
段により各演算処理装置間でデータの授受を行う並列計
算機システムにおいて,(2n +2m )個の小配列に分
割して(2n +2m )台の演算処理装置に分配・演算処
理されたデータ配列を再び1つの配列に集結する際に,
前記(2n +2m )台の演算処理装置を2n 台からなる
グループG1 と2m 台からなるグループG2 に分割し,
また前記データ配列を初めの2n 個の小配列からなる配
列A1 とその後の2m 個の小配列からなる配列A2 の2
つに分割し,この配列A1 ,A2 をそれぞれグループG
1 ,G2 と対応づけて分配,演算処理を行い,グループ
1 の2n 台の演算処理装置に識別番号0,1,…,2
n −1を付与し,識別番号Nの演算処理装置に対し2進
法で表した識別番号Nの2i の位の数を反転させた番号
N’を識別番号とする演算処理装置を対応させ,前記デ
ータ配列の演算処理結果を識別番号Nの演算処理装置と
識別番号N’の演算処理装置の間で相互に送受信する操
作iをi=0からi=n−1まで順次行い,j>0なる
jに対して,操作jの際に識別番号N,N’の演算処理
装置間で各演算処理装置による演算処理結果に加えて操
作(j−1)までで得られた演算処理結果を送受信する
ことによりグループG1 内でデータ配列を集結させる第
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 内でデー
タ配列を集結させる第2の工程と,グループG1 からグ
ループG2 の各演算処理装置に配列A1 を,グループG
2 からグループG1 の各演算処理装置に配列A2 を送信
する第3の工程とを有し,第1の工程と第2の工程を並
列に実行した後に第3の工程を行なうことにより(2n
+2m )台の演算処理装置においてデータ配列を集結さ
せることを特徴とする。
【0025】また,請求項5記載の発明は,固有の識別
子を有する複数の演算処理装置と,これら各演算処理装
置に各々対応する個別記憶装置および通信手段とを備え
た並列計算機システムにおいて,
【数8】 個の小配列(但し,n1 >n2 >n3 >…>nk ≧0)
に分割して
【数9】 台の演算処理装置に分配・演算処理されたデータ配列を
再び1つの配列に集結する際に,これらの演算処理装置
のうち
【数10】 台をそれぞれグループG1 ,G2 ,…,Gk としてk個
のグループに分割するとともに,前記小配列のうち
【0026】
【数11】 個の小配列をそれぞれ配列A1 ,A2 ,…,Ak として
k個の配列に分割し,このk個の配列とk個のグループ
1 ,G2 ,…,Gk とを1対1に対応づけて分配,演
算処理を行い,1≦p≦kなる各pに対し,グループG
p の(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 内の演算処理装置でデータ配列
p を集結させるグループ内工程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】 台の演算処理装置においてデータ配列を集結させること
を特徴とする。
【0028】なお,この際には,k個のグループ内工程
1,2,…,kを並列に実行し,1≦s≦k−1なるs
に対して,グループ内工程sが終了した時点で順次グル
ープ間工程(s+1)を実行することで、全体の通信に
要する時間をさらに短縮することができる。
【0029】また,請求項6記載の発明は,請求項4ま
たは5記載の並列計算機システムを用いて演算処理装置
のグループ間でのデータ交換を行う場合,2p 台の演算
処理装置からなるグループGA で集結され共有されてい
るデータ配列Aと,2q 台の演算処理装置(p>q)か
らなるグループ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】また,請求項7記載の発明は,請求項1乃
至6のいずれか記載の並列計算機システムを用いて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, 0
10,011, 100, 101, 110, 111 となる。8×n個のデー
タからなる配列Aがn個のデータからなる8個の小配列
1 ,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=
n と表される場合について考える。この状態から,演
算処理装置間の通信によって演算処理装置全部が配列全
体についてデータを把握している状況を作り出すのにか
かる時間について考察する。一般にデータを送信するの
に要する時間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】 である。よって,本発明を適用した場合の全通信時間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 は T1 (K)= A log2 K+M(1−1/K)B …………… (3) となる。
【0042】代表演算処理装置から各演算処理装置にデ
ータを配布する際のステップ数はlog2 Kで,演算処理
装置あたり通信回数も最大で log2 K回である。ただ
し,各ステップ毎にM[word]のデータが送信される。よ
って,各演算処理装置にデータを配布する際にかかる時
間T2 は T2 (K)= A log2 K+(M log2 K)B ……………… (4) となる。したがって,全通信時間T0 =T1 +T2 は T0 (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でデータ
交換を次の手順で行う。 [1] 演算処理装置4→演算処理装置0,演算処理装置5
→演算処理装置2を同時並列に実施。(図6の第3ステ
ップに相当。) [2] 演算処理装置1→演算処理装置4,演算処理装置3
→演算処理装置5を同時並列に実施。(図6の第4ステ
ップに相当。) [3] 演算処理装置0→演算処理装置1,演算処理装置2
→演算処理装置3を同時並列に実施。(図6の第5ステ
ップに相当。) この方法により,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でデータ
交換を次の手順で行う。 [1'] 演算処理装置8→演算処理装置0,演算処理装置
9→演算処理装置4を同時並列に実施。(図7の第4ス
テップに相当。) [2'] 演算処理装置3→演算処理装置8,演算処理装置
7→演算処理装置9,演算処理装置0→演算処理装置
2,演算処理装置4→演算処理装置6を同時並列に実
施。(図7の第5ステップに相当。) [3'] 演算処理装置0→演算処理装置1,演算処理装置
4→演算処理装置5,演算処理装置2→演算処理装置
3,演算処理装置6→演算処理装置7を同時並列に実
施。(図7の第6ステップに相当。)
【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つの小グループに分割する。すなわち, グループ1の小グループ1; 演算処理装置0,1,2,3 小グループ2; 演算処理装置4,5,6,7 小グループ3; 演算処理装置8,9,10,11 小グループ4; 演算処理装置12,13,14,15 とする。
【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個の整数 n1 ,n2 ,n3 ,…,nk (但し,n1 >n2 >n3
>…>nk ≧0) を用いて,並列計算機システムの演算処理装置の台数を
【0071】
【数14】 と表す。また,データ配列をこの台数と同数の小配列に
分割し,各演算処理装置に分割して演算処理を行なうも
のとする。並列計算機システムの演算処理装置のうち,
【0072】
【数15】 台をそれぞれグループG1 ,G2 ,…,Gk として,並
列計算機システムの演算処理装置をk個のグループに分
割する。同様にデータ配列の小配列の
【0073】
【数16】 個をそれぞれ配列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 の演算処理装置から,グループG
p+1 ,…,Gk に属する全ての演算処理装置に送信す
る。すなわち,グループGp に属する(2のnp 乗)台
の演算処理装置のうち
【0077】
【数17】 台を選択して,これら選択された演算処理装置とグルー
プGp+1 ,…,Gk に属する演算処理装置とを1対1に
対応させ,グループGp からグループGp+1 ,…,Gk
への配列Ap のデータ送信を行う。次に,グループG
p+1 からグループGp へのデータの送信を行う。(2の
p 乗)台の演算処理装置からなるグループGp を,そ
れぞれが
【0078】
【数18】 台の演算処理装置からなる小グループα1 ,…,αr
分割する。この小グループの数rは,
【0079】
【数19】 である。ここで,グループ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の場合,演算処理装置
i から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 (7)

    【特許請求の範囲】
  1. 【請求項1】 固有の識別子を有する少なくとも2n
    の演算処理装置と,これら各演算処理装置に各々対応す
    る個別記憶装置および通信手段とを備え,この通信手段
    により各演算処理装置間でデータの授受を行う並列計算
    機システムにおいて,2n 個の小配列に分割して2n
    の演算処理装置に分配され各演算処理装置で演算処理さ
    れたデータ配列を再び1つの配列に集結する際に,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)までで得られた演算処理結果を送受信するこ
    とにより2n 台の演算処理装置間でn回の操作でデータ
    配列を集結させることを特徴とする並列計算機システ
    ム。
  2. 【請求項2】 固有の識別子を有する(2m +k)台の
    演算処理装置と,これら各演算処理装置に各々対応する
    個別記憶装置および通信手段とを備え,この通信手段に
    より各演算処理装置間でデータの授受を行う並列計算機
    システムにおいて,(2m +k)個の小配列に分割して
    (2m +k)台の演算処理装置に分配・演算処理された
    データ配列を再び1つの配列に集結する際に,前記(2
    m +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)回の操作でデータ配列を集結させる
    ことを特徴とする並列計算機システム。
  3. 【請求項3】 固有の識別子を有する(2m +k)台の
    演算処理装置と,これら各演算処理装置に各々対応する
    個別記憶装置および通信手段とを備え,この通信手段に
    より各演算処理装置間でデータの授受を行う並列計算機
    システムにおいて,(2m +k)個の小配列に分割して
    (2m +k)台の演算処理装置に分配・演算処理された
    データ配列を再び1つの配列に集結する際に,この(2
    m +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)回の操作でデ
    ータ配列を集結させることを特徴とする並列計算機シス
    テム。
  4. 【請求項4】 n>mなるn,mについて,固有の識別
    子を有する(2n +2m )台の演算処理装置と,これら
    各演算処理装置に各々対応する個別記憶装置および通信
    手段とを備え,この通信手段により各演算処理装置間で
    データの授受を行う並列計算機システムにおいて,(2
    n +2m )個の小配列に分割して(2n +2m )台の演
    算処理装置に分配・演算処理されたデータ配列を再び1
    つの配列に集結する際に,前記(2n +2m )台の演算
    処理装置を2n 台からなるグループG1 と2m 台からな
    るグループG2 に分割し,また前記データ配列を初めの
    n 個の小配列からなる配列A1 とその後の2m 個の小
    配列からなる配列A2 の2つに分割し,この配列A1
    2 をそれぞれグループ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 の2
    m 台の演算処理装置に識別番号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 )台の演算処理装置にお
    いてデータ配列を集結させることを特徴とする並列計算
    機システム。
  5. 【請求項5】 固有の識別子を有する複数の演算処理装
    置と,これら各演算処理装置に各々対応する個別記憶装
    置および通信手段とを備えた並列計算機システムにおい
    て, 【数1】 個の小配列(但し,n1 >n2 >n3 >…>nk ≧0)
    に分割して 【数2】 台の演算処理装置に分配・演算処理されたデータ配列を
    再び1つの配列に集結する際に,これらの演算処理装置
    のうち 【数3】 台をそれぞれグループG1 ,G2 ,…,Gk としてk個
    のグループに分割するとともに,前記小配列のうち 【数4】 個の小配列をそれぞれ配列A1 ,A2 ,…,Ak として
    k個の配列に分割し,このk個の配列とk個のグループ
    1 ,G2 ,…,Gk とを1対1に対応づけて分配・演
    算処理を行い,1≦p≦kなる各pに対し,グループG
    p の(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 内の演算処理装置でデータ配列
    p を集結させるグループ内工程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に関して降順に実行することにより, 【数5】 台の演算処理装置においてデータ配列を集結させること
    を特徴とする並列計算機システム。
  6. 【請求項6】 請求項4または5記載の並列計算機シス
    テムを用いて演算処理装置のグループ間でのデータ交換
    を行う場合,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を共有
    させることを特徴とする並列計算機システム。
  7. 【請求項7】 請求項1乃至6のいずれか記載の並列計
    算機システムを用いて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 true JP2000020501A (ja) 2000-01-21
JP3916192B2 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)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005003995A1 (ja) * 2003-06-23 2005-01-13 National Institute Of Information And Communications Technology データ配置方法及び装置
WO2005029352A1 (ja) * 2003-09-22 2005-03-31 Nec Corporation 並列計算方法及び装置
US7756144B2 (en) 2006-03-17 2010-07-13 Fujitsu Limited Reduction processing method for parallel computer, and parallel computer
WO2012025959A1 (ja) * 2010-08-25 2012-03-01 富士通株式会社 ネットワーク評価装置、ネットワーク評価方法及びネットワーク評価プログラム
US10594626B2 (en) 2017-06-27 2020-03-17 Fujitsu Limited Information processing system and management apparatus
US10721127B2 (en) 2017-08-02 2020-07-21 Fujitsu Limited Communication system and communication method
CN111984399A (zh) * 2019-05-21 2020-11-24 富士通株式会社 运算处理设备及其控制方法以及用于存储程序的存储介质

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2005003995A1 (ja) * 2003-06-23 2006-11-30 独立行政法人情報通信研究機構 データ配置方法及び装置
WO2005003995A1 (ja) * 2003-06-23 2005-01-13 National Institute Of Information And Communications Technology データ配置方法及び装置
US7885796B2 (en) 2003-09-22 2011-02-08 Nec Soft, Ltd. Parallel calculation method and device
JPWO2005029352A1 (ja) * 2003-09-22 2006-11-30 日本電気株式会社 並列計算方法及び装置
JP4612546B2 (ja) * 2003-09-22 2011-01-12 日本電気株式会社 並列計算方法及び装置
WO2005029352A1 (ja) * 2003-09-22 2005-03-31 Nec Corporation 並列計算方法及び装置
US7756144B2 (en) 2006-03-17 2010-07-13 Fujitsu Limited Reduction processing method for parallel computer, and parallel computer
WO2012025959A1 (ja) * 2010-08-25 2012-03-01 富士通株式会社 ネットワーク評価装置、ネットワーク評価方法及びネットワーク評価プログラム
US10594626B2 (en) 2017-06-27 2020-03-17 Fujitsu Limited Information processing system and management apparatus
US10721127B2 (en) 2017-08-02 2020-07-21 Fujitsu Limited Communication system and communication method
CN111984399A (zh) * 2019-05-21 2020-11-24 富士通株式会社 运算处理设备及其控制方法以及用于存储程序的存储介质
EP3742294A1 (en) 2019-05-21 2020-11-25 Fujitsu Limited Arithmetic processing apparatus, control method of arithmetic processing apparatus, and program for controlling a computer provided with n nodes capable of communicating with each other
JP2020190894A (ja) * 2019-05-21 2020-11-26 富士通株式会社 演算処理装置、プログラム、及び演算処理装置の制御方法
US11593071B2 (en) 2019-05-21 2023-02-28 Fujitsu Limited Arithmetic processing apparatus, control method of arithmetic processing apparatus, and non-transitory computer-readable storage medium for storing program
JP7230683B2 (ja) 2019-05-21 2023-03-01 富士通株式会社 演算処理装置、プログラム、及び演算処理装置の制御方法

Also Published As

Publication number Publication date
JP3916192B2 (ja) 2007-05-16

Similar Documents

Publication Publication Date Title
US9529590B2 (en) Processor for large graph algorithm computations and matrix operations
Barnett et al. Global combine on mesh architectures with wormhole routing
EP0522488A2 (en) Method of sorting on distributed database system and method of accessing thereto
US20020056023A1 (en) Mesh network with method and apparatus for interleaved binary exchange
Ozfatura et al. Gradient coding with clustering and multi-message communication
Ho et al. Optimizing tridiagonal solvers for alternating direction methods on Boolean cube multiprocessors
Rotem et al. Distributed sorting
CN108509592A (zh) 基于Redis的数据存储方法、读取方法及装置
CN107273339A (zh) 一种任务处理方法及装置
Jain A comprehensive model for the design of distributed computer systems
CN106776461A (zh) 数据处理装置和服务器
JP2000020501A (ja) 並列計算機システム及びその演算処理装置間の通信方法
CN110555512A (zh) 一种二值卷积神经网络数据重用方法及装置
Selvitopi et al. A recursive hypergraph bipartitioning framework for reducing bandwidth and latency costs simultaneously
CN109445850A (zh) 一种基于申威26010处理器的矩阵转置方法及系统
US10013393B2 (en) Parallel computer system, parallel computing method, and program storage medium
CN107918676A (zh) 结构化查询的资源优化方法及数据库查询系统
JP3519489B2 (ja) 演算処理装置間の並列通信方法
JP2000298658A (ja) 並列処理方法および並列処理装置
Yamazaki et al. On techniques to improve robustness and scalability of the Schur complement method
JPH0590141A (ja) 荷電ビーム描画用データ作成装置
KR102373802B1 (ko) 신경망 연산 효율 증대를 위한 신경망 가속기 및 그의 동작 방법
JP2003067354A (ja) 並列計算機システム及びプロセッサ間通信処理方法
CN113159302A (zh) 一种用于可重构神经网络处理器的路由结构
Ali et al. A hybrid membrane computing and honey bee mating algorithm as an intelligent algorithm for channel assignment problem

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