JPH07253953A - データ転送方法 - Google Patents

データ転送方法

Info

Publication number
JPH07253953A
JPH07253953A JP6045672A JP4567294A JPH07253953A JP H07253953 A JPH07253953 A JP H07253953A JP 6045672 A JP6045672 A JP 6045672A JP 4567294 A JP4567294 A JP 4567294A JP H07253953 A JPH07253953 A JP H07253953A
Authority
JP
Japan
Prior art keywords
data
processor
row
slave
column
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
JP6045672A
Other languages
English (en)
Inventor
Yasuhiro Mori
康浩 森
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP6045672A priority Critical patent/JPH07253953A/ja
Publication of JPH07253953A publication Critical patent/JPH07253953A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 マスタープロセッサと複数スレーブプロセッ
サ間のデータ転送を高速に実行可能な並列計算機とデー
タ転送方式を提供する。 【構成】 マスタープロセッサ1にある配列データをあ
る一方向のインデックスに着目して分割し、これを共通
バス2によって接続された第0行のスレーブプロセッサ
SP(0,0)〜SP(0,N−1)に送る。次にこのス
レーブプロセッサにおいて送られてきたデータを残りの
インデックスのいずれか一つに着目してさらに小さく分
割し、これをプロセッサ間通信ネットワーク4を介して
他のスレーブプロセッサに転送し、データを分散する。 【効果】 データ分割の処理に係る負荷を分散でき、2
つのステップの転送を並行して実行できるので、全体の
データ転送速度を上げることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマスタープロセッサ上の
配列データを複数のスレーブプロセッサに分散して並列
処理する並列計算機におけるデータ転送方法に関する。
【0002】
【従来の技術】近年、複数プロセッサにデータを分散さ
せ、これを並列に処理することで計算機の処理能力の向
上を目指す並列計算機が注目されており、いくつかの商
用マシンがリリースされつつある。従来の並列計算機に
ついては例えば特公昭56−164464号公報にあ
る。ここに示された並列計算機においてはマスタープロ
セッサがもつ配列データを複数のスレーブプロセッサに
分割して配置し、これを並列に演算することによって全
体の処理速度を上げることを目的としている。
【0003】
【発明が解決しようとする課題】従って、上記構成の並
列計算機では、マスタープロセッサ一つですべてのデー
タ処理を実行する場合に比べ、データの「分割」と「転
送」といったオーバーヘッドが発生する。このため、上
記従来技術において多数個のスレーブプロセッサを持っ
てきて並列に演算をさせても、前述したオーバヘッドが
大きいと全体の処理速度が上がらないので、オーバヘッ
ドをできるだけ小さくするためのデータ転送方式が望ま
れる。
【0004】本発明の目的は、上記の考察に基づくもの
であって、並列計算機においてマスタープロセッサと複
数スレーブプロセッサ間で高速にデータ転送方法を提供
することにある。
【0005】
【課題を解決するための手段】この目的を達成するた
め、本発明のデータ転送方法は、マスタープロセッサ上
の3次元配列データ:a(X,Y,Z)をある一方向の
インデックスに対してL個(LはXないしYないしZ)
のデータブロックに分割するステップと、その分割され
たi番目(1≦i≦L)のデータブロックを、N行N列
(N≧2)に配置されたN2個のスレーブプロセッサの
第s行i列に転送するステップと、前記第s行i列のス
レーブプロセッサにおいては転送されてきたデータブロ
ックの残りのいずれか一方向のインデックスに対してM
個(MはXないしYないしZ)のデータブロックにもう
一度分割するステップと、その分割されたj番目(1≦
j≦M)のデータブロックを第i行j列のスレーブプロ
セッサにプロセッサ間通信ネットワークを介して転送す
るステップとを備えたものである。
【0006】
【作用】本発明のデータ転送方式によって、並列計算機
において、マスタープロセッサから第s行のスレーブプ
ロセッサへのデータ転送と第s行のスレーブプロセッサ
から第i行j列のスレーブプロセッサへのデータ転送を
オーバーラップできると共に、マスタープロセッサにお
けるデータの分割、あるいは再構成の負荷が小さくでき
るためにデータ転送を高速に実行できる。また、マスタ
ープロセッサから第s行のスレーブプロセッサへDMA
転送する場合、インデックスの組合せによってはブロッ
クサイズを大きく取ることができるので、DMA転送の
効果をより引き出すことができ、データ転送を高速化で
きる。
【0007】
【実施例】以下本発明の一実施例のデータ転送方式につ
いて、図面を参照しながら説明する。図1は本発明の実
施例における並列計算機のブロック図を示すものであ
る。マスタープロセッサ1は共通バス2を介して、共通
に接続された第0行にあるN個のスレーブプロセッサに
対して、命令やデータのREAD/WRITEができる。また、N
行N列に配置されたN2個のスレーブプロセッサ3の各
々はプロセッサ間通信ネットワーク4を介して、第i行
j列のスレーブプロセッサが第i列と第j行にある2N
個のスレーブプロセッサと通信可能である。
【0008】図2は本発明の実施例におけるデータ転送
方式のフローチャートを示すものである。図3は配列デ
ータ:a(X,Y,Z)を分割する概念を図示したもの
である。ここではCコンパイラによる配列データの配置
を例に挙げている。Cコンパイラの場合、配列のインデ
ックスがより右側にあるものがより頻繁に変化するよう
なフォーマットで配置される。したがって、マスタープ
ロセッサにおいては、x方向のインデックスに着目して
X個のデータブロックに分割し、第s行のスレーブプロ
セッサにおいては、y方向のインデックスに着目してY
個のデータブロックに分割するのが都合が良い。
【0009】以下図2を用いて図1にある並列計算機の
マスタープロセッサ上にある3次元配列データのスレー
ブプロセッサへの分散方式を説明する。
【0010】まずステップ21では、マスタープロセッ
サ1は3次元配列データのx方向のインデックスに着目
して、(Y×Z)ワード単位にX個のデータブロックに
分割する。
【0011】そしてステップ22では、これを共通バス
2によって接続された第s行x列(0≦s≦N−1)、
本実施例では第0行x列のスレーブプロセッサに転送す
る。マスタープロセッサはすべてのデータ転送が終了す
るまで、これを繰り返す。
【0012】ステップ23では、第0行x列のスレーブ
プロセッサにおいては、転送されてきたデータのy方向
のインデックスに着目してさらにZワード単位にY個に
分割し、ステップ24では、これをx行y列のスレーブ
プロセッサにネットワークを介して転送する。この動作
はマスタープロセッサからの転送と並行して実行される
ことになる。結果的にa(x,y,z)の配列データが
第x行y列のスレーブプロセッサに配置され、すべての
動作が終了した時、マスタープロセッサにあった配列デ
ータが複数のスレーブプロセッサに分散されていること
になる。
【0013】本実施例では配列データの(x,y)のイ
ンデックスの組合せをデータを割り当てるプロセッサI
Dに対応させてデータ分散する場合を例に挙げた。
【0014】請求項4は(y,z),(z,x)の組合
せをプロセッサIDとして割り当てる場合について述べ
たものである。すなわち、、配列データを(y,z),
(z,x)の組合せをプロセッサIDとして分散させる
場合、まず(x,y)方向に分散し、その後プロセッサ
間通信ネットワークを介してこれを交換する。
【0015】本方式の第1の利点は、マスタープロセッ
サ上で配列データを最小単位に分割するのではなく、第
1ステップでの転送先のスレーブプロセッサにおいて最
小単位に分割するために、第1ステップの転送における
データブロックのサイズを大きく取ることができる点に
ある。これはすなわち、マスタープロセッサから共通バ
スで接続された第s行のスレーブプロセッサにデータを
転送する時、DMACを用いてDMA転送することが多
々あるが、この時、転送対象となるデータのブロックサ
イズが小さいとDMACへのパラメータセット等のオー
バヘッドなどのために実効速度が小さくなってしまう。
しかし、本方式ではブロックサイズを大きく取れるので
先述したオーバヘッドは大きくならない。
【0016】第2の利点は全体の転送を2つのステップ
に分け、これをオーバーラップして実行させることによ
る高速化である。
【0017】さらに第3の利点として第2ステップの転
送はより細分化されたデータブロックが対象で負荷が大
きいが、これをバンド幅の大きいプロセッサ間通信ネッ
トワークを介して行なうことができることによる高速化
である。
【0018】図4は複数のスレーブプロセッサに分散さ
れたデータを収集して、マスタープロセッサ上に配列デ
ータとして再構成する転送方式のフローチャート図であ
る。
【0019】まずステップ41では、第x行y列のスレ
ーブプロセッサはx,yをデータのインデックスとして
第s行x列(0≦s≦N−1)、本実施例では第0行x
列のスレーブプロセッサに転送する。
【0020】ステップ43では、第0行x列のスレーブ
プロセッサでは、ステップ42によって到着したデータ
ブロックをyについて昇順にソートしてより大きなサイ
ズのデータブロックを構成する。
【0021】次にステップ44では、マスタープロセッ
サは再構成されたデータブロックをxが若い順に読みだ
し、配列データとして再構成していく。
【0022】本実施例では配列データの(x,y)のイ
ンデックスの組合せをデータを割り当てるプロセッサI
Dに対応させて分散されたデータをマスタープロセッサ
上に収集する方式を例に挙げた。
【0023】請求項5は(y,z),(z,x)の組合
せをプロセッサIDとして分散されたデータを収集する
方式について述べたものである。すなわち、(y,
z),(z,x)の組合せをプロセッサIDとして分散
されたデータをマスタープロセッサ上に収集する場合、
まず、プロセッサ間通信ネットワークを介してデータを
転送し、(x,y)の組合せがプロセッサIDとなるよ
う編集する。その後、図4に示した実施例によってデー
タを収集する。
【0024】図5は本発明の他の実施例におけるデータ
転送方式のフローチャートを示すものである。以下では
複数のスレーブプロセッサに同一データを転送する場合
(データのブロードキャスト)を図3を用いて説明す
る。
【0025】まずステップ51では、マスタープロセッ
サ1は共通バス2に接続されたN個のスレーブプロセッ
サに同時にデータを書き込む。
【0026】次にステップ52では、書き込まれたスレ
ーブプロセッサから各々が通信可能なスレーブプロセッ
サに対してデータを送信する。この方式によって、同一
データをマスタープロセッサから複数回書き込む手間が
省け、データのブロードキャストを高速化できる。
【0027】
【発明の効果】以上の説明から明らかなように、本発明
によれば、先述した並列計算機において、マスタープロ
セッサと複数スレーブプロセッサ間でデータの分散/収
集を高速に実行できる。また、データのブロードキャス
トも高速に実行可能である。
【図面の簡単な説明】
【図1】請求項1の本発明の実施例を示す並列計算機の
ブロック図
【図2】請求項2の本発明の第1の実施例を示すフロー
チャート
【図3】請求項2の同実施例におけるデータ分割を示す
概念図
【図4】請求項3の本発明の第2の実施例を示すフロー
チャート
【図5】請求項の本発明の第3の実施例を示すフローチ
ャート
【符号の説明】
1 マスタープロセッサ 2 共通バス 3 N行N列に配置されたN2個のスレーブプロセッサ 4 プロセッサ間通信ネットワーク

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】マスタープロセッサ上の3次元配列デー
    タ:a(X,Y,Z)をある一方向のインデックスに対
    してL個(LはXないしYないしZ)のデータブロック
    に分割するステップと、 その分割されたi番目(0≦i≦L−1)のデータブロ
    ックを、N行N列(N≧2)に配置されたN2個のスレ
    ーブプロセッサの第s行i列に転送するステップと、 前記第s行i列のスレーブプロセッサにおいては転送さ
    れてきたデータブロックの残りのいずれか一方向のイン
    デックスに対してM個(MはXないしYないしZ)のデ
    ータブロックにもう一度分割するステップと、 その分割されたj番目(0≦j≦M−1)のデータブロ
    ックを第i行j列のスレーブプロセッサにプロセッサ間
    通信ネットワークを介して転送するステップとを備えた
    データ転送方法。
  2. 【請求項2】第i行j列のスレーブプロセッサ上に分散
    されたデータをi,jをデータのインデックスとしてプ
    ロセッサ間通信ネットワークを介して第s行i列のスレ
    ーブプロセッサに転送し、前記第s行i列のスレーブプ
    ロセッサにおいて転送されてきたデータブロックをiが
    等しいデータ毎にさらに大きなブロックデータとして再
    構成するステップと、 これを共通バスを介してマスタープロセッサへ転送する
    ことによってスレーブプロセッサ上に分散された3次元
    配列データを収集するステップとを備えたデータ転送方
    法。
  3. 【請求項3】マスタープロセッサから前記共通バスに接
    続された第s行のN個のスレーブプロセッサに対して同
    時にデータを書き込むステップと、 次にこのN個のスレーブプロセッサから同時に前記プロ
    セッサ間通信ネットワークを介して残りのスレーブプロ
    セッサに対してデータを再転送することによって複数ス
    レーブプロセッサに同一データをブロードキャストする
    ステップとを備えたデータ転送方法。
  4. 【請求項4】さらに、 この分散されたデータをプロセッサ間通信ネットワーク
    を介して転送することによってスレーブプロセッサの行
    と列の番号に割り付けた配列のインデックスの組合せを
    交換するステップを有することを特徴とする請求項1記
    載のデータ転送方法。
  5. 【請求項5】さらに、 N2個のスレーブプロセッサにあるデータを前記プロセ
    ッサ間通信ネットワークを介して転送することによって
    スレーブプロセッサの行と列の番号に割り付けた配列の
    インデックスの組合せを交換するステップをを有するこ
    とを特徴とする請求項2記載のデータ転送方法。
