JP3684579B2 - 分散型並列計算機のプロセッサエレメント - Google Patents

分散型並列計算機のプロセッサエレメント Download PDF

Info

Publication number
JP3684579B2
JP3684579B2 JP09990193A JP9990193A JP3684579B2 JP 3684579 B2 JP3684579 B2 JP 3684579B2 JP 09990193 A JP09990193 A JP 09990193A JP 9990193 A JP9990193 A JP 9990193A JP 3684579 B2 JP3684579 B2 JP 3684579B2
Authority
JP
Japan
Prior art keywords
communication
processing
data
processor 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.)
Expired - Fee Related
Application number
JP09990193A
Other languages
English (en)
Other versions
JPH06309285A (ja
Inventor
眞一 市川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP09990193A priority Critical patent/JP3684579B2/ja
Publication of JPH06309285A publication Critical patent/JPH06309285A/ja
Application granted granted Critical
Publication of JP3684579B2 publication Critical patent/JP3684579B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、分散型メモリを備えた並列計算機における通信処理方法に関し、特に、並列計算機を構成している複数個の全プロセッサエレメント(PE1, 〜) 上でのデータを参照して行う大域的な処理を行う際の通信処理回路に関する。
【0002】
あらゆる工業分野、技術開発分野で設計を行う際には、偏微分方程式を解いたり、構造を解析したりして、実験によらずに数値シミュレーションにより、製品の特性、性能を予測することが重要となってきている。しかも、この数値シミュレーションには、年々より高速のコンピュータが必要となってきており、中央処理装置(CPU) を数多く連ねた並列コンピュータは、計算能力に対する増大する要求に答える手段として、その利用が検討されはじめている。
【0003】
分散メモリ型並列計算機は処理装置(プロセッサエレメント)を多数連ね、並列に処理を行う計算機であるが、このような数値シミュレーションの並列処理を行う時には、ホストからデータ用の配列を、各プロセッサエレメントに分割配置してデータの更新を行う。
【0004】
このような並列処理で必要となる通信処理は、数値モデル上で相互作用の及ぶ範囲のデータを持つプロセッサエレメントから参照すべきデータのコピーを受け取る局的な処理と、全プロセッサエレメント上のデータを参照して演算を行なう、大域的処理とがある。
通信処理を含めた並列処理全体としても、プロセッサエレメント単独の局所処理とプロセッサエレメント間にまたがる大域的な処理とによって処理が完成することが多い。
例えば、ベクトルの内積処理を並列処理する場合では、2つのベクトルAとBの部分列が並列計算機の複数のプロセッサエレメントに分散して配置され、この状態から並列処理によって内積処理を行う。
まず、分散配置されたベクトルA、Bの部分列について、プロセッサエレメントに局所的な内積処理を行なう。この結果、局所的な内積処理の結果である単一のデータが各プロセッサエレメントに生成される。次に、各プロセッサエレメントのデータをプロセッサエレメント間で足し合わせる大域的な処理を行なう。これによって、ベクトルAとBの内積処理が完成する。
プロセッサエレメント内のソフトウェア ( 即ち、アプリケーション ) は、その結果を用いて次の演算処理に移り、あるいは同様の処理を繰り返すことになる。
【0005】
このような、大域的な処理においては、プロセッサエレメントの数が多くなると処理時間に含まれる通信処理時間も無視できなくなること、又、大域的な処理においては、他のプロセッサエレメントからデータをもらって、所定の演算をした後、別のプロセッサエレメントに送信するといった処理であるが、データを受信する毎に、プロセッサエレメント内のソフトウェア (即ち、アプリケーション) に割り込みが発生して、アプリケーションが擾乱され、並列計算機全体としての処理能力が低下することから、プロセッサエレメント内で実行されているアプリケーション等に対する影響の少ない通信処理が要求される。
【0006】
【従来の技術】
図3は、並列計算機での従来の通信処理方法を説明する図であり、図3(a) はメモリ分散型並列計算機の構成例を示し、図3(b) は、プロセッサエレメント間で送受信されるデータのフオーマット例を示している。
【0007】
先ず、図3(b) に示したデータフオーマットにおいて、先頭のヘッダ部は、通信先のプロセッサエレメント(PE1, 〜) 1 のアドレス(SA)と、該通信先のプロセッサエレメント(PE1, 〜) 1 に対する割り込み(INT) の有無と、データのクラス (アプリケーションが優先して処理する必要のあるデータか否かを識別するクラス) 等の制御情報で構成されている。
【0008】
送信側のプロセッサエレメント(PEn) 1 のアプリケーション、例えば、通信ライブラリが、プロセッサエレメント(PE1) 1 にデータの送信を行う場合、所定のデータを、主記憶装置 12 上に用意した後、所定の条件を指示して、通信処理部 11 内の、例えば、ダイレクトメモリアクセス機構(DMA) 110 を起動する。
【0009】
該ダイレクトメモリアクセス機構(DMA) 110 は、指示された条件の元で、プロセッサエレメント(PEn) 1 の主記憶装置 12 の所定のアドレスから、所定のデータ長のデータを読み取り、通信ネットワーク 3を介して、プロセッサエレメント(PE1) 1 にデータを転送する。
【0010】
プロセッサエレメント(PE1) 1 の通信処理部 11 では、送信されてきた通信データ▲3▼のヘッダ部を参照して、自己のプロセッサエレメント(PE1) 1 に対する送信データであって、且つ、割り込みフラグ(INT) が“1”になっていると、本体部 (計算処理部) 10で実行されているオペレーションシステム(OS)に割り込みを発生する。
【0011】
本体部 10 で実行されるオペレーションシステム(OS)では、上記割り込みを受け付けると、通信データ▲3▼の、上記ヘッダ部を取り込み、通信先のチェックをした後、データ長等を参照して、ダイレクトメモリアクセス機構(DMA) 110 を起動する。
【0012】
起動されたダイレクトメモリアクセス機構(DMA) 110 では、指示されたデータ転送条件の元で、通信ネットワーク 3から通信データ▲3▼のデータ部を読み取り、主記憶装置 12 に転送する。
【0013】
このように、従来の通信処理では、所定のプロセッサエレメント(PEi) 1 からのデータ転送がある毎に、通信先のプロセッサエレメント(PEj) 1 の本体部 10 で実行されているオペレーションシステム(OS)に割り込まれ、少なくとも、ヘッダ部を読み取る為に、通信データ▲3▼を通信処理部 11 から本体部 10 まで転送する動作が実行される。
【0014】
【発明が解決しようとする課題】
従って、現在の並列計算機では、主記憶装置 12 に対するメモリアクセスに比べて、通信処理のスループットが格段に遅いため、並列処理の効果を得るためには、出来るだけ通信処理, 及び、通信に関連する処理の時間を短くする工夫が必要である。
【0015】
前記数値シミュレーションを並列処理する際に必要な、通信を要する大域的処理の例は、次のようなものである。
a)最大最小値探索(大小比較)
b)大域的論理演算(論理和,排他的論理和等)
c)総和計算(浮動少数点,整数の加算)
d)処理要素に分割された全てのデータの共有(合同)
これらの複合的な通信処理を、従来の計算処理部 10 と通信処理部 11 とから成り立つプロセッサエレメント(PEi) 1 で、上記の如きメッセージパッシング (メッセージ受け渡し) 機構、例えば、ダイレクトメモリアクセス機構(DMA) 110,割り込み機構等により行う際には、通信そのものよりも、通信を起動するソフトウェアや、通信データ▲3▼、例えば、ヘッダ部、の受け取り、送出に関わるプロセッサエレメント(PEi) 1 内の処理に時間を多く費やされる。
【0016】
上記の如き、大域的処理では、受け取ったデータに一つの演算を施した後、直ちに、再び、通信ネットワーク 3へ送出する決まった処理であるにもかかわらず、メッセージパッシング (データの受け渡し) による一般的な通信機構を用いることは、通信ソフトウェア (上記通信ライブラリ) 内の通信先チェックなどの処理の重複や、本体部 10 と通信処理部 11 との間のデータの移動などのオーバーヘッドを被りやすい。しかも、これらの大域的処理で、最も有効な、バイナリツリーアルゴリズム(後述の図2参照)では、演算処理が必要なのは、全てのプロセッサエレメント(PEi) 1 ではなく、一部のプロセッサエレメントである。このため、これらの処理を頻繁に行う数値シミュレーションでは、演算処理を行わない他のプロセッサエレメント(PEj) に待ちが生じて稼動率が下がり、並列処理の効果が出にくい。
【0017】
本発明は上記従来の欠点に鑑み、並列計算機で行われる数値シミュレーション等の並列処理に必要であるが、数値シミュレーションの並列処理効果を下げる、複合通信処理を、高速に行うことができる通信処理の方法を提供することを目的とするものである。
【0018】
【課題を解決するための手段】
図1は、本発明の一実施例を模式的に示した図であり、図2はバイナリーツリーによる大域的処理を説明する図である。上記の問題点は下記の如くに構成した並列計算機における通信処理方法によって解決される。
【0019】
複数個のプロセッサエレメント1が通信ネットワーク3を介して接続されている並列計算機における、プロセッサエレメント1を以下のように構成する。
各プロセッサエレメント1は、
ソフトウェアとローカルデータとを格納する分散型メモリ 12 と、
ソフトウェアの指示により局所的演算処理と通信処理部 11 の制御とを行う計算処理部 10 と、
他のプロセッサエレメントとの通信と大域的演算処理とを行う通信処理部 11 とを有する。
通信処理部 11 は、
計算処理部 10 で実行されるソフトウェアの指示により、全体のプロセッサエレメント数と、自己のプロセッサエレメントの論理アドレスと、大域的演算処理の種類とを受け取り保持する手段(レジスタ)と、
計算処理部から受け取るローカルデータ、通信ネットワークを介して他のプロセッサエレメントから受け取る通信データを保持する手段(レジスタ)と、
バイナリーツリー手順による処理に必要な演算手段(演算器)と、
バイナリーツリー手順による制御を行い、何番目の処理であるかを示すシーケンス番号を示すコントロールシーケンサと
を有し、
指示された大域的演算処理の種類と、設定されたプロセッサエレメント数と論理アドレスと、コントロールシーケンサのシーケンス番号とで定まる、ローカルデータと通信データとの演算を演算手段(演算器)で行い、他のプロセッサエレメントの通信処理部と通信データの受け渡し(通信処理)を実行する。
【0020】
前記のプロセッサエレメント1において、
大域的演算処理は、最大最小値探索、大域的論理演算、総和計算、データ列の連結のいずれかであり、
通信処理部 11 の演算手段(演算器)は、大小比較演算と論理演算と加算と連結演算とを行うものである、ことを特徴とする。
【0021】
【作用】
前述のように、分散メモリ型並列計算機で、例えば、数値シミュレーションを並列処理する際に必要な、プロセッサエレメント(PEi) 間の通信を必要とする大域的な処理の例として、 a) 最大最小値探索(大小比較)、b) 大域的論理演算 (論理和, 排他的論理和等) 、 c) 総和計算(浮動少数点,整数の加算)、 d) データ列の合同 (繋ぎ合わせ: 連結)等があるが、この大域的処理で最も有効な通信手段として、図2に示したバイナリーツリーアルゴリズムが知られている。
【0022】
図2から明らかなように、バイナリーツリーによる通信処理では、該並列計算機を構成しているプロセッサエレメント(PE1,PE2, 〜) の数によって、該バイナリーツリーの構成が決められ、図2の構成例では、例えば、奇数番号のプロセッサエレメント(PE1,PE3,PE5, 〜) 1 では、通信ネットワーク 3から通信データ(3)を受信して、処理内容に従って計算処理部 10 のソフトウェアにより予め定められている演算処理(OPRで示す)を実行するか、更に、実行した演算結果を、1つ,又は、2つ,又は、4つ若番のプロセッサエレメント(PEj) 1 に転送するかに定形化されており、どの通信処理を行うかは、上記バイナリーツリーの第何番目の通信であるかによって決まっている。
【0023】
例えば、プロセッサエレメント(PE1) 1 は、データを受信して、所定の演算を繰り返すのみであるが、プロセッサエレメント(PE3,PE7, 〜) 1 では、第1回目の通信処理で、演算処理を行い、演算結果を他のプロセッサエレメント(PE1) 1 に送信するのみであり、プロセッサエレメント(PE5, 〜) 1 では、第1回目の通信処理では演算処理のみであり、第2回目の通信処理では、演算した結果を他のプロセッサエレメント(PE1) 1 に送信するといったように、プロセッサエレメント(PEi) のプロセッサエレメントアドレス (番号) ▲1▼と、第何回目の通信処理(これは、コントロールシーケンサ番号▲4▼で決まる)であるかにより、通信処理の内容が定形化されている。
【0024】
又、偶数番号のプロセッサエレメント(PE2,PE4, 〜) 1 では、自己の持っているデータ (即ち、ホストから配分されているデータ、ローカルデータ) ▲5▼を他のプロセッサエレメント(PE1,PE3, 〜) 1 に送信するのみである。
【0025】
本発明は、この点に着目して、各プロセッサエレメント 1内に、本体部である計算処理部 10 とは別に、プロセッサエレメントの論理アドレス▲1▼と,全プロセッサエレメントの数▲2▼と、自己の持っているローカルデータ▲5▼, ▲6▼と、通信ネットワーク 3から受信した通信データ▲3▼とを格納するレジスタ 110,111,112,120,113,バッファ 116,117と、各種の演算器 114,115と、通信制御を行うコントロールシーケンサ 118と、通信ネットワークインタフェーサ(119) とからなる通信処理部 11 を設け、
該計算処理部 10 で実行されるソフトウェアからの指示で、上記レジスタ 110,111にプロセッサエレメントの論理アドレス▲1▼、プロセッサエレメントの数▲2▼を設定した後、該設定された論理アドレス▲1▼と,プロセッサエレメント数▲2▼と,第何回目の通信であるかを指示しているコントロールシーケンサ 118のシーケンス番号▲4▼とで定まる通信処理(データの送信, 又は、データ受信,演算,又は、演算結果の送信)を、選択的に、上記計算処理部 10 での動作とは独立に実行するように構成したものである。
【0026】
従って、従来のように、汎用的なメッセージパッシング(メッセージの受け渡し)の通信ソフトウェアを多数回実行することによるオーバヘッドを少なくでき、又、定形的な処理となるバイナリーツリーアルゴリズムを、簡単なハードウェア機構で実行することにより、プロセッサエレメント(PEi) の本体部である計算処理部でのメモリアクセス, 入出力処理と競合することなく、演算処理を実行でき、又、通信ネットワークの通信データ▲3▼を、各プロセッサエレメント(PEi) の計算処理部へ移動させずに済む為、通信処理を高速化できる。この結果、複合通信処理の時間を短縮することができ、全プロセッサエレメント(PEi) の稼働率を向上させることができる効果が得られる。
【0027】
【実施例】
以下本発明の実施例を図面によって詳述する。前述の図1は、本発明の一実施例を模式的に示した図であり、図2は、バイナリーツリーによる大域的処理を説明する図である。
【0028】
本発明においては、各プロセッサエレメント 1内に、本体部である計算処理部 10 とは別に、プロセッサエレメントの論理アドレス▲1▼と,全プロセッサエレメントの数▲2▼と、ローカルデータ▲5▼, ▲6▼と、通信ネットワークから受信した通信データ▲3▼とを格納するレジスタ 110,111,112,120,113,バッファ 116,117と、各種の演算器 114,115と、通信制御を行うコントロールシーケンサ 118と、通信ネットワークインタフェーサ(119) とからなる通信処理部 11 を設け、該計算処理部 10 で実行されるソフトウェアからの指示で、上記レジスタ 110,111にプロセッサエレメントの論理アドレス▲1▼、プロセッサエレメントの数▲2▼を設定した後、該設定された論理アドレス▲1▼と,プロセッサエレメント数▲2▼と,第何回目の通信であるかを指示しているコントロールシーケンサ 118のシーケンス番号▲4▼とで定まる通信処理(データの送信, 又は、データ受信,演算,又は、演算結果の送信)を、選択的に、上記計算処理部 10 での動作とは独立に実行する手段が、本発明を実施するのに必要な手段である。尚、全図を通して同じ符号は同じ対象物を示している。
【0029】
以下、図1,図2によって、本発明の分散メモリ型並列計算機における通信処理回路の構成と動作を説明する。
分散メモリ型並列計算機のプロセッサエレメント(PE1,PE2, 〜) 1 は、図1に示されているように、計算処理部 10 と通信処理部 11 とから成り、通信処理部 11 に、大域的処理を行う専用のハードウェア機構として、プロセッサエレメントの論理アドレス▲1▼と,全プロセッサエレメントの数▲2▼と、ローカルデータ▲5▼, ▲6▼と、通信ネットワーク 3から受信した通信データ▲3▼とを格納するレジスタ 110,111,112,120,113,バッファ 116,117と、各種の演算器 114,115と、通信制御を行うコントロールシーケンサ 118と、通信ネットワークインタフェーサ 119を設け、計算処理部 10 で実行されるソフトウェア命令により起動された後は、全てハードウェアにより、計算処理部 10 とは独立に、大域的な通信処理が、以下に説明するハードウェア機構1,2で実行される。
【0030】
「ハードウェア機構1」:バイナリーツリーによる通信先の決定と,送受信を制御する機構として、プロセッサエレメントの論理アドレス(1)を設定するレジスタ(R1) 110と、バイナリーツリーによる通信処理の定形化に関与する全プロセッサエレメントの数(2)を設定するレジスタ(R2) 111と、主記憶装置 12 上のデータ、即ち、ローカルデータ(5)を格納しておくレジスタ(R3) 112, 及び、バッファ(BUF) 116 と、ローカルデータのデータ長(6)を格納しておくレジスタ(R5) 120と、通信ネットワーク 3からの通信データを格納するレジスタ(R4)113, 及び、バッファ(BUF) 117 と、現在の通信処理が、上記バイナリーツリーによる通信処理における第何回目の通信処理であるか、即ち、シーケンス番号(4)を指示して、所定の制御信号を出力するコントロールシーケンサ 118とを通信処理部 11 内に設ける。
【0031】
コントロールシーケンサ 118は、レジスタ(R1) 110にあるプロセッサエレメントアドレス▲1▼, 及び、レジスタ(R2) 111に設定されている全プロセッサエレメントの数▲2▼をもとに通信処理を制御する。
【0032】
バイナリーツリーによる通信先の決定方法を図2示す。図2から明らかなように、バイナリーツリーによる通信処理では、例えば、奇数番号のプロセッサエレメント(PE1,PE3,PE5, 〜) 1 では、通信ネットワーク 3から通信データ(3)を受信して、処理内容に従って計算処理部 10 のソフトウェアにより予め定められている演算処理(OPRで示す) を実行するか、更に、実行した演算結果を、1つ,又は、2つ,又は、4つ若番のプロセッサエレメント(PEj) 1 に転送するかに定形化されており、どの通信処理を行うかは、上記バイナリーツリーの第何番目の通信であるか、即ち、上記シーケンス番号(4)によって決まっている。
【0033】
例えば、プロセッサエレメント(PE1) 1 は、データを受信して、所定の演算を繰り返すのみであるが、プロセッサエレメント(PE3,PE7, 〜) 1 では、第1回目の通信処理で、演算処理を行い、演算結果を他のプロセッサエレメント(PE1) 1 に送信するのみであり、プロセッサエレメント(PE5, 〜) 1 では、第1回目の通信処理では演算処理のみであり、第2回目の通信処理では、演算した結果を他のプロセッサエレメント(PE1) 1 に送信するといったように、プロセッサエレメント(PEi) のプロセッサエレメントアドレス (番号) ▲1▼と、第何回目の通信処理であるかを示すシーケンス番号▲4▼により、通信処理の内容が定形化されている。
【0034】
又、偶数番号のプロセッサエレメント(PE2,PE4, 〜) 1 では、自己の持っているデータ (即ち、ホストから配分されているローカルデータ) ▲5▼を他のプロセッサエレメント(PE1,PE3, 〜) 1 に送信するのみである。
【0035】
そこで、本発明においては、上記レジスタ(R1) 110に設定されている自己のプロセッサエレメントアドレス (プロセッサエレメント番号) ▲1▼と、レジスタ(R2) 111に設定されている、バイナリーツリーの全体の構成を決定する全プロセッサエレメントの数▲2▼と、該バイナリーツリーによる通信処理において、第何回目の通信処理であるかを指示するコントロールシーケンサ 118のシーケンス番号▲4▼とによって、自己の処理する通信処理の形態を決定する。
【0036】
「ハードウェア機構2」: 上記ハードウェア機構1の制御により動作する浮動小数点加算器(FLOAT) 114 、整数加算器(INT) 115 、又は、演算処理時にアクセスされる、前述のレジスタ(R3) 112, レジスタ(R4) 113, レジスタ(R5) 120、及び、バッファ(BUF) 116,117 を通信処理部 11 に設ける。
【0037】
上記レジスタ(R4) 113, 及びバッファ(BUF) 117 は、通信ネットワーク 3から直接通信データ▲3▼を受け取り、又、通信ネットワーク 3へ直接、ホストから配分されているローカルデータ▲5▼, 或いは、自己の通信処理部 11 内の上記浮動小数点加算器(FLOAT) 114 、整数加算器(INT) 115 での演算結果データを通信ネットワーク 3に送出させる。これらのハードウェア機構は、次の実施例のように動作して大域的処理を行う。
【0038】
「段階1」:計算処理部 10 で実行されるソフトウェア、例えば、前述の通信ライブラリの指示により、上記「ハードウェア機構1」が動作を開始する。この時、ソフトウェアからプロセッサエレメントの論理アドレス▲1▼を受け取り、上記レジスタ(R1) 110に設定する。又、ソフトウェアから大域的処理を行う対象であるローカルデータ▲5▼を、前述の大域的処理a)、b)、c)の場合は、ローカルデータ用のレジスタ(R3) 112に受け取り、大域的処理d)の場合は、バッファ(BUF) 116 に受け取る。又、前述の大域的処理d)の場合は、ローカルデータの長さ▲5▼を、データ長用のレジスタ(R5) 120に受け取る。
【0039】
「段階2」:演算を担当するプロセッサエレメント(PEi) 1 は、バイナリツリーアルゴリズムに従って、他のプロセッサ演算(PEj) 1 から通信データ▲3▼を受信し、次の処理を行う。
【0040】
1)大域的処理a)、b)、c){大小比較, 論理和, 排他的論理和, 論理演算等}の場合、レジスタ(R3) 112にあるローカルデータ▲5▼と、通信ネットワーク 3から転送され、レジスタ(R4) 113に格納されている通信データ▲3▼との間で、それぞれの演算を行い、結果は、バイナリツリーアルゴリズムに従って、ローカルデータ用レジスタ(R3) 112に格納するか、又は、他のプロセッサエレメント(PEj) 1 に送信する。
【0041】
2) 大域的処理d){合同、即ち、データの結合}の場合、ネットワーク 3から転送され、バッファ(BUF) 117 に格納されている通信データ▲3▼を、上記データ長用のレジスタ(R5) 120を参照して、バッファ(BUF) 116 にあるローカルデータ▲5▼の最後尾に追加して書き込み、合計したデータ長を、上記データ長用のレジスタ(R5) 120に書き込む。
【0042】
上記「段階1,2」での処理をバイナリーツリーが収束するまで繰り返す。
「段階3」:バイナリーツリーの頂点に立つプロセッサエレメント (例えば、図1に示したバイナリーツリー構成では、PE1) 1は、最終結果を他の全てのプロセッサエレメントに放送し、次の処理に備える。
【0043】
このように、本発明においては、並列計算機における通信処理回路において、プロセッサエレメント内に、計算処理部とは別に、プロセッサエレメントの論理アドレス▲1▼と,全プロセッサエレメントの数▲2▼と、ローカルデータ▲5▼と、通信データ▲3▼とを格納するレジスタ,バッファと、各種の演算器と、通信制御を行うコントロールシーケンサとからなる通信処理部を設け、計算処理部で実行されるソフトウェアからの指示で、上記レジスタにプロセッサエレメントの論理アドレス▲1▼、プロセッサエレメントの数▲2▼を設定した後、該設定された論理アドレス▲1▼と,プロセッサエレメント数▲2▼と,第何回目の通信であるかを指示しているコントロールシーケンサのシーケンス番号▲4▼とで定まるバイナリーツリー方法による大域的な通信処理(データの送信,又は、データ受信,演算,又は、演算結果の送信)を、選択的に、計算処理部 (本体部) での動作とは独立に実行するように構成したところに特徴がある。
【0044】
【発明の効果】
以上、詳細に説明したように、本発明の並列計算機における通信処理回路によれば、汎用的なメッセージパッシング (メッセージの受け渡し) の通信ソフトウェアを多数回実行することによるオーバーヘッドを避けることができ、又、定形的処理である、バイナリツリーアルゴリズムをハードウェア機構で実行することにより、プロセッサエレメント(PE1,PE2, 〜) の他の入出力やメモリアクセスと競合せずに、演算処理の制御を行わせることができ、また通信ネットワークからの通信データ▲3▼をプロセッサエレメント(PE1,PE2, 〜) の計算処理部 (本体部) へ移動せずに済むため、処理が高速化できる。この結果、複合通信処理の時間を短縮でき、全プロセッサエレメントの稼動率を向上させることができる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を模式的に示した図
【図2】バイナリーツリーによる大域的処理を説明する図
【図3】並列計算機での従来の通信処理方法を説明する図
【符号の説明】
1 プロセッサエレメント(PE1,PE2, 〜)
10 計算処理部 (本体部) 11 通信処理部
110 レジスタ(R1) 111 レジスタ(R2)
112 レジスタ(R3) 113 レジスタ(R4)
114 浮動小数点加算器(FLOAT)
115 整数加算器(INT) 116,117 バッファ(BUF)
118 コントロールシーケンサ
119 通信ネットワークインタフェーサ
120 レジスタ(R5)
12 分散型メモリ (主記憶装置) 3 通信ネットワーク
▲1▼ プロセッサエレメントアドレス (プロセッサエレメントの番号)
▲2▼ プロセッサエレメントの数
▲3▼ 通信データ
▲4▼ シーケンス番号
▲5▼ ローカルデータ
▲6▼ ローカルデータ (データ長)

Claims (2)

  1. 通信ネットワークを介して複数個のプロセッサエレメントを接続した並列計算機のプロセッサエレメントであって、
    ソフトウェアとローカルデータとを格納する分散型メモリと、
    ソフトウェアの指示により局所的演算処理と通信処理部の制御とを行う計算処理部と、
    他のプロセッサエレメントとの通信を行い大域的演算処理を行う通信処理部とを有し、
    通信処理部は、
    計算処理部で実行されるソフトウェアの指示により、全体のプロセッサエレメント数と、自己のプロセッサエレメントの論理アドレスと、大域的演算処理の種類とを受け取り保持するレジスタと、
    計算処理部から受け取るローカルデータ、通信ネットワークを介して他のプロセッサエレメントから受け取る通信データを保持するレジスタと、
    バイナリーツリー手順による処理に必要な演算器と、
    バイナリーツリー手順による制御を行い、何番目の処理であるかを示すシーケンス番号を示すコントロールシーケンサと
    を有し、
    指示された大域的演算処理の種類と、設定されたプロセッサエレメント数と論理アドレスと、シーケンス番号とで定まる、ローカルデータと通信データとの演算と、他のプロセッサエレメントの通信処理部との通信処理とを実行する
    ことを特徴とするプロセッサエレメント。
  2. 大域的演算処理は最大最小値探索、大域的論理演算、総和計算、データ列の連結のいずれかであり、
    通信処理部の演算器は、大小比較演算と論理演算と加算と連結演算とを行うものである、
    ことを特徴とする請求項1に記載のプロセッサエレメント。
JP09990193A 1993-04-27 1993-04-27 分散型並列計算機のプロセッサエレメント Expired - Fee Related JP3684579B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09990193A JP3684579B2 (ja) 1993-04-27 1993-04-27 分散型並列計算機のプロセッサエレメント

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09990193A JP3684579B2 (ja) 1993-04-27 1993-04-27 分散型並列計算機のプロセッサエレメント

Publications (2)

Publication Number Publication Date
JPH06309285A JPH06309285A (ja) 1994-11-04
JP3684579B2 true JP3684579B2 (ja) 2005-08-17

Family

ID=14259683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09990193A Expired - Fee Related JP3684579B2 (ja) 1993-04-27 1993-04-27 分散型並列計算機のプロセッサエレメント

Country Status (1)

Country Link
JP (1) JP3684579B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ516680A (en) 1999-08-30 2004-01-30 Ip Flex Inc Program product for specifying an input and/or output interface of a processing unit independently of the timing of execution of the processing unit
EP1301846A4 (en) * 2000-06-19 2006-03-22 P C Krause And Associates Inc DISTRIBUTED SIMULATION
JP2006053662A (ja) 2004-08-10 2006-02-23 Matsushita Electric Ind Co Ltd 多重プロセッサ
CN101124538A (zh) * 2004-12-17 2008-02-13 皇家飞利浦电子股份有限公司 算术或逻辑运算树的计算

Also Published As

Publication number Publication date
JPH06309285A (ja) 1994-11-04

Similar Documents

Publication Publication Date Title
JP2559784B2 (ja) 多重プロセッサ・アレイにおける仮想処理手法および仮想プロセッサ
JP2644780B2 (ja) 処理依頼機能を持つ並列計算機
US6061783A (en) Method and apparatus for manipulation of bit fields directly in a memory source
US6070182A (en) Data processor having integrated boolean and adder logic for accelerating storage and networking applications
US7577874B2 (en) Interactive debug system for multiprocessor array
US20070180334A1 (en) Multi-frequency debug network for a multiprocessor array
US4967338A (en) Loosely coupled pipeline processor
KR20010031192A (ko) 기계시각시스템에서의 영상데이터와 같은 논리적으로인접한 데이터샘플들을 위한 데이터처리시스템
EP0295646B1 (en) Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
US20020099922A1 (en) Data processing apparatus including a plurality of pipeline processing mechanisms in which memory access instructions are carried out in a memory access pipeline
EP0521486B1 (en) Hierarchical structure processor
JP3684579B2 (ja) 分散型並列計算機のプロセッサエレメント
GB2115964A (en) A digital data processor
CN115729700A (zh) 一种数据处理方法、装置、电子设备和存储介质
US6145043A (en) Boolean and movement accelerator
JP2009026260A (ja) 演算処理装置、演算処理方法
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
JP2000285081A (ja) ノード間データ通信方法
JP3771682B2 (ja) ベクトル処理装置
JP3144918B2 (ja) ベクトル処理装置
JP2542922B2 (ja) デ―タ駆動型デ―タ処理装置
JP3742745B2 (ja) 演算処理装置
JP3704367B2 (ja) スイッチ回路
JP3583032B2 (ja) ベクトル拡散処理装置
JPH0926945A (ja) 情報処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050302

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050523

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090610

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100610

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110610

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees