JPH0816540A - 並列計算機におけるメッセージ通信方式 - Google Patents

並列計算機におけるメッセージ通信方式

Info

Publication number
JPH0816540A
JPH0816540A JP6147370A JP14737094A JPH0816540A JP H0816540 A JPH0816540 A JP H0816540A JP 6147370 A JP6147370 A JP 6147370A JP 14737094 A JP14737094 A JP 14737094A JP H0816540 A JPH0816540 A JP H0816540A
Authority
JP
Japan
Prior art keywords
message
processor element
parallel computer
identifier information
communication system
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
JP6147370A
Other languages
English (en)
Other versions
JP3544390B2 (ja
Inventor
Nobutaka Imamura
信貴 今村
Hiroaki Ishihata
宏明 石畑
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 JP14737094A priority Critical patent/JP3544390B2/ja
Priority to US08/496,781 priority patent/US5781741A/en
Publication of JPH0816540A publication Critical patent/JPH0816540A/ja
Application granted granted Critical
Publication of JP3544390B2 publication Critical patent/JP3544390B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】本発明は、並列計算機におけるメッセージ通信
方式に関し、柔軟なバッファ管理の実現と、オーバーヘ
ッドの削減の実現を目的とする。 【構成】各プロセッサエレメントが、到着順に従って受
信メッセージを自エレメント用に用意されるメモリ領域
に書き込むメッセージ受信手段14と、共有メモリのメ
モリ領域にデータを直接書き込む遠隔書込手段11とを
備える構成を採って、送信プロセッサエレメントは、遠
隔書込手段11を使って、受信プロセッサエレメントに
送信するメッセージの本体を共有メモリに書き込むとと
もに、受信プロセッサエレメントのメッセージ受信手段
14に対して、メッセージの識別子情報と、メッセージ
本体へのポインタ情報とを送信するように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列計算機におけるメ
ッセージ通信方式に関し、特に、柔軟なバッファ管理を
実現するとともに、オーバーヘッドの削減を実現する並
列計算機におけるメッセージ通信方式に関する。
【0002】複数のプロセッサエレメントから構成され
る並列計算機では、データを分割して保持する構成を採
って、メッセージ通信に従って他プロセッサエレメント
の保持データを使用しながら計算処理を実行していくと
いう構成を採っている。
【0003】これから、並列計算機のデータ処理効率を
高めるためにも、メッセージ通信の効率を高めていく必
要がある。
【0004】
【従来の技術】従来では、並列計算機におけるメッセー
ジ通信を実現する方法として、メッセージ通信用のハー
ドウェアを用いる方法と、プロセッサ間で共有メモリを
持って、その上でソフトウェアによってメッセージ通信
を実現する方法という2つが用いられていた。後者の方
法は、共有バス結合の並列計算機で広く用いられている
方法である。
【0005】このメッセージ通信用のハードウェアを用
いる従来技術では、送信プロセッサエレメントが、メッ
セージにヘッダを付け送信デバイスを使って受信プロセ
ッサエレメントに送信し、受信プロセッサエレメント
が、受信デバイスを使ってメッセージを受信してメモリ
上のバッファに書き込む。そして、受信プロセッサエレ
メントが、受信関数でバッファ内のメッセージをサーチ
して目的のメッセージを探し出し、それをユーザの受信
領域に転送していくことでメッセージの送受信を実行し
ている。なお、ヘッダとは、送信プロセッサエレメント
から受信プロセッサエレメントまでのルーティング情報
や、受信プロセッサエレメントがメッセージを選択する
ために用いる識別子を集めたものである。
【0006】ここで、各プロセッサエレメントから送信
されてくる複数のメッセージ間の順序が保存される必要
があるが、この方法では、受信デバイスがバッファの先
頭から順番に受信メッセージを保存していくことで、そ
の順序性を実現する構成を採っている。
【0007】一方、プロセッサ間で共有メモリを持っ
て、その上でソフトウェアによってメッセージ通信を実
現するという従来技術では、送信プロセッサエレメント
が、共有メモリ上にバッファを確保してメッセージを書
き込み、メッセージのアドレスとヘッダとを共有メモリ
上のメッセージキューにキューイングする。そして、受
信プロセッサエレメントが、そのメッセージキューをサ
ーチして目的のメッセージのヘッダを探し出し、それが
指すメッセージをユーザの受信領域に転送していくこと
でメッセージの送受信を実行している。
【0008】ここで、各プロセッサエレメントから送信
されてくる複数のメッセージ間の順序が保存される必要
があるが、この方法では、メッセージキューに書き込む
ときに排他制御を実行することで、その順序性を実現す
る構成を採っている。
【0009】図9に、前者の従来技術で用いるメッセー
ジ通信機構の回路構成、図10に、後者の従来技術で用
いる遠隔書込機構の回路構成を図示する。
【0010】
【発明が解決しようとする課題】しかしながら、メッセ
ージ通信用のハードウェアを用いる従来技術では、受信
デバイスが、バッファの管理からメッセージの書き込み
まで行っているために、柔軟なバッファ管理を行うこと
ができないという問題点がある。
【0011】例えば、長いメッセージを分割して通信す
る場合、それを可能にするためには受信デバイスに専用
の複雑な回路が必要となる。また、OSやアプリケーシ
ョンプログラムの要請により新たなバッファ管理が必要
となるときに、それに対処することができない。
【0012】なお、受信デバイスが割り込みを起こし、
CPUがバッファを獲得してDMAを起動する方法もあ
るが、この方法を用いると、メッセージ通信のレイテン
シ(送信開始から受信開始までの遅れ)が増大し、メッ
セージ通信の性能そのものが低下するというもっと大き
な問題点が出てくることになる。
【0013】一方、プロセッサ間で共有メモリを持っ
て、その上でソフトウェアによってメッセージ通信を実
現するという従来技術では、メッセージキューにキュー
イングするときに排他制御を行わなくてはならないこと
からオーバーヘッドが大きいという問題点がある。
【0014】更に、メッセージキューへのキューイング
の排他制御に従って、キューイング処理中のプロセッサ
エレメント以外のキューイング要求プロセッサエレメン
トが、アイドル状態になるという問題点もある。なお、
メッセージ通信用のハードウェアを用いる場合には、メ
ッセージが集中してもアイドルになるのはメッセージ通
信用のハードウェアであって、プロセッサエレメント
は、他の仕事を実行することができることから、このよ
うな問題は起こらない。
【0015】本発明はかかる事情に鑑みてなされたもの
であって、柔軟なバッファ管理を実現するとともに、オ
ーバーヘッドの削減を実現する新たな並列計算機におけ
るメッセージ通信方式の提供を目的とする。
【0016】
【課題を解決するための手段】図1に本発明の原理構成
を図示する。図中、1は並列計算機を構成する複数のプ
ロセッサエレメント、2はプロセッサエレメント1を接
続するバスやネットワーク等の接続路である。ここで、
この原理構成図では、各プロセッサエレメント1にロー
カルに配置されるメモリ(図中の19)は、分散型の共
有メモリとしても機能することを想定している。
【0017】10は各プロセッサエレメント1の備える
リモートメモリコントロール手段であって、他プロセッ
サエレメント1に割り当てられる共有メモリのメモリ領
域にメッセージを直接書き込む遠隔書込手段11と、他
プロセッサエレメント1の遠隔書込手段11の送信する
メッセージを自エレメントの管理する共有メモリのメモ
リ領域に書き込む受信書込手段12とを備えるものであ
る。
【0018】13は各プロセッサエレメント1の備える
メッセージコントロール手段であって、到着順に従って
受信メッセージを自エレメント用に用意されるメモリ領
域(共有メモリのメモリ領域のこともあるし、ローカル
メモリのメモリ領域のこともある)に書き込むメッセー
ジ受信手段14と、他プロセッサエレメント1のメッセ
ージ受信手段14に対してメッセージを送信するメッセ
ージ送信手段15とを備えるものである。
【0019】16は送信プロセッサエレメント1に展開
されるメッセージ作成手段であって、他プロセッサエレ
メント1に送信するメッセージを作成するもの、17は
例えば受信プロセッサエレメント1に展開される解放手
段であって、メモリの利用効率を図るべく、送信プロセ
ッサエレメント1からのリクエストに応答して、その送
信プロセッサエレメント1の使用していた遠隔書込手段
11の書込先となる書込領域を解放するものである。
【0020】18は例えば受信プロセッサエレメント1
に展開される生成手段であって、送信プロセッサエレメ
ント1の遠隔書込手段11の書込先となる書込領域が溢
れるときに、その送信プロセッサエレメント1からのリ
クエストに応答してその書込領域を生成するもの、19
は受信プロセッサエレメント1に展開されるメモリであ
って、一部は他プロセッサエレメント1がアクセス可能
となる共有メモリとして機能し、一部は他プロセッサエ
レメント1がアクセス不可能となるローカルメモリとし
て機能する。
【0021】
【作用】本発明では、送信プロセッサエレメント1は、
メッセージ作成手段16がメッセージを作成すると、遠
隔書込手段11を使って、メッセージの本体を、共有メ
モリとして機能する受信プロセッサエレメント1のメモ
リ19に書き込むとともに、受信プロセッサエレメント
1のメッセージ受信手段14に対して、メッセージの識
別子情報と、メッセージ本体へのポインタ情報とを送信
する。
【0022】この送信処理に従って、メッセージ本体
は、遠隔書込手段11に従って、共有メモリとして機能
する受信プロセッサエレメント1のメモリ領域に直接書
き込まれるとともに、そのメッセージ本体の順序性は、
メッセージ受信手段14に従って、小さいデータ量のメ
ッセージの識別子情報のみでもって保証され、そして、
そのメッセージ本体は、受信プロセッサエレメント1の
備える図示しないデータ処理機能が、目的のメッセージ
の識別子情報を特定していくときに、その識別子情報と
対応付けられるポインタ情報に従って読み出されていく
ことになる。
【0023】このように、本発明では、メッセージ本体
のためのバッファ管理と、メッセージの順序性の保証処
理とを分離する構成を採ることから、柔軟なバッファ管
理を実現できるようになるとともに、ソフトウェアによ
る排他制御処理が不要となることで、オーバーヘッドの
削減を実現できるようになるのである。
【0024】この構成を採るときにあって、送信プロセ
ッサエレメント1は、遠隔書込手段11を使って、メッ
セージ本体の全てを遠隔書き込みするのではなくて、メ
ッセージ本体一部、あるいは、メッセージ本体及びメッ
セージ識別子情報一部、あるいは、メッセージ本体一部
及びメッセージ識別子情報一部を遠隔書き込みする構成
を採ることも可能である。
【0025】このとき、送信プロセッサエレメント1
は、メッセージ本体一部を遠隔書き込みするときには、
受信プロセッサエレメント1のメッセージ受信手段14
に対して、メッセージ識別子情報と、メッセージ本体の
残りと、メッセージ本体一部へのポインタ情報とを送信
し、メッセージ本体及びメッセージ識別子情報一部を遠
隔書き込みするときには、メッセージ識別子情報の残り
と、メッセージ本体及びメッセージ識別情報子一部への
ポインタ情報とを送信し、メッセージ本体一部及びメッ
セージ識別子情報一部を遠隔書き込みするときには、メ
ッセージ識別子情報の残りと、メッセージ本体の残り
と、メッセージ本体一部及びメッセージ識別子情報一部
へのポインタ情報とを送信することになる。
【0026】本発明では、メッセージデータが分割可能
なときに、その分割するメッセージデータをその都度ヘ
ッダを付けずに送信することが可能になり、これにより
大きな有効性を発揮できることになる。
【0027】例えば、送信プロセッサエレメント1は、
メッセージ作成手段16によりメッセージ本体が作成さ
れていくときに、その作成処理と並行させながら、メッ
セージ本体を分割しつつ、遠隔書込手段11を使って、
共有メモリとして機能する受信プロセッサエレメント1
のメモリ19に書き込んでいって、最後に、受信プロセ
ッサエレメント1のメッセージ受信手段14に対して、
メッセージの識別子情報と、メッセージ本体へのポイン
タ情報とを送信していくという構成を採ることが可能と
なって、メッセージの作成処理と送信処理とを並行して
実行できるようになるからである。
【0028】このとき、受信プロセッサエレメント1で
メッセージ本体分割部分の到達の有無が判定可能となる
場合には、送信プロセッサエレメント1は、メッセージ
本体の送信に先立って、受信プロセッサエレメント1の
メッセージ受信手段14に対して、メッセージの識別子
情報と、メッセージ本体へのポインタ情報とを送信して
いく構成を採ることで、メッセージ本体分割部分が到着
されると同時に参照可能となるようにする構成を採るこ
とも可能である。
【0029】
【実施例】以下、実施例に従って本発明を詳細に説明す
る。図2に、本発明を実装する並列計算機のハードウェ
ア構成の一実施例を図示する。
【0030】この図に示すように、本発明を実装する並
列計算機は、複数のプロセッサエレメント1と、それら
を接続するネットワーク2aとから構成され、各プロセ
ッサエレメント1は、CPU20と、メモリ21と、メ
ッセージ通信回路22と、リモートメモリコントーラ2
3とを備える。ここで、各プロセッサエレメント1に展
開されるメモリ21は、一部は他プロセッサエレメント
1がアクセス可能となる分散型の共有メモリとして機能
し、一部は他プロセッサエレメント1がアクセス不可能
となるローカルメモリとして機能する。
【0031】このメッセージ通信回路22は、ハードウ
ェアにより構成されて、到着順に従って受信メッセージ
を自メモリ21(共有メモリのメモリ領域のこともある
し、ローカルメモリのメモリ領域のこともある)に書き
込むとともに、他プロセッサエレメント1のメッセージ
通信回路22に対してメッセージを送信するよう動作す
る。
【0032】リモートメモリコントローラ23は、デー
タレジスタと、アドレスレジスタと、データ変換回路と
から構成されて、CPU20上で走行するソフトウェア
が発行するデータとアドレスとを受け取り、それらをマ
ージしてネットワーク2aを介して他プロセッサエレメ
ント1に送信することで、そのデータをそのアドレスの
指す共有メモリとして機能する他プロセッサエレメント
1のメモリ21に書き込むとともに、他プロセッサエレ
メント1から送信されてくるデータとアドレスとを受け
取って、そのデータをそのアドレスの指す共有メモリと
して機能する自メモリ21に書き込むよう動作する。
【0033】メモリ21は、図3に示すように、メッセ
ージ通信回路22の受信するメッセージデータを受信順
に書き込む第1の書込領域30と、他プロセッサエレメ
ント1対応に用意される複数の書込領域から構成され
て、リモートメモリコントローラ23の受信するメッセ
ージデータを図4に示すようにリング形態で書き込む第
2の書込領域31とを備える。
【0034】この第2の書込領域31を構成する各書込
領域は、送信側となる他プロセッサエレメント1からの
リクエストに応答して作成されるとともに消去されるこ
とになる。
【0035】図5に、このように構成される並列計算機
で実行される本発明のメッセージ通信処理の一実施例を
図示する。ここで、図中、1aはメッセージを送信する
送信プロセッサエレメント、1bはメッセージを受信す
る受信プロセッサエレメントである。
【0036】この実施例に示すように、本発明のメッセ
ージ通信処理では、送信プロセッサエレメント1aは、
送信対象のメッセージが作成されると、図中の破線で示
すように、リモートメモリコントローラ23を使って、
メッセージの本体を、共有メモリとして機能する受信プ
ロセッサエレメント1bのメモリ21の第2の書込領域
31に書き込むとともに、図中の実線で示すように、受
信プロセッサエレメント1bのメッセージ通信回路22
に対して、メッセージの識別子情報と、メッセージ本体
へのポインタ情報とを送信する構成を採る。
【0037】このようにして、本発明のメッセージ通信
処理では、メッセージ本体については、共有メモリとし
て機能する受信プロセッサエレメント1bのメモリ21
に直接どんどん書き込んでいくとともに、メッセージの
識別子情報と、メッセージ本体へのポインタ情報とを受
信プロセッサエレメント1bのメッセージ通信回路22
に送信する構成を採って、そのメッセージ通信回路22
が、受信順に、メッセージの識別子情報と、メッセージ
本体へのポインタ情報とをメモリ21の第1の書込領域
30に書き込んでいくことを利用して、書き込んだメッ
セージ本体の順序性を保存することを実現するものであ
る。
【0038】ここで、このメッセージ本体の遠隔書込処
理では、送信プロセッサエレメント1aは、第2の書込
領域31の内の自エレメントに割り当てられた書込領域
をリングバッファとして用いつつメッセージ本体の書き
込みを実行することで、メッセージ通信にあたってのオ
ーバーヘッドを削減している。すなわち、本発明では、
メッセージの書込先が書込側でローカルに管理され、こ
れにより、メッセージ通信にあたってのオーバーヘッド
が削減されることになる。
【0039】次に、図6を参照しつつ、この本発明のメ
ッセージ通信処理を更に具体的に説明する。送信プロセ
ッサエレメント1aは、先ず最初に、受信プロセッサエ
レメント1bに要求を発行することで、メッセージ本体
を書き込むための書込領域を受信プロセッサエレメント
1bの第2の書込領域31に確保する。なお、この書込
領域の確保は、動的に行われることもあるし、静的に行
われることもある。
【0040】この書込領域が確保されると、続いて、送
信プロセッサエレメント1aは、確保した書込領域の開
始アドレスをローカルな変数LARに保存するととも
に、終端アドレスをローカルな変数LARLIMITに
保存し、続いて、書込処理の先頭を表示するローカルな
変数WTPに開始アドレスを書き込む。
【0041】続いて、送信プロセッサエレメント1a
は、メッセージ本体の送信に入って、送信するメッセー
ジ本体に対して、受信プロセッサエレメント1bに確保
した書込領域の中からメッセージ本体長分の領域を割り
当て、続いて、その割り当てた書込領域にメッセージ本
体を遠隔書き込みして、送信したメッセージ本体の終端
アドレスをローカルな変数WTPに設定する。
【0042】続いて、送信プロセッサエレメント1a
は、メッセージの識別子情報と、送信したメッセージ本
体へのポインタ情報とを受信プロセッサエレメント1b
のメッセージ通信回路22に送信して送信処理を終了す
る。
【0043】一方、受信プロセッサエレメント1bは、
送信プロセッサエレメント1aからメッセージ本体の書
込領域の確保要求があると、指定されるメモリ容量分の
書込領域を第2の書込領域31に確保して、送信プロセ
ッサエレメント1aに対して、その確保した書込領域の
開始アドレス及び終端アドレスを通知してから、送信プ
ロセッサエレメント1aの持つ読込完了個所を表示する
ローカルな変数RDPに開始アドレスを遠隔書き込みす
る。
【0044】また、受信プロセッサエレメント1bのメ
ッセージ通信回路22は、送信プロセッサエレメント1
aから、自メモリ21の第2の書込領域31に遠隔書き
込みされたメッセージ本体のメッセージの識別子情報
と、そのメッセージ本体へのポインタ情報とが送られて
くると、それを順番に受信して、受信順に、それらを自
メモリ21の第1の書込領域30に書き込むことでキュ
ーイングする。
【0045】そして、受信プロセッサエレメント1b
は、自CPU20で走行するデータ処理プログラムか
ら、他プロセッサエレメント1のメッセージの読込要求
があると、第1の書込領域30のキューイングデータを
参照することで目的のメッセージの識別子情報がキュー
イングされているか否かをチェックして、目的のメッセ
ージの識別子情報がキューイングされていることを判断
するときには、その識別子情報に対応付けられるポイン
タ情報に従って、第2の書込領域31に書き込まれてい
る目的のメッセージのメッセージ本体を特定し、それを
ユーザの受信領域にコピーしてから、ローカルな変数R
DPにメッセージ本体の終端アドレスを遠隔書き込みす
る。
【0046】このようにして、本発明では、メッセージ
本体は、共有メモリとして機能する受信プロセッサエレ
メント1bのメモリ21に直接書き込まれるとともに、
そのメッセージ本体の順序性は、小さいデータ量のメッ
セージの識別子情報のみでもって保証され、そして、そ
のメッセージ本体は、メッセージの識別子情報に従って
目的のメッセージであることが検出されるときに、その
識別子情報と対応付けられるポインタ情報に従って読み
出されていくのである。
【0047】次に、送信プロセッサエレメント1aの実
行するバッファ管理について説明する。送信プロセッサ
エレメント1aは、上述したように、メッセージ本体の
遠隔書込領域をリングバッファとして用いる構成を採
る。
【0048】これから、送信プロセッサエレメント1a
は、変数WTPの指すアドレスを開始点としてメッセー
ジ本体を遠隔書込領域に書き込んでいくのであるが、こ
のときにあって、変数WTPの指すアドレスと送信する
メッセージ本体サイズとの和が、変数LARLIMIT
の指すアドレスを超える場合には、変数WTPの指すア
ドレスにメッセージが制限値を超えるという短いメッセ
ージを書き込んでから、変数LARLIMITの指すア
ドレスに続けて、リングバッファの先頭となる変数LA
Rの指すアドレスからメッセージを遠隔書込領域に書き
込んでいくことになる。
【0049】また、変数WTPの指すアドレスと送信す
るメッセージ本体サイズとの和が、受信プロセッサエレ
メント1bのリードしているアドレスを示す変数RDP
の指すアドレスを追い越すときには、新たにリングバッ
ファの遠隔書込領域を確保する必要がある。これから、
このときには、最初に、今まで使用していた遠隔書込領
域を解放するために、遠隔書込領域の解放メッセージを
受信プロセッサエレメント1bに送信し、続いて、遠隔
書込領域の確保要求のメッセージを受信プロセッサエレ
メント1bに送信していくことになる。
【0050】本発明では、メッセージデータが分割可能
なときに、その分割するメッセージデータをその都度ヘ
ッダを付けずに送信することが可能になり、これにより
大きな有効性を発揮できることになる。次に、この点に
ついて説明する。
【0051】並列計算機では、送信プロセッサエレメン
ト1aは、データを計算してその結果を受信プロセッサ
エレメント1bにメッセージ送信し、受信プロセッサエ
レメント1bは、メッセージの到着を待って、目的とす
るメッセージであることを確認すると、そのデータを使
って計算を始めていくことになる。
【0052】この処理にあって、メッセージ全体の結果
が同時に作成されるようなことはまず起こらず、通常
は、順番に作成されていくことになる。これに対して、
従来技術では、メッセージ全体が作成されてから、それ
にヘッダ(メッセージの識別子情報)を付けて送信する
構成を採っていることから、図7(a)(b)に示すよう
に、送信可能なデータが存在していてもメッセージ全体
が作成されるまでその送信が待たされるとともに、受信
側は、メッセージ全体が作成されるまで受信待ちの状態
になってしまう。
【0053】これに対して、本発明を用いると、図8
(a)に示すように、送信プロセッサエレメント1a
は、メッセージを作成しながら、それと並行して作成さ
れたメッセージ部分を遠隔書込処理に従って共有メモリ
に書き込んでいって、最後に、メッセージの識別子情報
と、メッセージ本体へのポインタ情報とを受信プロセッ
サエレメント1bのメッセージ通信回路22に送信する
構成を採ることが可能となる。これにより、メッセージ
の作成処理と送信処理とを並行して実行できるようにな
る。
【0054】この場合にあって、メッセージの内容によ
って、受信プロセッサエレメント1bで、メッセージが
既に書き込まれているか否かを知ることができる場合に
は、一層の高速処理が可能である。
【0055】例えば、メッセージの内容が必ず非ゼロ値
を示すときには、受信プロセッサエレメント1bは、メ
ッセージを読むことでメッセージが到着したか否かを知
ることができる。このようなときには、図8(b)に示
すように、送信プロセッサエレメント1aは、メッセー
ジを書き込む前に、メッセージの識別子情報と、メッセ
ージ本体へのポインタ情報とを受信プロセッサエレメン
ト1bのメッセージ通信回路22に送信し、それに続い
て、メッセージを作成しながら、それと並行して作成さ
れたメッセージ部分を遠隔書込処理に従って共有メモリ
に書き込んていく構成を採ることが可能になる。これに
より、メッセージの作成処理と、その送信処理と、その
メッセージを使った演算処理とを並行して実行できるよ
うになる。
【0056】この図8(a)(b)では、遠隔書き込みに
対してのアクリッジを要求しない突き放しのメッセージ
送信処理に適用した例を示したが、突き放しでないメッ
セージ送信処理に適用することも可能である。
【0057】なお、メッセージを分割して送信していく
方法は、その都度ヘッダを付けていけば従来技術でも実
現できる。しかし、その都度ヘッダを付けると、ヘッダ
の送信や、メッセージのサーチや、メッセージの並び替
えや、メッセージの組み立てや、メッセージのコピー等
の処理が必要となって、メッセージ通信のオーバーヘッ
ドが著しく大きくなって現実性のないものとなってしま
うのである。
【0058】図示実施例について説明したが、本発明は
これに限られるものではない。例えば、実施例では、送
信プロセッサエレメント1aは、メッセージ本体の全て
を遠隔書き込みの対象とする構成を開示したが、本発明
はこれに限られるものではないのであって、メッセージ
本体一部、あるいは、メッセージ本体及びメッセージ識
別子情報一部、あるいは、メッセージ本体一部及びメッ
セージ識別子情報一部を遠隔書き込みの対象とする構成
を採ることも可能である。
【0059】このとき、送信プロセッサエレメント1a
は、メッセージ本体一部を遠隔書き込みの対象とすると
きには、受信プロセッサエレメント1bのメッセージ通
信回路22に対して、メッセージ識別子情報と、メッセ
ージ本体の残りと、メッセージ本体一部へのポインタ情
報とを送信し、メッセージ本体及びメッセージ識別子情
報一部を遠隔書き込みの対象とするときには、メッセー
ジ識別子情報の残りと、メッセージ本体及びメッセージ
識別情報子一部へのポインタ情報とを送信し、メッセー
ジ本体一部及びメッセージ識別子情報一部を遠隔書き込
みの対象とするときには、メッセージ識別子情報の残り
と、メッセージ本体の残りと、メッセージ本体一部及び
メッセージ識別子情報一部へのポインタ情報とを送信す
ることになる。
【0060】ここで、メッセージ本体一部を遠隔書き込
みの対象とする構成は、メッセージ通信回路22による
メッセージ送信の方が、遠隔書き込みによるメッセージ
送信よりも高速のときに有効であり、メッセージ本体及
びメッセージ識別子情報一部を遠隔書き込みの対象とす
る構成は、遠隔書き込みによるメッセージ送信の方が、
メッセージ通信回路22によるメッセージ送信よりも高
速のときに有効である。
【0061】なお、実施例では、メッセージ本体を遠隔
書き込みする構成を開示したが、メッセージが規定の長
さよりも短いときには、遠隔書き込みを使わずに、従来
技術のように、メッセージ本体及びメッセージ識別子情
報を受信プロセッサエレメント1bのメッセージ通信回
路22に送信していってもよい。この方法は、メッセー
ジ通信回路22の方が遠隔書き込みよりも高速にメッセ
ージを送信できるときに、特に有効である。
【0062】また、実施例では、各プロセッサエレメン
トにローカルに配置されるメモリ19を共有メモリして
用いていく構成を開示したが、本発明はこれに限られる
ものではないのであって、ローカルに配置されるメモリ
19とは別に用意される特定の共有メモリを用いる構成
を採ってもよいのである。
【0063】
【発明の効果】以上説明したように、本発明によれば、
メッセージ本体のためのバッファ管理と、メッセージの
順序性の保証処理とが分離されることから、柔軟なバッ
ファ管理を実現できるようになるとともに、ソフトウェ
アによる排他制御処理が不要となることで、オーバーヘ
ッドの削減を実現できるとともに、プロセッサエレメン
トのアイドル時間を抑えられるようになる。
【0064】そして、メッセージの識別子情報を狭い間
隔で集めたり、固定された間隔で集めることができるよ
うになることから、メッセージの検索を高速化できるよ
うになる。また、送信側でメッセージの書込領域を管理
できるので、低レイテンシと通信の集中に対してより速
い処理が可能になる。
【0065】そして、メッセージを分割しつつその都度
ヘッダを付けずに送信することが可能になり、これによ
り、相互結合網を長時間占有させることなく大きなメッ
セージを通信できるようになって、後から発生する優先
順位の高いメッセージを長く待たせることがなくなる。
また、送信側の計算時間と送信時間とを重ねることでき
たり、送信側の計算時間/送信時間と受信側の計算時間
とを重ねることができるようになる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明を実装する並列計算機の説明図である。
【図3】メモリ構成の説明図である。
【図4】第2の書込領域の説明図である。
【図5】本発明のメッセージ通信処理の一実施例であ
る。
【図6】本発明のメッセージ通信処理の説明図である。
【図7】従来のメッセージ通信処理の説明図である。
【図8】本発明のメッセージ通信処理の説明図である。
【図9】従来技術の説明図である。
【図10】従来技術の説明図である。
【符号の説明】
1 プロセッサエレメント 2 接続路 10 リモートメモリコントロール手段 11 遠隔書込手段 12 受信書込手段 13 メッセージコントロール手段 14 メッセージ受信手段 15 メッセージ送信手段 16 メッセージ作成手段 17 解放手段 18 生成手段 19 メモリ

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサエレメントから構成さ
    れる並列計算機において、 各プロセッサエレメントが、到着順に従って受信メッセ
    ージを自エレメント用に用意されるメモリ領域に書き込
    むメッセージ受信手段(14)と、共有メモリのメモリ領域
    にデータを直接書き込む遠隔書込手段(11)とを備える構
    成を採って、 送信プロセッサエレメントは、上記遠隔書込手段(11)を
    使って、受信プロセッサエレメントに送信するメッセー
    ジの本体を共用メモリに書き込むとともに、受信プロセ
    ッサエレメントの上記メッセージ受信手段(14)に対し
    て、メッセージの識別子情報と、メッセージ本体へのポ
    インタ情報とを送信するよう処理することを、 特徴とする並列計算機におけるメッセージ通信方式。
  2. 【請求項2】 請求項1記載の並列計算機におけるメッ
    セージ通信方式において、 送信プロセッサエレメントは、上記遠隔書込手段(11)を
    使って、メッセージ本体の全てを遠隔書き込みするので
    はなくて、メッセージ本体一部、あるいは、メッセージ
    本体及びメッセージ識別子情報一部、あるいは、メッセ
    ージ本体一部及びメッセージ識別情報子一部を遠隔書き
    込みするとともに、 メッセージ本体一部を遠隔書き込みするときには、受信
    プロセッサエレメントのメッセージ受信手段(14)に対し
    て、メッセージ識別子情報と、メッセージ本体の残り
    と、該メッセージ本体一部へのポインタ情報とを送信
    し、 メッセージ本体及びメッセージ識別子情報一部を遠隔書
    き込みするときには、受信プロセッサエレメントのメッ
    セージ受信手段(14)に対して、メッセージ識別子情報の
    残りと、該メッセージ本体及びメッセージ識別子情報一
    部へのポインタ情報とを送信し、 メッセージ本体一部及びメッセージ識別子情報一部を遠
    隔書き込みするときには、受信プロセッサエレメントの
    メッセージ受信手段(14)に対して、メッセージ識別子情
    報の残りと、メッセージ本体の残りと、該メッセージ本
    体一部及びメッセージ識別子情報一部へのポインタ情報
    とを送信するよう処理することを、 特徴とする並列計算機におけるメッセージ通信方式。
  3. 【請求項3】 請求項1又は2記載の並列計算機におけ
    るメッセージ通信方式において、 共有メモリ上で、遠隔書込手段(11)により送られてくる
    メッセージデータの書込領域が送信プロセッサエレメン
    ト対応に用意されるよう構成され、 送信プロセッサエレメントは、遠隔書込手段(11)を使っ
    てメッセージデータを送信するときに、自エレメントに
    割り当てられる上記書込領域を指定して、メッセージデ
    ータを送信するよう処理することを、 特徴とする並列計算機におけるメッセージ通信方式。
  4. 【請求項4】 請求項3記載の並列計算機におけるメッ
    セージ通信方式において、 送信プロセッサエレメントからのリクエストに応答し
    て、該送信プロセッサエレメントに対し、共有メモリ上
    の書込領域を新たに割り当てるよう構成されることを、 特徴とする並列計算機におけるメッセージ通信方式。
  5. 【請求項5】 請求項3記載の並列計算機におけるメッ
    セージ通信方式において、 送信プロセッサエレメントからのリクエストに応答し
    て、該送信プロセッサエレメントが使用していた共有メ
    モリ上の書込領域を解放するよう構成されることを、 特徴とする並列計算機におけるメッセージ通信方式。
  6. 【請求項6】 請求項1、2、3、4又は5記載の並列
    計算機におけるメッセージ通信方式において、 送信プロセッサエレメントは、遠隔書込手段(11)で送信
    するメッセージデータを分割して送信するよう処理する
    ことを、 特徴とする並列計算機におけるメッセージ通信方式。
  7. 【請求項7】 請求項1、2、3、4又は5記載の並列
    計算機におけるメッセージ通信方式において、 送信プロセッサエレメントは、遠隔書込手段(11)で送信
    するメッセージデータが作成されていくときに、その作
    成処理と並行させながら、該メッセージデータを分割し
    つつ送信していくよう処理することを、 特徴とする並列計算機におけるメッセージ通信方式。
  8. 【請求項8】 請求項7記載の並列計算機におけるメッ
    セージ通信方式において、 送信プロセッサエレメントは、受信プロセッサエレメン
    トでメッセージデータ分割部分の到達の有無が判定可能
    となる場合には、メッセージデータの送信に先立って、
    受信プロセッサエレメントのメッセージ受信手段(14)に
    対して、該当するデータを送信していくよう処理するこ
    とを、 特徴とする並列計算機におけるメッセージ通信方式。
  9. 【請求項9】 請求項1、2、3、4、5、6、7又は
    8記載の並列計算機におけるメッセージ通信方式におい
    て、 送信プロセッサエレメントは、メッセージが規定の長さ
    よりも短いときには、遠隔書込手段(11)を使わずに、受
    信プロセッサエレメントのメッセージ受信手段(14)に対
    して、メッセージ本体及びメッセージ識別子情報を送信
    するよう処理することを、 特徴とする並列計算機におけるメッセージ通信方式。
JP14737094A 1994-06-29 1994-06-29 並列計算機で用いられるメッセージ通信方法 Expired - Fee Related JP3544390B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP14737094A JP3544390B2 (ja) 1994-06-29 1994-06-29 並列計算機で用いられるメッセージ通信方法
US08/496,781 US5781741A (en) 1994-06-29 1995-06-29 Message communications system in a parallel computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14737094A JP3544390B2 (ja) 1994-06-29 1994-06-29 並列計算機で用いられるメッセージ通信方法

Publications (2)

Publication Number Publication Date
JPH0816540A true JPH0816540A (ja) 1996-01-19
JP3544390B2 JP3544390B2 (ja) 2004-07-21

Family

ID=15428699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14737094A Expired - Fee Related JP3544390B2 (ja) 1994-06-29 1994-06-29 並列計算機で用いられるメッセージ通信方法

Country Status (2)

Country Link
US (1) US5781741A (ja)
JP (1) JP3544390B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108693A (en) * 1997-10-17 2000-08-22 Nec Corporation System and method of data communication in multiprocessor system
WO2007088582A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited 共有メモリ型マルチプロセッサにおける非同期遠隔手続き呼び出し方法、非同期遠隔手続き呼び出しプログラムおよび記録媒体
WO2007088581A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited 共有メモリ型マルチプロセッサにおける手続き呼び出し方法、手続き呼び出しプログラムおよび記録媒体
JP2009087335A (ja) * 2007-09-14 2009-04-23 Ricoh Co Ltd マルチプロセッサシステム
US7949815B2 (en) * 2006-09-27 2011-05-24 Intel Corporation Virtual heterogeneous channel for message passing

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6584498B2 (en) 1996-09-13 2003-06-24 Planet Web, Inc. Dynamic preloading of web pages
US6377978B1 (en) * 1996-09-13 2002-04-23 Planetweb, Inc. Dynamic downloading of hypertext electronic mail messages
US6170045B1 (en) * 1997-04-30 2001-01-02 International Business Machines Corporation Cross-system data piping using an external shared memory
US5878226A (en) * 1997-05-13 1999-03-02 International Business Machines Corporation System for processing early arrival messages within a multinode asynchronous data communications system
US6014710A (en) * 1997-06-30 2000-01-11 Sun Microsystems, Inc. System and method for message transmission between network nodes using remote wires
US6564250B1 (en) 1997-08-21 2003-05-13 Planetweb, Inc. Miniclient for internet appliance
US6542923B2 (en) 1997-08-21 2003-04-01 Planet Web, Inc. Active electronic mail
US7325077B1 (en) 1997-08-21 2008-01-29 Beryl Technical Assays Llc Miniclient for internet appliance
US6032150A (en) * 1997-08-25 2000-02-29 Planetweb, Inc. Secure graphical objects in web documents with a program applet placed to present further information upon selected conditions
US6684211B1 (en) 1998-04-01 2004-01-27 Planetweb, Inc. Multimedia communication and presentation
US6799317B1 (en) * 2000-06-27 2004-09-28 International Business Machines Corporation Interrupt mechanism for shared memory message passing
US20030023775A1 (en) * 2001-07-13 2003-01-30 International Business Machines Corporation Efficient notification of multiple message completions in message passing multi-node data processing systems
US20030014516A1 (en) * 2001-07-13 2003-01-16 International Business Machines Corporation Recovery support for reliable messaging
US7743065B2 (en) * 2002-06-27 2010-06-22 Siebel Systems, Inc. System and method for cross-referencing information in an enterprise system
US20050047440A1 (en) * 2003-08-25 2005-03-03 Jerome Plun Division of data structures for efficient simulation
US7610345B2 (en) 2005-07-28 2009-10-27 Vaporstream Incorporated Reduced traceability electronic message system and method
US9282081B2 (en) 2005-07-28 2016-03-08 Vaporstream Incorporated Reduced traceability electronic message system and method
JP4942375B2 (ja) * 2006-03-27 2012-05-30 株式会社ソニー・コンピュータエンタテインメント ネットワーク処理装置
US7870306B2 (en) * 2006-08-31 2011-01-11 Cisco Technology, Inc. Shared memory message switch and cache
US8234420B2 (en) * 2010-07-14 2012-07-31 Ge Intelligent Platforms, Inc. Method, system, and apparatus for communicating using multiple controllers
US11782635B2 (en) 2021-11-12 2023-10-10 Western Digital Technologies, Inc. Method to ensure message arrival before a message pointer

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4590554A (en) * 1982-11-23 1986-05-20 Parallel Computers Systems, Inc. Backup fault tolerant computer system
US5047917A (en) * 1985-07-12 1991-09-10 The California Institute Of Technology Apparatus for intrasystem communications within a binary n-cube including buffer lock bit
US5161156A (en) * 1990-02-02 1992-11-03 International Business Machines Corporation Multiprocessing packet switching connection system having provision for error correction and recovery
JPH0775353B2 (ja) * 1993-02-23 1995-08-09 日本電気株式会社 パケット交換方式

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108693A (en) * 1997-10-17 2000-08-22 Nec Corporation System and method of data communication in multiprocessor system
WO2007088582A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited 共有メモリ型マルチプロセッサにおける非同期遠隔手続き呼び出し方法、非同期遠隔手続き呼び出しプログラムおよび記録媒体
WO2007088581A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited 共有メモリ型マルチプロセッサにおける手続き呼び出し方法、手続き呼び出しプログラムおよび記録媒体
KR100978083B1 (ko) * 2006-01-31 2010-08-26 후지쯔 가부시끼가이샤 공유 메모리형 멀티 프로세서에 있어서의 절차 호출 방법 및 절차 호출 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
KR100978082B1 (ko) * 2006-01-31 2010-08-26 후지쯔 가부시끼가이샤 공유 메모리형 멀티 프로세서에 있어서의 비동기 원격 절차 호출 방법 및 비동기 원격 절차 호출 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
JP4734348B2 (ja) * 2006-01-31 2011-07-27 富士通株式会社 共有メモリ型マルチプロセッサにおける非同期遠隔手続き呼び出し方法、非同期遠隔手続き呼び出しプログラムおよび記録媒体
US8117626B2 (en) 2006-01-31 2012-02-14 Fujitsu Limited Asynchronous remote procedure calling method and computer product in shared-memory multiprocessor
JP5163128B2 (ja) * 2006-01-31 2013-03-13 富士通株式会社 共有メモリ型マルチプロセッサにおける手続の呼び出し方法、手続の呼び出しプログラム、記録媒体、およびマルチプロセッサ
US7949815B2 (en) * 2006-09-27 2011-05-24 Intel Corporation Virtual heterogeneous channel for message passing
US8281060B2 (en) 2006-09-27 2012-10-02 Intel Corporation Virtual heterogeneous channel for message passing
JP2009087335A (ja) * 2007-09-14 2009-04-23 Ricoh Co Ltd マルチプロセッサシステム

Also Published As

Publication number Publication date
US5781741A (en) 1998-07-14
JP3544390B2 (ja) 2004-07-21

Similar Documents

Publication Publication Date Title
JPH0816540A (ja) 並列計算機におけるメッセージ通信方式
JP3606541B2 (ja) 複数ノードの非同期データ通信システム内で早期到達メッセージを処理する方法
US5991797A (en) Method for directing I/O transactions between an I/O device and a memory
EP0543512B1 (en) Multiprocessor system
US5630059A (en) Expedited message transfer in a multi-nodal data processing system
JP3208397B2 (ja) 制御要素転送システム
JP3322754B2 (ja) 並列計算機
US11341087B2 (en) Single-chip multi-processor communication
JPH06309252A (ja) 相互接続インタフェース
US5754887A (en) System for limiting access of plurality of requests to peripheral bus by halting transmission to particular peripheral devices and resuming transmission after second predetermined time period expiration
US6418497B1 (en) Method and system for interrupt handling using system pipelined packet transfers
JP3639319B2 (ja) 並列計算機システム,データ転送制御方法および送受信制御装置
US20030212845A1 (en) Method for high-speed data transfer across LDT and PCI buses
US5878226A (en) System for processing early arrival messages within a multinode asynchronous data communications system
JP4856413B2 (ja) 演算処理装置、情報処理装置、及び演算処理装置の制御方法
JP2924783B2 (ja) リモートリード処理方法およびその装置
JP3678036B2 (ja) 並列計算機システムにおけるモニタデータ収集方法
JP3016788B2 (ja) 装置間通信・キャッシュ一致処理方式
JP3115801B2 (ja) 並列計算機システム
US6493779B1 (en) Method and system for interrupt handling using device pipelined packet transfers
JP3307331B2 (ja) ネットワークファイルシステムのデータ転送方法
JPS59146347A (ja) プロセス間通信方式
JP2984594B2 (ja) マルチクラスタ情報処理システム
JP2853607B2 (ja) ジョブ間通信システム
JPH10143486A (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: 20040217

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: 20040330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040402

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: 20080416

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees