JPH09305551A - 並列計算機システム - Google Patents

並列計算機システム

Info

Publication number
JPH09305551A
JPH09305551A JP8139760A JP13976096A JPH09305551A JP H09305551 A JPH09305551 A JP H09305551A JP 8139760 A JP8139760 A JP 8139760A JP 13976096 A JP13976096 A JP 13976096A JP H09305551 A JPH09305551 A JP H09305551A
Authority
JP
Japan
Prior art keywords
arithmetic processing
data
processing unit
request signal
processing device
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.)
Pending
Application number
JP8139760A
Other languages
English (en)
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 JP8139760A priority Critical patent/JPH09305551A/ja
Priority to US08/852,441 priority patent/US6009262A/en
Publication of JPH09305551A publication Critical patent/JPH09305551A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 データ移動量並びにデータの授受に伴って発
生する操作を最小限に抑えて、並列演算処理の高速化を
効率的に図ることができる並列計算機システムを提供す
ることである。 【解決手段】 下流側領域の演算処理装置が上流側領域
の演算処理装置から境界条件を受信する順序は、最下流
領域の演算処理装置より、順次その上流側の演算処理装
置から境界条件を受信していくようにしたものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の演算処理装
置で並列処理した解析演算結果を主計算機に集めて大規
模な施設の解析演算結果を得るようした並列計算機シス
テムに関する。
【0002】
【従来の技術】複数の演算処理装置で大規模な施設の解
析演算を並列処理するようにした並列計算機システムと
しては、各々の演算処理装置に対し通信手段および個別
の記憶装置を備えたMIMD(Multiple Information M
ultiple Data Stream)方式による並列計算を目的とし
た並列計算機システムがある。
【0003】原子力施設を初めとする大規模な施設の設
計においては、例えば、遮蔽設計などにおける放射線挙
動計算、炉心設計における炉心性能予測解析などの大規
模な計算がかなりの頻度で要求される。この要求に応え
るためには大幅な計算速度の向上が必要である。このた
め最近では、通信手段と個別の記憶装置を備えた多数の
演算処理装置を用いて、高速度で解折を行うことができ
る並列計算機システムが考案されている。これにより、
1台の演算処理装置しか持たない計算機を使用していた
のでは得られないような高速度での解折を可能としてい
る。
【0004】例えば、巨大で複雑な構造を持つ空間を対
象とする微分方程式を求める問題において、全空間を幾
つかの小さな領域に分割してそれぞれを1つの演算処理
装置に分配することにより、各々の演算処理装置におけ
る計算を小形化するとともに単純化することもできる。
このとき、領域と領域の間の連続の条件は、演算処理装
置間で境界条件を授受することで満たされる。MIMD
方式による並列計算の場合、演算処理装置間でなされる
データの授受により、同時にシステム全体としての各々
の演算処理装置における計算の流れを制御する。
【0005】図8は、並列計算機システムの構成例を示
すもので、1台のホストの計算機1(主計算機1)と8
台の演算処理装置2−1〜2−8とで構成されているも
のを示している。主計算機1には記憶装置3と通信手段
4が備えられ、また、各々の演算処理装置には個別記憶
装置5−1〜5−8と通信手段6−1〜6−8がそれぞ
れ備えられている。そして、これらの通信手段は、通信
用ケーブル7で接続されている。
【0006】例えば、主計算機1で読み込んだ入力デー
タ等は通信手段4から通信手段6−1〜6−8を通じて
全演算処理装置2−1〜2−8に送信される。演算処理
装置2−1〜2−8では各々割り当てられた領域の計算
を行い、必要に応じて演算処理装置間の通信によりデー
タの授受を行う。そして、並列処理した各々の演算処理
装置2−1〜2−8の解析演算結果を主計算機1に集め
て大規模な施設の解析演算結果を得るようしている。
【0007】
【発明が解決しようとする課題】ところが、複数個の演
算処理装置を用いて並列に計算を行わせる場合、演算処
理装置間の通信を行うことなく全く独立に計算を進める
ことができる例はまれであり、通常は計算の過程で演算
処理装置間での大量のデータのやり取りが頻繁に行われ
る。
【0008】計算精度を上げるには、例えば、計算上の
空間や時間のメッシュを細かくこととなるが、それに伴
って演算処理装置間でやり取りされるデータ量が増大す
る。また、計算速度を上げるには用いる演算処理装置の
台数を増やすこととなるが、それに伴い、演算処理装置
間の通信頻度が増大する。計算機システムと解かれる問
題の複雑化に伴う演算処理装置間の通信頻度とデータ量
の増加は、時折並列計算の計算速度向上の大きな妨げと
なる。
【0009】計算の1つの過程で1台の演算処理装置2
が他の複数台の演算処理装置2とデータをやり取りする
必要が生じることもある。この場合も、実際には演算処
理装置間の1対1の通信を複数組行うことで処理する。
例えば、演算処理装置2−1が演算処理装置2−2、2
−3の2台から計算結果を受け取る場合は、以下のよう
に行う。 (1)ステップ1 演算処理装置2−2→演算処理装置2−1 (2)ステップ2 演算処理装置2−3→演算処理装置2−1 ただし、これらの操作が順次行われるためには、演算処
理装置2−2では演算処理装置2−3より先に計算が終
了しなければならない。一般に、計算が終わる時刻は予
測できないので、データを受ける側と送る側とで順序が
逆転することも有り得る。混乱を避けるためには、例え
ば、次のように行う。 (1)ステップ1 演算処理装置2−2→演算処理装置2−3 (2)ステップ2 演算処理装置2−3→演算処理装置2−1 ステップ1では演算処理装置2−2の演算が終了した時
点でそのデータを演算処理装置2−3に送信し、ステッ
プ2では、演算処理装置2−3は自己の演算処理装置2
−3のデータだけでなく演算処理装置2−2から受信し
たデータも含めて演算処理装置2−1に送信することに
なる。このようにすると、データの送受信の混乱は避け
られるが演算処理装置2−2のデータに関して余分な通
信処理が必要となる。
【0010】パイプライン(Pipe line)方式の並列計
算では、演算処理装置2−nの解折結果を隣接する演算
処理装置2−(n+1)の解折の初期条件として順次計
算を行う方法を採る。例えば、ある流路を通る流体の熱
伝達の問題では、流路を分割して複数の演算処理装置2
に割り当て、各領域1、2、…の熱伝達問題をそれぞれ
の演算処理装置2−1、2−2、…に解かせることとな
るが、このとき領域nの出口における流体の条件が領域
n+1の入口条件となるので、演算処理装置2−nから
演算処理装置2−(n+1)に対して解析結果の伝達が
行われなければならない。
【0011】この様な境界条件の解析結果(例えば温度
分布、流速分布など)の伝達手順としては、図9に示す
ように、例えば演算処理装置2−1から演算処理装置2
−2、演算処理装置2−2から演算処理装置2−3とい
うように上流側から順次行うことが考えられる。図9中
の番号はデータを受信する順序を示している。
【0012】この場合、物理的意味が同一であっても解
析結果を格納する配列と隣接する演算処理装置からの情
報を格納する配列が同一であってはならない。そこで、
各々の演算処理装置2に受信データ用の配列を別に設
け、受信の際に計算結果を格納する配列が壊れないよう
にする。例えば、隣接する演算処理装置2−(n−1)
からの温度分布Θ(i、j)をバッファB(i、j)に
一旦格納し、演算処理装置2−nにおける計算結果Θ
(i、j)を隣接する演算処理装置2−(n+1)に送
信した後、B(i、i)をΘ(i・j)にコピーする。
【0013】この方法は、データ量が増えるに従い、余
分な計算手順(バッファ配列からのデータ移動)が多く
なるとともに、受信用のメモリが余分に必要となる。
【0014】本発明の目的は、データ移動量並びにデー
タの授受に伴って発生する操作を最小限に抑えて、並列
演算処理の高速化を効率的に図ることができる並列計算
機システムを提供することである。
【0015】
【課題を解決するための手段】請求項1の発明は、大規
模な施設の全空間を幾つかの小さな領域に分割し、その
領域に対しそれぞれ演算処理装置を分配し、隣り合う領
域間の連続の条件は下流側領域の演算処理装置が上流側
領域の演算処理装置から境界条件を受信して取得するよ
うにし、各々の演算処理装置はその境界条件を満たすよ
うに各々の領域の解析演算を並列に行い、並列処理した
各々の演算処理装置の解析演算結果を主計算機に集めて
大規模な施設の解析演算結果を得るようした並列計算機
システムであり、下流側領域の演算処理装置が上流側領
域の演算処理装置から境界条件を受信する順序は、最下
流領域の演算処理装置より、順次その上流側の演算処理
装置から境界条件を受信していくようにしたものであ
る。
【0016】請求項1の発明では、演算処理装置2−1
から演算処理装置2−2、演算処理装置2−2から演算
処理装置2−3、のように各演算処理装置のメモリ上の
配列に格納した計算結果を順次渡しながら並列に計算を
進めていく過程で、すべての演算処理装置2−(n+
1)について、まず、演算処理装置2−nから演算処理
装置2−(n+1)に計算結果を送信し、次に演算処理
装置2−(n−1)から演算処理装置2−nに計算結果
を送信する順序とする。これにより、送信されるデータ
と受信するデータを同一の配列で扱えるようにする。
【0017】請求項2の発明は、大規模な施設の全空間
を幾つかの小さな領域に分割し、その領域に対しそれぞ
れ演算処理装置を分配し、隣り合う領域間の連続の条件
は下流側領域の演算処理装置が上流側領域の演算処理装
置から境界条件を受信して取得するようにし、各々の演
算処理装置はその境界条件を満たすように各々の領域の
解析演算を並列に行い、並列処理した各々の演算処理装
置の解析演算結果を主計算機に集めて大規模な施設の解
析演算結果を得るようした並列計算機システムであり、
演算処理装置間のデータ伝送は、データ受信側の演算処
理装置からデータ送信側の演算処理装置にデータ要求信
号を出力し、そのデータ要求信号をデータ送信側の演算
処理装置が受信した後に、データ受信側の演算処理装置
に対しデータを送信するようにしたのものである。
【0018】請求項2の発明では、演算処理装置2−n
から演算処理装置2−mにデータを送信する際に、演算
処理装置2−mから演算処理装置2−nにデータを要求
するデータ要求信号を送信し、演算処理装置2−nがデ
ータ要求信号を受信した後に、演算処理装置2−mから
演算処理装置2−nにデータを送信する。
【0019】請求項3の発明は、請求項1の発明におい
て、下流側領域の演算処理装置が上流側領域の演算処理
装置から境界条件を受信する際には、下流側領域の演算
処理装置から上流側領域の演算処理装置に予めデータ要
求信号を出力し、そのデータ要求信号を上流側領域の演
算処理装置が受信した後に、下流側領域の演算処理装置
に対しデータを送信するようにしたものである。
【0020】請求項3の発明では、請求項1の発明の作
用に加え、演算処理装置2−nから演算処理装置2−
(n+1)に計算結果を送信する際に、予め演算処理装
置2−(n+1)から演算処理装置2−nにデータ要求
信号を送信する。
【0021】請求項4の発明は、請求項1の発明におい
て、主計算機が各々の演算処理装置からデータを受信す
る際には、主計算機から予め定めた順序で各々の演算処
理装置にデータ要求信号を出力し、各々の演算処理装置
はデータ要求信号を受信した後に主計算機にデータを送
信するようにしたものである。
【0022】請求項4の発明では、請求項1の発明の作
用に加え、複数個の演算処理装置から主計算機にデータ
を送信する際に、主計算機で予め定めた順序(n=1、
2、3…)に従い、主計算機から演算処理装置2−nに
データ要求信号を送信し、次に演算処理装置2−nから
主計算機にデータを送信する手順を順次行う。これによ
り、複数個の演算処理装置から主計算機にデータを混乱
なく収集する。
【0023】請求項5の発明は、請求項1の発明におい
て、主計算機が各々の演算処理装置からデータを受信す
る際には、主計算機から予め定めた1つの演算処理装置
にデータ要求信号を出力し、そのデータ要求信号を受信
した演算処理装置は主計算機にデータを送信すると共に
予め定めた別の演算処理装置にデータ要求信号を出力
し、順次データ要求信号を受信した演算処理装置は主計
算機にデータを送信すると共にデータ送信が完了してい
ない演算処理装置にデータ要求信号を出力するようにし
たものである。
【0024】請求項5の発明では、請求項1の発明の作
用に加え、複数個の演算処理装置から主計算機にデータ
を送信する際に、主計算機で予め定めた順序(n=1、
2、3、…)に従い、演算処理装置2−nが演算処理装
置2−(n−1)からデータ要求信号を受けた後、主計
算機にデータを送信し、演算処理装置n+1にデータ要
求信号を送信する手順を順次行う。これにより、複数個
の演算処理装置から主計算機にデータを収集する。
【0025】請求頃6の発明は、請求項1の発明におい
て、演算処理装置が他の各々の演算処理装置からデータ
を受信する際には、演算処理装置から予め定めた順序で
他の各々の演算処理装置にデータ要求信号を出力し、他
の各々の演算処理装置はデータ要求信号を受信した後に
演算処理装置にデータを送信するようにしたものであ
る。
【0026】請求頃6の発明では、演算処理装置2−n
から他の演算処理装置2−mにデータを送信する際に、
予め定めた順序(n=1、2、3、…)に従い、演算処
理装置2−mから演算処理装置2−nにデータ要求信号
を送信し、次に演算処理装置2−nから演算処理装置2
−mにデータを送信する手順を順次行う。これにより、
演算処理装置2−nから演算処理装置2−mにデータを
収集する。
【0027】請求項7の発明は、請求項1の発明におい
て、演算処理装置が他の各々の演算処理装置からデータ
を受信する際には、データを受信する演算処理装置から
予め定めた他の演算処理装置にデータ要求信号を出力
し、そのデータ要求信号を受信した他の演算処理装置は
演算処理装置にデータを送信すると共に予め定めた別の
他の演算処理装置にデータ要求信号を出力し、順次デー
タ送信号を受信した他の演算処理装置はデータを受信す
る演算処理装置にデータを送信すると共にデータ送信が
完了していない他の演算処理装置にデータ要求信号を出
力するようにしたものである。
【0028】請求項7の発明では、演算処理装置2−n
から他の演算処理装置2−mにデータを送信する際に、
予め定めた順序(n=1、2、3、…)に従い、演算処
理装置2−nが演算処理装置2−(n−1)からデータ
要求信号を受けた後、演算処理装置2−mにデータを送
信し、演算処理装置2−(n+1)にデータ要求信号を
送信する手順を順次行う。これにより、演算処理装置2
−nから演算処理装置2−mにデータを収集する。
【0029】
【発明の実施の形態】以下、本発明の実施の形態を説明
する。図1は、本発明の第1の実施の形態を示す構成図
である。この第1の実施の形態は、下流側領域の演算処
理装置が上流側領域の演算処理装置から境界条件を受信
する順序は、最下流領域の演算処理装置より、順次その
上流側の演算処理装置から境界条件を受信していくよう
にしたものである。図1中の番号はデータを受信する順
序を示している。
【0030】以下、パイプライン方式による流路内での
流体の熱伝達解析を例にして説明する。この例では、流
路を演算処理装置の数Nに応じて例えばN個の領域に分
割し、それぞれを1台の演算処理装置に割り当てる。領
域番号を流路の入口側から1、2、3、…Nとし、対応
する演算処理装置の番号を同様に2−1、2−2、2−
3、…Nとする。計算の手順は以下のようになる。 (1)ステップ1 各領域ごとに流れに沿った流体の変化(温度、エンタル
ピ等)を各演算処理装置で一斉に計算する。 (2)ステップ2 演算処理装置間で境界条件のやり取りを行う。第m領域
(1≦m≦N)の出口における計算結果は第(m+1)
領域の入り口における流体条件、即ち次のステップにお
ける初期条件となる。ここでは演算処理装置mから演算
処理装置m+1へのデータ送信を順次行う。 (3)ステップ3 隣接する演算処理装置{例えば演算処理装置2−mの場
合は演算処理装置2−(m−1)}から受けとった境界
条件を初期値として次の熱伝達解析を一斉に行う。
【0031】ここで、ステップ2におけるデータ送信は
従来の方法では、次の手順となる。まず、最上流に対応
する演算処理装置2−1から計算結果(例えば温度分布
などで、配列X(I)に格納されているものとする)を
下流側の演算処理装置2−2に送る。この段階で配列X
(I)には演算処理装置2−2自身の結果が格納されて
いるので、データ受信用に使うことはできない。そこ
で、演算処理装置2−2では配列X(I)ではなく、バ
ッファ用配列B(I)にデータを受ける。そして、配列
X(I)の結果をさらに下流側の演算処理装置2−3に
送った後、バッファ用配列B(I)の内容を配列X
(I)に移す。
【0032】図9に示すように、この手順を上流側から
下流側の順に順次行うことで、ステップ2の操作が完了
する。本方式の欠点はバッファ用配列B(I)が必要で
あることと、配列B(I)のデータ配列X(I)に移す
操作があることの2点である。
【0033】そこで、本発明による第1の実施の形態で
は、データの授受を下流側から行う。すなわち、最初に
演算処理装置N−1から最下流に対応する演算処理装置
Nに計算結果を送る。次に演算処理装置N−1が隣接す
る演算処理装置N−2から計算結果を受信する。図1に
示す演算処理装置が4個の場合では、最初に演算処理装
置2−3から最下流に対応する演算処理装置2−4に計
算結果を送る。次に演算処理装置2−3が隣接する演算
処理装置2−2から計算結果を受信する。そして、最後
に、演算処理装置2−2が隣接する演算処理装置2−1
から計算結果を受信する。
【0034】このとき、演算処理装置N−1では、計算
結果の下流側への転送が既に終了しているので、配列X
(I)を受信用に用いても問題はない。データの授受を
下流側から行うようにすれば、バッファ用配列B(I)
は不要になり、従って配列B(I)から配列X(I)に
データを移す必要もなくなる。
【0035】次に、本発明の第2の実施の形態を説明す
る。第2の実施の形態は、各々の演算処理装置から他の
演算処理装置にデータを送信する際に、データを受信す
る演算処理装置からデータを送信する演算処理装置にデ
ータを要求するデータ要求信号を送信し、データ要求信
号を受信した後に、データを送信するようにしたもので
ある。
【0036】この第2の実施の形態は、例えば演算処理
装置2−mから演算処理装置2−(m+1)にデータを
送信するという、並列計算において通常に行われる従来
の操作法に対し、予め演算処理装置2−(m+1)から
演算処理装置2−mにデータ要求信号を出すことで通信
の混乱を避けようとするものである。並列計算において
は、各演算処理装置2が同様に動作するようにプログラ
ムが組まれていることが多い。この場合、演算処理装置
2−mから演算処理装置2−(m+1)にデータを送る
際に、演算処理装置2−(m+1)も同様に演算処理装
置2−(m+2)にデータを送ろうとしている状況に置
かれている状態が発生し得る。演算処理装置2−(m+
1)が演算処理装置2−mより先に計算が終了するよう
になっていればデータはスムーズに流れるが、逆の場合
に通信の衝突が発生する。
【0037】図10は、従来の操作法で演算処理装置2
−mから演算処理装置2−(m+1)にデータを送信す
る場合に発生する通信の衝突を図解したものである。演
算処理装置2−(m+1)はデータ送信操作8bの開始
時点において、演算処理装置2−mのデータ送信操作8
aが開始されており、演算処理装置2−mからのデータ
送信要求9を受けなければならない状況に置かれている
ものを示している。この様な状況に置いては、送信と受
信とが衝突しているので、演算処理装置2−mは送信も
受信もできない状態となってしまう。このような通信の
混乱を避けるには、演算処理装置2−(m+1)の側で
演算処理装置2−mからデータが来る時刻を予測して、
データの授受が混乱なく行われるようプログラムを組ま
なければならない。時刻の予測は現実的には不可能に近
い。
【0038】そこで、第2の実施の形態では、演算処理
装置2−(m+1)側でデータを受ける時刻を指定する
方法を採る。これがデータ要求信号である。データ要求
信号を出した時点で演算処理装置2−mの計算が終了し
ていれば(このとき演算処理装置2−mはデータ要求信
号待ちで待機している)、演算処理装置2−mはその信
号を受けて直ちにデータ送信操作に入ることとなる。演
算処理装置2−mの計算が未終了であれば、演算処理装
置2−(m+1)がデータ要求信号を出した状態で、演
算処理装置2−mの計算が終わって結果を送信して来る
まで待機すればよい。つまり、データ要求信号を受信す
る側から送る操作を入れることで、通信の混乱は避けら
れる。
【0039】次に、本発明の第3の実施の形態を説明す
る。図2は本発明の第3の実施の形態を示す構成図であ
る。この第3の実施の形態は、第1の実施の形態と第2
の実施の形態とを組み合わせたものである。すなわち、
下流側領域の演算処理装置が上流側領域の演算処理装置
から境界条件を受信する際には、下流側領域の演算処理
装置から上流側領域の演算処理装置に予めデータ要求信
号を出力し、そのデータ要求信号を上流側領域の演算処
理装置が受信した後に、下流側領域の演算処理装置に対
しデータを送信するようにしたものである。図3の点線
はデータの流れを示し、また実線はデータ要求信号を示
す。また、番号はデータ又はデータ要求信号を受信する
順序を示している。
【0040】第3の実施の形態について、上述のパイプ
ライン方式による熱伝達解析例を用いて以下に説明す
る。上述の例では、まず各演算処理装置2により、それ
ぞれの割り当てられた領域での解析が一斉に行われる。
このとき、計算が下流側から順次終了するようになって
いれば、次のステップに於けるデータの伝達も下流側か
ら順次行うことができるので全体としての計算がスムー
ズに行われる。
【0041】ところが、実際には解析が終了する順序は
不確定である。例えば、演算処理装置2−m(1≦m<
N)で最初に解析が終了したと仮定する。演算処理装置
2−mは演算処理装置2−(m+1)に結果を送ろうと
するが演算処理装置2−(m+1)が解折続行中である
ため、送信待ちの状態に入る。そのうち演算処理装置2
−(m+1)が解析を終了し、演算処理装置2−(m+
2)に結果を送信しようとするが、演算処理装置2−
(m+1)に対する全システムとしての要求は解析結果
の受信であって送信ではない。
【0042】そうすると、演算処理装置2−(m+1)
はデータの送受信が共に不能となって機能を停止する。
他方、反対側の演算処理装置2−(m−1)が計算を終
えて演算処理装置2−mに解析結果を送信しようとする
が、演算処理装置2−m自身が送信待ちの状態であるた
め、送信ができない。このようにして通信異常が順次伝
播して結局並列計算機システムは無期限の停止状態に入
ってしまう。
【0043】このような状態を防ぐ方法の1つに、同期
をとって時間の調整を図るようにしたものがある。つま
り、適切な遅延を演算処理装置2ごとに設定すれば、図
11に示すように通信の混乱は避けられる。図11に示
すように、各々の演算処理装置2の計算終了時刻11
は、区々であるが最後に計算を終了した計算時刻11に
合わせて同期信号13を発生させる。そして、最も上流
側の演算処理装置から、順次下流側の演算処理装置にデ
ータ送信15を行うことになる。
【0044】そうした場合、図11に示すように、計算
時間10に対して、同期信号までの待機時間12及び送
信までの待機時間14を加算した時間が処理時間とな
る。図11中の16は時間の流れ方向を示している。こ
のように、同期をとることで、全ての演算処理装置2が
計算を終了するまでシステム全体が待機状態に置かれ、
余分な通信遅延が発生し、計算速度が劣化することとな
る。
【0045】これに対し、第3の実施の形態では、図3
に示すように、データ要求信号17が受信された場合に
データを送信するので、データ要求信号17を受信した
時点において計算が未完了であるときは、計算を完了し
てからデータを送信する。したがって、処理時間は計算
時間11に計算待機時間18を加算したものとなり、全
体の処理時間が短縮される。
【0046】例えば、演算処理装置2−mに於ける操作
は以下の通りである。 (1)ステップ1 計算の終了 (2)ステップ2 下流側の演算処理装置2−(m+1)からデータ要求信
号17を受ける。 (3)ステップ3 下流側の演算処理装置2−(m+1)にデータを送信す
る。 (4)ステップ4 上流側の演算処理装置2−(m−1)にデータ要求信号
17を送信する。 (5)ステップ5 上流側の演算処理装置2−(m−1)からデータを受信
する。 (6)ステップ6 次の計算ステップに移る。
【0047】ここで、最も下流にある演算処理装置Nに
ついては、ステップ2とステップ3をスキップする。す
なわち、ステップ2からステップ5で記述されるデータ
伝達の一連の操作は、演算処理装置Nのみ送信操作でス
タートし、他の演算処理装置は受信操作でスタートする
形になる。演算処理装置Nの送信操作が一連の操作に対
するトリガーになっており、データ伝達は下流から順次
行われ、通信の混乱は避けられる。また、図11に示し
たような同期をとることによる余分な通信遅延の発生も
軽減される。
【0048】次に、本発明の第4の実施の形態を説明す
る。図4は、本発明の第4の実施の形態を示す構成図で
ある。この第4の実施の形態は、主計算機1が各々の演
算処理装置2からデータを受信する際には、主計算機1
から予め定めた順序で各々の演算処理装置2にデータ要
求信号を出力し、各々の演算処理装置2はデータ要求信
号を受信した後に主計算機1にデータを送信するように
したものである。図4中の点線はデータの流れを示し、
また実線はデータ要求信号を示す。また、番号はデータ
又はデータ要求信号を受信する順序を示している。
【0049】一般に、並列計算機システムでは、主計算
機1から複数個の演算処理装置2にデータを送信して並
列に計算を行わせ、計算終了後に解析結果を主計算機1
に集める操作が必要となる。
【0050】この場合、主計算機1側で、例えば演算処
理装置2−1、演算処理装置2−2、演算処理装置2−
3、演算処理装置2−4の順で解析結果を受信し、予め
指定した配列に格納するようプログラムを組んだ場合を
考える。このとき、各演算処理装置2の計算が同じ順序
で終了するとは限らないので、通信の混乱を避けるため
に、従釆の手法としては以下の手順でデータ送信を行っ
ている。 (1)ステップ1 演算処理装置2−4から演算処理装置2−3に解析結果
を送信する。 (2)ステップ2 演算処理装置2−3から演算処理装置2−2に演算処理
装置2−3および演算処理装置2−4の解析結果を送信
する。 (3)ステップ3 演算処理装置2−2から演算処理装置2−1に演算処理
装置2−2、2−3、2−4の解析結果を送信する。 (4)ステップ4 演算処理装置2−1から主計算機1に演算処理装置2−
1、2−2、2−3、2−4の解析結果を送信する。
【0051】この場合、演算処理装置2−4のデータ
は、4回の通信操作で漸く主計算機1に辿り着くことに
なる。演算処理装置2の台数増加とともに無駄な操作に
よる通信遅延は台数の自乗に比例して増大してしまう。
【0052】そこで、本発明の第4の実施の形態では、
主計算機1から予め定めた順序に従い、演算処理装置2
へのデータ要求信号の送信と演算処理装置2からのデー
タ受信とを交互に行う、これにより、最小限の通信時間
でしかも通信の混乱を来すことなく全解折結果を主計算
機1に集める。この第4の実施の形態では、条件によっ
ては、主計算機1側からデータを受ける演算処理装置2
の順番を入れ替えることができる。
【0053】次に、本発明の第5の実施の形態を説明す
る。図5は本発明の第5の実施の形態を示す構成図であ
る。この第5の実施の形態は、主計算機1が各々の演算
処理装置2からデータを受信する際には、順次データ要
求信号を受信した演算処理装置2−iは主計算機1にデ
ータを送信すると共にデータ送信が完了していない演算
処理装置2−(i+1)にデータ要求信号を出力するよ
うにしたものである。
【0054】図5において、図5中の点線はデータの流
れを示し、また実線はデータ要求信号を示す。また、番
号はデータ又はデータ要求信号を受信する順序を示して
いる。いま、主計算機1が各々の演算処理装置2からデ
ータを受信する際には、主計算機1から予め定めた1つ
の演算処理装置、例えば演算処理装置2−1にデータ要
求信号を出力し、そのデータ要求信号を受信した演算処
理装置2−1は主計算機1にデータを送信すると共に予
め定めた別の演算処理装置2−2にデータ要求信号を出
力する。次に、データ送信号を受信した演算処理装置2
−2は主計算機1にデータを送信すると共にデータ送信
が完了していない演算処理装置2−3にデータ要求信号
を出力する。そして、データ送信号を受信した演算処理
装置2−3は主計算機1にデータを送信すると共にデー
タ送信が完了していない演算処理装置2−4にデータ要
求信号を出力する。最終断の演算処理装置2−4はデー
タを主計算機1に送信する。
【0055】すなわち、演算処理装置2−1、演算処理
装置2−2、演算処理装置2−3、演算処理装置2−4
の計算結果を主計算機1側に集める場合、次のステップ
でデータ通信が行われる。 (1)ステップ1 主計算機1から演算処理装置2−1にデータ要求信号を
送信する。 (2)ステップ2 演算処理装置2−1から主計算機1に結果を送信する。 (3)ステップ3 演算処理装置2−1から演算処理装置2−2にデータ要
求信号を送信する。 (4)ステップ4 演算処理装置2−2から主計算機1に解析結果を送信す
る。 (5)ステップ5 演算処理装置2−2から演算処理装置2−3にデータ要
求信号を送信する。 (6)ステップ6 演算処理装置2−3から主計算機1に解析結果を送信す
る。 (7)ステップ7 演算処理装置2−3から演算処理装置2−4にデータ要
求信号を送信する。 (8)ステップ8 演算処理装置2−4から主計算機1に解析結果を送信す
る。
【0056】このように、主計算機1側は単純に演算処
理装置2−1、演算処理装置2−2、演算処理装置2−
3、演算処理装置2−4の順にデータを受信するだけで
良い。したがって、図4に示した第4の実施の形態に対
し、通信時間の低減化の面では勝る。ただし、演算処理
装置2の順番は1通りに固定され、条件によって順番を
入れ替えることは難しい。データを受信する演算処理装
置2の順番を条件によって入れ替える必要のある場合に
対しては、第4の実施の形態の方が適している。
【0057】次に、本発明の第6の実施の形態を説明す
る。図6は本発明の第6の実施の形態を示す構成図であ
る。この第6の実施の形態は、主計算機1と複数の演算
処理装置2間とのデータ授受に関する第4の実施の形態
を、演算処理装置間の1対複数のデータ授受に適用した
ものである。
【0058】図6において、図6中の点線はデータの流
れを示し、また実線はデータ要求信号を示す。また、番
号はデータ又はデータ要求信号を受信する順序を示して
いる。演算処理装置2−1が他の各々の演算処理装置2
−2〜2−4からデータを受信する際には、演算処理装
置2−1から予め定めた順序で他の各々の演算処理装置
2−2〜2−4にデータ要求信号を出力し、他の演算処
理装置2−2〜2−4はデータ要求信号を受信した後に
演算処理装置2−1にデータを送信するようにしたもの
である。これにより、演算処理装置2−nから演算処理
装置2−mにデータを収集する。
【0059】次に、本発明の第7の実施の形態を説明す
る。図7は本発明の第7の実施の形態を示す構成図であ
る。この第7の実施の形態は、主計算機1と複数の演算
処理装置2間とのデータ授受に関する第5の実施の形態
を、演算処理装置間の1対複数のデータ授受に適用した
ものである。
【0060】図7において、図7中の点線はデータの流
れを示し、また実線はデータ要求信号を示す。また、番
号はデータ又はデータ要求信号を受信する順序を示して
いる。演算処理装置2−1が他の各々の演算処理装置2
−2〜2−4からデータを受信する際には、データを受
信する演算処理装置2−1から予め定めた他の演算処理
装置2−2にデータ要求信号を出力し、そのデータ要求
信号を受信した他の演算処理装置2−2は演算処理装置
2−1にデータを送信すると共に予め定めた別の他の演
算処理装置2−3にデータ要求信号を出力する。そし
て、データ送信信号を受信した他の演算処理装置2−3
はデータを受信する演算処理装置2−1にデータを送信
すると共にデータ送信が完了していない他の演算処理装
置2−4にデータ要求信号を出力するようにしたもので
ある。これにより、演算処理装置2−2〜2−4から演
算処理装置2−1にデータを収集する。
【0061】
【発明の効果】以上述べたように、本発明に係る並列計
算機システムにおいては、データ伝達方向の逆方向に流
れるデータ要求信号を各演算処理装置で発生させること
で、演算処理装置ごとの計算終了時刻のバラツキ等によ
る演算処理装置間通信の混乱を回避し、データが予め定
めた伝達経路に沿って流れるようにすることができる。
このように、データの伝達経路を確定することでデータ
移動量並びにデータの授受に伴って発生する操作を最小
限に抑えることができ、並列演算処理の高速化を効率的
に図ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を示す構成図。
【図2】本発明の第3の実施の形態を示す構成図。
【図3】本発明の第3の実施の形態におけるパイプライ
ン方式の計算手順の説明図。
【図4】本発明の第4の実施の形態を示す構成図。
【図5】本発明の第5の実施の形態を示す構成図。
【図6】本発明の第6の実施の形態を示す構成図。
【図7】本発明の第7の実施の形態を示す構成図。
【図8】主計算機と複数台の演算処理装置で構成される
並列計算機システムの構成図。
【図9】従来例の構成図。
【図10】従来例における演算処理装置間の単純なデー
タ授受の際に発生する通信の衝突の説明図。
【図11】従来例における同期信号でのパイプライン方
式の計算手順の説明図。
【符号の説明】
1 主計算機 2 演算処理装置 3 記憶装置 4 通信手段 5 個別記憶装置 6 通信手段 7 通信用ケーブル 8 データ送信操作 9 データ送信要求 10 計算時間 11 計算終了時刻 12 同期信号待機時間 13 同期信号 14 送信待機時間 15 データ送信 16 時間の流れ

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 大規模な施設の全空間を幾つかの小さな
    領域に分割し、その領域に対しそれぞれ演算処理装置を
    分配し、隣り合う領域間の連続の条件は下流側領域の演
    算処理装置が上流側領域の演算処理装置から境界条件を
    受信して取得するようにし、各々の演算処理装置はその
    境界条件を満たすように各々の領域の解析演算を並列に
    行い、並列処理した各々の演算処理装置の解析演算結果
    を主計算機に集めて大規模な施設の解析演算結果を得る
    ようした並列計算機システムにおいて、前記下流側領域
    の演算処理装置が前記上流側領域の演算処理装置から境
    界条件を受信する順序は、最下流領域の演算処理装置よ
    り、順次その上流側の演算処理装置から境界条件を受信
    していくようにしたことを特徴とする並列計算機システ
    ム。
  2. 【請求項2】 大規模な施設の全空間を幾つかの小さな
    領域に分割し、その領域に対しそれぞれ演算処理装置を
    分配し、隣り合う領域間の連続の条件は下流側領域の演
    算処理装置が上流側領域の演算処理装置から境界条件を
    受信して取得するようにし、各々の演算処理装置はその
    境界条件を満たすように各々の領域の解析演算を並列に
    行い、並列処理した各々の演算処理装置の解析演算結果
    を主計算機に集めて大規模な施設の解析演算結果を得る
    ようした並列計算機システムにおいて、前記演算処理装
    置間のデータ伝送は、データ受信側の演算処理装置から
    データ送信側の演算処理装置にデータ要求信号を出力
    し、そのデータ要求信号をデータ送信側の演算処理装置
    が受信した後に、データ受信側の演算処理装置に対しデ
    ータを送信するようにしたことを特徴とする並列計算機
    システム。
  3. 【請求項3】 前記下流側領域の演算処理装置が前記上
    流側領域の演算処理装置から境界条件を受信する際に
    は、前記下流側領域の演算処理装置から前記上流側領域
    の演算処理装置に予めデータ要求信号を出力し、そのデ
    ータ要求信号を上流側領域の演算処理装置が受信した後
    に、下流側領域の演算処理装置に対しデータを送信する
    ようにしたことを特徴とする請求項1に記載の並列計算
    機システム。
  4. 【請求項4】 前記主計算機が各々の演算処理装置から
    データを受信する際には、前記主計算機から予め定めた
    順序で各々の演算処理装置にデータ要求信号を出力し、
    各々の演算処理装置は前記データ要求信号を受信した後
    に前記主計算機にデータを送信するようにしたことを特
    徴とする請求項1に記載の並列計算機システム。
  5. 【請求項5】 前記主計算機が各々の演算処理装置から
    データを受信する際には、前記主計算機から予め定めた
    1つの演算処理装置にデータ要求信号を出力し、そのデ
    ータ要求信号を受信した演算処理装置は前記主計算機に
    データを送信すると共に予め定めた別の演算処理装置に
    データ要求信号を出力し、順次データ要求信号を受信し
    た演算処理装置は前記主計算機にデータを送信すると共
    にデータ送信が完了していない演算処理装置にデータ要
    求信号を出力するようにしたことを特徴とする請求項1
    に記載の並列計算機システム。
  6. 【請求項6】 前記演算処理装置が他の各々の演算処理
    装置からデータを受信する際には、前記演算処理装置か
    ら予め定めた順序で他の各々の演算処理装置にデータ要
    求信号を出力し、他の各々の演算処理装置は前記データ
    要求信号を受信した後に前記演算処理装置にデータを送
    信するようにしたことを特徴とする請求項1に記載の並
    列計算機システム。
  7. 【請求項7】 前記演算処理装置が他の各々の演算処理
    装置からデータを受信する際には、データを受信する演
    算処理装置から予め定めた他の演算処理装置にデータ要
    求信号を出力し、そのデータ要求信号を受信した他の演
    算処理装置は前記演算処理装置にデータを送信すると共
    に予め定めた別の他の演算処理装置にデータ要求信号を
    出力し、順次データ要求信号を受信した他の演算処理装
    置は前記データを受信する演算処理装置にデータを送信
    すると共にデータ送信が完了していない他の演算処理装
    置にデータ要求信号を出力するようにしたことを特徴と
    する請求項1に記載の並列計算機システム。
JP8139760A 1996-05-10 1996-05-10 並列計算機システム Pending JPH09305551A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP8139760A JPH09305551A (ja) 1996-05-10 1996-05-10 並列計算機システム
US08/852,441 US6009262A (en) 1996-05-10 1997-05-07 Parallel computer system and method of communication between the processors of the parallel computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8139760A JPH09305551A (ja) 1996-05-10 1996-05-10 並列計算機システム

Publications (1)

Publication Number Publication Date
JPH09305551A true JPH09305551A (ja) 1997-11-28

Family

ID=15252756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8139760A Pending JPH09305551A (ja) 1996-05-10 1996-05-10 並列計算機システム

Country Status (2)

Country Link
US (1) US6009262A (ja)
JP (1) JPH09305551A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018235180A1 (ja) * 2017-06-21 2018-12-27 株式会社ターボデータラボラトリー 分散処理システム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020156994A1 (en) * 2001-04-24 2002-10-24 Sanjay Agarwal Coprocessor architecture for control processors using synchronous logic
US8397224B2 (en) * 2004-09-13 2013-03-12 The Mathworks, Inc. Methods and system for executing a program in multiple execution environments
US9367658B2 (en) * 2011-06-22 2016-06-14 Maxeler Technologies Ltd. Method and apparatus for designing and generating a stream processor
JP2021192189A (ja) * 2020-06-05 2021-12-16 富士通株式会社 パイプライン分割位置決定方法及びパイプライン分割位置決定プログラム
US11797531B2 (en) * 2020-08-04 2023-10-24 Micron Technology, Inc. Acceleration of data queries in memory

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2253428A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
JP3208870B2 (ja) * 1992-10-30 2001-09-17 株式会社日立製作所 データ分割パタンの評価方法
JP3003440B2 (ja) * 1993-01-19 2000-01-31 株式会社日立製作所 負荷分散制御方法および分散処理システム
JPH06243113A (ja) * 1993-02-19 1994-09-02 Fujitsu Ltd 並列計算機における計算モデルのマッピング法
JPH0744508A (ja) * 1993-08-03 1995-02-14 Hitachi Ltd プログラム分割方法
JP2615408B2 (ja) * 1993-09-20 1997-05-28 工業技術院長 並列計算機システム
JP3308770B2 (ja) * 1994-07-22 2002-07-29 三菱電機株式会社 情報処理装置および情報処理装置における計算方法
JPH08190534A (ja) * 1995-01-10 1996-07-23 Hitachi Ltd 計算機間通信方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018235180A1 (ja) * 2017-06-21 2018-12-27 株式会社ターボデータラボラトリー 分散処理システム
JPWO2018235180A1 (ja) * 2017-06-21 2020-04-23 株式会社エスペラントシステム 分散処理システム

Also Published As

Publication number Publication date
US6009262A (en) 1999-12-28

Similar Documents

Publication Publication Date Title
US7546393B2 (en) System for asynchronous DMA command completion notification wherein the DMA command comprising a tag belongs to a plurality of tag groups
US7143221B2 (en) Method of arbitrating between a plurality of transfers to be routed over a corresponding plurality of paths provided by an interconnect circuit of a data processing apparatus
EP0208870A1 (en) Vector data processor
JPH09305551A (ja) 並列計算機システム
JPH01309178A (ja) マルチプロセッサのプロセッサ切換え装置
Sohn et al. A multi-job load sharing strategy for divisible jobs on bus networks
JP2001051966A (ja) ノード装置、並列処理システム、並列処理方法、および、並列処理プログラムを記録した記録媒体
Rego et al. Analytic models of cyclic service systems and their application to token-passing local networks
JPH0520284A (ja) パラレルプロセツサシステム
JP3684579B2 (ja) 分散型並列計算機のプロセッサエレメント
JPS5832431B2 (ja) 電子式キャッシュレジスタによるオンラインシステムのデ−タ集計方法
Zuberek et al. Timed colored Petri net models of distributed memory multithreaded multiprocessors
JPS6252663A (ja) 情報処理方法及び装置
JP3031591B2 (ja) アクセス調停方式
Hsu Performance measurement and hardware support for message passing in distributed memory multicomputers
JPS5899867A (ja) 並列処理方式
Huang et al. UMA-MF: A Unified Multi-CPU/GPU Asynchronous Computing Framework for SGD-based Matrix Factorization
Azerine et al. On the complexity of proportionate open shop and job shop problems
SU868744A1 (ru) Мультиплексный канал
JPS629460A (ja) マルチプロセツサシステムの命令制御方式
JP2015153279A (ja) プラント制御装置
CN115098215A (zh) 基于多服务的数据分页方法、系统、电子设备及存储介质
US6895473B2 (en) Data control device and an ATM control device
JPH0751632Y2 (ja) 時分割多重制御装置
Guz et al. Computation scheduling in multiprocessor real-time automatic control systems with constrained processor memory