JPH05290000A - 並列計算機及びデータ交換制御装置 - Google Patents

並列計算機及びデータ交換制御装置

Info

Publication number
JPH05290000A
JPH05290000A JP4092783A JP9278392A JPH05290000A JP H05290000 A JPH05290000 A JP H05290000A JP 4092783 A JP4092783 A JP 4092783A JP 9278392 A JP9278392 A JP 9278392A JP H05290000 A JPH05290000 A JP H05290000A
Authority
JP
Japan
Prior art keywords
address
data
memory
processing element
processor
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
JP4092783A
Other languages
English (en)
Other versions
JP2906819B2 (ja
Inventor
Shingo Tsujimichi
信吾 辻道
Yasuo Tachibana
康夫 立花
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 JP4092783A priority Critical patent/JP2906819B2/ja
Publication of JPH05290000A publication Critical patent/JPH05290000A/ja
Application granted granted Critical
Publication of JP2906819B2 publication Critical patent/JP2906819B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【構成】 プロセッシングエレメント(PE)1にプロ
セッサ(MPU)2を備え、メモリ管理ユニット(MM
U)3で論理アドレスから物理アドレスへのアドレス変
換を担当する。データ交換ユニット(DXU)4で全て
のメモリアクセスの制御を担当する。分散共有メモリ5
は計算機システム全体で1つのリニアな物理アドレスを
持ち、システムバス6は並列計算機内の全てのPEを接
続する。各PEにデータを分割する場合のアドレス指定
をアドレスマッピングにより行うようにし、かつ、ブロ
ードキャスト機能を設けた。また、DXUがMPUと非
同期にデータ転送動作を実行するように構成した。 【効果】 配列データを複数のPEで処理する場合に、
そのデータを格納する変数をブロードキャスト変数とし
て指定するだけで対応でき、また、実行時にダイナミッ
クにデータ分割を変更することもできる。また、転送の
自由度を保持し、バスの実効的な性能を高く保つことが
できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、複数のプロセッシン
グエレメントを備えた並列計算機に関するものである。
【0002】
【従来の技術】図7は例えば「特願平3−04956
5」に示された従来の分散共有メモリ方式並列計算機を
示すシステム構成図である。図において、1はプロセッ
シングエレメント(以下、PEともいう)である。PE
は並列計算機の基本単位であり、並列計算機は任意個の
PEにより構成される。2はプロセッサ(MPU)であ
り、5は各PEに分散配置された分散共有メモリであ
る。6はシステム全体のPEを接続するシステムバスで
ある。29はPEからの出力データをバッファすると共
に転送タイミングを制御する機能を持ったFIFOレジ
スタ(以下、FIFOともいう)である。30はシステ
ム全体のデータ転送を制御するデータ転送制御用プロセ
ッサ(以下、転送用PEともいう)である。この構成に
おいて、分散配置された共有メモリは全てのPEが全て
のアドレスをアクセスできるが、同じPE内に配置され
たメモリアドレスは高速にアクセスできる。
【0003】次に動作について説明する。このシステム
においては、各PEがプログラムを実行する際に必要と
するデータは自PE内の分散共有メモリ内に置くことを
基本としている。この方針により、演算とデータの関係
が自PE内に閉じている限りは、データをシステムバス
経由でアクセスする必要がないので、メモリを高速にア
クセスできる。しかし、1つのプロセスを複数PEで分
担して実行する際にはほとんどの場合にPE間でのデー
タ交換が必要となる。このシステムでは、このデータ交
換を効率良く実行するために、専用に設けたデータ転送
制御用プロセッサ30がPE間のデータ転送を全て担当
している。まず、各PEでの演算結果を他のPEに転送
する必要が生じるとMPUはそのデータをFIFO29
に格納する。転送用PE30にはあらかじめ各PEがデ
ータをFIFOに格納する順番とそのデータの転送先が
転送用プログラムにより示されており、各演算担当PE
のMPUの動作とは非同期にデータ転送動作を実行でき
る。また、FIFO29は転送用PE30に対し要求さ
れたデータの有無を示す割り込み制御機構を備えている
ので、転送用PE30は最小限の同期オーバヘッドで転
送を行うことができる。
【0004】このシステムを従来の集中配置型共有メモ
リ+キャッシュ方式(以下、集中方式と呼ぶ)と比較す
ると、集中方式ではPE間のデータ転送にキャッシュか
らメモリへの書き戻しと、メモリからキャッシュへの書
き込みの2回のバス上のデータ転送が必要となってい
た。また、集中方式では各PEの演算にデータが必要に
なってからメモリからキャッシュへの転送が発生するた
めに転送タイミングが固定的で、転送動作が競合する可
能性が高く、その競合が直接演算の待ちにつながってい
た。それに対し、ここに示した分散共有メモリ方式では
データ転送の回数が半分になると共に、データ転送のタ
イミングの自由度が向上し、実質的なバス性能が向上す
る。
【0005】
【発明が解決しようとする課題】従来の分散共有メモリ
方式並列計算機におけるデータ転送制御プロセッサ方式
では、転送動作のためには各アプリケーションごとに専
用のデータ転送用プログラムが必要であり、プログラム
設計が複雑になるという問題と、データ転送用プログラ
ムを作成するために、あらかじめスタティックに負荷分
散法を定義しておく必要があり、実行中のダイナミック
な負荷分散が困難であるという問題があった。
【0006】この発明は、並列計算機におけるPE間の
負荷分散によるデータ転送先のアドレス指定をアドレス
マッピング方式により行い、更にメモリの一部をブロー
ドキャスト領域として用いることにより、コンパイラの
設計を容易にし、また、アプリケーションプログラムの
設計における複雑さを低減することを目的としている。
【0007】また、この発明はブロードキャスト手段と
非同期アクセス手段を備えたデータ交換制御装置の実現
可能な方式を得ることを目的としている。
【0008】
【課題を解決するための手段】この発明に係る並列計算
機は、以下の要素を有するものである。 (a)データが配置される分散共有メモリのデータ領域
に対しアドレスマッピングを行うアドレスマッピング手
段、(b)上記アドレスマッピング手段によりマッピン
グされる分散共有メモリのデータ領域の特定の領域を各
プロセッシングエレメントに共通のブロードキャスト領
域として扱うブロードキャスト手段、(c)上記アドレ
スマッピング手段およびブロードキャスト手段に基づく
自プロセッシングエレメント内および他プロセッシング
エレメント内のプロセッサのメモリアクセス要求を受け
て、その要求に対応する実際のメモリアクセスを要求元
のプロセッサの命令実行動作とは非同期に実行する非同
期アクセス手段。
【0009】また、この発明に係るデータ交換制御装置
は、以下の要素を有するものである。 (a)自プロセッシングエレメントのプロセッサからの
メモリアクセス要求を受け、ブロードキャストアクセス
要求か否かを判断してアドレスマッピングを行なうとと
もに、プロセッサと非同期にメモリアクセス要求を完了
させる自プロセッシングエレメントマスタ要求制御手
段、(b)他プロセッシングエレメントのプロセッサか
らのメモリアクセス要求を受け、ブロードキャストアク
セス要求か否かを判断してアドレスマッピングを行なう
とともに、プロセッサと非同期にメモリアクセス要求を
完了させる他プロセッシングエレメントマスタ要求制御
手段、(c)上記自プロセッシングエレメントマスタ要
求制御手段及び他プロセッシングエレメントマスタ要求
制御手段によるデータ転送路経由のデータ交換を制御す
る通信制御手段。
【0010】
【作用】この発明における並列計算機は、各PEへのデ
ータ分割をアドレスマッピングにより制御する。また、
配列など論理アドレス上は一つにまとまったデータを複
数のPEに分割する場合には、メモリ上に置いたブロー
ドキャスト領域にマッピングすることにより、データ分
割の変更によるアドレスマッピングの変更が発生しな
い。たとえば、各PE内に分散配置された共有メモリの
メモリアドレスが、PEアドレスを含む上位アドレスと
オフセットアドレスを用いた下位アドレスで表されるよ
うなシステムにおいて、自分のPEアドレスの他にあら
かじめ定めた特定の1つのPEアドレスをブロードキャ
ストアドレスとして認識することにより、アドレスマッ
ピング機能と組み合わせてブロードキャスト機能を実現
する。
【0011】また、この発明におけるデータ交換制御装
置は、上記ブロードキャスト手段と非同期アクセス手段
を実現するためのもので、プロセッサからのアクセス要
求の制御およびデータ交換制御装置間の通信制御を自分
のプロセッサの演算動作と非同期に行うとともに、ブロ
ードキャストアクセス要求か否かを判断して、ブロード
キャストアクセス要求のための通信制御を行なう。
【0012】
【実施例】
実施例1.以下、この発明の一実施例を図について説明
する。図1において、1はプロセッシングエレメント
(PE)で、ここでは4個のPEが記載されているが、
実際には任意個数のPEで並列計算機が構成される。ま
た、各PEはそれぞれ以下の2から5の要素で構成され
る。2はプロセッサ(MPU)である。3はメモリ管理
ユニット(MMU)で論理アドレスから物理アドレスへ
のアドレス変換を担当する。4はデータ交換制御装置
(DXU)でメモリアクセスの制御を全て担当する。5
は分散共有メモリである。分散共有メモリは計算機シス
テム全体で1つのリニアな物理アドレスを持つ共有メモ
リである。しかし、各PEに分散して配置されているた
め、ローカルメモリ的な性質を兼ね備えており、各MP
Uにとって、自PE内のメモリは他のPEのメモリより
高速にアクセスできる。6はシステムバスで並列計算機
内の全てのPEを接続する。本システムではDXU4が
このシステムバスと接続されている。
【0013】次に図2はDXU4の内部構成を示すブロ
ック図である。7は自分のPE内のマスタ(MPU2お
よびMMU3)からのアクセス要求に伴なう制御を担当
する自PEマスタ要求制御部である。8は同じく他のP
Eのマスタからのアクセス要求を制御する他PEマスタ
要求制御部である。9はアクセス要求の種類によってそ
の優先度の判断をする優先度制御部である。10は自分
のPE内の分散共有メモリ5を実際にアクセスするメモ
リアクセス制御部である。11はバスを経由したDXU
間通信を制御するDXU間通信制御部である。これらは
内部に適宜バッファを持つ。また、自PEマスタ要求制
御部7、他PEマスタ要求制御部8、DXU間通信制御
部11は、自分のPE内のマスタ(MPU2およびMM
U3)及び他のPEのマスタと非同期に動作するように
設計されている。
【0014】次に動作について説明する。まず、図1の
4個のPEがひとまとまりの処理を分担する場合につい
て説明する。この場合に論理アドレス空間はシステム全
体で1つである。各MPUはそれぞれ独自のMMUを持
っているがそのアドレスマッピングテーブルはOSより
システム全体で一元的に管理されている。このOSによ
り管理されるアドレスマッピングテーブルはプロセスの
起動前に設定したものを実行中固定的に使用してもよい
し、プロセスの実行中にダイナミックスケジューリング
に伴い変更しても良い。
【0015】メモリは分散配置されているが、共有メモ
リなので、図3に示すように論理アドレス空間12の各
領域はそれぞれ物理アドレス空間13のどこかの領域に
1対1に割り当てられる。この方式において、たとえ
ば、「論理アドレス空間でのアドレス」15はインデッ
クス番号(上位アドレス)とオフセットアドレス(下位
アドレス)で構成される。MMUはこの「物理アドレス
空間でのアドレス」15のインデックス番号をページ番
号に変換することにより、「論理アドレス空間でのアド
レス」16を生成する。この「物理アドレス空間でのア
ドレス」16におけるページ番号は、たとえば、PE番
号とページ番号から構成することもでき、このようにP
E番号とページ番号から上位アドレスを構成することに
より、「分散配置された物理アドレス空間でのアドレ
ス」17が構成できる。PE番号は、PEのアドレスを
示すものであり、たとえば、4個のPEがある場合、P
E番号(PEアドレスともいう)は、“00”、“0
1”、“10”、“11”を用いることができる。この
ように、物理アドレスの上位ビットはPEを特定するP
Eアドレスとして使われる。したがって、全てのMPU
は特定のデータが自PEの物理アドレス空間に割り当て
られているか他PEの物理アドレス空間に割り当てられ
ているかを意識する必要はなく、どちらの場合でも自由
にアクセスすることができる。但し、アクセス速度は異
なるので従来方式同様に必要なデータをなるべく自PE
の領域に置くようにする。
【0016】まず、プロセスの実行を通して常に特定の
PEだけに係わるデータはそのPEのメモリにマッピン
グする。問題はプロセスの実行中にPE間で大規模なデ
ータ交換を行わざるを得ない場合の対処法である。その
様な例を図4に示す。これは配列データに対する演算で
ある。まず、配列Aに対して処理1を実行する場合に図
に示すように行単位に分割して各PEに割り当てたとす
る。ここでアクセスを高速化するために処理の分割と同
様に配列データも行単位に各PEに割り当てると処理1
の実行中は互いにデータ交換の必要なく処理を実行でき
る。次にこの処理の結果として配列Bができる。この場
合にデータはB−1のように各PEの分散共有メモリに
分割されている。ここで次の処理2がこの配列のデータ
をB−2のように分割して各PEで処理する必要がある
場合にPE間で大規模なデータ交換が発生する。
【0017】この様な場合について、PE間データ交換
を高速に実行する方法と、配列A、配列B、配列Cなど
を各PEに分割する際のアドレスマッピング法を以下に
説明する。まず、図3に示すように、PEが4個ある場
合についてPE間データ交換を高速に実行する方法を説
明する。「処理1」が演算結果を順次出力する際に配列
B−1のように出力するのではなく、次の「処理2」に
合わせて分割された配列B−2のように直接出力する。
すなわち、処理1の出力として、PE1は、データX1
1をPE1の分散共有メモリに出力し、データX12を
PE2の分散共有メモリに直接出力し、データX13を
PE3の分散共有メモリに直接出力し、データX14を
PE4の分散共有メモリに直接出力する。同様に、PE
2は、データX21をPE1の分散共有メモリに出力
し、データX22をPE2の分散共有メモリに直接出力
し、データX23をPE3の分散共有メモリに直接出力
し、データX24をPE4の分散共有メモリに直接出力
する。以下、データX31〜X44についても同様であ
る。その結果、データ転送は次の処理にデータが必要に
なってからではなく、前の処理が終わったらすぐに、前
倒しに転送することができる。また、この時DXUの各
制御部はMPUと非同期に動作する機能を持っているの
で、バスネックによる転送待ちが発生しても、それが直
ちにMPUのオーバヘッドにはならない。その結果、バ
スのデータ転送性能が実質的に向上する。
【0018】次に図5に示すように、PEアドレスが4
個分あってPEが3個ある場合に、配列を各PEに分割
する際のアドレスマッピング法を説明する。一般的に配
列は論理アドレス上では一塊に配置される。これを複数
のPEに分割するのに、従来は論理アドレスから物理ア
ドレスへのアドレスマッピングを利用する。しかし、こ
のアドレスマッピングはページ単位で行われるため希望
する分割法を実現するのは容易ではなく、論理アドレス
上であらかじめ特殊な配置をするなどの工夫が必要とな
る。この様な問題を解決するため、このシステムではメ
モリにブロードキャスト領域を導入する。まず、論理ア
ドレス上の特定領域をブロードキャスト領域と定義し、
コンパイラなどが配列をこの領域に配置することでOS
等に対してこの配列を物理的に各PEの分散共有メモリ
にブロードキャストすることを指定する。このアドレス
として、本実施例では4個目のPEアドレス、すなわ
ち、“11”を割り当てるものとする。MMUにより論
理アドレスをリニアな物理アドレスにマッピングする際
に、このブロードキャスト領域だけはPEアドレスが固
定で最大のPEアドレス“11”にマッピングされる。
ただしページアドレスは変更可能である。更に図に示す
ように物理アドレス上のこの領域はDXUの機能によ
り、実際の物理メモリに対しては全PEの同じページに
同時にマッピングされる。
【0019】この機能を実現するDXUの動作を具体的
に説明する。図5はPEが3個ある場合のアドレスマッ
ピングを示す図であり、各PE内のメモリアドレスは図
3の17に示したようにPE番号を示す上位アドレスが
異なるだけで、オフセットアドレス(下位アドレス)は
全く同様に設定されているものとする。DXUはこの上
位アドレスを判断して自分の担当メモリであれば行動を
起こす。特定の一つの上位アドレス、例えば、PE番号
=“11”、ページ番号=“11・・・1”をブロード
キャストアドレスと定義し、このアドレスの場合は全D
XUがアクセス動作を起こし、このブロードキャスト領
域への書き込みを各PEの分散共有メモリの最大のペー
ジ番号=“11・・・1”への書き込みとする(書き込
みの場合)。これによってブロードキャストができる。
但し、この上位アドレスに対する読み出しを命令された
場合は自PE内でローカルに処理する。すなわちブロー
ドキャスト領域に割り当てられた配列などに対して、書
き込みは全PEの分散共有メモリに行われ、読み出しは
自分の分散共有メモリから行なう。なお、論理アドレス
割り付け時に、上位アドレスを11・・1とすることに
よってOSに対してブロードキャスト要求の意思表示を
行うことができることを示したが、PEがどれだけ増え
てもブロードキャスト領域の容量は一定なのでこの方式
で対応できる。また、この方式では書き込み動作は直ち
に全メモリに反映されるのでコヒーレンシが保たれる。
また、アクセスの種類についての優先度付けを定義する
ことによりコヒーレンシの質を高く保ち、また、性能を
向上させることができる。
【0020】実施例2.なお、DXUにバッファを設け
ることにより、非同期アクセスの機能がより向上し、さ
らに自由度を高めることができる。
【0021】実施例3.また、このブロードキャスト領
域はアドレスマッピングにより0からシステムの全領域
までページ単位でその適応範囲を変更することができ
る。
【0022】実施例4.また、上記実施例では、PEが
4個又は3個の場合を示したが、その数に制限はない。
【0023】実施例5.次に複数のプロセスが同時に走
る場合について説明する。この場合は論理アドレス空間
が複数存在し、それが一つの物理アドレス空間にマッピ
ングされる。これはアドレスマッピングテーブルをその
様に作成するだけで、シングルプロセスの場合とまった
く同様に扱うことができる。
【0024】実施例6.上記実施例1では並列計算機全
体を1本のシステムバスで接続した場合について説明し
たが、図6に示すように複数のバスに分割して接続され
ていても良い。これは前述の「特願平3−04956
5」で示されている多重クラスタバスを用いた並列計算
機の構成図である。実施例1で示した方式は、図6のよ
うにシステム内に複数のクラスタが形成された場合にも
適用することができる。アドレスマッピングテーブルは
システム全体を通して一元的に管理し、各プロセスをそ
れぞれ1つのクラスタ内に閉じるように割り付ける。こ
のようにするとブロードキャストアクセス要求の適用範
囲を物理的にクラスタ内に制限できるので、各クラスタ
ごとに同じオフセット領域を別の配列の格納に利用でき
る。また、バス負荷を低減できるという利点もある。
【0025】
【発明の効果】以上のように、この発明によれば並列計
算機において各PEにデータを分割する場合のアドレス
指定をアドレスマッピングにより行うようにし、かつ、
ブロードキャスト機能を設けたので、配列のような論理
アドレス上ではひとかたまりのものとして扱われるデー
タを複数のPEに分割する場合に、プログラム設計時に
そのデータを格納する変数をブロードキャスト変数とし
て指定するだけで任意の分割に対応でき、また、実行時
にダイナミックにデータ分割を変更することもできると
いう効果がある。また、上記に加えてDXUがMPUと
非同期にデータ転送動作を実行するように構成したの
で、従来同様転送の自由度を保持し、バスの実効的な性
能を高く保つことができる。
【図面の簡単な説明】
【図1】この発明の一実施例による並列計算機のシステ
ム構成図である。
【図2】この発明の一実施例におけるデータ交換制御装
置の構成図である。
【図3】この発明の一実施例におけるアドレスマッピン
グを示す説明図である。
【図4】この発明が課題としているPE間のデータ交換
を示す説明図である。
【図5】この発明の一実施例におけるブロードキャスト
領域のマッピング法を示す説明図である。
【図6】従来の並列計算機のシステム構成図であり、こ
の発明の適用可能な一実施例を示す並列計算機のシステ
ム構成図でもある。
【図7】従来の並列計算機のシステム構成図である。
【符号の説明】
1 プロセッシングエレメント(PE) 2 プロセッサ(MPU) 3 メモリ管理ユニット(MMU) 4 データ交換制御装置(DXU) 5 分散共有メモリ 6 システムバス 7 自PEマスタ要求制御部 8 他PEマスタ要求制御部 9 優先度制御部 10 メモリアクセス制御部 11 DXU間通信制御部
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年7月6日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項2
【補正方法】変更
【補正内容】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正内容】
【0010】
【作用】この発明における並列計算機は、各PEへのデ
ータ分割をアドレスマッピングにより制御する。また、
配列など論理アドレス上は一つにまとまったデータを複
数のPEに分割する場合には、メモリ上に置いたブロー
ドキャスト領域にマッピングすることにより、データ分
割の変更によるアドレスマッピングの変更が発生しな
い。たとえば、各PE内に分散配置された共有メモリの
メモリアドレスが、PEアドレスを含む上位アドレスと
オフセットアドレスを用いた下位アドレスで表されるよ
うなシステムにおいて、各PEを示すそれぞれのPE
ドレスの他にあらかじめ定めた特定の1つのPEアドレ
スをブロードキャストアドレスとして認識することによ
り、アドレスマッピング機能と組み合わせてブロードキ
ャスト機能を実現する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正内容】
【0011】また、この発明におけるデータ交換制御装
置は、上記ブロードキャスト手段と非同期アクセス手段
を実現するためのもので、プロセッサからのアクセス要
求の制御およびデータ交換制御装置間の通信制御を自分
のプロセッサの演算動作と非同期に行うとともに、ブロ
ードキャストアクセス要求か否かを判断して、ブロード
キャストアクセス要求のための通信制御およびメモリア
クセスを行なう。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0015
【補正方法】変更
【補正内容】
【0015】メモリは分散配置されているが、共有メモ
リなので、図3に示すように論理アドレス空間12の各
領域はそれぞれ物理アドレス空間13のどこかの領域に
1対1に割り当てられる。この方式において、たとえ
ば、「論理アドレス空間でのアドレス」15はインデッ
クス番号(上位アドレス)とオフセットアドレス(下位
アドレス)で構成される。MMUはこの「論理アドレス
空間でのアドレス」15のインデックス番号をページ番
号に変換することにより、「物理アドレス空間でのアド
レス」16を生成する。この「物理アドレス空間でのア
ドレス」16におけるページ番号は、たとえば、PE番
号とページ番号から構成することもでき、このようにP
E番号とページ番号から上位アドレスを構成することに
より、「分散配置された物理アドレス空間でのアドレ
ス」17が構成できる。PE番号は、PEのアドレスを
示すものであり、たとえば、4個のPEがある場合、P
E番号(PEアドレスともいう)は、“00”、“0
1”、“10”、“11”を用いることができる。この
ように、物理アドレスの上位ビットはPEを特定するP
Eアドレスとして使われる。したがって、全てのMPU
は特定のデータが自PEの物理アドレス空間に割り当て
られているか他PEの物理アドレス空間に割り当てられ
ているかを意識する必要はなく、どちらの場合でも自由
にアクセスすることができる。但し、アクセス速度は異
なるので従来方式同様に必要なデータをなるべく自PE
の領域に置くようにする。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0017
【補正方法】変更
【補正内容】
【0017】この様な場合について、PE間データ交換
を高速に実行する方法と、配列A、配列B、配列Cなど
を各PEに分割する際のアドレスマッピング法を以下に
説明する。まず、図3に示すように、PEが4個ある場
合を例にPE間データ交換を高速に実行する方法を説明
する。「処理1」が演算結果を順次出力する際に配列B
−1のように出力するのではなく、次の「処理2」に合
わせて分割された配列B−2のように直接出力する。す
なわち、処理1の出力として、PE1は、データX11
をPE1の分散共有メモリに出力し、データX12をP
E2の分散共有メモリに直接出力し、データX13をP
E3の分散共有メモリに直接出力し、データX14をP
E4の分散共有メモリに直接出力する。同様に、PE2
は、データX21をPE1の分散共有メモリに出力し、
データX22をPE2の分散共有メモリに直接出力し、
データX23をPE3の分散共有メモリに直接出力し、
データX24をPE4の分散共有メモリに直接出力す
る。以下、データX31〜X44についても同様であ
る。その結果、データ転送は次の処理にデータが必要に
なってからではなく、前の処理が終わったらすぐに、前
倒しに転送することができる。また、この時DXUの各
制御部はMPUと非同期に動作する機能を持っているの
で、バスネックによる転送待ちが発生しても、それが直
ちにMPUのオーバヘッドにはならない。その結果、バ
スのデータ転送性能が実質的に向上する。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0018
【補正方法】変更
【補正内容】
【0018】次に図5に示すように、PEアドレスが4
個分あってPEが3個ある場合を例に、配列を各PEに
分割する際のアドレスマッピング法を説明する。このよ
うに、以下に示す方式では実際のPE数より1個多いP
Eアドレスが必要である。一般的に配列は論理アドレス
上では一塊に配置される。これを複数のPEに分割する
のに、ここに示す方式では論理アドレスから物理アドレ
スへのアドレスマッピングを利用する。しかし、このア
ドレスマッピングはページ単位で行われるため希望する
分割法を実現するのは容易ではなく、論理アドレス上で
あらかじめ特殊な配置をするなどの工夫が必要となる。
この様な問題を解決するため、このシステムではメモリ
にブロードキャスト領域を導入する。まず、論理アドレ
ス上の特定領域をブロードキャスト領域と定義し、コン
パイラなどが配列をこの領域に配置することでOS等に
対してこの配列を物理的に各PEの分散共有メモリにブ
ロードキャストすることを指定する。このアドレスとし
て、本実施例では4個目のPEアドレス、すなわち、
“11”を割り当てるものとする。MMUにより論理ア
ドレスをリニアな物理アドレスにマッピングする際に、
このブロードキャスト領域だけはPEアドレスが固定で
同じPEアドレス“11”にマッピングされる。ただし
ページアドレスは一般領域と競合しない範囲で自由にマ
ッピングできる。更に図に示すように物理アドレス上の
この領域はDXUの機能により、実際の物理メモリに対
しては全PEの同じページに同時にマッピングされる。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0019
【補正方法】変更
【補正内容】
【0019】この機能を実現するDXUの動作を具体的
に説明する。図5はPEが3個ある場合のアドレスマッ
ピングを示す図であり、各PE内のメモリアドレスは図
3の17に示したようにPE番号(PEアドレス)が異
なるだけで、ページ番号、オフセットアドレス(下位ア
ドレス)は全く同様に設定されているものとする。DX
UはこのPEアドレスを判断して自分の担当メモリであ
れば行動を起こす。特定のPEアドレス、例えば、“1
1”を持つアドレスをブロードキャストアドレスと定義
し、このアドレスの場合は全DXUがアクセス動作を起
こし、このブロードキャスト領域への書き込みを各PE
の分散共有メモリのブロードキャストアドレスのページ
及びオフセットアドレスと同じアドレスへの書き込みと
する(書き込みの場合)。これによってブロードキャス
トができる。但し、このPEアドレスに対する読み出し
を命令された場合は自PE内でローカルに処理する。す
なわちブロードキャスト領域に割り当てられた配列など
に対して、書き込みは全PEの分散共有メモリに行わ
れ、読み出しは自分の分散共有メモリから行なう。な
お、論理アドレス割り付け時に、PEアドレスを11
することによってOSに対してブロードキャスト要求の
意思表示を行うことができることを示したが、PEがど
れだけ増えてもブロードキャスト領域の最大容量は各P
Eの最大メモリ量と等しく一定なのでこの方式で対応で
きる。また、この方式では書き込み動作は直ちに全メモ
リに反映されるのでコヒーレンシが保たれる。また、ア
クセスの種類についての優先度付けを定義することによ
りコヒーレンシの質を高く保ち、また、性能を向上させ
ることができる。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0021
【補正方法】変更
【補正内容】
【0021】実施例3.また、このブロードキャスト領
域は論理アドレス空間での領域割り付けにより0からシ
ステムの全領域までページ単位でその適応範囲を変更す
ることができる。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 データ処理を行なうプロセッサを有する
    複数のプロセッシングエレメントと、各プロセッシング
    エレメントに分散配置された分散共有メモリを持つ並列
    計算機において、各プロセッシングエレメントが以下の
    要素を有する並列計算機 (a)データが配置される分散共有メモリのデータ領域
    に対しアドレスマッピングを行うアドレスマッピング手
    段、 (b)上記アドレスマッピング手段によりマッピングさ
    れる分散共有メモリのデータ領域の特定の領域を各プロ
    セッシングエレメントに共通のブロードキャスト領域と
    して扱うブロードキャスト手段、 (c)上記アドレスマッピング手段およびブロードキャ
    スト手段に基づく自プロセッシングエレメント内および
    他プロセッシングエレメント内のプロセッサのメモリア
    クセス要求を受けて、その要求に対応する実際のメモリ
    アクセスを要求元のプロセッサの命令実行動作とは非同
    期に実行する非同期アクセス手段。
  2. 【請求項2】 以下の要素を有し請求項第1項記載の平
    列計算機に用いられるデータ交換制御装置 (a)自プロセッシングエレメントのプロセッサからの
    メモリアクセス要求を受け、ブロードキャストアクセス
    要求か否かを判断してアドレスマッピングを行なうとと
    もに、プロセッサと非同期にメモリアクセス要求を完了
    させる自プロセッシングエレメントマスタ要求制御手
    段、 (b)他プロセッシングエレメントのプロセッサからの
    メモリアクセス要求を受け、ブロードキャストアクセス
    要求か否かを判断してアドレスマッピングを行なうとと
    もに、プロセッサと非同期にメモリアクセス要求を完了
    させる他プロセッシングエレメントマスタ要求制御手
    段、 (c)上記自プロセッシングエレメントマスタ要求制御
    手段及び他プロセッシングエレメントマスタ要求制御手
    段によるデータ転送路経由のデータ交換を制御する通信
    制御手段。
JP4092783A 1992-04-13 1992-04-13 並列計算機及びデータ交換制御装置 Expired - Fee Related JP2906819B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4092783A JP2906819B2 (ja) 1992-04-13 1992-04-13 並列計算機及びデータ交換制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4092783A JP2906819B2 (ja) 1992-04-13 1992-04-13 並列計算機及びデータ交換制御装置

Publications (2)

Publication Number Publication Date
JPH05290000A true JPH05290000A (ja) 1993-11-05
JP2906819B2 JP2906819B2 (ja) 1999-06-21

Family

ID=14064021

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4092783A Expired - Fee Related JP2906819B2 (ja) 1992-04-13 1992-04-13 並列計算機及びデータ交換制御装置

Country Status (1)

Country Link
JP (1) JP2906819B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6161168A (en) * 1995-08-28 2000-12-12 Hitachi, Ltd. Shared memory system
JP2003006177A (ja) * 1995-03-14 2003-01-10 Mitsubishi Electric Corp 分散共有メモリ監視装置、分散共有メモリネットワーク追跡装置および分散共有メモリネットワーク設定支援装置。
JP2010055440A (ja) * 2008-08-29 2010-03-11 Nec Electronics Corp 分散共有メモリ型マルチプロセッサ及びデータ処理方法
JP2016513316A (ja) * 2013-02-06 2016-05-12 華為技術有限公司Huawei Technologies Co.,Ltd. データアクセスシステム、メモリ共有装置及びデータ読み取り方法
JP2019079175A (ja) * 2017-10-23 2019-05-23 日本電気株式会社 情報処理システム、及び、情報処理システムによる制御方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006177A (ja) * 1995-03-14 2003-01-10 Mitsubishi Electric Corp 分散共有メモリ監視装置、分散共有メモリネットワーク追跡装置および分散共有メモリネットワーク設定支援装置。
US6161168A (en) * 1995-08-28 2000-12-12 Hitachi, Ltd. Shared memory system
JP2010055440A (ja) * 2008-08-29 2010-03-11 Nec Electronics Corp 分散共有メモリ型マルチプロセッサ及びデータ処理方法
US8458411B2 (en) 2008-08-29 2013-06-04 Renesas Electronics Corporation Distributed shared memory multiprocessor and data processing method
JP2016513316A (ja) * 2013-02-06 2016-05-12 華為技術有限公司Huawei Technologies Co.,Ltd. データアクセスシステム、メモリ共有装置及びデータ読み取り方法
US9594682B2 (en) 2013-02-06 2017-03-14 Huawei Technologies Co., Ltd. Data access system, memory sharing device, and data reading method
JP2019079175A (ja) * 2017-10-23 2019-05-23 日本電気株式会社 情報処理システム、及び、情報処理システムによる制御方法

Also Published As

Publication number Publication date
JP2906819B2 (ja) 1999-06-21

Similar Documents

Publication Publication Date Title
US5729714A (en) Shared memory access method and apparatus with address translation
EP0179401B1 (en) Dynamically allocated local/global storage system
US10353826B2 (en) Method and apparatus for fast context cloning in a data processing system
US8250338B2 (en) Broadcasting instructions/data to a plurality of processors in a multiprocessor device via aliasing
US8190794B2 (en) Control function for memory based buffers
JP2561261B2 (ja) バッファ記憶アクセス方法
US5668975A (en) Method of requesting data by interlacing critical and non-critical data words of multiple data requests and apparatus therefor
JPH05290000A (ja) 並列計算機及びデータ交換制御装置
CN115176236A (zh) 用于存储管理的系统和方法
JPH08235143A (ja) クラスタ構成の並列計算機
US20030229721A1 (en) Address virtualization of a multi-partitionable machine
JPH04288643A (ja) マルチプロセッサシステムのメモリマッピング方式
JP2780662B2 (ja) マルチプロセッサシステム
JP2602241B2 (ja) 並列計算機
US20240126680A1 (en) Apparatuses, Devices, Methods and Computer Programs for Allocating Memory
JPWO2012127534A1 (ja) バリア同期方法、バリア同期装置及び演算処理装置
JP3304445B2 (ja) プログラム生成処理装置
JP2830780B2 (ja) マルチプロセッサシステム
US11061642B2 (en) Multi-core audio processor with flexible memory allocation
JP2000067020A (ja) マルチプロセッサシステム
EP0437928B1 (en) Memory management in a multi-processor system
JP2742245B2 (ja) 並列計算機
JP2634834B2 (ja) 記憶制御方式
JPS6345669A (ja) マルチプロセツサシステム
JPH01169564A (ja) プロセッサ間同期方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees