JPH07210524A - 計算機システムのメッセージ転送順序保証装置 - Google Patents

計算機システムのメッセージ転送順序保証装置

Info

Publication number
JPH07210524A
JPH07210524A JP110394A JP110394A JPH07210524A JP H07210524 A JPH07210524 A JP H07210524A JP 110394 A JP110394 A JP 110394A JP 110394 A JP110394 A JP 110394A JP H07210524 A JPH07210524 A JP H07210524A
Authority
JP
Japan
Prior art keywords
message
processor
transfer
broadcast
transmission
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
JP110394A
Other languages
English (en)
Inventor
Yoshiko Yasuda
淑子 保田
Teruo Tanaka
輝雄 田中
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP110394A priority Critical patent/JPH07210524A/ja
Publication of JPH07210524A publication Critical patent/JPH07210524A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【目的】ハードウェアでメッセージの転送順序を保証す
るネットワークを有する計算機システムを提供する。 【構成】プロセッサとネットワーク、上記両者間のイン
タフェースであるメッセージコントローラ130〜13
3で構成され、メッセージコントローラは、放送を実行
しているときに設定される順序保証ビットを保持するレ
ジスタ440を有し、放送を行う場合、メッセージコン
トローラが直接接続するプロセッサ番号と送信元プロセ
ッサ番号を比較する比較器430の結果と転送制御情報
によりレジスタ440に値をセットし、プロセッサから
のメッセージの送信発送を停止したり、再開したりす
る。 【効果】ユーザ自身がプログラム上で順序保証をする必
要がなくユーザのプログラミング労力を軽減できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセッサ間で
ネットワークを介してメッセージ転送を行うシステムに
おいて、メッセージ転送順序保証装置に関する。
【0002】
【従来の技術】従来、複数のプロセッサ間でネットワー
クを介してメッセージ転送を行うシステムでは、メッセ
ージの転送順序を保証するために、あるプロセッサから
任意のプロセッサにデータを転送する経路を一意に決定
していた。一方、近年システムの信頼性および性能を向
上させる技術の研究が盛んになってきており、転送経路
の選択幅を広げたアダプティブ・ルーティングが提案さ
れている。例えば、アイーイーイー トランザクション
ズ オン パラレル アンド ディストリビューテッド
システムス ボリューム4 ナンバー4(IEEE TRANS
ACTIONS ONPARALLEL AND DISTRIBUTED SYSTEMS VOL
4,NO.4)の第466頁から第475頁および、コン
ピュータ(COMPUTER)1993年5月号の第12頁から
第23頁において、数多くのアダプティブ・ルーティン
グが紹介されている。
【0003】アダプティブ・ルーティングでは、経路が
混みあっているときには空いている経路にメッセージを
転送したり、経路が故障しているときにその経路を避け
て通る。そのため、同じプロセッサから発生したメッセ
ージでも、転送の種類によっては、経路が異なる場合が
ある。経路が異なる場合、ユーザは、自分のプログラム
のなかで同期をとる、あるいはソフトウェアで自動的に
同期をとることにより、メッセージの転送順序を保証し
なければならない。
【0004】種々のメッセージの中で、すべてのプロセ
ッサに対してデータを転送する放送と1対1転送を続け
て実行することが必要な場合がある。例えば、代表的な
数値応用プログラムである近接作用問題では、各プロセ
ッサにデータが割り当てられる。そして、隣接するプロ
セッサ間で1対1転送を行ってデータを交換し、演算を
行った後、一つのプロセッサに結果を収集し、解析した
結果を放送により各プロセッサに転送し、さらに再び1
対1転送を行うという動作を繰り返し実行する。放送
は、転送先プロセッサへの経路のすべてを確保できない
とメッセージを転送することができないため、同一プロ
セッサから放送が発生した後に放送とは経路の異なる1
対1転送が発生する場合、放送が終了していないのに1
対1転送が先に終了してしまうといった転送順序の逆転
が起こる。
【0005】
【発明が解決しようとする課題】上記の従来技術を、例
えば並列計算機等のプロセッサを有するシステムに適用
すると、放送が発生した後、放送とは経路の異なる1対
1転送や放送が発生する場合、ユーザは自分のプログラ
ムのなかで、これらの順序を保証するために同期をとる
必要があり、ユーザのプログラミング労力は増大してし
まう。また、ソフトウェアで同期をとると、処理が重く
なりオーバーヘッドが増大してしまう。
【0006】本発明の目的は、同一プロセッサにおいて
放送が発生した後で、放送とは経路の異なる1対1転送
や放送が発生する場合、ユーザ自身が同期をとる、ある
いはソフトウェアで自動的に同期をとることなく、メッ
セージの転送順序を保証するメッセージ順序保証装置を
提供することにある。
【0007】
【課題を解決するための手段】本発明は、ネットワーク
とプロセッサの間でメッセージの送受信制御を行うメッ
セージコントローラに、送信元プロセッサから放送メッ
セージを送出した場合に設定する順序保証ビットを保持
する手段を設ける。また、順序保証ビットが設定された
場合に、送受信制御を行う部分からプロセッサに対して
次のメッセージの送信発送を停止する手段を設ける。
【0008】次に、送信元プロセッサにおいてメッセー
ジを受信する場合、メッセージコントローラ内部に、順
序保証ビットが設定された場合に送信元プロセッサ番号
と、メッセージコントローラに直接接続するプロセッサ
番号とを比較する手段を設ける。メッセージコントロー
ラに直接接続するプロセッサ番号は、ホスト計算機また
はプロセッサによりあらかじめ設定されている。さら
に、比較結果が一致した場合には、メッセージの転送を
再開する手段を設ける。
【0009】
【作用】本発明は、上述した構成により、次のような作
用を有している。放送と1対1転送の経路が異なる場合
に、送信元プロセッサにおいて放送が発生すると、メッ
セージコントローラにあるレジスタに順序保証ビットを
設定し、そこからプロセッサにメッセージの送信発送を
停止する信号を送って、メッセージの送信を停止する。
【0010】また、送信元プロセッサに接続するメッセ
ージコントローラでは、転送されたメッセージに含まれ
る送信元プロセッサ番号とメッセージコントローラに直
接接続するプロセッサ番号が一致する場合に、転送順序
保証ビットをリセットし、メッセージコントローラから
プロセッサに対し、メッセージの転送を再開する信号を
送って、メッセージの転送を再開する。送信元プロセッ
サ番号とメッセージコントローラに直接接続するプロセ
ッサ番号が不一致である場合、一致する場合の動作をす
ることなく、メッセージを受信する。
【0011】送信元プロセッサに放送メッセージが到着
する時、すべてのプロセッサに放送メッセージが到着し
ていることが保証されているため、以上のような作用に
より、同一プロセッサから放送の後放送とは経路の異な
る1対1転送が発生する場合にメッセージの転送順序を
保証できる。
【0012】
【実施例】本発明は複数のプロセッサがネットワークを
介してメッセージ転送を行うすべてのシステムに適用可
能であるが、ここでは一つの実施例として並列計算機に
適用した例で説明する。
【0013】図1は本実施例における並列計算機の構成
を示したものである。図1において、101,102,
103,104は並列計算機を構成するプロセッサ(四
台の場合を示すが、本発明はその台数を限らない)を表
わし、110はホスト計算機、120はネットワーク、
130〜133はメッセージコントローラを表わす。各
プロセッサ101,102,103,104は、図1中
には示されていないが、内部にデータおよびプログラム
を格納するメモリと、データを用いてプログラムを実行
するCPUで構成され、各プロセッサは、それぞれ独立
に動作可能である。ホスト計算機110は、各プロセッ
サ101,102,103,104にプログラムとデー
タをロードし、また、プログラムの終了後、各プロセッ
サで得られた結果のデータを読み出す。
【0014】ネットワーク120は複数のプロセッサ間
および各プロセッサとホスト計算機間でデータに送信元
プロセッサ番号や送信先プロセッサ番号などデータの属
性情報を付加したメッセージを転送する。ここでは、ネ
ットワークの形状については特に言及しない。メッセー
ジコントローラ130〜133は、プロセッサから転送
されたメッセージをネットワークに出力する、あるい
は、ネットワークから転送されるメッセージをプロセッ
サに出力するプロセッサとネットワークのインタフェー
スを受け持つ回路である。
【0015】プロセッサから送出されたメッセージは、
メッセージコントローラにおいて制御され、ネットワー
クに送出される。ネットワーク内では、メッセージに含
まれる属性情報により経路が選択され、送信先プロセッ
サに接続するメッセージコントローラに出力される。メ
ッセージコントローラにおいて、再び制御された後メッ
セージは送信先プロセッサに転送される。ここで、ネッ
トワーク内部のスイッチ制御は従来例として述べたよう
なアダプティブ・ルーティングを用いて行う。
【0016】次に、本発明における並列計算機のメッセ
ージ転送について、図1を用いて説明する。同じジョブ
内の処理を分割して割り当てられた各プロセッサは、ネ
ットワークを介して、実行に必要なメッセージを相互に
転送しあい、それぞれ独立にプログラムを実行する。こ
こでは、プロセッサ101から、放送が発生した後に放
送とは経路の異なるプロセッサ102へのメッセージ転
送が行われる場合を例にとって説明する。
【0017】メッセージは送信元のプロセッサ101に
よって、図3に示すフォーマットに従って組み立てられ
る。メッセージの組み立ては、プログラムによって行わ
れてもよいし、専用に設けられたハードウェアにより行
われてもよい。図3に示すように、メッセージは一時に
転送される単位であるワードを基本とし、複数ワードで
1メッセージが構成される。
【0018】メッセージはmワード長あり、第一ワード
から第四ワードまではメッセージの属性情報である。第
五ワード以降はデータである。本実施例では、メッセー
ジ長の制限については特に言及しない。第一ワードはメ
ッセージに付加された放送ビットや優先順位情報であ
る。第二ワードは受信先プロセッサ番号であり、第三ワ
ードは送信元プロセッサ番号である。第四ワードはメッ
セージ中のデータ転送長である。
【0019】図1において、送信元のプロセッサ101
で構成されたメッセージは、信号線101Xを介してメ
ッセージコントローラ130に転送される。信号線10
1Xは、それぞれ図2に示すような信号線101S,1
01B,101Eで構成される。図2に示すように、信
号線101Sは、メッセージ転送開始を示す信号、信号
線101Bは、メッセージ本体を転送する信号、信号線
101Eは、メッセージの転送終了を示す信号である。
メッセージ転送開始信号101Sは、第一ワードの転送
の直前に1となる。メッセージ転送終了信号は第mワー
ドの転送の直前に1となる。このメッセージ転送開始信
号101Sとメッセージ転送終了信号101Eにより、
ネットワークはメッセージの開始と終了を知ることがで
きる。他プロセッサまたはホスト計算機からネットワー
クへメッセージを転送する信号も同様な3種類の信号線
からなっている。
【0020】信号線101Z〜103Zは、メッセージ
コントローラからの指示に従い、メッセージの送信発送
を停止するか,再開するかを示す信号である。メッセー
ジの送信発送を停止する場合には0を出力し、再開する
場合は1を出力する。プロセッサは、この指示信号に従
い、メッセージの送信を停止,再開する。
【0021】次に図4を用いて、メッセージコントロー
ラにおけるメッセージの制御について説明する。メッセ
ージコントローラ130は、シーケンサ400と、メッ
セージの属性情報を保持するレジスタ410,411
と、ホスト計算機やプロセッサによりあらかじめ設定さ
れる情報を保持するレジスタ421と、比較器430
と、放送と1対1転送のメッセージの順序を保証する情
報を保持する順序保証ビット保持レジスタ440と、デ
ータを一時的に格納するバッファ450と、送受信制御
回路460と、アンド回路470〜473で構成され
る。
【0022】送受信制御回路460では、信号線101
Xを通るプロセッサ101からのメッセージ(送信)
と、信号線150Xを通るネットワーク120からのメ
ッセージ(受信)が入力となる。送受信制御回路460
内部では、到着順にメッセージをシリアライズして信号
線401Xに出力する。また、信号線401Sには送信
と受信を識別するための1ビット信号を出力する。1ビ
ット信号は、送信するためのメッセージ転送開始信号が
出力されると同時にセットされる。送受信制御回路は従
来技術で実現可能である。
【0023】シーケンサ400には、信号線101Xの
信号が入力される。シーケンサ400は、メッセージ転送
開始信号101Sによってリセットされ、メッセージの
第一ワードが転送されてきたとき、信号線401Xの信
号によって、レジスタ410に放送ビットをセットす
る。同様に、第三ワードが転送されてきたとき、信号線
401Xの信号によって、レジスタ412に送信元プロ
セッサ番号をセットする。
【0024】レジスタ421は、メッセージコントロー
ラに直接接続するプロセッサ番号を保持しておく保持回
路である。この値は、あらかじめ信号線190Xを介し
てホスト計算機あるいはプロセッサによりセットしてお
く。
【0025】データバッファ450は、メッセージが読
みだされるまでデータを保持しておくデータ保持回路で
ある。
【0026】比較器430は、レジスタ410に1がセ
ットされているとき、自分が直接接続するプロセッサ番
号と送信元プロセッサ番号とを比較する回路である。
【0027】レジスタ440は、放送ビットが1である
場合に1をセットし、送信元プロセッサ番号とメッセー
ジコントローラに直接接続するプロセッサ番号が等しい
場合、0にリセットする順序保証ビット保持レジスタで
ある。
【0028】以下メッセージコントローラ内部の動作概
要を図4を用いて説明する。
【0029】(1)放送ビットに0がセットされた場合
(1対1転送) (a)送信処理を行う場合 転送順序保証ビット保持レジスタ440には0がセット
される。メッセージは、データバッファ450から読み
だされ、信号線401Sの入力は1であるから、アンド
回路473はゲートオンになり、信号線101Yに転送
される。また、信号線170Sおよび170Eは101
Yに同期して転送され、図2のタイミングでメッセージ
の転送開始と転送終了を出力する。
【0030】(b)受信処理を行う場合 メッセージは、データバッファ450から読みだされ、
アンド回路473において、信号線401Sにより信号
線170Bに転送される。また、信号線170Sおよび17
0Eは170Bに同期して転送され、図2のタイミング
でメッセージの転送開始と転送終了を出力する。
【0031】(2)放送ビットに1がセットされた場合
(放送) (a)送信処理を行う場合 放送ビットが1である場合、レジスタ410に1がセッ
トされる。順序保証ビット保持レジスタ440に1をセ
ットし、信号線にメッセージ停止信号を出力する。メッ
セージはデータバッファ450から読みだされ、アンド
回路473において、信号線401Sにより、信号線1
70Bに転送される。また、信号線170Sおよび170E
は170Bに同期して転送され、図2のタイミングでメ
ッセージの転送開始と転送終了を出力する。
【0032】(b)受信処理を行う場合 放送ビットが1である場合、レジスタ410に1がセッ
トされる。レジスタ412の値とレジスタ421の値を
比較器430により比較する。一致する場合は、順序保
証ビット保持レジスタに0をセット(リセット)する。
そして、メッセージ再送信号を出力する。一致しない場
合は順序保証ビットの値をリセットすることなく、デー
タバッファ450からデータを読みだす。アンド回路4
72では、信号線401Sにより、信号線101Yにデ
ータを出力する。また、信号線170Sおよび170E
は101Yに同期して転送され、図2のタイミングでメ
ッセージの転送開始と転送終了を出力する。
【0033】次に図4を用いて、具体的な例を示す。
【0034】プロセッサ101から放送メッセージが転
送されることを考える。プロセッサから送出されたメッ
セージは信号線101Xを通り、送受信制御回路460
に出力される。送受信制御回路では、メッセージが入力
されると、信号線401Bにメッセージを出力し、送信
メッセージか受信メッセージであるかを識別するための
信号を信号線401Sに出力する。送信メッセージであ
れば1を、受信メッセージであれば0を信号線401S
に出力する。ここでは、送信メッセージであるから、信
号線401Sには1が出力され、信号線401Bにメッ
セージが出力される。信号線150Xと信号線101X
から複数のメッセージが送受信制御回路に入力された場
合は、到着順に出力してもよいし、受信を優先して受け
付けてもよい。
【0035】シーケンサ400により、レジスタ410
には1がセットされる。レジスタ410に1がセットさ
れると、レジスタ440にも1がセットされる。レジス
タ440に1がセットされると、メッセージ転送を停止
するように信号線101Zにも1が転送される。プロセ
ッサ102への転送を行おうとしても、信号線101Zの信
号が1ではないため、メッセージの転送は行われない。
アンド回路473では、信号線401Sが1であるか
ら、信号線170Bにメッセージを出力する。ネットワ
ークに出力されたメッセージはメッセージ中の属性情報
により、すべてのプロセッサに転送されるようにルーテ
ィングされる。このとき、送信元プロセッサにも転送す
る。
【0036】送信元プロセッサ101に接続するメッセ
ージコントローラへのメッセージは、ネットワークか
ら、信号線150Xに出力される。受信メッセージであ
るから、信号線401Sには0が出力され、レジスタ4
21にはメッセージコントローラに直接接続するプロセ
ッサ番号がセットされている。レジスタ410の値が1
にセットされているので、比較器430によりレジスタ
421の値とレジスタ411の値が比較される。比較結
果が一致するため、レジスタ440の値はリセットされ
る。そして信号線101Zにも0が出力される。プロセ
ッサは信号線101Zに0が出力されたのを受けて、プ
ロセッサ102への1対1メッセージ転送を再開する。
メッセージはデータバッファ450を通り、アンド回路
472により信号線101Yに出力される。
【0037】送信元プロセッサ以外のプロセッサへの転
送では、比較器430の比較結果が異なるため、レジス
タ440の値を変更することなく、データバッファ45
0からメッセージを信号線101Yに出力する。
【0038】上記の例では、メッセージコントローラが
ネットワークおよびプロセッサとは独立した回路である
場合について示したが、メッセージコントローラをプロ
セッサ内にインプリメントすることも可能である。この
場合、送受信制御回路およびシーケンサの動作はCPU
で行い、レジスタを主記憶に配置することでメッセージ
コントローラと同等の機能を実現できる。
【0039】
【発明の効果】本発明によれば、あるプロセッサにおい
て放送が行われた後、放送とは経路の異なる1対1転送
や放送が発生しても、放送を実行中であることを示す順
序保証ビットによりメッセージの順序を保証することが
できる。そのため、メッセージの順序を保証するために
ユーザ自らがプログラムで同期をとる必要がなくプログ
ラミングの労力を軽減できる。
【図面の簡単な説明】
【図1】本発明の実施例における並列計算機のブロック
図。
【図2】本発明の実施例におけるメッセージのインタフ
ェースの構成を示す説明図。
【図3】本発明の実施例におけるメッセージのフォーマ
ットを示す説明図。
【図4】図1のメッセージコントローラの内部構成を示
すブロック図。
【符号の説明】
101…プロセッサ、400…シーケンサ、410,4
11…レジスタ、421…接続プロセッサ番号レジスタ、
430…比較器、440…順序保証ビット保持レジス
タ、450…データバッファ、460…送受信制御回
路。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサ間でネットワークを介し
    てメッセージを転送する計算機システムにおいて、送信
    元プロセッサから放送が行われる場合、前記送信元プロ
    セッサに放送が実行中であることを示す情報Aを設定
    し、前記放送は前記送信元プロセッサにも送出され、前
    記送信元プロセッサに到着したメッセージが、前記送信
    元プロセッサが送出したメッセージであることを前記情
    報Aを用いて確認する手段を有することを特徴とする計
    算機システムのメッセージ転送順序保証装置。
  2. 【請求項2】請求項1において、 前記プロセッサと前記ネットワークの間にあるメッセー
    ジ送受信装置に直接接続するプロセッサ番号はあらかじ
    めホスト計算機あるいはプロセッサにより設定され、前
    記送信元プロセッサから放送を行った後に放送とは経路
    の異なる1対1転送もしくは放送が行われる場合、放送
    を実行中であることを示す情報を保持する手段を有し、
    前記情報が設定された場合に、次のメッセージが送出さ
    れないように一時的にメッセージの送出を停止する手段
    を有し、前記送信元プロセッサでメッセージを受信する
    場合には、前記情報が設定された場合、メッセージに含
    まれる前記送信元プロセッサの番号と、前記メッセージ
    送受信装置に直接接続するプロセッサ番号を比較する手
    段を有し、一致した場合は、メッセージの転送を再開す
    る手段を有する計算機システムのメッセージ転送順序保
    証装置。
  3. 【請求項3】請求項2において、 前記メッセージ送受信装置を前記プロセッサ内で実現す
    る計算機システムのメッセージ転送順序保証装置。
JP110394A 1994-01-11 1994-01-11 計算機システムのメッセージ転送順序保証装置 Pending JPH07210524A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP110394A JPH07210524A (ja) 1994-01-11 1994-01-11 計算機システムのメッセージ転送順序保証装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP110394A JPH07210524A (ja) 1994-01-11 1994-01-11 計算機システムのメッセージ転送順序保証装置

Publications (1)

Publication Number Publication Date
JPH07210524A true JPH07210524A (ja) 1995-08-11

Family

ID=11492156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP110394A Pending JPH07210524A (ja) 1994-01-11 1994-01-11 計算機システムのメッセージ転送順序保証装置

Country Status (1)

Country Link
JP (1) JPH07210524A (ja)

Similar Documents

Publication Publication Date Title
JPH0268632A (ja) 割込み制御装置
JP3639319B2 (ja) 並列計算機システム,データ転送制御方法および送受信制御装置
JP2008146541A (ja) Dma転送システム、dmaコントローラ及びdma転送方法
JP2734246B2 (ja) パイプラインバス
JPH07210524A (ja) 計算機システムのメッセージ転送順序保証装置
JPH07234841A (ja) 並列処理計算機
JP7207133B2 (ja) 情報処理装置、同期装置及び情報処理装置の制御方法
JP3115801B2 (ja) 並列計算機システム
JPH07200486A (ja) 情報処理装置
JPH0318958A (ja) マルチプロセッサシステム
JPH09269936A (ja) リモートリード処理方法およびその装置
JPH1166024A (ja) クロスバスイッチ切換システム
KR20000052625A (ko) 듀얼 클럭 시스템의 포스트 라이트 버퍼
JP2000067008A (ja) マルチプロセッサシステム
JP2635635B2 (ja) 分散ノード間メモリ情報更新装置
JP2879854B2 (ja) アドレス変換値の設定処理方式
JPH03241442A (ja) ストアバッファ制御方式
JPH10289196A (ja) コンピュータおよびコンピュータにおける周辺デバイス制御データの転送方法
JP2000003285A (ja) 割り込み処理方法および割り込み回路
JP2004038511A (ja) マルチプロセッサシステム及びそれに用いる負荷分散制御方法並びにそのプログラム
JPS61264829A (ja) ネツトワ−ク制御装置の割込み制御方式
JPH0721043A (ja) 仮想計算機システムにおける端末共用制御方式
JPH05276177A (ja) ローカルエリアネットワークシステム
JPH0262651A (ja) 並列計算機における相互排除方式
JPH04365137A (ja) 可変長データ処理装置