JP6045672A 1994-03-16 1994-03-16 データ転送方法 Pending JPH07253953A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6045672A JPH07253953A (ja) 1994-03-16 1994-03-16 データ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6045672A JPH07253953A (ja) 1994-03-16 1994-03-16 データ転送方法

Publications (1)

Publication Number Publication Date
JPH07253953A true JPH07253953A (ja) 1995-10-03

Family

ID=12725887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6045672A Pending JPH07253953A (ja) 1994-03-16 1994-03-16 データ転送方法

Country Status (1)

Country Link
JP (1) JPH07253953A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010106677A1 (ja) * 2009-03-19 2010-09-23 富士通株式会社 分散処理システム、情報処理装置、分散処理プログラム及び分散処理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010106677A1 (ja) * 2009-03-19 2010-09-23 富士通株式会社 分散処理システム、情報処理装置、分散処理プログラム及び分散処理方法
JP5321680B2 (ja) * 2009-03-19 2013-10-23 富士通株式会社 情報処理システム、情報処理装置、分散処理プログラム及び分散処理方法

Similar Documents

Publication Publication Date Title
US5430885A (en) Multi-processor system and co-processor used for the same
WO2020078470A1 (zh) 片上网络数据处理方法及装置
JPH07253954A (ja) 並列コンピュータ
EP0492174B1 (en) Parallel processor
US4591971A (en) Method and apparatus for parallel processing of digital signals using multiple independent signal processors
Storaasli et al. Structural dynamic analysis on a parallel computer: the finite element machine
Bhuyan et al. Performance analysis of FFT algorithms on multiprocessor systems
JPH07253953A (ja) データ転送方法
JPH0590141A (ja) 荷電ビーム描画用データ作成装置
JPS6042516B2 (ja) デ−タ処理装置
JPH07271744A (ja) 並列計算機
US7472392B2 (en) Method for load balancing an n-dimensional array of parallel processing elements
JP4117621B2 (ja) データ一括転送装置
JPH08212169A (ja) アレイプロセッサ
US7430742B2 (en) Method for load balancing a line of parallel processing elements
US6524019B1 (en) Inter-cluster data transfer system and data transfer method
Amano et al. 2-Sparse Matrix Solving Machine
US7503046B2 (en) Method of obtaining interleave interval for two data values
EP0240354A1 (en) Memory Architecture for multiprocessor computers
JP2655243B2 (ja) 複合化ベクトル並列計算機
JPH0438815A (ja) 荷電ビーム描画用データの作成方法及び作成装置
JP3223530B2 (ja) データ転送命令生成処理方法
US6745233B1 (en) Data transfer technique for distributed memory type parallel computer
Ma et al. REPLICA--A reconfigurable partitionable highly parallel computer architecture for active multi-sensory perception of 3-dimensional objects
JPH05158895A (ja) 並列計算機システムにおけるループ計算の効率向上方式