JPH02113362A - 分散処理システム - Google Patents

分散処理システム

Info

Publication number
JPH02113362A
JPH02113362A JP63267581A JP26758188A JPH02113362A JP H02113362 A JPH02113362 A JP H02113362A JP 63267581 A JP63267581 A JP 63267581A JP 26758188 A JP26758188 A JP 26758188A JP H02113362 A JPH02113362 A JP H02113362A
Authority
JP
Japan
Prior art keywords
message
processing
scheduling
messages
processing node
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
JP63267581A
Other languages
English (en)
Inventor
Shigeki Yamada
茂樹 山田
Tatsuro Murakami
村上 龍郎
Nobuo Araki
荒木 伸夫
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP63267581A priority Critical patent/JPH02113362A/ja
Publication of JPH02113362A publication Critical patent/JPH02113362A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、分散処理システムに関し、特に通信網や大規
模コンピュータネットワーク等の各種の通信媒体が混在
する大規模システムに適した柔軟性のある高効率の分散
処理システムに関するものである。
〔従来の技術〕
分散処理システムは、一般に、地理的に離れた複数の計
算機(以後、プロセッサシステムあるいは処理ノードと
呼ぶ)を通信回線で結合し、これらの処理ノードにそれ
ぞれ処理を分担させることにより、全体として所望の機
能を達成するための処理システムである。さらに、広義
の分散処理システムとしては、複数のプロセッサを用い
たマルチプロセッサシステム(あるいは、コンピュータ
コンプレックス)も含まれ、この場合には、各プロセッ
サに同種の仕事を分担させる負荷分散処理方式と、各プ
ロセッサにそれぞれ別個の仕事を分担させる機能分散処
理方式とがある。
近年は、マイクロプロセッサを始めとして各種ハードウ
ェアのコスト低下や、各種システム間の接続を簡単化す
るためのO8I技術(解放型システム間相互接続の技術
)の標準化等を背景にして、各種の分散処理システムが
構築されている。
これらの分散処理システムを実現する方法としては、プ
ログラムを複数の並列実行可能なプロセスに分割して、
それらのプロセス間で通信が必要になった場合には、メ
ツセージと呼ばれる論理情報を交信し合って処理を進め
るメツセージ結合型処理方式が多く用いられている。メ
ツセージ結合型処理方式の利点は、各プロセス間のイン
タフェースをメツセージという論理的な情報のみに制限
することによって、各プロセスの切れがよくなって、モ
ジュール性が高めら九ることであり、その結果、処理が
分散し易くなるという点である。
オブジェクト指向プログラムでは、一般にプロセスをオ
ブジェクトと呼び、メツセージ通信をメツセージパッシ
ングと呼ぶ。
第2図は、従来の分散処理システムの構成例を示す図で
ある。
第2図において、1,2,3は処理ノードであり、それ
らを結合する4、5.6は各処理ノード相互間を結合す
るための通信回線である。各処理ノード1,2.3は、
それぞれCPU1a、2a。
3aとメインメモリlb、2b、3bとデータリンクコ
ントローラlc、2c、3cとから構成される。これら
のうち、メインメモリlb、2b。
3bはオブジェクトやメツセージを記憶し、データリン
クコントローラlc、2c、3cは通信回線4,5.6
を経由してメツセージの送受信を行う。
いま、この分散処理システムにおいて、処理ノード1の
メインメモリ1bに記憶されているオブジェクトJ1が
CPUI aで実行された後、処理ノード2のメインメ
モリ2bに記憶されているオブジェクトJ2に対してメ
ツセージm1を送信する場合を考えてみる。
CPU1aでは、オペレーティングシステム(O8)に
処理を切り替えて、メツセージm1の受信先である受信
オブジェクトJ2が処理ノード2に存在することを識別
しくノード識別)、データリンクコントローラ1cにお
ける処理ノード2に接続された通信回線4を選択してこ
れを起動し、この通信回線4を介してメツセージm1を
送出する。
処理ノード2では、通信回線4を介して送られてきたメ
ツセージm1をデータリンクコントローラ2cで受信し
て、これをメインメモリ2bに格納する。CPU2aの
O8は、このメツセージm1が受信オブジェクトj2に
対して実行できる状態にあるか否かを判定し、実行でき
る状態にあれば。
実行レディキューに登録して、CPUリソースが割り当
てられる順番を待つ。また、まだ実行できない状態にあ
れば、実行ベンディングキューに登録し、実行可能にな
るまで待ち合わせる。
なお、ここで、メツセージが実行できない状態とは、メ
ツセージを受信するオブジェクトが例えば下記(i)(
ii)のような状態にあることを言う。
すなわち、(i)他のメツセージにより当該オブジェク
トが実行されている状態・・・・・この場合には、それ
が終了するまで次のメツセージを実行することはできな
い。(ii)当該オブジェクトが、返答メツセージの返
送されるのを待機している状態・・・・・・この場合に
は、返答メツセージが返送されて、その処理が完了する
までは、当該オブジェクト宛の他のメツセージは実行す
ることができない。
なお、従来のメツセージ管理ソフトウェアの一例として
は、甲斐他「実時間システム用並列オブジェクト実行モ
デルの考察j電子通信学会交換研究会5E86−111
、pp、67〜72.1986に記載されたものがある
。また、プロセス間でメツセージ通信を行うことにより
、多数のプロセスを並列的に実行するシステムにおいて
、メツセージの実行管理を高速に効率よく行うメツセー
ジパッシング管理方式については、本発明者が提案した
特願昭63−80047号明細書および図面を参照され
たい。
〔発明が溶洗しようとする課題〕
上述のような分散処理システムにおいては、下記(a)
(b)のような課題が生じる。
(a)上記メッセ・−ジの転送に伴う各種の処理(例え
ば、ノード識別、メツセージ転送のための通信回線の起
動、メツセージの送受信制御(リンクプロトコル制御)
メツセージの実行可否判断処理等)は全てソフトウェア
により実行されるため、処理ノード間で処理を分散して
も、CPUのオーバヘッドが大きくなり、システム全体
としての処理能力は向上できない。
(b)従来のメツセージパッシングでは、送信側が受信
側に合わせてアプリケーションプログラムを作成してい
たため、処理が複雑となり、また別の処理ノードに移す
ときには、アプリケーションプログラムを変更する必要
があるため、柔軟性を欠いていた。すなわち、従来の分
散処理システムでは、メツセージパッシングは物理的、
時間的に遠隔地にある処理ノード間の通信にのみ使用し
ており、同一処理ノード内にあるオブジェクト間の通信
ではメツセージパッシング以外の通信方法を使用してい
た。例えば、送信/受信オブジェクトが同一の処理ノー
ドにある場合には、メツセージパッシング方式ではなく
、共有メモリを設けて、この共有メモリに対して送信側
/受信側オブジェクトがメモリライト/リードを行うこ
とにより(共有メモリ方式)、簡単な通信を行っていた
。このように、受信先オブジェクトが物理的、時間的に
近距離にあるか、遠距離にあるかに応じて異なる通信方
法を用いるため、受信側が必要とする通信方法を送信側
が十分に意識してアプリケーションプログラムを作成し
ており、従って複雑な処理が必要である。さらに、ある
オブジェクトを他の処理ノードに移し替えたい場合には
、そのオブジェクトに送信する全てのオブジェクトのア
プリケーションプログラムを変更する必要があるため、
著しく柔軟性を欠いていた。また、オブジェクト指向プ
ログラムでは、多数のメツセージを交信するため、メツ
セージを受信して、これをCPUに実行させるまでのメ
ツセージスケジュールリングが複雑であり、かつCPU
の実行時のオーバヘッドが大きくなるという問題があっ
た。
本発明の目的は、これら従来の課題を解決し、目的や用
途により異なる動作をさせることができ、極めて柔軟性
と汎用性が高く、高性能なモジュールを備えた分散処理
システムを提供することにある。
〔課題を解決するための手段〕
上記目的を達成するため、本発明の分散処理システムは
、複数のオブジェクト間でメツセージを交信して処理を
進めるメツセージ結合型プログラムを、複数の処理ノー
ドで分散実行する分散処理システムにおいて、各処理ノ
ードに、該処理ノード間のメツセージを物理転送するメ
ツセージ転送手段と、自処理ノード内のオブジェクト宛
に非同期で送られてきた複数のメツセージの実行スケジ
ューリングをそれぞれ管理するメツセージスケジューリ
ング手段と、各メツセージで指示された内容に従ってオ
ブジェクトを実行するオブジェクト実行手段とを設け、
メツセージ送信側の処理ノードが上記メツセージ転送手
段からメツセージを送出すると、該メツセージを受信す
る側の処理ノードは、上記メツセージ転送手段で該メツ
セージを受信し、該メツセージのスケジューリング情報
を受信側の上記メツセージスケジューリング手段に登録
し、該メツセージスケジューリング手段は複数の受信メ
ツセージのうち優先度の高いものから順次、受信側の上
記オブジェクト実行手段に通知することにより、該オブ
ジェクト実行手段が処理を実行することに特徴がある。
また、上記送信側処理ノードから受信側処理ノードに送
られるメツセージが、返答メツセージを必要とする型で
ある場合、予め送信側メツセージスケジューリング手段
に返答メツセージのスケジューリング情報を登録してお
き、受信側処理ノードから送信側処理ノードに返答メツ
セージが返送された時、送信側メツセージ転送手段から
送信側メツセージスケジューリング手段にこのことを通
知することにより。
送信側メツセージスケジューリング手段は上記返答メツ
セージを識別して、送信側オブジェクト実行手段に通知
し、それにより該オブジェクト実行手段が該返答メツセ
ージに対する処理を実行することにも特徴がある。
〔作  用〕
本発明においては、第1に、分散処理システムのオブジ
ェクト間の全ての通信をメツセージパッシングという1
種類の形式に統一する。第2に、各処理ノードごとに専
用のメツセージスケジューリング手段を設けて、その処
理ノードに到来した全てのメツセージの実行スケジュー
リング管理を分担させる。第3に、各処理ノードごとに
、メツセージの物理転送媒体に合わせてメツセージの物
理転送を行う専用のメツセージ転送手段を設ける。
これらの3つの特徴を備えることにより、送受信オブジ
ェクトが互いに同一の処理ノード内にあるか、あるいは
処理ノード間にまたがっているか、に関係なく、またメ
ツセージの物理媒体が何であるか(LAN、プロセッサ
バス、あるいは通信回線等)に関係なく、これらをアプ
リケーションプログラムに全く意識させないで分散処理
システムを構成することができる。さらに、オブジェク
ト指向によるCPUのオーバヘッドを軽減することによ
り、高性能な分散処理システムを実現する。
〔実施例〕
以下1本発明の実施例を、図面により詳細に説明する。
第1図は、本発明の一実施例を示す分散処理システムの
構成図である。
第1図において、10,20.30はそれぞれ処理ノー
ドであって、第2図の処理ノード1,2゜3と異なる点
は、データリンクコントローラの代りにメツセージパッ
シング処理装置13,23゜33を設けていることであ
り、その内部にメツセージ転送ユニット(MTU)16
,26.36を設けて、互いに通信回線で各処理ノード
10,20゜30を結合している。その他に、メツセー
ジスケジューリングユニット(MSU)15,25.3
5も内蔵されている。
すなわち、各処理ノード10,20,30は、CPUI
I、21,31と、メインメモリ12゜22.32と、
メツセージパッシング処理装置13゜23.33と、こ
れらを接続するバス14,24゜34とから構成される
。前述のように、メツセージパッシング処理袋@13,
23.33は、メツセージ結合型プログラムのメツセー
ジを各処理ノードごとに管理制御するための装置であっ
て、それぞれメツセージスケジューリングユニット(M
SU)15,2.5.35とメツセージ転送ユニット(
MTU)16,26,36とを含んでいる。
MSU15,25.35は、その処理ノードで受信した
メツセージの状態を管理しておき、どのメツセージを先
にCPUに実行させるべきかというスケジューリングを
実行する。各処理ノードのMSU15,25,35は、
その処理ノードに記憶されているオブジェクトに送られ
てきた全てのメツセージを管理する。また、MTU16
,26゜36は、MSU15,25.35と協力して、
他の処理ノードとの間でメツセージを実際に転送する(
物理転送と呼ぶ)。
第3図、第4図および第5図は、それぞれ第1図におけ
るCPUとMSUとMTUの内部処理を示す動作フロー
チャートである。
先ず、第3図において、CPUの処理は、アプリケーシ
ョンプログラムの実行(ステップ51〜55)とO8の
実行(ステップ60〜68)の2つに大別される。前者
は、メツセージの到着によりオブジェクトを起動ないし
再開させ、これを処理するステップ群であり、後者は、
これらのオブジェクトを実行するための準備と、MSU
およびMTUとのインタフェース制御を行うステップ群
である。すなわち、処理要求があると、それがアプリケ
ーションプログラムの場合には、オブジェクトを実行し
くステップ51)、送出メツセージがあるか否かを判断
しくステップ52)、あればメツセージをメインメモリ
に設定した後(ステップ53)、O8を呼び出しくステ
ップ54)、O8からのリターンで最初に戻る(ステッ
プ55)、後者のO8は、CPUに入力する各種の処理
要求を受は付け、処理状態に応じて次にどの処理を実行
するかを決定するためのディスパッチャ機能も備えてい
る。このディスパッチャ機能は、第3図におけるステッ
プ60で示される。ステップ61〜65では、アプリケ
ーションプログラムで作成されたメツセージを受は付け
て、そのメツセージを受信する処理ノードの存在場所を
識別し、それに応じて処理を振り分けている。すなわち
、メツセージ受信オブジェクトのノードを判定しくステ
ップ61)、自処理ノードであれば、自MSUにメツセ
ージ到着通知を行う(ステップ62)。また、他処理ノ
ードであれば、メツセージタイプを識別しくステップ6
3)、返答要求型のときには、自MSUに返答メツセー
ジスケジューリング管理情報を登録しくステップ64)
、MTUを起動して、メツセージ物理転送を開始する(
ステップ65)。また、ディスパッチャ処理(ステップ
60)において、自MSUからメツセージスケジューリ
ング管理情報を削除するか(ステップ66)、自M S
 Uから実行可メツセージを読取るか(ステップ67)
、O8の呼び元の直後にリターンするか(ステップ68
)が選択される。
第4図において、MSUの処理は、(イ)CPUからメ
ツセージ到着コマンドを受信した場合(ステップ101
〜104)、(ロ)CPUから返答メツセージスケジュ
ーリング管理情報登録コマンドを受信した場合(ステッ
プ110)、(ハ)メツセージスケジューリング管理情
報削除コマンドを受信した場合(ステップ111)、(
ニ)実行可メツセージ読み取りコマンドを受信した場合
(ステップ112)、(ホ)自MTUからメツセージ到
着通知コマンドを受信した場合(ステップ113〜1工
5)に分けられる。
第5図において、各MTUの処理は、(i)自CPUか
らメツセージの物理転送要求があった場合に、相手MT
Uとの間でメツセージ物理転送を行うステップ群(ステ
ップ121〜123)と、(ii)相手MTUからメツ
セージ物理転送の要求があった場合に、そのメツセージ
を自処理ノードに取り込む処理を行うステップ群(ステ
ップ124〜126)の2つに分けられる。
第6図は、送受信オブジェクト間で処理ノードにまたが
って返答要求型メツセージを処理する場合のシーケンス
チャートであり、第7図は本発明で使用するメツセージ
の形式(フォーマット)を示す図であり、第8図は、M
SUに記憶されるメツセージスケジューリング管理情報
の構成を示す図である。
第7図(a)に示すように、各メツセージは、メツセー
ジを送出するオブジェクトの識別番号フィールド(送信
オブジェクトID)、メツセージを受信するオブジェク
トの識別番号フィールド(受イ8オブジェクトID)、
メツセージの種類を示すメツセージタイプフィールド、
メツセージの処理の優先度を指定する優先レベルフィー
ルド、メツセージ内容フィールドより構成される。また
、第7図(b)に示すように、メツセージのフォーマッ
トには、返答不要型、返答要求型、返答型の3種類があ
る。
第8図に示すように、メツセージスケジューリング管理
情報は、1つのメツセージごとに5つのフィールド(I
p、RPY、LVL、STT、PA)からなり、これら
の管理情報はMSU内に記憶される。そして、新しくメ
ツセージが発生したり、あるいはメツセージの実行が完
了する度に、MSUはこれらの管理情報を更新して、実
行可能なメツセージはどれかを判定して、これを保存す
る。
次に、第6図のシーケンスチャートに従って、第3図、
第4図および第5図の処理フローを参照しながら、時刻
順序で処理の流れを説明する。
−例として、第1図の処理ノード10にある送信オブジ
ェクトj1から処理ノード2oにある受信オブジェクト
j2に返答要求型メツセージm1を送信する場合につい
て詳述する。
■第6図の時刻tl(メツセージの設定)送信側CPU
IIは、第3図に示すように、送信オブジェクトを実行
しくステップ51)、送出すべきメツセージがあること
を識別して(ステップ52)、時刻t1でメツセージを
送信側のメインメモリ12に設定する(ステップ53)
■時刻t2(送信側MSUへの登録) 次に、O8を呼び出すと(ステップ54)、O8はメイ
ンメモリ上のメツセージの受信オブジェクトよりフィー
ルド(第7図)を参照して、受信オブジェクトがどの処
理ノードにあるかを判定する(ステップ61)。オブジ
ェクトの存在する処理ノードの識別方法としては、例え
ば受信オブジェクトよりの上位ビットを処理ノード番号
とする方法や、各オブジェクトIDとノード番号とのペ
アを変換テーブルとしてメインメモリに記憶しておき。
必要なときに、この変換テーブルを検索する方法等があ
る。ここでは、オブジェクトIDの上位ビットでノード
番号を識別する方法を用いる。この例では、受信オブジ
ェクトが他の処理ノード20に存在することが識別され
たので、第7図(b)のメツセージタイプを識別する(
ステップ63)。ここでは、メツセージタイプが返答要
求型であるため、第6図の時刻t2で返答メツセージス
ケジューリング管理情報登録コマンドを送信側MSUI
5に送る(ステップ64)。送信111IMSU15で
は、第4図でCPtJからの返答メツセージ管理情報登
録要求(ステップ100)により、第8図に示す返答メ
ツセージスケジューリング管理情報を登録する(ステッ
プ110)。この場合、メツセージの送信オブジェクト
IDと、返答メツセージをまだ受信していないという状
態表示(第8図における5TT=01)がMSU内に記
憶される。この送信オブジェクトIDは、返答メツセー
ジの宛先である受信オブジェクトIDと一致する。従っ
て、このオブジェクトIDを送信側MSU15に予め記
憶しておくことにより、返答メツセージが到着するまで
の間、このオブジェクト宛に来た他のメツセージを実行
させない等のメツセージスケジューリング管理を行うこ
とができる。
■t3.t4.t5.t6.t7 (メツセージの物理
転送) 送信側CPUl5では、時刻t3に自MTU(送信11
1MTU16)を起動すると(ステップ65)、MTU
16は第5図に示すように1時刻t4から相手MTU(
受信側MTU26)に対してメツセージ受信バッファ要
求の信号を送出する(ステップ121)。受信側MTU
26は、メツセージ受信バッファエリアを確保しくステ
ップ124)、これを第6図の時刻t5で相手MTU 
(送信側MTU16)に知らせる。これにより、送信側
MTU16は、時刻t6からメツセージ物理転送を開始
する(ステップ122)。すなわち、送信側のメインメ
、モリ12からメツセージを読み出し、これを順次受信
側MTU26に送信する。受信側MTU26は、第5図
に示すように、受は取ったメツセージを受信側メインメ
モリ22に書き込んでいく (ステップ125)。メツ
セージ物理転送が終了すると、送信側MTU16は、時
刻t7で送信側cpUllにメツセージ転送完了通知を
送る(ステップ123)。これを受けて、送信側CPU
I 1は、第3図に示すように、O8の呼び元の直後に
リターンして(ステップ68)、ステップ55に復帰し
、引続き残りの仕事を実行する(ステップ51)。そし
て、返答メツセージを受信しなければ、これ以上CPU
が処理を進めることができなくなると、O8を呼び出し
て処理を引き継ぎ(ステップ54)、このオブジェクト
の実行を一時中断する(ステップ60)。
■時刻tS(受信側MSUへの登録) 受信側MTU26は、メツセージ物理転送が終了すると
、時刻t8で自MSU(受信MSU25)にメツセージ
スケジューリング管理情報登録コマンドを送る(ステッ
プ126)。これを受けると、受信MSU25は、第3
図に示すように、メツセージタイプの識別を行う(ステ
ップ113)、この場合には返送要求タイプであるため
、このメツセージのスケジューリング管理情報(第8図
)を受信MSU25に記憶する(ステップ115)。す
なわち、受信オブジェクトIDと、このメツセージをま
だ実行していないという状態表示(第8図に示す5TT
=10)をMSUに記憶する。受信オブジェクトIDで
示されるオブジェクトが自処理ノードに存在することは
、前の処理(第3図のステップ61)で確認しているの
で、受信オブジェクトが存在する処理ノードに、メツセ
ージが確実に届けられることになる。
■時刻t9(受信側CPUからの実行可メツセージの読
み取り) 時刻t9で、受信側CPU21は、第3図に示すように
、受信側MSU25に実行可メツセージ読み取りコマン
ドを送ると(ステップ67)、受信側MSU25は、第
4図に示すように、実行可能なメツセージをサーチし、
複数個あれば、そのうちの最優先に実行すべきメツセー
ジを識別して、それをCPU21に通知する(ステップ
112)。
すなわち、返答メツセージ(RPY=1および5TT=
10)があれば、それを最優先とし、それが複数個あれ
ば、優先レベル情報(LVL)に従って最優先のものを
選択する。返答メツセージがなければ、それ以外のタイ
プのメツセージのうち、その宛先オブジェクトで他のメ
ツセージの処理に実行していないもの(RPY=Oおよ
び5TT=10)を選択し、そのうち優先レベル情報(
LVL)に従って最優先のものを選択し、それを受信側
CPU21に通知する。
■時刻tlo(返答メツセージの設定)受M 鍔CP 
U 21は、このメツセージを読み取り、第3図に示す
ように、受信オブジェクトの実行を開始する(ステップ
51)。この場合、メツセージタイプが返答要求型であ
るため、時刻tl。
で返答メツセージを受信側メインメモリ22に設定する
(7>テップ52,53)、ここで注意すべきことは、
返答メツセージの送信オブジェクトIDと受信オブジェ
クトIDが、最初のメツセージの場合と入れ替って逆の
形になっていることである。
■時刻tll、t12.t13.t14.t15゜t1
7(返答メツセージの物理転送) 受信側CPU21は、メツセージをメインメモリに設定
した後(ステップ5′3)、O8を呼び出す(ステップ
54)。○Sでは、受信オブジェクトが処理ノード10
(他処理ノード)にあることを識別しくステップ61)
、次に返答タイプであることを識別しくステップ63)
、時刻tllで自MTU(受信側MTU26)を起動す
る(ステップ65)。
受信側MTU26は、最初のメツセージの場合と全く同
じ手順でメツセージ受信バッファの確保要求を行った後
、エリア確保の返答を受け(時刻し12、t 13)、
時刻t14で第5図に示すように、返答メツセージを受
信側メインメモリ22から送信側(相手MTU16)に
物理転送する(ステップ121.122)。同じように
、相手MTU16でも、第5図に示すように、返答メツ
セージを送信側メインメモリ12に書き込む(ステップ
124゜125)。このメツセージ物理転送が終了する
と、受信側MTU26では、時刻t15で受信側cpU
21にメツセージ転送完了を通知する(ステップ123
)。受信側CPU21は、第3図のステップ68,55
.51を経由して、残りの仕事を実行し、送信メツセー
ジがないときには(ステップ52)、O8を呼び出して
(ステップ54)、仕事をO8に引継ぎ、時刻t17で
メツセージ実行完了コマンドを受信側MSU25に送っ
て(ステップ66)、返答メツセージスケジューリング
管理情報を受信側MSU25から削除する。
■時刻t16(送信側MSUへの通知)一方、返答メツ
セージを受信した側のMTU(送信側MTU16)では
、第5図、第6図に示すように、時刻t16で送信側M
SU15に返答メツセージの到着を通知する(ステップ
126)。送借倒MSU15では、第4図に示すように
、返答タイプであることを識別して(ステップ113)
返答メツセージに対応するスケジューリング管理情報(
第8図)を取り出して、これが実行可能となったことを
表示する(STT=10)(ステップ114)。
■時刻t18.t19 (送信側CPUからの実行可メ
ツセージ読み取りとメツセージスケジューリング制御情
報の削除) 時刻t18で、送信側CPUI 1は第3図、第6図に
示すように、送信側MSU15に実行可メツセージ読み
取りコマンドを送ると(ステップ67)、送信側MSU
15では、第4図に示すように、その返答メツセージを
選択して送信側CPU11に通知する(ステップ112
)。送信側CPU11では、第3図に示すように、ステ
ップ55゜51.52を経由して返答メツセージに関す
る処理を実行し、ステップ54,60.66を経由して
、時刻t19に、送信側M S U 15からメツセー
ジスケジューリング管理情報を削除する(ステップ66
)。
以上で、返答要求型のメツセージの分散処理の実行が完
了した。
このように、各メツセージは、受信先の処理ノードに内
蔵されたMSUで一元的に管理されるので、例えば返答
型メツセージの場合には、そのメツセージのスケジュー
リング管理情報は受信側MSUに記憶されるが、返答メ
ツセージのスケジューリング管理情報は送信側MSUに
記憶される。
つまり、メツセージがどの処理ノードに存在しても、ま
たメツセージが返答要求型のような複雑な形態のもので
あっても、極めて簡単に分散処理することができる。
なお、第5図における処理のうち、ステップ121.1
24では、異なる処理ノード間でメツセージ転送を行う
前に、受信バッファを確保する動作を行っているが、シ
ステムによっては、受信バッファを最初から非常に大き
く確保しているため、このようなバッファの確保の確認
・応答シーケンスを不要とする場合もある。このときに
は、ステップ124,125を省略して、いわゆる軽い
送受信プロトコルを用いることも可能である。逆に、処
理ノード間で誤り制御等を必要とする重い送受信プロト
コルを用いることもでき、このような場合には、ステッ
プ124,125の代りに、これらの誤り制御ステップ
を行わせることになる。このように、送受信プロトコル
の違いは、MTU内の処理で全て吸収することが可能で
ある。
なお、返答不要型のメツセージの処理は、第6図のシー
ケンスのうち、時刻し1.t3.t4゜t5.t6.t
7.t8.t9.t17のみが実行されるので、前述の
説明から該当する処理を抜き出せばよく、ここでは説明
を省略する。
第9図は、本発明の他の実施例を示す分散処理システム
のブロック図である。
第9図においては、処理ノード間が物理的に近距離にあ
り、かつ処理ノード間で高頻度にメツセージを転送する
場合に有利な構成となっている。
また、第9図の各処理ノードのMTUは、2人力2出力
のパケットスイッチ(210〜221)で相互結合され
ている。各パケットスイッチ210〜221では、受信
オブジェクトIDをもとにして行き先を判定し1行き先
きが衝突した場合(2つの入力からの出力が同じになっ
た場合)には、片方の入力を待ち合わせる機能、つまり
自己ルーチング機能を備えている。このような構成の処
理ノード間結合は、大量なメツセージを同時に蓮ぶこと
が可能であるため、処理ノード間のトラヒックが高いシ
ステムに適用すれば、極めて効果的である。
第9図の転送方式では、第1図の場合と異なるメツセー
ジ転送手順を用いているので、この手順の違いをMTU
 250で吸収する必要がある。すなわち、処理ノード
200の中のMTU250については、第1図のMTU
と異なるものを新たに設計する必要があるが、残りのC
PU、メインメモリおよびMSUともに、第1図のもの
と同一の構成にすることができる 第10図は、本発明のさらに他の実施例を示す分散処理
システムの構成図である。
この方式は、処理ノード300〜303間がローカルエ
リアネットワークで接続されている。
第10図の場合には、各処理ノードが物理的に中距離で
離れており、かつ処理ノード間のメツセージ通信頻度が
比較的少ない場合に有効である。
第10図の構成においても、第9図の場合と同じように
、MTUの部分のみを新たに設計するだけで、残りのC
PU、メインメモリおよびMSUは、第1図のものと同
一の構成にすればよい。
その他の方式としては、各処理ノード間を共通バスで結
合した分散処理システムがあるが、やはり第9図、第1
0図と同じように、MTUの変更だけで実現することが
できる。また、第1図、第9図、第10図等の各種の処
理ノード間結合構成を混在させた分散処理システムも考
えられる。この場合、対向する処理ノード間では同種類
のMTUを使用することになる。
なお、以上の実施例では、オブジェクトを実行するCP
Uが各処理ノードに1台のみが含まれているシステムに
ついて述べたが、負荷の量が多いときには、各処理ノー
ドにマルチプロセッサを含ませることも可能であるに のように1本発明においては、(イ)各メツセージが受
信先の処理ノードのMSUで一元管理されるので、返答
要求型メツセージの場合には、そのメツセージのスケジ
ューリング管理情報が受信側MSUに記憶されるが、返
答メツセージのスケジューリング管理情報は送信側MS
Uに記憶される。従って、同じ宛先のメツセージは同一
のMSUで一元管理されることになるため、メツセージ
がどの処理ノードに存在しても、メツセージが返答要求
型のような複雑な形態のもであっても、極めて単純に分
散処理システムを構成できる。(ロ)さらに、メツセー
ジ物理転送部(MTU)を高価ではあるが高速転送機構
として構成することも、また低速ではあるが安価な転送
機構として構成することも可能であり、目的や用途に応
じてMSUのみを変更するだけで、非常に柔軟性のある
分散処理システムを実現できる。特に、メツセージパッ
シング処理機構を、MTUとMSUに分離することによ
り、システム構成を変更した場合でも、MSUとCPU
、メインメモリ、MSUとのインタフェースを全く同一
にしたままで、アプリケーションプログラムも変更せず
に、MTUのみを変更するだけでよいので、極めて経済
的となる。(ハ)また、対向するMTUどうしを同種の
型のMTUで構成するだけで、その他の処理ノード間の
インタフェース制限条件がないので、各種のMTUが混
在した分散処理システムを実現するこζができる。従っ
て、特に通信網および大規模コンピュータネットワーク
、VAN等の各種通信媒体が混在した大規模システムに
適用すれば、極めて有効である。
〔発明の効果〕
以上説明したように1本発明によれば、オブジェクト間
の通信を処理ノード間や処理ノード内にかかわらず、メ
ツセージの形式で統一し、各オブジェクトの存在場所や
処理ノード間のメツセージ転送機構に関係なく、アプリ
ケーションプログラムで同じように処理することができ
るので、極めて柔軟性のある分散処理システムを実現で
きる。
さらに、メツセージスケジューリング管理部を備えてい
るので、メツセージスケジューリングに関するソフトウ
ェアの負荷を減少させることができ、高性能な分散処理
システムを実現できる。
【図面の簡単な説明】
第1図は本発明の一実施例を示す分散処理システムの構
成図、第2図は従来の分散処理システムの構成例を示す
図、第3図は第1図におけるcpUの処理フローチャー
ト、第4図は第1図におけるメツセージスケジューリン
グユニット(MSU)の処理フローチャート、第5図は
第1図におけるメツセージ転送ユニット(MTU)の処
理フローチャート、第6図は本発明における異なるオブ
ジェクト間の返答要求型メツセージの分散処理シーケン
スチャート、第7図は本発明におけるメツセージのフィ
ールド構成を示す図、第8図はMSUに記憶されるメツ
セージスケジューリング制御情報のフィールド構成を示
す図、第9図は本発明の他の実施例を示す分散処理シス
テムの構成図、第10図は本発明のさらに他の実施例を
示す分散処理システムの構成図である。 1.2,3,10,20,30:処理ノード、la、2
a、3a、11,21,31:CPU、lb、2b、3
b、12,22,32:メインメモリ、lc、2c、3
c:データリンクコントローラ、4,5,6 :通信回
線、13,23,33 :メツセージパッシング処理装
置、14,24.34 :バス、15,25.35:メ
ツセージスケジューリングユニット(MSU)、16,
26,36:メツセージ転送ユニット(MTU)、20
0〜207゜300〜303:処理ノード、210〜2
21:パケットスイッチ、310:ローカルエリアネッ
トワーク。 特許出願人 日本電信電話株式会社 47ぐ、。;

Claims (2)

    【特許請求の範囲】
  1. (1)複数のオブジェクト間でメッセージを交信して処
    理を進めるメッセージ結合型プログラムを、複数の処理
    ノードで分散実行する分散処理システムにおいて、各処
    理ノードに、該処理ノード間のメッセージを物理転送す
    るメッセージ転送手段と、自処理ノード内のオブジェク
    ト宛に非同期で送られてきた複数のメッセージの実行ス
    ケジューリングをそれぞれ管理するメッセージスケジュ
    ーリング手段と、各メッセージで指示された内容に従っ
    てオブジェクトを実行するオブジェクト実行手段とを設
    け、メッセージ送信側の処理ノードが上記メッセージ転
    送手段からメッセージを送出すると、該メッセージを受
    信する側の処理ノードは、上記メッセージ転送手段で該
    メッセージを受信し、該メッセージのスケジューリング
    情報を受信側の上記メッセージスケジューリング手段に
    登録し、該メッセージスケジューリング手段は複数の受
    信メッセージのうち優先度の高いものから順次、受信側
    の上記オブジェクト実行手段に通知することにより、該
    オブジェクト実行手段が処理を実行することを特徴とす
    る分散処理システム。
  2. (2)上記送信側処理ノードから受信側処理ノードに送
    られるメッセージが、返答メッセージを必要とする型で
    ある場合、予め送信側メッセージスケジューリング手段
    に返答メッセージのスケジューリング情報を登録してお
    き、受信側処理ノードから送信側処理ノードに返答メッ
    セージが返送された時、送信側メッセージ転送手段から
    送信側メッセージスケジューリング手段にこのことを通
    知することにより、送信側メッセージスケジューリング
    手段は上記返答メッセージを識別して、送信側オブジェ
    クト実行手段に通知し、それにより該オブジェクト実行
    手段が該返答メッセージに対する処理を実行することを
    特徴とする請求項1記載の分散処理システム。
JP63267581A 1988-10-24 1988-10-24 分散処理システム Pending JPH02113362A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63267581A JPH02113362A (ja) 1988-10-24 1988-10-24 分散処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63267581A JPH02113362A (ja) 1988-10-24 1988-10-24 分散処理システム

Publications (1)

Publication Number Publication Date
JPH02113362A true JPH02113362A (ja) 1990-04-25

Family

ID=17446762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63267581A Pending JPH02113362A (ja) 1988-10-24 1988-10-24 分散処理システム

Country Status (1)

Country Link
JP (1) JPH02113362A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226175B1 (en) 1998-05-18 2001-05-01 Kabushiki Kaisha Toshiba Handheld electronic device having a stress releasing structure and method for releasing stress imposed thereto
WO2002054263A1 (en) * 2000-12-28 2002-07-11 Future System Consulting Corp. Framework system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226175B1 (en) 1998-05-18 2001-05-01 Kabushiki Kaisha Toshiba Handheld electronic device having a stress releasing structure and method for releasing stress imposed thereto
WO2002054263A1 (en) * 2000-12-28 2002-07-11 Future System Consulting Corp. Framework system
US7177899B2 (en) 2000-12-28 2007-02-13 Future System Consulting Corp. Framework system
US7366751B2 (en) 2000-12-28 2008-04-29 Future Architect, Inc. Framework system

Similar Documents

Publication Publication Date Title
US5940612A (en) System and method for queuing of tasks in a multiprocessing system
US5931915A (en) Method for processing early arrival messages within a multinode asynchronous data communications system
JPH0612383A (ja) マルチプロセッサバッファシステム
JPH08251234A (ja) 接続方法及びプロトコル
CN109933438A (zh) 高速共享内存数据收发系统
CN116235469A (zh) 网络芯片和网络设备
WO2023004801A1 (zh) 一种任务处理方法及装置
US5459836A (en) Inter-processor communication net
Ahuja S/Net: A high-speed interconnect for multiple computers
JPH076107A (ja) インターフェース装置および方法並びに通信アダプタ
US5878226A (en) System for processing early arrival messages within a multinode asynchronous data communications system
JPH05204853A (ja) データ処理システム、特に電気通信システム用ソフトウェア構造
JPH02113362A (ja) 分散処理システム
US20020174258A1 (en) System and method for providing non-blocking shared structures
JPH09224066A (ja) 通信プロトコル並列処理装置
JPH10143486A (ja) 並列計算機におけるデータ送受信方法
JPH064401A (ja) メモリアクセス回路
JP2573692B2 (ja) タスク処理制御方式
WO2025086638A1 (zh) 一种通信方法、装置、芯片系统和电子设备
JP2001175618A (ja) 並列計算機システム
JP2966051B2 (ja) プロセッサ装置
JP2553086B2 (ja) 蓄積交換用処理装置のバス制御方式
JPH02244852A (ja) パケット処理装置
JPH05282225A (ja) 端末間データ通信装置
JPH0443453A (ja) プロセッサ間通信方式