JPH04321158A - 配列データの分配/収集処理装置 - Google Patents
配列データの分配/収集処理装置Info
- Publication number
- JPH04321158A JPH04321158A JP3090146A JP9014691A JPH04321158A JP H04321158 A JPH04321158 A JP H04321158A JP 3090146 A JP3090146 A JP 3090146A JP 9014691 A JP9014691 A JP 9014691A JP H04321158 A JPH04321158 A JP H04321158A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- processor
- array
- divided
- 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
Links
Landscapes
- Multi Processors (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は,並列計算機で配列デー
タを複数のプロセッサに分割割付けする装置に係り,特
に任意の転送パターンによりデータを自動分配または自
動収集する配列データの分配/収集処理装置に関する。
タを複数のプロセッサに分割割付けする装置に係り,特
に任意の転送パターンによりデータを自動分配または自
動収集する配列データの分配/収集処理装置に関する。
【0002】巨大な配列データを処理するにあたって,
複数のプロセッサにデータを分割して割り付け,並列に
処理するシステムが用いられている。このようなデータ
の分割のしかたを任意に動的に切り替えて処理できるよ
うにするために,効率よくデータを再配置する技術が必
要とされる。
複数のプロセッサにデータを分割して割り付け,並列に
処理するシステムが用いられている。このようなデータ
の分割のしかたを任意に動的に切り替えて処理できるよ
うにするために,効率よくデータを再配置する技術が必
要とされる。
【0003】
【従来の技術】並列計算機では,配列データを効率よく
扱うために,次元に沿った超直方体領域にブロック化し
,各ブロックのメモリ割付けを分離し,それぞれをプロ
セッサごとに担当して管理することが多い。
扱うために,次元に沿った超直方体領域にブロック化し
,各ブロックのメモリ割付けを分離し,それぞれをプロ
セッサごとに担当して管理することが多い。
【0004】図13はそのような配列データの分割例を
示している。図13に示す例では,3次元配列A(10
0,100,100)を分割している。(イ)は1次元
分割,(ロ)は多次元分割,(ハ)は多次元の不均等分
割の例を示しているが,(イ)に示すような板状分割は
,k方向に4分割すると同時に,i方向とj方向に対し
て1分割していると解釈することもできる。
示している。図13に示す例では,3次元配列A(10
0,100,100)を分割している。(イ)は1次元
分割,(ロ)は多次元分割,(ハ)は多次元の不均等分
割の例を示しているが,(イ)に示すような板状分割は
,k方向に4分割すると同時に,i方向とj方向に対し
て1分割していると解釈することもできる。
【0005】一般には,n次元配列A(M1,M2,…
, Mn)を,各次元に対してそれぞれ,p1,p2,
…,pn 部分(それぞれ1以上の整数)に切るなら,
(p1 ×…×pn)個の超直方体ブロックに分割する
ことができる。分散メモリ型の並列計算機であれば,各
プロセッサの処理手続きに都合のよいように,データを
分割配置することにより,計算中のデータ転送量を減ら
して効率の向上を図ることができる。共用メモリ型の並
列計算機の場合にも,同様の分割を行えば,メモリの競
合を減らして効率よく処理を進めることができる。
, Mn)を,各次元に対してそれぞれ,p1,p2,
…,pn 部分(それぞれ1以上の整数)に切るなら,
(p1 ×…×pn)個の超直方体ブロックに分割する
ことができる。分散メモリ型の並列計算機であれば,各
プロセッサの処理手続きに都合のよいように,データを
分割配置することにより,計算中のデータ転送量を減ら
して効率の向上を図ることができる。共用メモリ型の並
列計算機の場合にも,同様の分割を行えば,メモリの競
合を減らして効率よく処理を進めることができる。
【0006】また,ブロックごとに物理アドレスを分割
することにより,各プロセッサの担当データを物理的に
連続なアドレスに集めることができるため,ページ切り
替えやキャッシュメモリのミスヒットが少なくなるとか
,1プロセッサのアドレス空間に入り切らないような巨
大な配列データにもアドレス付けできるなどの効果があ
る。
することにより,各プロセッサの担当データを物理的に
連続なアドレスに集めることができるため,ページ切り
替えやキャッシュメモリのミスヒットが少なくなるとか
,1プロセッサのアドレス空間に入り切らないような巨
大な配列データにもアドレス付けできるなどの効果があ
る。
【0007】このように,配列の分割割付けは重要であ
るが,実際のアプリケーションプログラムでは,データ
の分割のしかたが固定的であることは稀であり,実行処
理中にデータ転送処理を伴う再分割割付けが頻繁に必要
となる。それは例えば次のような場合である。
るが,実際のアプリケーションプログラムでは,データ
の分割のしかたが固定的であることは稀であり,実行処
理中にデータ転送処理を伴う再分割割付けが頻繁に必要
となる。それは例えば次のような場合である。
【0008】(a) データ相関方向の変化特に,AD
E(交互方向編集)がよく知られている。これは,ある
次元での板状分割から,別の次元での板状分割へと変更
する編集である。LU分解などの行列計算や多次元FE
Tなどで必要となるため,連続系の数値計算では多用さ
れる。プロセッサ数が多くなれば,多次元分割にせざる
を得なくなり,より複雑な転送パターンとなることは必
至である。例えば,配列A(100,100,100)
を,200プロセッサに割り付けるには,2次元以上で
分割するしかなく,その場合のADE転送はかなり複雑
になる。
E(交互方向編集)がよく知られている。これは,ある
次元での板状分割から,別の次元での板状分割へと変更
する編集である。LU分解などの行列計算や多次元FE
Tなどで必要となるため,連続系の数値計算では多用さ
れる。プロセッサ数が多くなれば,多次元分割にせざる
を得なくなり,より複雑な転送パターンとなることは必
至である。例えば,配列A(100,100,100)
を,200プロセッサに割り付けるには,2次元以上で
分割するしかなく,その場合のADE転送はかなり複雑
になる。
【0009】(b) 細分化などの再分割割付け一般に
並列度が上がるほど,データ転送や同期などのオーバヘ
ッドが増えるため,手続きによって使用プロセッサ数の
最適値がある。それに伴って,並列効果の異なる手続き
の境界で,データ分割割付けの変更が必要になる場合が
ある。
並列度が上がるほど,データ転送や同期などのオーバヘ
ッドが増えるため,手続きによって使用プロセッサ数の
最適値がある。それに伴って,並列効果の異なる手続き
の境界で,データ分割割付けの変更が必要になる場合が
ある。
【0010】(c) 計算機の運用上の理由一部のプロ
セッサの故障,同時利用者数の変化などで,分割の変更
を伴うプロセッサ間データ移動が必要になることがある
。
セッサの故障,同時利用者数の変化などで,分割の変更
を伴うプロセッサ間データ移動が必要になることがある
。
【0011】従来,ユーザがFORTRANやC言語な
どの計算機用記述言語を使って記述する場合,配列の添
字の計算には大変な手間がかかる上に,煩雑であるため
ミスが生じやすく,検証も難しかった。また,データ転
送のタイミングはユーザには予想しきれないことが多く
,効率化は困難であるという問題があった。
どの計算機用記述言語を使って記述する場合,配列の添
字の計算には大変な手間がかかる上に,煩雑であるため
ミスが生じやすく,検証も難しかった。また,データ転
送のタイミングはユーザには予想しきれないことが多く
,効率化は困難であるという問題があった。
【0012】分割の形状や分割数などを制約すれば,比
較的簡単に実現できる可能性があり,特定の転送パター
ンの効率化を狙ったハードウェアを持つ計算機も考えら
れているが,アプリケーションの幅や運用形態で大きな
制約を受けることになる。特に,汎用性の高い計算機を
提供するためには,ユーザがどのような分割形状や転送
パターンを必要としても,それに対応できなければなら
ない。しかし,従来,任意の分割形状や転送パターンに
柔軟に対応できるような手段はなかった。
較的簡単に実現できる可能性があり,特定の転送パター
ンの効率化を狙ったハードウェアを持つ計算機も考えら
れているが,アプリケーションの幅や運用形態で大きな
制約を受けることになる。特に,汎用性の高い計算機を
提供するためには,ユーザがどのような分割形状や転送
パターンを必要としても,それに対応できなければなら
ない。しかし,従来,任意の分割形状や転送パターンに
柔軟に対応できるような手段はなかった。
【0013】
【発明が解決しようとする課題】本発明は上記問題点の
解決を図り,配列データの任意の分割割付けを,手軽に
効率よく実現する手段を提供することを目的とする。す
なわち,ユーザはデータ転送の詳細な内容を明示的に意
識する必要がなく,分割形状と配列の範囲を指定するだ
けで,配列の分割割付けや分割の変更が可能になるよう
にすることを目的とする。
解決を図り,配列データの任意の分割割付けを,手軽に
効率よく実現する手段を提供することを目的とする。す
なわち,ユーザはデータ転送の詳細な内容を明示的に意
識する必要がなく,分割形状と配列の範囲を指定するだ
けで,配列の分割割付けや分割の変更が可能になるよう
にすることを目的とする。
【0014】また,本発明は,配列の次数や大きさ,分
割次元数や分割幅が均等か否かなどによる制約がなく,
広い範囲に適用できるデータの分配手段および収集手段
を提供することを目的とする。
割次元数や分割幅が均等か否かなどによる制約がなく,
広い範囲に適用できるデータの分配手段および収集手段
を提供することを目的とする。
【0015】
【課題を解決するための手段】図1は本発明の原理構成
図である。図1において,10a,10b,…,10c
は各々独立したデータ処理機能を有するプロセッサ,1
1は転送テーブル作成手段,12はデータを分配または
収集するデータ転送手段,13は分割または収集するブ
ロックの分割区間番号を指定する分割区間番号指定手段
,14は各ブロックの分割区間上下限を指定する分割区
間上下限指定手段,15は各プロセッサからアクセス可
能となっている共用メモリ,16はデータの分配または
収集に用いる転送テーブル,17は分配するデータが格
納されている分配データ格納域,18は各プロセッサが
処理するデータを格納する転送先データ格納域,19は
収集したデータを格納する収集データ格納域,20は収
集対象となるデータが格納されている転送元データ格納
域を表す。
図である。図1において,10a,10b,…,10c
は各々独立したデータ処理機能を有するプロセッサ,1
1は転送テーブル作成手段,12はデータを分配または
収集するデータ転送手段,13は分割または収集するブ
ロックの分割区間番号を指定する分割区間番号指定手段
,14は各ブロックの分割区間上下限を指定する分割区
間上下限指定手段,15は各プロセッサからアクセス可
能となっている共用メモリ,16はデータの分配または
収集に用いる転送テーブル,17は分配するデータが格
納されている分配データ格納域,18は各プロセッサが
処理するデータを格納する転送先データ格納域,19は
収集したデータを格納する収集データ格納域,20は収
集対象となるデータが格納されている転送元データ格納
域を表す。
【0016】請求項1記載の発明は,例えば(イ)に示
すような構成になっている。ある分割法で1ブロック内
に割り付けられている任意の部分配列を,別の分割法に
従って分割割付けする。そのため,プロセッサ10aは
,分割区間番号指定手段13から分割対象となるブロッ
クの分割区間番号を得て,その各分割区間番号に対応す
る分割ブロックの上下限の範囲を,分割区間上下限指定
手段14から得る。分割区間番号指定手段13および分
割区間上下限指定手段14は,入出力装置,外部記憶装
置またはプログラムなどのいずれの手段でもよい。
すような構成になっている。ある分割法で1ブロック内
に割り付けられている任意の部分配列を,別の分割法に
従って分割割付けする。そのため,プロセッサ10aは
,分割区間番号指定手段13から分割対象となるブロッ
クの分割区間番号を得て,その各分割区間番号に対応す
る分割ブロックの上下限の範囲を,分割区間上下限指定
手段14から得る。分割区間番号指定手段13および分
割区間上下限指定手段14は,入出力装置,外部記憶装
置またはプログラムなどのいずれの手段でもよい。
【0017】転送テーブル作成手段11は,分割区間番
号指定手段13および分割区間上下限指定手段14から
得た情報に基づいて,共用メモリ15における各転送先
データ格納域18への割り付け対象となる1以上の任意
の次元方向で分割した分割ブロックに対応して,各次元
ごとの範囲に関する情報を持つ転送テーブル16を作成
する。
号指定手段13および分割区間上下限指定手段14から
得た情報に基づいて,共用メモリ15における各転送先
データ格納域18への割り付け対象となる1以上の任意
の次元方向で分割した分割ブロックに対応して,各次元
ごとの範囲に関する情報を持つ転送テーブル16を作成
する。
【0018】データ転送手段12は,作成した転送テー
ブル16に基づいて,各分割ブロックごとにデータを各
記憶空間に転送する。すなわち,転送テーブル16に基
づいて分配データ格納域17のデータを各プロセッサに
対応して指定された転送先データ格納域18へ分配する
。
ブル16に基づいて,各分割ブロックごとにデータを各
記憶空間に転送する。すなわち,転送テーブル16に基
づいて分配データ格納域17のデータを各プロセッサに
対応して指定された転送先データ格納域18へ分配する
。
【0019】図1の(イ)に示す例は,共用メモリ15
上でデータの分配を行っているが,分散メモリ型の計算
機では,各プロセッサが持つローカルメモリに対してそ
れぞれデータを転送する。請求項2記載の発明は,例え
ば(ロ)に示すような構成になっている。
上でデータの分配を行っているが,分散メモリ型の計算
機では,各プロセッサが持つローカルメモリに対してそ
れぞれデータを転送する。請求項2記載の発明は,例え
ば(ロ)に示すような構成になっている。
【0020】ある分割法で分散して割り付けられている
配列からデータを収集し,別の分割法に基づく1ブロッ
ク内に属する任意の部分配列を収集する。そのため,プ
ロセッサ10aは,分割区間番号指定手段13から収集
対象となるブロックの分割区間番号を得て,その各分割
区間番号に対応する分割ブロックの上下限の範囲を,分
割区間上下限指定手段14から得る。
配列からデータを収集し,別の分割法に基づく1ブロッ
ク内に属する任意の部分配列を収集する。そのため,プ
ロセッサ10aは,分割区間番号指定手段13から収集
対象となるブロックの分割区間番号を得て,その各分割
区間番号に対応する分割ブロックの上下限の範囲を,分
割区間上下限指定手段14から得る。
【0021】転送テーブル作成手段11は,分割区間番
号指定手段13および分割区間上下限指定手段14から
得た情報に基づいて,共用メモリ15における転送元デ
ータ格納域20へ分散して配置されている1以上の任意
の次元方向で分割した分割ブロックに対応して,収集す
べきデータの各次元ごとの範囲に関する情報を持つ転送
テーブル16を作成する。
号指定手段13および分割区間上下限指定手段14から
得た情報に基づいて,共用メモリ15における転送元デ
ータ格納域20へ分散して配置されている1以上の任意
の次元方向で分割した分割ブロックに対応して,収集す
べきデータの各次元ごとの範囲に関する情報を持つ転送
テーブル16を作成する。
【0022】データ転送手段12は,作成した転送テー
ブル16に基づいて,各分割ブロックごとの収集データ
を,各転送元データ格納域20から収集データ格納域1
9へ転送する。図1の(ロ)に示す例は,共用メモリ1
5上でデータの収集を行っているが,分散メモリ型の計
算機では,各プロセッサが持つローカルメモリから,そ
れぞれ収集するプロセッサのローカルメモリへデータを
転送する。
ブル16に基づいて,各分割ブロックごとの収集データ
を,各転送元データ格納域20から収集データ格納域1
9へ転送する。図1の(ロ)に示す例は,共用メモリ1
5上でデータの収集を行っているが,分散メモリ型の計
算機では,各プロセッサが持つローカルメモリから,そ
れぞれ収集するプロセッサのローカルメモリへデータを
転送する。
【0023】
【作用】請求項1記載の発明では,例えばn次元配列A
(M1,M2,…, Mn) (n≧1,Md は次
元dの寸法)の超直方体の部分配列 A(i1:j1, i2:j2, …, in:jn
)(id, jdはそれぞれ次元dのインデックスの下
限,上限。0≦id≦jd≦Md−1)が1分割ブロッ
ク内にあるとき,これを別の分割法に従って分割割付け
する。
(M1,M2,…, Mn) (n≧1,Md は次
元dの寸法)の超直方体の部分配列 A(i1:j1, i2:j2, …, in:jn
)(id, jdはそれぞれ次元dのインデックスの下
限,上限。0≦id≦jd≦Md−1)が1分割ブロッ
ク内にあるとき,これを別の分割法に従って分割割付け
する。
【0024】請求項2記載の発明では,逆に分割割付け
されている部分配列を別の分割法に従って1分割ブロッ
クに収集する。部分配列は,配列全体であってもよい。 説明の簡単化のため,各次元の配列のインデックスおよ
び分割区間番号は,0から数えるものとする。他の場合
(例えば1から数える場合)には,シフトさせて本発明
を適用すればよい。また,分割ブロックごとに,配列要
素A(k1,… ,kn)のメモリ割付けは,次式で示
されるアドレスに置くこととする。
されている部分配列を別の分割法に従って1分割ブロッ
クに収集する。部分配列は,配列全体であってもよい。 説明の簡単化のため,各次元の配列のインデックスおよ
び分割区間番号は,0から数えるものとする。他の場合
(例えば1から数える場合)には,シフトさせて本発明
を適用すればよい。また,分割ブロックごとに,配列要
素A(k1,… ,kn)のメモリ割付けは,次式で示
されるアドレスに置くこととする。
【0025】
(ベースアドレス)+(ワード長)×
(k1+m1×(k2+m2×(
…m(n−1)×kn…))) (式1
)分散メモリ型計算機では,分散ブロックとプロセッサ
の対応をテーブル等で管理する。
(k1+m1×(k2+m2×(
…m(n−1)×kn…))) (式1
)分散メモリ型計算機では,分散ブロックとプロセッサ
の対応をテーブル等で管理する。
【0026】この係数md(d=1,2,…,n−1)
を,その分割ブロックの次元dの分割係数と呼ぶ。分
割係数は,その次元方向の分割幅(インデックス数)以
上の定数である。分割幅と等しい場合,ブロック内の配
列要素は連続アドレスに割り付けられる。
を,その分割ブロックの次元dの分割係数と呼ぶ。分
割係数は,その次元方向の分割幅(インデックス数)以
上の定数である。分割幅と等しい場合,ブロック内の配
列要素は連続アドレスに割り付けられる。
【0027】[1]共用メモリ型計算機の場合,ある分
割法Aで1ブロック内に割り付けられている任意の部分
配列を,他の分割法Bに従って分割割付けするときの分
配の手順は以下のようになる。 ■ プロセッサ10aは,分割区間番号指定手段13
により,すべての次元d=1,…,nについて,分割法
Bでid に対応する分割区間番号pd と,jd に
対応する分割区間番号qd を得る。これによって,分
割法Bの分割ブロックの範囲は,(p1:q1,…,
pn:qn)であることがわかる。
割法Aで1ブロック内に割り付けられている任意の部分
配列を,他の分割法Bに従って分割割付けするときの分
配の手順は以下のようになる。 ■ プロセッサ10aは,分割区間番号指定手段13
により,すべての次元d=1,…,nについて,分割法
Bでid に対応する分割区間番号pd と,jd に
対応する分割区間番号qd を得る。これによって,分
割法Bの分割ブロックの範囲は,(p1:q1,…,
pn:qn)であることがわかる。
【0028】■ 転送テーブル16の領域を,分割法
Bの分割ブロックに対応して,(q1−p1 +1)×
…× (qn −pn +1)個確保する。 ■ プロセッサ10aは,分割ブロック(r1,…r
n) (rd =pd,…qd;d=1,…,n)に対
応して,すべての転送テーブル16を,次のように完成
させる。
Bの分割ブロックに対応して,(q1−p1 +1)×
…× (qn −pn +1)個確保する。 ■ プロセッサ10aは,分割ブロック(r1,…r
n) (rd =pd,…qd;d=1,…,n)に対
応して,すべての転送テーブル16を,次のように完成
させる。
【0029】
次元dの下限値は,rd =pd のとき,id 。
rd ≧pd のとき,分割区間rd の下限。
次元dの上限値は,rd =qd のとき,jd 。
rd ≧qd のとき,分割区間rd の上限。
【0030】■ プロセッサ10aは,すべての転送
テーブル16に従って,分配データ格納域17から指定
される配列要素を読み出し,転送先データ格納域18へ
書き込む。分割法A,分割法Bとも,アドレス計算は上
記(式1)による。転送テーブル16は,配列全体に対
応する数だけ,あらかじめ確保しておいてもよい。その
場合には,手順■は不要となる。
テーブル16に従って,分配データ格納域17から指定
される配列要素を読み出し,転送先データ格納域18へ
書き込む。分割法A,分割法Bとも,アドレス計算は上
記(式1)による。転送テーブル16は,配列全体に対
応する数だけ,あらかじめ確保しておいてもよい。その
場合には,手順■は不要となる。
【0031】[2]同じ処理を分散メモリ型計算機で実
現する場合,分割ブロックに対応するプロセッサ10b
,…10cへのデータ送信となる。最初の手順■〜■は
共用メモリ型と同様である。■では以下の処理を行う。 ■ データ転送手段12により,転送テーブル16ご
とにデータ転送を実行する。1ワード長ずつしか転送で
きない機構であれば,全次元について反復実行しながら
1配列要素ずつ転送する。連続アドレスが一度に転送で
きる機構であれば,第2次元以降について反復実行しな
がら第1次元の連続配列要素を一度に転送することが可
能である。インターバル付きアドレス指定が可能な機構
であれば,第3次元以降について反復実行しながら第1
,2次元の長方形領域の配列要素を一度に転送すること
が可能である。複数次元のインターバルが可能ならば,
さらに多くの配列要素を一度に転送できる。
現する場合,分割ブロックに対応するプロセッサ10b
,…10cへのデータ送信となる。最初の手順■〜■は
共用メモリ型と同様である。■では以下の処理を行う。 ■ データ転送手段12により,転送テーブル16ご
とにデータ転送を実行する。1ワード長ずつしか転送で
きない機構であれば,全次元について反復実行しながら
1配列要素ずつ転送する。連続アドレスが一度に転送で
きる機構であれば,第2次元以降について反復実行しな
がら第1次元の連続配列要素を一度に転送することが可
能である。インターバル付きアドレス指定が可能な機構
であれば,第3次元以降について反復実行しながら第1
,2次元の長方形領域の配列要素を一度に転送すること
が可能である。複数次元のインターバルが可能ならば,
さらに多くの配列要素を一度に転送できる。
【0032】[3]共用メモリ型計算機において,分割
法Bによる1ブロック内に属する任意の部分配列を,分
割法Aで割り付けられている配列から収集し,分割法B
で割り付ける収集の手順は以下のようになる。 ■ プロセッサ10aは,分割区間番号指定手段13
により,すべての次元d=1,…,nについて,分割法
Aでid に対応する分割区間番号pd と,jd に
対応する分割区間番号qd を得る。これによって,分
割法Aの分割ブロックの範囲は,(p1:q1,…,
pn:qn)であることがわかる。
法Bによる1ブロック内に属する任意の部分配列を,分
割法Aで割り付けられている配列から収集し,分割法B
で割り付ける収集の手順は以下のようになる。 ■ プロセッサ10aは,分割区間番号指定手段13
により,すべての次元d=1,…,nについて,分割法
Aでid に対応する分割区間番号pd と,jd に
対応する分割区間番号qd を得る。これによって,分
割法Aの分割ブロックの範囲は,(p1:q1,…,
pn:qn)であることがわかる。
【0033】■ 転送テーブル16の領域を,分割法
Aの分割ブロックに対応して,(q1−p1 +1)×
…× (qn −pn +1)個確保する。 ■ [1]の分配の場合と同様に,分割ブロックに対
応するすべての転送テーブル16を完成させる。
Aの分割ブロックに対応して,(q1−p1 +1)×
…× (qn −pn +1)個確保する。 ■ [1]の分配の場合と同様に,分割ブロックに対
応するすべての転送テーブル16を完成させる。
【0034】■ プロセッサ10aは,すべての転送
テーブル16に従って,転送元データ格納域20から指
定される配列要素を読み出し,収集データ格納域19へ
書き込む。分割法A,分割法Bとも,アドレス計算は上
記(式1)による。 [4]分散メモリ型計算機において収集を行う場合には
,分割ブロックを担当する各プロセッサ10b,…10
cからのデータ受信となる。
テーブル16に従って,転送元データ格納域20から指
定される配列要素を読み出し,収集データ格納域19へ
書き込む。分割法A,分割法Bとも,アドレス計算は上
記(式1)による。 [4]分散メモリ型計算機において収集を行う場合には
,分割ブロックを担当する各プロセッサ10b,…10
cからのデータ受信となる。
【0035】
【実施例】図2は,分散メモリ型並列計算機に適用した
本発明の構成例を示している。図1に示す例では,各プ
ロセッサ10a〜10cがそれぞれ処理するデータを共
用メモリ15に分割して格納しているのに対し,図2に
示す例では,各プロセッサ10a〜10c対応に設けら
れている分散メモリ30のデータ格納域31に,データ
を分散させて格納する。この場合,データ転送手段12
は,各プロセッサの分散メモリ30間でデータを送受信
するバスまたは転送装置等で構成される。他の構成につ
いては,図1に示すものとほぼ同様である。
本発明の構成例を示している。図1に示す例では,各プ
ロセッサ10a〜10cがそれぞれ処理するデータを共
用メモリ15に分割して格納しているのに対し,図2に
示す例では,各プロセッサ10a〜10c対応に設けら
れている分散メモリ30のデータ格納域31に,データ
を分散させて格納する。この場合,データ転送手段12
は,各プロセッサの分散メモリ30間でデータを送受信
するバスまたは転送装置等で構成される。他の構成につ
いては,図1に示すものとほぼ同様である。
【0036】図3は,本発明の実施例で用いる転送テー
ブルの構成例を示す。転送テーブル16は,最大の場合
,分割ブロック数まで必要であり,それぞれ図3に示す
ように,配列の各次元ごとにインデックスの下限を示す
整数値と,上限を示す整数値とを持つことにより,分割
割付けの範囲を示す。
ブルの構成例を示す。転送テーブル16は,最大の場合
,分割ブロック数まで必要であり,それぞれ図3に示す
ように,配列の各次元ごとにインデックスの下限を示す
整数値と,上限を示す整数値とを持つことにより,分割
割付けの範囲を示す。
【0037】ADE転送に関する実施例として,10台
のプロセッサを持つ分散メモリ型並列計算機で,2次元
配列A(30,50)およびB(30,50)が使われ
,図4に示すように分割配置されている具体的な例につ
いて説明する。配列Aから配列Bへ全要素を代入する。
のプロセッサを持つ分散メモリ型並列計算機で,2次元
配列A(30,50)およびB(30,50)が使われ
,図4に示すように分割配置されている具体的な例につ
いて説明する。配列Aから配列Bへ全要素を代入する。
【0038】各プロセッサは担当するAの部分配列全域
を,Bへ分配する。例えばプロセッサP0は,A(0:
29, 0:4)を,次の手順でBの対応する要素へ送
信する。 ■ 配列A,Bについて,インデックスと分割区間番
号の対に関する情報を,例えば図5に示す分割情報テー
ブルを使って保持する。または計算式の形で保持する。 これをプロセッサで参照または計算することにより,分
割区間の範囲を認識する。図1に示す分割区間番号指定
手段13および分割区間上下限指定手段14は,このよ
うな分割情報テーブル等を得る手段である。
を,Bへ分配する。例えばプロセッサP0は,A(0:
29, 0:4)を,次の手順でBの対応する要素へ送
信する。 ■ 配列A,Bについて,インデックスと分割区間番
号の対に関する情報を,例えば図5に示す分割情報テー
ブルを使って保持する。または計算式の形で保持する。 これをプロセッサで参照または計算することにより,分
割区間の範囲を認識する。図1に示す分割区間番号指定
手段13および分割区間上下限指定手段14は,このよ
うな分割情報テーブル等を得る手段である。
【0039】■ 次元1の区間0:29,次元2の区
間0:4から,転送先となる配列Bの部分は,分割ブロ
ック(0,0)から(9,0)までの10ブロックにま
たがっていることがわかる。 ■ 分割ブロックに対応して,転送テーブル16を1
0個用意する。
間0:4から,転送先となる配列Bの部分は,分割ブロ
ック(0,0)から(9,0)までの10ブロックにま
たがっていることがわかる。 ■ 分割ブロックに対応して,転送テーブル16を1
0個用意する。
【0040】■ 転送テーブル16を,図6に示す転
送テーブル16−0,…,16−9のように完成させる
。 ■ 転送装置に対し,必要なパラメータを与えて起動
する。例えば自プロセッサのインターバル付きアドレス
区間から,他プロセッサのインターバル付きアドレス区
間へ送受信するハードウェアを用いるなら,block
(1,0)に関しては,次のようなパラメータをセット
し起動する。
送テーブル16−0,…,16−9のように完成させる
。 ■ 転送装置に対し,必要なパラメータを与えて起動
する。例えば自プロセッサのインターバル付きアドレス
区間から,他プロセッサのインターバル付きアドレス区
間へ送受信するハードウェアを用いるなら,block
(1,0)に関しては,次のようなパラメータをセット
し起動する。
【0041】
(a) 転送データ数 N (5−3+1
)×(4−0+1)=15(b) 転送先プロセッサP
プロセッサP1(c) 転送元 先頭アドレスb1 A(3,0)のアドレス連続
データ数w1 5−3+1=3 イン
ターバルi1 30(d) 転送先 先頭アドレスb2 B(3,0)のアドレス連続
データ数w2 5−3+1=3インターバルi2
3 転送データ数Nは,図6に示す転送テーブル16−1か
ら計算できる。転送元の先頭アドレスb1は,転送テー
ブル16−1の下限値から決める。連続データ数w1と
インターバルi1は,それぞれ転送テーブル16−1の
次元1方向の連続長と,図5に示すテーブルの次元1方
向の分割幅から決める。転送先についても同様である。
)×(4−0+1)=15(b) 転送先プロセッサP
プロセッサP1(c) 転送元 先頭アドレスb1 A(3,0)のアドレス連続
データ数w1 5−3+1=3 イン
ターバルi1 30(d) 転送先 先頭アドレスb2 B(3,0)のアドレス連続
データ数w2 5−3+1=3インターバルi2
3 転送データ数Nは,図6に示す転送テーブル16−1か
ら計算できる。転送元の先頭アドレスb1は,転送テー
ブル16−1の下限値から決める。連続データ数w1と
インターバルi1は,それぞれ転送テーブル16−1の
次元1方向の連続長と,図5に示すテーブルの次元1方
向の分割幅から決める。転送先についても同様である。
【0042】パラメータを受け取った転送装置は,例え
ば図10に従って後述する手順により,転送元アドレス
を得ながらN個のデータをメモリから読み,パラメータ
N,b2,w2,i2とともにプロセッサP1等の受信
装置へ送信する。プロセッサP1等の受信装置は,同様
に図10に示す手順で転送先アドレスを得ながらN個の
データを順次書き込む。
ば図10に従って後述する手順により,転送元アドレス
を得ながらN個のデータをメモリから読み,パラメータ
N,b2,w2,i2とともにプロセッサP1等の受信
装置へ送信する。プロセッサP1等の受信装置は,同様
に図10に示す手順で転送先アドレスを得ながらN個の
データを順次書き込む。
【0043】この結果,図7の配列Aのように各プロセ
ッサP0〜P9に分割割付けされていたデータは,配列
Bのように再配置されることになる。以上の例では,分
配によって配列Aのデータを配列Bのように再配置して
いるが,分散配置されているデータを収集することによ
って,同様に再配置することも可能である。この場合,
各プロセッサP0〜P9は,担当する配列Bの部分配列
全体を,配列Aから収集する。例えばプロセッサP0は
,部分配列B(0:2,0:49)を,配列Aの対応す
る要素から受信する。その手順は以下のとおりである。
ッサP0〜P9に分割割付けされていたデータは,配列
Bのように再配置されることになる。以上の例では,分
配によって配列Aのデータを配列Bのように再配置して
いるが,分散配置されているデータを収集することによ
って,同様に再配置することも可能である。この場合,
各プロセッサP0〜P9は,担当する配列Bの部分配列
全体を,配列Aから収集する。例えばプロセッサP0は
,部分配列B(0:2,0:49)を,配列Aの対応す
る要素から受信する。その手順は以下のとおりである。
【0044】■ 上記分配のときの■と同様である。
■ 転送元となる配列Aの部分は,分割ブロック(0
,0)から(0,9)までまたがっている。 ■ 分割ブロックに対応して転送テーブル16を10
個用意する。
,0)から(0,9)までまたがっている。 ■ 分割ブロックに対応して転送テーブル16を10
個用意する。
【0045】■ 転送テーブルを,図8および図9に
示す手順により埋める。 ■ 上記分配の場合と同様であるが,各プロセッサに
対して自分へのデータ転送を要求し,応答を待つ。 以上の手順における転送テーブル16の作成処理は,図
8および図9に示すように行う。なお,この例は3次元
配列のデータを分割する場合の例である。以下の説明に
おける(a) 〜(z) は,図8および図9に示す(
a) 〜(z) に対応する。
示す手順により埋める。 ■ 上記分配の場合と同様であるが,各プロセッサに
対して自分へのデータ転送を要求し,応答を待つ。 以上の手順における転送テーブル16の作成処理は,図
8および図9に示すように行う。なお,この例は3次元
配列のデータを分割する場合の例である。以下の説明に
おける(a) 〜(z) は,図8および図9に示す(
a) 〜(z) に対応する。
【0046】(a) 部分配列の次元1のインデックス
の下限と上限を変数i1,j1にセットする。同様に,
次元2のインデックスの下限と上限を変数i2,j2に
,次元3のインデックスの下限と上限を変数i3,j3
にセットする。また,p1,q1,p2,q2,p3,
q3に,それぞれi1,j1,i2,j2,i3,j3
に対応する分割区間番号をセットする。
の下限と上限を変数i1,j1にセットする。同様に,
次元2のインデックスの下限と上限を変数i2,j2に
,次元3のインデックスの下限と上限を変数i3,j3
にセットする。また,p1,q1,p2,q2,p3,
q3に,それぞれi1,j1,i2,j2,i3,j3
に対応する分割区間番号をセットする。
【0047】(b) 変数r1にp1をセットする。
(c) すべてのr2=p2,…,q2;r3=p3,
…,q3について,転送テーブル table(r1,
r2,r3)の次元1の下限値として,i1の値を設定
する。
…,q3について,転送テーブル table(r1,
r2,r3)の次元1の下限値として,i1の値を設定
する。
【0048】(d) r1=q1ならば,処理(i)
へ進む。 (e) 次元1の分割区間r1の上限値を,変数top
に設定する。 (f) すべてのr2=p2,…,q2;r3=p3,
…,q3について,転送テーブル table(r1,
r2,r3)の次元1の上限値として,topの値を設
定する。
へ進む。 (e) 次元1の分割区間r1の上限値を,変数top
に設定する。 (f) すべてのr2=p2,…,q2;r3=p3,
…,q3について,転送テーブル table(r1,
r2,r3)の次元1の上限値として,topの値を設
定する。
【0049】(g) r1に1を加算する(h) すべ
てのr2=p2,…,q2;r3=p3,…,q3につ
いて,転送テーブル table(r1,r2,r3)
の次元1の上限値として,top+1の値を設定する。 その後,処理(d) へ戻る。
てのr2=p2,…,q2;r3=p3,…,q3につ
いて,転送テーブル table(r1,r2,r3)
の次元1の上限値として,top+1の値を設定する。 その後,処理(d) へ戻る。
【0050】(i) すべてのr2=p2,…,q2;
r3=p3,…,q3について,転送テーブル tab
le(r1,r2,r3)の次元1の上限値として,j
1の値を設定する。 (j) 変数r2にp2をセットする。
r3=p3,…,q3について,転送テーブル tab
le(r1,r2,r3)の次元1の上限値として,j
1の値を設定する。 (j) 変数r2にp2をセットする。
【0051】(k) すべてのr1=p1,…,q1;
r3=p3,…,q3について,転送テーブル tab
le(r1,r2,r3)の次元2の下限値として,i
2の値を設定する。 (l) r2=q2ならば,処理(q) へ進む。
r3=p3,…,q3について,転送テーブル tab
le(r1,r2,r3)の次元2の下限値として,i
2の値を設定する。 (l) r2=q2ならば,処理(q) へ進む。
【0052】(m) 次元2の分割区間r2の上限値を
,変数topに設定する。 (n) すべてのr1=p1,…,q1;r3=p3,
…,q3について,転送テーブル table(r1,
r2,r3)の次元2の上限値として,topの値を設
定する。
,変数topに設定する。 (n) すべてのr1=p1,…,q1;r3=p3,
…,q3について,転送テーブル table(r1,
r2,r3)の次元2の上限値として,topの値を設
定する。
【0053】(o) r2に1を加算する(p) すべ
てのr1=p1,…,q1;r3=p3,…,q3につ
いて,転送テーブル table(r1,r2,r3)
の次元2の上限値として,top+1の値を設定する。 その後,処理(l) へ戻る。
てのr1=p1,…,q1;r3=p3,…,q3につ
いて,転送テーブル table(r1,r2,r3)
の次元2の上限値として,top+1の値を設定する。 その後,処理(l) へ戻る。
【0054】(q) すべてのr1=p1,…,q1;
r3=p3,…,q3について,転送テーブル tab
le(r1,r2,r3)の次元2の上限値として,j
2の値を設定する。 (r) 変数r3にp3をセットする。
r3=p3,…,q3について,転送テーブル tab
le(r1,r2,r3)の次元2の上限値として,j
2の値を設定する。 (r) 変数r3にp3をセットする。
【0055】(s) すべてのr1=p1,…,q1;
r2=p2,…,q2について,転送テーブル tab
le(r1,r2,r3)の次元3の下限値として,i
3の値を設定する。 (t) r3=q3ならば,処理(y) へ進む。
r2=p2,…,q2について,転送テーブル tab
le(r1,r2,r3)の次元3の下限値として,i
3の値を設定する。 (t) r3=q3ならば,処理(y) へ進む。
【0056】(u) 次元3の分割区間r3の上限値を
,変数topに設定する。 (v) すべてのr1=p1,…,q1;r2=p2,
…,q2について,転送テーブル table(r1,
r2,r3)の次元3の上限値として,topの値を設
定する。
,変数topに設定する。 (v) すべてのr1=p1,…,q1;r2=p2,
…,q2について,転送テーブル table(r1,
r2,r3)の次元3の上限値として,topの値を設
定する。
【0057】(w) r3に1を加算する(x) すべ
てのr1=p1,…,q1;r2=p2,…,q2につ
いて,転送テーブル table(r1,r2,r3)
の次元2の上限値として,top+1の値を設定する。 その後,処理(t) へ戻る。
てのr1=p1,…,q1;r2=p2,…,q2につ
いて,転送テーブル table(r1,r2,r3)
の次元2の上限値として,top+1の値を設定する。 その後,処理(t) へ戻る。
【0058】(y) すべてのr1=p1,…,q1;
r2=p2,…,q2について,転送テーブル tab
le(r1,r2,r3)の次元3の上限値として,j
3の値を設定し,転送テーブルの作成を完了する。デー
タを転送する転送装置は,図10に示す処理論理■〜■
により転送元または転送先のアドレスを決定する。
r2=p2,…,q2について,転送テーブル tab
le(r1,r2,r3)の次元3の上限値として,j
3の値を設定し,転送テーブルの作成を完了する。デー
タを転送する転送装置は,図10に示す処理論理■〜■
により転送元または転送先のアドレスを決定する。
【0059】■ データ数をN,先頭アドレスをb,
連続データ数をw,インターバルをiとする。 ■ 変数k0に0,変数dに(i−w),アドレスa
ddrにbを設定する。 ■ 変数k1に0を設定する。
連続データ数をw,インターバルをiとする。 ■ 変数k0に0,変数dに(i−w),アドレスa
ddrにbを設定する。 ■ 変数k1に0を設定する。
【0060】■ 変数k0がNになったならば,処理
を終了する。 ■ アドレスaddrをアクセスする。転送元の場合
,読み出し(Read),転送先の場合,書き込み(W
rite)を行う。 ■ アドレスaddrを1歩進する。変数k0,k1
にそれぞれ1を加算する。
を終了する。 ■ アドレスaddrをアクセスする。転送元の場合
,読み出し(Read),転送先の場合,書き込み(W
rite)を行う。 ■ アドレスaddrを1歩進する。変数k0,k1
にそれぞれ1を加算する。
【0061】■ 変数k1がwになるまで,■へ戻っ
て処理を繰り返す。 ■ 変数k1がwになったならば,アドレスaddr
にdを加えた後,■へ戻って同様に処理を繰り返す。デ
ータを転送する転送装置は,以上の処理論理によってア
ドレスを決定するハードウェアによって容易に構成でき
る。または,各プロセッサにおけるソフトウェアによっ
て構成することも可能である。
て処理を繰り返す。 ■ 変数k1がwになったならば,アドレスaddr
にdを加えた後,■へ戻って同様に処理を繰り返す。デ
ータを転送する転送装置は,以上の処理論理によってア
ドレスを決定するハードウェアによって容易に構成でき
る。または,各プロセッサにおけるソフトウェアによっ
て構成することも可能である。
【0062】分割配列の初期化に本発明を適用する場合
,以下のように行う。ファイルやオブジェクトコードに
書かれている値での分割配列の初期化は,これらの初期
化データ列を1×…×1に分割された配列とみなし,各
プロセッサによる分配または収集を行うことで実現する
ことができる。ただし,シーケンシャルファイルからの
入力の場合には,プロセッサ間で逐次化の処理が必要で
ある。排他処理が必要な場合もある。
,以下のように行う。ファイルやオブジェクトコードに
書かれている値での分割配列の初期化は,これらの初期
化データ列を1×…×1に分割された配列とみなし,各
プロセッサによる分配または収集を行うことで実現する
ことができる。ただし,シーケンシャルファイルからの
入力の場合には,プロセッサ間で逐次化の処理が必要で
ある。排他処理が必要な場合もある。
【0063】分割配列の出力に本発明を適用する場合,
以下のように行う。ファイルやプリンタへの分割配列の
出力は,これらの出力先を1×…×1に分割された配列
とみなし,各プロセッサで本発明による分配を適用する
ことで実現することができる。ただし,シーケンシャル
ファイルへの出力や,出力順序に意味のあるプリンタ出
力の場合には,プロセッサ間で逐次化の処理が必要であ
る。排他処理が必要な場合もある。
以下のように行う。ファイルやプリンタへの分割配列の
出力は,これらの出力先を1×…×1に分割された配列
とみなし,各プロセッサで本発明による分配を適用する
ことで実現することができる。ただし,シーケンシャル
ファイルへの出力や,出力順序に意味のあるプリンタ出
力の場合には,プロセッサ間で逐次化の処理が必要であ
る。排他処理が必要な場合もある。
【0064】図11および図12は,本発明の適用対象
となる分割割付けの例と実際のメモリにおけるデータの
配置例を示している。例えば図11の(イ)に示す2次
元配列X(8,12)の長方形型の部分配列X(1:6
,1:7)を,第1次元方向に順に区間幅2,3,3,
第2次元方向に順に区間幅4,4,4で分割すると,そ
の分割イメージは,図11の(ロ)に示すようになる。
となる分割割付けの例と実際のメモリにおけるデータの
配置例を示している。例えば図11の(イ)に示す2次
元配列X(8,12)の長方形型の部分配列X(1:6
,1:7)を,第1次元方向に順に区間幅2,3,3,
第2次元方向に順に区間幅4,4,4で分割すると,そ
の分割イメージは,図11の(ロ)に示すようになる。
【0065】この3×3ブロックに分割された各ブロッ
ク内のデータを,メモリ上の連続アドレスに割り付ける
ようにすると,メモリ割付けは,図12に示す(イ)〜
(ヘ)に示すような状態になる。部分配列は,6つのブ
ロックにまたがって,一見不規則なアドレスに分散配置
される形になる。しかし,分散メモリ型の場合などに,
各プロセッサは分割法に応じたメモリ割付けを意識し,
効率よくデータを処理することが可能である。
ク内のデータを,メモリ上の連続アドレスに割り付ける
ようにすると,メモリ割付けは,図12に示す(イ)〜
(ヘ)に示すような状態になる。部分配列は,6つのブ
ロックにまたがって,一見不規則なアドレスに分散配置
される形になる。しかし,分散メモリ型の場合などに,
各プロセッサは分割法に応じたメモリ割付けを意識し,
効率よくデータを処理することが可能である。
【0066】
【発明の効果】以上説明したように,本発明によれば,
分割形状の異なる配列間の転送や,分割配列への入出力
処理を,統一的に簡単かつ効率よく行うことができる。 特に,分散メモリ型並列計算機でのデータ転送処理の効
率化も可能であり,ユーザプログラム等の負担軽減に大
きな効果がある。
分割形状の異なる配列間の転送や,分割配列への入出力
処理を,統一的に簡単かつ効率よく行うことができる。 特に,分散メモリ型並列計算機でのデータ転送処理の効
率化も可能であり,ユーザプログラム等の負担軽減に大
きな効果がある。
【図1】本発明の原理構成図である。
【図2】本発明の他の構成例を示す図である。
【図3】本発明の実施例に係る転送テーブルの構成例を
示す図である。
示す図である。
【図4】本発明の一実施例による再分配説明図である。
【図5】本発明の一実施例で用いる分割情報テーブルの
例を示す図である。
例を示す図である。
【図6】本発明の一実施例に係る転送テーブルの例を示
す図である。
す図である。
【図7】本発明の一実施例によるメモリ割付けの例を示
す図である。
す図である。
【図8】本発明の一実施例による転送テーブル作成処理
説明図である。
説明図である。
【図9】本発明の一実施例による転送テーブル作成処理
説明図である。
説明図である。
【図10】本発明の一実施例によるデータ転送制御説明
図である。
図である。
【図11】本発明に関係する分割割付けの例を示す図で
ある。
ある。
【図12】本発明に関係するメモリ割付けの例を示す図
である。
である。
【図13】並列計算機における配列データの分割例を示
す図である。
す図である。
10a〜10c プロセッサ
11 転送テーブル作成手段12
データ転送手段 13 分割区間番号指定手段14
分割区間上下限指定手段15 共用メモリ 16 転送テーブル 17 分配データ格納域 18 転送先データ格納域 19 収集データ格納域 20 転送元データ格納域
データ転送手段 13 分割区間番号指定手段14
分割区間上下限指定手段15 共用メモリ 16 転送テーブル 17 分配データ格納域 18 転送先データ格納域 19 収集データ格納域 20 転送元データ格納域
Claims (2)
- 【請求項1】 複数のプロセッサ(10)がそれぞれ
自装置に割り付けられたデータを処理する計算機であっ
て,入力装置から入力したデータまたは記憶装置に格納
されている配列データの全部または一部を分割して各記
憶空間または各プロセッサ(10)に割り付ける配列デ
ータの分配/収集処理装置において,各記憶空間または
各プロセッサ(10)への割り付け対象となる1以上の
任意の次元方向で分割した分割ブロックに対応して,各
次元ごとの範囲に関する情報を持つ転送テーブル(16
)を作成する転送テーブル作成手段(11)と,作成し
た転送テーブル(16)に基づいて,各分割ブロックご
とにデータを各記憶空間または各プロセッサ(10)に
転送するデータ転送手段(12)とを備え,任意の転送
パターンによりデータを自動分配するようにしたことを
特徴とする配列データの分配/収集処理装置。 - 【請求項2】 複数のプロセッサ(10)がそれぞれ
自装置に割り付けられたデータを処理する計算機であっ
て,各記憶空間または各プロセッサ(10)に分散して
配置されているデータの全部または一部を,ある記憶空
間または1つのプロセッサ(10)に収集する配列デー
タの分配/収集処理装置において,各記憶空間または各
プロセッサ(10)へ分散して配置されている1以上の
任意の次元方向で分割した分割ブロックに対応して,収
集すべきデータの各次元ごとの範囲に関する情報を持つ
転送テーブル(16)を作成する転送テーブル作成手段
(11)と,作成した転送テーブル(16)に基づいて
,各分割ブロックごとの収集データを,ある記憶空間ま
たは1つのプロセッサ(10)に転送するデータ転送手
段(12)とを備え,任意の転送パターンによりデータ
を自動収集するようにしたことを特徴とする配列データ
の分配/収集処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3090146A JPH04321158A (ja) | 1991-04-22 | 1991-04-22 | 配列データの分配/収集処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3090146A JPH04321158A (ja) | 1991-04-22 | 1991-04-22 | 配列データの分配/収集処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04321158A true JPH04321158A (ja) | 1992-11-11 |
Family
ID=13990363
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3090146A Pending JPH04321158A (ja) | 1991-04-22 | 1991-04-22 | 配列データの分配/収集処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04321158A (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61262946A (ja) * | 1985-05-17 | 1986-11-20 | Fujitsu Ltd | 分散デ−タベ−スシステムにおけるデ−タ転送方式 |
| JPH01320551A (ja) * | 1988-06-13 | 1989-12-26 | Internatl Business Mach Corp <Ibm> | フアイル転送方法 |
| JPH02176822A (ja) * | 1988-09-19 | 1990-07-10 | Hitachi Ltd | ディスクファイルシステム |
-
1991
- 1991-04-22 JP JP3090146A patent/JPH04321158A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61262946A (ja) * | 1985-05-17 | 1986-11-20 | Fujitsu Ltd | 分散デ−タベ−スシステムにおけるデ−タ転送方式 |
| JPH01320551A (ja) * | 1988-06-13 | 1989-12-26 | Internatl Business Mach Corp <Ibm> | フアイル転送方法 |
| JPH02176822A (ja) * | 1988-09-19 | 1990-07-10 | Hitachi Ltd | ディスクファイルシステム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5111389A (en) | Aperiodic mapping system using power-of-two stride access to interleaved devices | |
| US5103393A (en) | Method of dynamically allocating processors in a massively parallel processing system | |
| US6205533B1 (en) | Mechanism for efficient data access and communication in parallel computations on an emulated spatial lattice | |
| CN111708894B (zh) | 一种知识图谱创建方法 | |
| JPH0792790B2 (ja) | ベクトル並列計算機 | |
| US5659714A (en) | Data processor including memory for associating data elements of two-dimensional array which are numbered in spiral order with element numbers thereof | |
| US5640597A (en) | Method and apparatus for servicing simultaneously a plurality of requests for data streams | |
| US6950843B2 (en) | Multi-dimensional Fourier transform parallel processing method for shared memory type scalar parallel computer | |
| US5991866A (en) | Method and system for generating a program to facilitate rearrangement of address bits among addresses in a massively parallel processor system | |
| US5900023A (en) | Method and apparatus for removing power-of-two restrictions on distributed addressing | |
| Chang et al. | Optimizing retrieval and processing of multi-dimensional scientific datasets | |
| Gaudiot et al. | Token relabeling in a tagged token data-flow architecture | |
| Bhandarkar | Some performance issues in multiprocessor system design | |
| JP4117621B2 (ja) | データ一括転送装置 | |
| JP2851804B2 (ja) | 2次元直交変換装置 | |
| JPH063589B2 (ja) | アドレス置換装置 | |
| Händler et al. | A tightly coupled and hierarchical multiprocessor architecture | |
| RU2164037C2 (ru) | Способ формирования адреса | |
| Krick et al. | Data management in networks: Experimental evaluation of a provably good strategy | |
| JPH0522238B2 (ja) | ||
| JPH0324644A (ja) | マルチボリュームにおけるファイルの自動拡張方式 | |
| JP3223530B2 (ja) | データ転送命令生成処理方法 | |
| JP3304445B2 (ja) | プログラム生成処理装置 | |
| Dekker | Methodology based parallel digital processors | |
| JPH0353659B2 (ja) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19971021 |