JPH0926941A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH0926941A
JPH0926941A JP7173329A JP17332995A JPH0926941A JP H0926941 A JPH0926941 A JP H0926941A JP 7173329 A JP7173329 A JP 7173329A JP 17332995 A JP17332995 A JP 17332995A JP H0926941 A JPH0926941 A JP H0926941A
Authority
JP
Japan
Prior art keywords
data
memory
data elements
array
consecutive
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
JP7173329A
Other languages
English (en)
Inventor
Toyohiko Yoshida
豊彦 吉田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP7173329A priority Critical patent/JPH0926941A/ja
Publication of JPH0926941A publication Critical patent/JPH0926941A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 本データ処理装置は、古典的緩和法問題等に
代表される様な、多次元アレイデータの周辺境界上のデ
ータ要素を数多くアクセスする・プログラムを実行する
際に、メモリ内の連続したアドレスに存在する複数個の
データ要素を一組にして保持・管理するバッファメモリ
ないしキャッシュメモリのバッファライン数ないしキャ
ッシュライン数や通信パケットのパケット数を少なくし
て、効率の良いデータ処理を可能とする。 【解決手段】 データ処理装置(共有メモリ型マルチプ
ロセッサシステム)における各ノードNは、その要素番
号が螺旋状に順次に振り分けられた、2次元配列データ
に属する各データ要素をその要素番号と対応付けて連続
番地に格納するメモリ45と、パケット通信によって他
のノードの主メモリにアクセスするキャッシュメモリ4
3と、演算器(41,42)等とを有している。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチプロセッサ
構成等のデータ処理装置に適用される技術に関してお
り、より具体的には、複数のデータ処理機構を並列に動
作させて負荷分散を行うことにより処理時間を高速にす
るマルチプロセッサ構成のデータ処理装置に関するもの
である。特に、多次元アレイ上に配置されたデータ要素
を複数のサブアレイに分割して、各ノードに1つまたは
複数個のサブアレイを割り付けての並列データ処理を行
うデータ処理装置に好適な技術に関するものである。
【0002】
【従来の技術】Jacobi緩和法は、熱伝導問題などの計算
に用いられる古典的緩和法の1つである。今、2次元平
面の場合を例として考えると、このJacobi緩和法は、あ
る回の緩和計算における2次元平面上の各格子点のデー
タ値をそれに隣接する4つの格子点の1つ前の回の緩和
計算で求めたデータ値の平均値として求めることを何回
も繰り返して、問題としている領域の各格子点のデータ
値を外部で定められた境界条件によって決まる値に収束
させる計算方法に該当する。
【0003】図7は、Jacobi緩和法を用いた演算処理を
共有メモリ型マルチプロセッサによって実行する場合の
プログラム例を示す。図7の例では、分割された1つの
サブアレイのデータ要素を保持するため、2つの2次元
アレイ(231、232)を用いている。奇数回目の緩
和計算では、サブアレイ232の4つのデータ要素の値
を用いてサブアレイ231の各データ要素の値を計算
し、偶数回目の緩和計算では、サブアレイ231の4つ
のデータ要素の値を用いてサブアレイ232の各データ
要素の値を計算している。このように、Jacobi緩和法で
は、サブアレイに含まれるデータ要素の各々の値が各回
の緩和計算毎に変更される。
【0004】従来のデータ処理装置では、図8に示す様
に、2次元格子点A2(i,j)上の各データ要素を行方向
に沿って順次に番号付けすることにより、上記各データ
要素を1次元の格子点A1(k){k=8×(i-1)+
(j-1)}のデータ要素に対応させ、これによって2次
元データアレイを1次元データアレイに展開している。
更に、展開後の1次元データアレイにおける1次元の要
素番号に従って、各データ要素をメモリ上の対応する番
地に配置する手法が用いられていた。
【0005】
【発明が解決しようとする課題】上述したJacobi緩和法
を共有メモリ型マルチプロセッサで処理する場合は、各
プロセッサノードに負荷を分散して処理するために、図
9に示す様に、全体のデータアレイをタイル状の複数の
サブアレイに分割している。このとき、従来のデータ処
理装置では、各サブアレイのデータ要素が図9に示すよ
うに配置されるため、隣接したサブアレイ同士の境界に
配置されたデータ要素のうちで、行方向に平行なサブア
レイ境界に配置されたデータ要素は連続した要素番号を
もつけれども、列方向に平行なサブアレイ境界に配置さ
れたデータ要素は、非連続な要素番号をもつようにな
る。
【0006】図10は、従来のデータ処理装置に用いら
れているデータ構造において、サブアレイ境界付近に配
置された各データ要素の要素番号を例示している。同図
に示した例より理解される通り、従来のデータ処理装置
では、サブアレイ境界を介して向かい合う、2つのサブ
アレイの各々のデータ要素の番号は互いに異なってお
り、そのため向かい合うデータ要素の要素番号をそれぞ
れ別々に計算する必要がある。
【0007】図7のJacobi緩和法におけるプログラム最
小処理単位では、あるデータ要素とそれに隣接する4つ
のデータ要素のみを演算の対象とする。このため、全体
のデータアレイを分割して得られた1つのサブアレイ内
のデータ要素の計算では、そのサブアレイに隣接する4
つのサブアレイのサブアレイ境界に配置されたデータ要
素のみを必要とし、マルチプロセッサの各ノードは、演
算に際して、他ノード内のメモリに配置された、演算対
象となる隣接サブアレイのサブアレイ境界上のデータ要
素だけをアクセスする。
【0008】一方、共有メモリ型マルチプロセッサの各
ノードには、自分のノード内の主メモリアクセスや他ノ
ード内にある主メモリアクセスを効率的に行うために、
従来よりキャッシュメモリが使用されている。このキャ
ッシュメモリは、連続したメモリ番地に格納されたデー
タ要素を複数個ずつ組にして形成されるキャッシュライ
ンを構成し、キャッシュライン毎に主メモリをアクセス
してデータを処理する。従って、例えば4個のデータ要
素で1つのキャッシュラインが構成される場合を考える
と、従来のデータ処理装置では、図10に示すように、
各ノードがその処理を受け持つサブアレイ101に隣接
する2つのサブアレイ102、103内の、サブアレイ
101とのサブアレイ境界上に配置された各データ要素
をアクセスするときには、1つのキャッシュラインを構
成する112や113に含まれる4つのデータ要素の組
がアクセスされることとなってしまう。このため、従来
のデータ処理装置では、不必要にアクセスされるデータ
要素が数多く存在することとなり、その結果、通信する
データ量が格段に多くなってしまうと共に、隣接サブア
レイのデータ要素アクセスのために使用するキャッシュ
ラインの数も格段に多く必要になるという問題点があ
る。
【0009】特に、Jacobi緩和法では、原則として各回
の緩和計算毎に全サブアレイの全データ要素の値が変更
される。従って、マルチプロセッサの各ノードのキャッ
シュメモリに他ノードから取り込まれたデータはその回
の緩和計算に用いられるのみであるから、次回の緩和計
算の際には、各ノードは新たに他ノードからデータを取
り込む必要が生じる。このように、アクセスすべきキャ
ッシュライン数が多いと、処理時間が大幅に増大する。
【0010】この発明の目的は、多次元配列データのア
レイサイズに依存することなく、所定の演算を行う際に
必要なアレイ周辺境界上のデータ要素に常に連続した要
素番号を割り振って、その様に要素番号が割り振られた
各データ要素を、その要素番号に応じて、連続したメモ
リアドレスに配置可能とすることにある。
【0011】又、この発明の別の目的は、多次元配列デ
ータの周辺境界上のデータ要素を数多くアクセスする演
算処理を実行するときに、メモリ内の連続したアドレス
に存在する複数個のデータ要素を一組にして保持・管理
するバッファメモリないしキャッシュメモリのバッファ
ライン数ないしキャッシュライン数や、パケット通信の
パケット数を少なくして、効率の良いデータ処理を可能
とすることにある。
【0012】又、この発明の別の目的は、要素番号が螺
旋状の順に割り振られた、多次元配列データの各データ
要素を、その要素番号に応じてメモリの連続番地に格納
することにある。
【0013】又、この発明の別の目的は、全体の多次元
データアレイを複数のサブアレイ(データ要素群)に分
割して、隣接するサブアレイの周辺境界上のデータを数
多くアクセスする演算処理を実行する場合に、隣接する
サブアレイに属し且つ隣接し合うデータ要素の要素番号
を容易に計算することを可能として、効率的なデータ処
理を可能とすることにある。
【0014】又、この発明の別の目的は、異なる向きの
螺旋状の順序で番号付けられた4種類の多次元配列デー
タを用いることにより、互いに隣接する多次元配列デー
タの境界を介して対向する2つのデータ要素を、全て同
じ要素番号をもつデータ要素として対応付けてメモリ内
の連続番地に格納可能とすることにあり、これにより、
隣接する多次元配列データに属する、隣接したデータ要
素の要素番号を容易に計算可能として、効率的なデータ
処理を可能とすることにある。
【0015】又、この発明の別の目的は、データ処理装
置が複数のノードを有する共有メモリ型マルチプロセッ
サシステムに適用された場合に、その一つのノードが他
のノードとの間でパケット通信をなして得た一群のデー
タ要素を保持するために使用するバッファラインないし
キャッシュラインの数を少なくして、バッファメモリな
いしキャッシュメモリを効率的に利用可能とすることに
ある。
【0016】
【課題を解決するための手段】請求項1の発明に係るデ
ータ処理装置は、データ要素の各々に要素番号が付され
ており、しかも前記データ要素の内でそのアレイの周辺
境界に沿った前記データ要素の全てが連続した前記要素
番号を順次に与えらている多次元配列データにおける、
前記データ要素の各々を対応する前記要素番号に基づき
連続番地に格納するメモリと、連続した前記要素番号を
有する複数個の前記データ要素の各々を前記メモリより
フェッチして一ラインのデータ要素として格納するバッ
ファメモリと、前記バッファメモリに格納された前記一
ラインのデータ要素に基づき所定の演算処理を実行する
演算器とを備える。
【0017】請求項2に係る発明は、請求項1記載のデ
ータ処理装置において、前記バッファメモリをキャッシ
ュメモリとしたものである。
【0018】請求項3に係る発明は、請求項1記載のデ
ータ処理装置において、前記多次元配列データの各デー
タ要素を螺旋状の順番で番号付けしたものである。
【0019】請求項4に係る発明は、請求項1記載のデ
ータ処理装置に関して、前記多次元配列データと同じデ
ータ構造を有する別の多次元配列データに含まれる各デ
ータ要素の各々を前記メモリと同様に対応する連続番地
に格納する別のメモリを更に備えるものである。そし
て、前記多次元配列データと前記別の多次元配列データ
とは、全体のデータアレイを分割して得られる複数のサ
ブアレイの内で隣接し合う任意の2つのサブアレイのそ
れぞれに含まれるデータ要素群に対応しており、前記演
算器は、前記バッファメモリより読み出された前記一ラ
インのデータ要素と前記別のメモリより読み出された別
のデータ要素とに基づき、前記所定の演算処理を実行す
るものである。
【0020】又、請求項5の発明に係るデータ処理装置
は、第1データ要素の各々に第1要素番号が付されてお
り、しかも前記第1データ要素の内でそのアレイの周辺
境界に沿った前記第1データ要素の全てが連続した前記
第1要素番号を順次に与えられている第1多次元配列デ
ータにおける、前記第1データ要素の各々を対応する前
記第1要素番号に基づき第1連続番地に格納した第1メ
モリと、連続した前記第1要素番号を有する複数個の前
記第1データ要素の各々を前記第1メモリよりフェッチ
して第1のラインのデータ要素として格納する第1バッ
ファメモリと、第2データ要素の各々に第2要素番号が
付されており、しかも前記第2データ要素の内でそのア
レイの周辺境界に沿った前記第2データ要素の全てが連
続した前記第2要素番号を順次に与えられている、前記
第1多次元配列データに隣接した第2多次元配列データ
における前記第2データ要素の各々を対応する前記第2
要素番号に基づき第2連続番地に格納した第2メモリ
と、連続した前記第2要素番号を有する複数個の前記第
2データ要素の各々を前記第2メモリよりフェッチして
第2のラインのデータ要素として格納する第2バッファ
メモリと、前記第1バッファメモリと前記第2バッファ
メモリ間に接続されたネットワーク手段とを備えてお
り、前記第1バッファメモリ及び前記第2バッファメモ
リは、それぞれ、前記ネットワーク手段を介して、前記
第2メモリ及び第1メモリをアクセスして、連続した前
記第2要素番号を与える複数個の前記第2データ要素及
び連続した前記第1要素番号を与える複数個の前記第1
データ要素を格納すると共に、前記第1バッファメモリ
に格納された前記第1及び第2のラインのデータ要素に
基づき第1演算処理を実行する第1演算器と、前記第2
バッファメモリに格納された前記第2及び第1のライン
のデータ信号に基づき第2演算処理を実行する第2演算
器とを、更に備えている。
【0021】
【作用】請求項1に係る発明では、メモリが格納するデ
ータ要素の内、多次元配列データのアレイの周辺境界に
沿った部分のデータ要素には、連続した要素番号が順次
に付与されている。バッファメモリは、この連続した要
素番号を与える複数のデータ要素をメモリよりフェッチ
して、これらのデータ信号をその一ライン分のデータ要
素として格納する。その後、演算器は、バッファメモリ
内の一ライン分のデータ要素に基づき所定の演算処理を
実行する。
【0022】請求項2に係る発明では、バッファメモリ
はキャッシュメモリとして機能する。
【0023】請求項3に係る発明では、メモリに格納さ
れたデータ要素は螺旋状の順番に番号付けられているの
で、多次元配列データのアレイの周辺境界に沿った部分
のデータ要素は、連続した要素番号を有する。従って、
バッファメモリに格納された一ライン分のデータ要素も
また、連続した要素番号を与える。
【0024】請求項4に係る発明では、別のメモリに格
納された別のデータ要素の内で、その別の多次元配列デ
ータのアレイの周辺境界に沿った部分のデータ要素もま
た、同様に連続した要素番号を有している。従って、演
算器は、上記別のデータ信号が与える上記周辺境界に沿
ったデータ要素に付いて所定の演算処理を実行する際
に、当該演算処理にとって必要な多次元配列データの周
辺境界に沿ったデータ要素を、バッファメモリ内の一ラ
インのデータ要素より容易に読み出すことができる。
【0025】請求項5に係る発明では、第1バッファメ
モリは、第1メモリをアクセスして、連続した要素番号
が付された周辺境界上の第1データ要素を、第1のライ
ンのデータ要素として格納する。更に、第1バッファメ
モリは、ネットワーク手段を介して第2メモリをアクセ
スし、連続した要素番号が付された周辺境界上の第2デ
ータ要素を、第2のライン分の第2データ要素として格
納する。そして、第1演算器は、第1バッファメモリに
格納された第1及び第2のラインのデータ要素に基づ
き、第1演算処理を実行する。
【0026】他方、第2バッファメモリは、第2メモリ
をアクセスして、連続した要素番号が付された周辺境界
上の第2データ要素を、第2のラインのデータ要素とし
て格納する。更に、第2バッファメモリは、ネットワー
ク手段を介して第1メモリをアクセスし、連続した要素
番号が付された周辺境界上の第1データ要素を、第1の
ラインデータ要素として格納する。そして、第2演算器
は、第2バッファメモリに格納された第2及び第1のラ
インのデータ要素に基づき、第2演算処理を実行する。
【0027】
【発明の実施の形態】
(概要)本データ処理装置は、次のような特徴的な構成
を有する。
【0028】 本データ処理装置は、多次元配列デー
タの周辺境界に沿ったすべてのデータ要素が連続した要
素番号を与えられており、しかも全データ要素が、それ
ぞれに付与された要素番号に対応したメモリの連続番地
に配置された、データ構造をもつ。
【0029】 本データ処理装置は、1つの領域内で
多次元格子状に配置された複数のデータ要素を複数のデ
ータ要素群(サブアレイ)に分割するときは、異なるデ
ータ要素群に属し、且つ境界線を介して互いに隣接する
2つのデータ要素が同じ要素番号をもつ様に配置され
た、データ構造をもつ。
【0030】 本データ処理装置は、複数のノードか
らなる共有メモリ型マルチプロセッサシステムに適用さ
れるものである。そして、他のノードB内のメモリに割
り付けられた、全体の二次元配列データの一部である一
群のデータ要素を一つのノードAがアクセスするとき、
本データ処理装置では、ノードAがその一群のデータ要
素を保持するために使用するキャッシュラインの数が少
なくなるように、その一群に属するすべてのデータ要素
を、連続したメモリ番地をもつ1つまたは複数の領域に
配置することとしている。
【0031】 本データ処理装置では、2次元配列デ
ータを構成する各データ要素に対して螺旋状の順序で番
号付けを行うことにより、2次元配列データを1次元配
列データに展開し、展開後の各データ要素を、その番号
に対応したメモリの連続記憶番地に格納している。
【0032】 本データ処理装置では、異なる向きの
螺旋状の順序で番号付けした4種類の2次元アレイを用
いて、多次元格子状に配置された全体の2次元配列デー
タを分割する場合に、互いに隣接する2次元アレイの隣
接境界を介して向かい合う2つのデータ要素がすべて同
じ要素番号をもつ様に、全データ要素が配置されてい
る。
【0033】(実施の形態1)本発明の実施の形態の一
つに係るデータ処理装置は、共有メモリ型マルチプロセ
ッサシステムに適用されるものであり、当該システムの
全体構成を図1に示す。
【0034】図1に例示したデータ処理装置は、16個
のノードを有する共有メモリ型マルチプロセッサであ
り、16個の各ノード1〜16がネットワーク配線20
を介して2次元メッシュ状に接続された形態を採る。そ
して、16個のノード1〜16からなるノード群には、
補助記憶装置31からデータやプログラムを読み出して
ノード群へ送信するための制御用プロセッサ30が、そ
のインターフェイス回路32を介して接続されている。
以下、各ノード1〜16をノードNとして総称すること
として、各ノードNの内部構成を図2に示す。
【0035】図2において、各ノードNは、主プロセッ
サ41と副プロセッサ42からなる演算器、分散された
キャッシュメモリ43、メモリ制御回路44、分散され
た共有型メモリ(主メモリ)45、ローカルメモリ4
6、ディレクトリメモリ47及びネットワーク接続回路
48を有する。各ノードNは、ネットワーク接続回路4
8により、ネットワーク配線20を介して、最大4つの
他のノードと接続することが可能である。キャッシュメ
モリ43の1ライン(1キャッシュライン)は16バイ
トで構成されており、キャッシュメモリ43は、Jacobi
緩和法などのプログラムの処理対象となる各データ要素
の各々(各データ要素は4バイトの長さである)を連続
する番地に配置された4個ずつの組にして、各組の4つ
のデータ要素(1ラインのデータ要素)を1つのキャッ
シュラインに格納する。
【0036】各メモリ45〜47は当該ノードN内のメ
モリを形成しており、分散された共有型メモリ45は、
後述するように、当該ノードNが分担するサブアレイに
属する2次元配列データを与えるデータ要素を格納して
いる。キャッシュメモリ43及びメモリ制御回路44
は、ネットワーク接続回路48を介して、他のノード内
のメモリをアクセスして、読み出された上記1ラインの
データ要素の各々を当該キャッシュメモリ43内の各キ
ャッシュラインに格納する。この意味で、キャッシュメ
モリ43及びメモリ制御回路44は、当該ノードNの外
部のメモリをフェッチして、読み出された複数個のデー
タ要素を一組として格納するバッファメモリを構成して
いる。そして、他ノード内のメモリを当該ノードNのバ
ッファメモリがアクセスする「メモリ」であると呼称す
るならば、当該ノードNの内部の各メモリ45〜47は
「別のメモリ」と称される。
【0037】尚、一般に、キャッシュメモリ43とその
制御を担うメモリ制御回路44の部分とを総称して、キ
ャッシュメモリと呼ぶこともできる。
【0038】主プロセッサ41及び副プロセッサ42
は、キャッシュメモリ43内の各キャッシュラインのデ
ータ要素とメモリ45〜47内に格納されたデータ要素
とに基づき、Jacobi緩和法等のプログラムにより定まる
所定の演算を行う。主プロセッサ41はinteger部分の
計算を担う演算ユニットであり、副プロセッサ42はfl
oating ointの部分の計算を担う演算ユニットである。
【0039】ネットワーク接続回路48と各ネットワー
ク配線20とは、ネットワーク手段を形成する。
【0040】本実施形態のデータ処理装置では、1つの
ノードが他ノード内のメモリに対するデータリードやデ
ータライト動作を行う場合、前述の通り、各ノード間で
パケット通信が行われる。1つのキャッシュライン内の
データは1つのパケットに含まれ、キャッシュライン内
の複数のデータ要素のリードまたはライトが、1回のパ
ケット通信で行われる。
【0041】また、本実施形態のデータ処理装置では、
分散されたキャッシュメモリ43のコヒーレンシ維持、
即ちデータの統一性維持のために、各ノードNがディレ
クトリメモリ47を備えている。ディレクトリメモリ4
7は、各ノードNの分散された共有型メモリ45のキャ
ッシュラインに対応する16バイト単位のデータ要素の
組のコピーが保持されているノードの番号を記憶してい
る。
【0042】本実施形態のデータ処理装置における2次
元アレイのデータ構造を、図3に示す。本実施形態のデ
ータ処理装置では、コンパイラが、2次元アレイの各格
子点B2(i,j)を螺旋状の順番に番号付けすることに
よって、各格子点B2(i,j)を1次元の格子点B1
(k)に対応させる。これにより、2次元アレイが1次
元アレイに展開される。1次元アレイの各データ要素に
付された番号を要素番号と称す。
【0043】こうして展開された1次元の要素番号に従
って、各データ要素がメモリ上に格納される。従って、
もとの2次元アレイの周辺境界上のデータ要素の全てに
は、そのアレイサイズによらずに、連続した要素番号が
与えられ、その結果、周辺境界上のデータ要素の各々
は、対応する要素番号に従って、メモリ上の連続した記
憶領域(連続番地)に順次に配置される。
【0044】また、本実施形態のデータ処理装置では、
螺旋状の順番に番号付けを行う際、X軸に対して鏡面対
象となる螺旋、Y軸に対して鏡面対象となる螺旋、及び
原点に対して鏡面対象となる螺旋の順番に対しても番号
付けが行われる。これにより、全体の2次元配列データ
をタイル状に分割して得られる各サブアレイの格子点
に、図4に示す様に4種類の螺旋状の順序で番号付けが
行われる。このため、Jacobi緩和法によるプログラムを
本データ処理装置によって処理するにあたり、全体の2
次元配列データをタイル状の複数のサブアレイに分割し
て各ノードに負荷を分散するときには、サブアレイ境界
を介して向かい合う、隣接し合うサブアレイのそれぞれ
に属する2つのデータ要素同士が、互いに同じ要素番号
をもつ。
【0045】本実施形態のデータ処理装置でJacobi緩和
法を処理した場合の、1つのサブアレイ201に属する
データ要素の要素番号と、そのサブアレイ201に隣接
する4つのサブアレイ202〜205における、それぞ
れのサブアレイ境界付近に配置された各データ要素の要
素番号とを、図5に示す。
【0046】図5より、サブアレイ境界を介して向かい
合うサブアレイの2つのデータ要素がすべて同じ要素番
号になっていることが理解される。また、この図から、
サブアレイ201内のデータ要素の演算を行う際に必要
となる隣接サブアレイ202〜205のサブアレイ境界
上のデータ要素をアクセスするときには、キャッシュメ
モリが取り込む、キャッシュライン毎に組にしたデータ
要素210〜220の数が、図10に示した従来のデー
タ処理装置の場合と比べて格段に少なくなることも理解
される。特にJacobi緩和法のプログラムでは、各データ
要素の値が緩和計算の度に更新されるため、キャッシュ
メモリへ取り込んだデータ要素がすぐ無効化され、分散
された共有型メモリへのデータアクセスの頻度が多くな
るので、分散された共有型メモリから効率的にデータ要
素を取り込むことが特に重要となる。この点、本データ
処理装置は、上述した構成によりノード外部へのデータ
アクセスを格段に効率化しているので、この要請に十分
に応えきれるものである。
【0047】尚、今、2つのノードNi,Nj間でパケッ
ト通信によるデータ要素のやりとりが行われるものとす
ると、一方のノードNi内に属するメモリ、例えばキャ
ッシュメモリであるバッファメモリ、主及び副プロセッ
サが、それぞれ「第1メモリ」,「第1バッファメモ
リ」,「第1演算器」に該当し、上記第1メモリがその
第1連続番地に格納する第1データ要素の各々は、その
第1連続番地に対応した第1要素番号が割り振られた、
2次元配列データの各データ要素を与える。同様に、他
方のノードNj内に属するメモリ、バッファメモリ、主
及び副プロセッサが、それぞれ「第2メモリ」、「第2
バッファメモリ」,「第2演算器」に該当し、第2メモ
リもまた、第1メモリと同様なデータ構造の第2データ
要素を格納している。この場合、第1メモリに格納され
た第1データ要素に関する第1の2次元配列データと第
2メモリに格納された第2データ要素に関する第2の2
次元配列データとは、それらのサブアレイ境界を介して
隣接し合う。
【0048】(実施の形態2)上記の実施の形態1で
は、2次元アレイを1次元アレイに展開する場合のデー
タ要素の順序を螺旋状にする場合について述べた。
【0049】ここでは、それに代えて、3次元アレイを
1次元アレイに展開する場合を考える。この場合にも、
その内のいずれか2つの次元を螺旋状の順序に展開すれ
ば、3次元アレイの外部境界面上のデータ要素に連続し
た要素番号を割り振ることが可能となり、パケット通信
を用いたプロセッサノードの外部メモリへのデータアク
セスを上記実施の形態1と同様に効率良くすることがで
きる。
【0050】(実施の形態3)また、上記実施の形態1
では、2次元アレイデータの外部境界のデータ要素とそ
の他のデータ要素とを統一的に扱うため、2次元アレイ
データに属するすべてのデータ要素に対して螺旋状の順
序の連続した要素番号を与えていた。
【0051】ここでは、それに代えて、図6に例示する
ように、2次元アレイデータ内のデータ要素を2つの組
に分離して、内部の組のデータ要素18に対しては従来
の行毎の順序の要素番号を与え、境界上のデータ要素1
7からなるデータ要素の組にのみ連続した順序の要素番
号を与えるようにしてもよい。
【0052】(実施の形態4)また、上記実施の形態1
では、ソースプログラムでは2次元アレイB2(i,j)
形式のデータ要素が用いられ、データ処理装置の基本ソ
フトウエアであるコンパイラがこの2次元アレイB2
(i,j)を1次元アレイB1(k)に展開する際に、螺
旋状の順序で各データ要素に番号付けを行う例を述べ
た。
【0053】しかし、この発明は、問題の物理的意味と
対応する2次元平面に配置されたデータ要素をソースプ
ログラム段階で螺旋状の順序に番号付けしておいた上
で、それらを1次元アレイに格納するようにしてもよ
い。
【0054】(実施の形態1〜実施の形態4における利
点)本実施の形態のデータ処理装置は、多次元配列デー
タの周辺境界に沿ったすべてのデータ要素に連続した要
素番号を与え、それらのデータ要素を、それぞれの要素
番号に対応してメモリの連続番地に配置したデータ構造
をもつ。このため、古典的緩和法など多次元アレイの周
辺境界上のデータを多くアクセスするプログラムを実行
したときには、連続したアドレスに存在する複数個のデ
ータ要素を組にして管理するキャッシュメモリやパケッ
ト通信のキャッシュライン数やパケット数を少なくする
ことができ、効率の良いデータ処理が可能となる。
【0055】また、1つの領域の多次元格子状に配置さ
れた複数のデータ要素を複数のデータ要素群(サブアレ
イ)に分割して、古典的緩和法問題などの多次元アレイ
の周辺境界上のデータを数多くアクセスする必要のある
プログラムを実行するときには、本実施の形態のデータ
処理装置では、異なるデータ要素群(サブアレイ)に属
し、且つ境界線を介して互いに隣接する2つのデータ要
素が、各データ要素群の同じ要素番号をもつ様に配置さ
れたデータ構造をもつため、隣接するデータ要素群の隣
接し合うデータ要素の要素番号を容易に計算することが
でき、効率的なデータ処理を行うことができる。
【0056】また、本実施の形態のデータ処理装置は複
数のノードからなる共有メモリ型マルチプロセッサシス
テムに適用して好適であり、そのうちの1つのノードで
あるノードAが他のノードであるノードBのメモリに割
り付けられた、アレイの一部である一群のデータ要素を
アクセスするとき、その一群に属するすべてのデータ要
素を連続したメモリ番地をもつ1つまたは複数の領域に
配置することにより、ノードAがその一群のデータを保
持するために使用するキャッシュラインの数を少なくし
たため、キャッシュメモリを効率的に利用してデータ処
理をすることができる。
【0057】また、本実施の形態では、データ要素に螺
旋状の順序で番号付けを行うことにより、2次元配列デ
ータのデータ要素を1次元アレイに再配置する方法を用
いているため、2次元配列データのアレイサイズに依存
せずに、常にアレイ周辺境界上のデータ要素に連続した
要素番号を割り振って、これらを連続したメモリアドレ
スに配置することができ、古典的緩和法など2次元アレ
イの周辺境界上のデータを数多くアクセスするプログラ
ムを実行したときには、連続したアドレスに存在する複
数個のデータ要素を組にして管理するキャッシュメモリ
やパケット通信のキャッシュライン数やパケット数を少
なくすることができ、効率の良いデータ処理が可能とな
る。
【0058】また、本実施の形態では、異なる向きの螺
旋状の順序で番号付けした4種類の2次元アレイを用い
て、互いに隣接する2次元アレイの境界を介して向かい
合う2つのデータ要素がすべて同じ要素番号をもつ様
に、データ要素を配置する方法を用いているため、隣接
するアレイの隣接し合ったデータ要素の要素番号を容易
に計算することができ、効率的なデータ処理を行うこと
ができる。
【0059】
【発明の効果】請求項1に係る発明によれば、多次元配
列データのアレイサイズに依存することなく、所定の演
算を行う際に必要なアレイ周辺境界上のデータ要素に常
に連続した要素番号を割り振り、その様に要素番号が割
り振られたデータ要素の各々を、その要素番号に応じ
て、連続したメモリアドレスに配置することができる。
これにより、多次元配列データの周辺境界上のデータ要
素を数多くアクセスする演算処理を実行する場合に、バ
ッファメモリによって、メモリ内の連続したアドレスに
存在する複数個のデータ要素を一組にして保持・管理す
ることができ、従って上記バッファメモリのライン数を
少なくすることができるので、効率の良いデータ処理を
実現することが可能となる。
【0060】請求項2に係る発明によれば、多次元配列
データの周辺境界上のデータ要素を数多くアクセスする
演算処理を実行する場合に、キャッシュメモリの利用に
よって、アレイ周辺境界上のデータ要素を一組にして保
持・管理することができる。これにより、演算処理の実
行に実質的に必要とされるキャッシュメモリやキャッシ
ュライン数やそれらへのアクセス数を少なくすることが
でき、その結果、データ処理の効率化を実現することが
できる。
【0061】請求項3に係る発明によれば、多次元配列
データの各データ要素に対して螺旋状の順に要素番号を
割り振るので、所定の演算実行に必要なアレイ周辺境界
上のデータ要素に対して常に連続した要素番号を割り振
ることが可能となる。これにより、多次元配列データの
周辺境界上のデータ要素を数多くアクセスする際に、上
記アレイ周辺境界上のデータ要素を一組にして保持・管
理するバッファメモリの数を少なくすることができ、デ
ータ処理の効率化を図ることができる。
【0062】請求項4に係る発明によれば、全体の多次
元データアレイを複数のサブアレイに分割し、隣接し合
う2つのサブアレイの周辺境界上のデータを数多くアク
セスして演算処理を行う場合に、上記サブアレイに属す
る、隣接し合った2つのデータ要素の要素番号を容易に
計算することができ、その結果、効率的なデータ処理を
行うことができる。
【0063】請求項5に係る発明によれば、第1及び第
2バッファメモリがそれぞれネットワーク手段を介して
パケット通信を行うので、第1及び第2バッファライン
の数を少なくして、バッファメモリを効率的に利用する
ことが可能となる。この結果、本発明によるデータ処理
装置を複数のノードを有する共有メモリ型マルチプロセ
ッサシステム等に適用した場合には、効率の良いデータ
処理を行うことができる。
【図面の簡単な説明】
【図1】 本発明のデータ処理装置の一実施形態であ
る、16ノードの共有メモリ型マルチプロセッサシステ
ムの全体構成を示すブロック図である。
【図2】 図1のシステムにおける1つのノードの内部
構成を示すブロック図である。
【図3】 本発明のデータ処理装置で用いられる、2次
元配列データの構造の一例を示す図である。
【図4】 全体の2次元配列データをタイル状に分割し
て得られる各サブアレイに属するデータ要素群の配置方
法の一例を示す概念図である。
【図5】 本発明のデータ処理装置が扱うデータ要素の
配置に関して、図4の1つのサブアレイのデータ要素の
番号、それに隣接する4つのサブアレイの隣接部分のデ
ータ要素の番号、及び隣接サブアレイの周辺境界上のデ
ータ要素をアクセスするときに1つのキャッシュライン
に取り込まれるデータ要素の組を示す図である。
【図6】 本発明のデータ処理装置で用いられる2次元
配列データの構造の他の例を示す図である。
【図7】 古典的緩和法問題の1つであるJacobi緩和法
をマルチプロセッサシステムで実行する場合のプログラ
ムの一例を示す図である。
【図8】 2次元配列データの従来の構造を示す図であ
る。
【図9】 従来のデータ構造の2次元アレイを用いて、
全体の2次元配列データをタイル状に分割したときのデ
ータ要素群の並び方を概念的に示す図である。
【図10】 従来のデータ処理装置が扱うデータ要素の
配置に関して、図9の1つのサブアレイの周辺境界上の
データ要素をアクセスするときに1つのキャッシュライ
ンに取り込まれるデータ要素の組を示す図である。
【符号の説明】
1〜16,N ノード、20 ネットワーク配線、41
主プロセッサ、43キャッシュメモリ、44 メモリ
制御回路、45 分散された共有型メモリ。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 データ要素の各々に要素番号が付されて
    おり、しかも前記データ要素の内でそのアレイの周辺境
    界に沿った前記データ要素の全てが連続した前記要素番
    号を順次に与えらている多次元配列データにおける、前
    記要素番号を与えるデータ要素の各々を、対応する前記
    要素番号に基づいて連続番地に格納するメモリと、 連続した前記要素番号を有する複数個の前記データ要素
    の各々を前記メモリよりフェッチして、一ラインのデー
    タ要素として格納するバッファメモリと、 前記バッファメモリに格納された前記一ラインのデータ
    要素に基づき所定の演算処理を実行する演算器とを、備
    えたデータ処理装置。
  2. 【請求項2】 請求項1記載のデータ処理装置におい
    て、 前記バッファメモリはキャッシュメモリであることを特
    徴とするデータ処理装置。
  3. 【請求項3】 請求項1記載のデータ処理装置におい
    て、 前記多次元配列データの各データ要素は螺旋状の順番に
    番号付けられていることを特徴とするデータ処理装置。
  4. 【請求項4】 請求項1記載のデータ処理装置におい
    て、 前記多次元配列データと同じデータ構造を有する別の多
    次元配列データに含まれる各データ要素の各々を、前記
    メモリと同様に対応する連続番地に格納する別のメモリ
    を更に備え、 前記多次元配列データと前記別の多次元配列データと
    は、全体のデータアレイを分割して得られる複数のサブ
    アレイの内で隣接し合う任意の2つのサブアレイのそれ
    ぞれに含まれるデータ要素群に対応しており、 前記演算器は、前記バッファメモリより読み出された前
    記一ラインのデータ要素と前記別のメモリより読み出さ
    れた別のデータ要素とに基づき、前記所定の演算処理を
    実行することを特徴とするデータ処理装置。
  5. 【請求項5】 第1データ要素の各々に第1要素番号が
    付されており、しかも前記第1データ要素の内でそのア
    レイの周辺境界に沿った前記第1データ要素の全てが連
    続した前記第1要素番号を順次に与えられている第1多
    次元配列データにおける、前記第1データ要素の各々
    を、対応する前記第1要素番号に基づいて第1連続番地
    に格納する第1メモリと、 連続した前記第1要素番号を有する複数個の前記第1デ
    ータ要素の各々を前記第1メモリよりフェッチして、第
    1のラインのデータ要素として格納する第1バッファメ
    モリと、 第2データ要素の各々に第2要素番号が付されており、
    しかも前記第2データ要素の内でそのアレイの周辺境界
    に沿った前記第2データ要素の全てが連続した前記第2
    要素番号を順次に与えられ、且つ前記第1多次元配列デ
    ータに隣接した第2多次元配列データにおける、前記第
    2データ要素の各々を、対応する前記第2要素番号に基
    づいて第2連続番地に格納する第2メモリと、 連続した前記第2要素番号を有する複数個の前記第2デ
    ータ要素の各々を前記第2メモリよりフェッチして、第
    2のラインのデータ要素として格納する第2バッファメ
    モリと、 前記第1バッファメモリと前記第2バッファメモリ間に
    接続されたネットワーク手段とを備え、 前記第1バッファメモリ及び前記第2バッファメモリ
    は、それぞれ、前記ネットワーク手段を介して、前記第
    2メモリ及び第1メモリをアクセスして、連続した前記
    第2要素番号を与える複数個の前記第2データ要素及び
    連続した前記第1要素番号を与える複数個の前記第1デ
    ータ信号を格納すると共に、 前記第1バッファメモリに格納された前記第1及び第2
    のラインのデータ要素に基づき第1演算処理を実行する
    第1演算器と、 前記第2バッファメモリに格納された前記第2及び第1
    のラインのデータ要素に基づき第2演算処理を実行する
    第2演算器とを、更に備えた、データ処理装置。
JP7173329A 1995-07-10 1995-07-10 データ処理装置 Pending JPH0926941A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7173329A JPH0926941A (ja) 1995-07-10 1995-07-10 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7173329A JPH0926941A (ja) 1995-07-10 1995-07-10 データ処理装置

Publications (1)

Publication Number Publication Date
JPH0926941A true JPH0926941A (ja) 1997-01-28

Family

ID=15958420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7173329A Pending JPH0926941A (ja) 1995-07-10 1995-07-10 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0926941A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316997A (ja) * 2004-04-15 2005-11-10 Raytheon Co 高性能計算システム及び高性能計算方法
CN1312941C (zh) * 2001-06-13 2007-04-25 3M创新有限公司 投影系统的光学装置
EP2402315A1 (en) 2007-05-11 2012-01-04 Basf Se Oxime ester photoinitiators

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1312941C (zh) * 2001-06-13 2007-04-25 3M创新有限公司 投影系统的光学装置
JP2005316997A (ja) * 2004-04-15 2005-11-10 Raytheon Co 高性能計算システム及び高性能計算方法
JP4560435B2 (ja) * 2004-04-15 2010-10-13 レイセオン カンパニー 高性能計算システム及び高性能計算方法
EP2402315A1 (en) 2007-05-11 2012-01-04 Basf Se Oxime ester photoinitiators

Similar Documents

Publication Publication Date Title
US11681650B2 (en) Execution engine for executing single assignment programs with affine dependencies
US6205533B1 (en) Mechanism for efficient data access and communication in parallel computations on an emulated spatial lattice
US5467459A (en) Imaging and graphics processing system
US6816947B1 (en) System and method for memory arbitration
Nakano Simple memory machine models for GPUs
US5586256A (en) Computer system using multidimensional addressing between multiple processors having independently addressable internal memory for efficient reordering and redistribution of data arrays between the processors
CN111124675A (zh) 一种面向图计算的异构存内计算设备及其运行方法
US5696922A (en) Recursive address centrifuge for distributed memory massively parallel processing systems
US7673118B2 (en) System and method for vector-parallel multiprocessor communication
JPH07253954A (ja) 並列コンピュータ
US20180074958A1 (en) Light-weight cache coherence for data processors with limited data sharing
JP2011060278A (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
US5765181A (en) System and method of addressing distributed memory within a massively parallel processing system
US9542317B2 (en) System and a method for data processing with management of a cache consistency in a network of processors with cache memories
US6128639A (en) Array address and loop alignment calculations
Kasagi et al. An optimal offline permutation algorithm on the hierarchical memory machine, with the GPU implementation
Ramanathan et al. Survey of commercial parallel machines
US5900023A (en) Method and apparatus for removing power-of-two restrictions on distributed addressing
JPH0926941A (ja) データ処理装置
Nakano et al. The random address shift to reduce the memory access congestion on the discrete memory machine
US7516059B2 (en) Logical simulation device
US7406554B1 (en) Queue circuit and method for memory arbitration employing same
CN113095024A (zh) 一种张量数据的区域化并行载入装置及方法
CN110766150A (zh) 一种深度卷积神经网络硬件加速器中的区域并行数据载入装置及方法