JPH11232236A - 並列計算機におけるモニタデータ収集方法及び並列計算機 - Google Patents

並列計算機におけるモニタデータ収集方法及び並列計算機

Info

Publication number
JPH11232236A
JPH11232236A JP10035646A JP3564698A JPH11232236A JP H11232236 A JPH11232236 A JP H11232236A JP 10035646 A JP10035646 A JP 10035646A JP 3564698 A JP3564698 A JP 3564698A JP H11232236 A JPH11232236 A JP H11232236A
Authority
JP
Japan
Prior art keywords
monitor data
message
circuit
signal line
signal
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
JP10035646A
Other languages
English (en)
Inventor
Takahiro Ogimoto
貴宏 荻本
Tadayuki Sakakibara
忠幸 榊原
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 JP10035646A priority Critical patent/JPH11232236A/ja
Publication of JPH11232236A publication Critical patent/JPH11232236A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 複数のノードをスイッチ型のネットワークで
接続した並列計算機において、ネットワーク上のモニタ
データを低コストでリアルタイムに収集する。 【解決手段】 複数ノード11〜14を多段のクロスバ
スイッチ15〜18を介して接続した並列計算機におい
て、各クロスバスイッチに、入力ポート毎のモニタデー
タを収集するモニタ回路112,113、モニタデータ
収集用のコンテナパケットが送られてきた際にモニタデ
ータセレクト信号を発行するヘッダデコード回路10
7,108、モニタデータセレクト信号が発行された場
合に接続を入力バッファ105,106からハードウェ
アモニタ回路112,113に切り替えるセレクト回路
114、115を設け、経路上のクロスバスイッチ毎の
モニタデータを格納するコンテナパケットを転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のノード間を
スイッチ型のネットワークで接続した並列計算機におけ
るネットワークのモニタデータ収集に関し、特に1段あ
るは多段のクロスバスイッチなどのルータで構成された
ネットワークの各ルータから性能評価用モニタデータを
収集する方法及びそれを適用した並列計算機に関する。
【0002】
【従来の技術】複数のノード間でスイッチ型のネットワ
ークを介してデータ転送を行う並列計算機においては、
ネットワーク中でのデータの滞留をいかに小さくするか
が問題となる。特にネットワーク中でのメッセージの衝
突による待ち時間が発生する可能性のあるネットワーク
では、この待ち時間の低減のための工夫が不可欠であ
る。そこで普段からネットワーク上の各ポイントにおけ
るネットワーク稼働率等の性能モニタデータを収集し、
ホットスポットの検出やメッセージ衝突時の調停方式の
不良によりメッセージの転送が滞るようなポイントの検
出を行う必要がある。
【0003】従来、ネットワークのモニタリング機能と
しては、TCP/IP(Transmission Control Prot
ocol/Internet Protocol suite of communications
protocols)のインターネット制御メッセージ・プロト
コル(ICMP)における所謂“ピンギング(pingin
g)”が知られている。これは、ピングコマンドを使っ
てエコー要求を送出し、そのエコー応答メッセージによ
り、IPネットワークの中の特定のホストやノードが正
常に動作しているかどうかを確認するというものであ
る。しかし、このテスト機能は、ノード間の終端間性能
のテストに限られており、前述したようなネットワーク
上の各ポイントにおける性能モニタデータを収集するも
のではない。
【0004】一方、LSIの内部情報を読み出す方法と
しては、LSIをSCANネットで接続し、ホスト計算
機やサービスプロセッサ(SVP)からのSCAN命令
で該LSIの内部レジスタの値を直接読み出す方法が知
られている。この方法を用いることによりネットワーク
上の各ポイントのモニタデータを収集することができ
る。図2はLSI構成の多段クロスバスイッチで接続さ
れた並列計算システムにおいて、SCANネットを用い
てLSI SCANを行い、各クロスバスイッチ上のモ
ニタデータの収集を行うシステムの一例である。
【0005】図2に示したシステムはホスト計算機(ま
たはSVP)50、クロスバ(XB)パッケージ51〜
54及び信号線510から構成される。ホスト計算機5
0は、XBパッケージ51〜54と信号線510を介し
て接続されている。XBパッケージ51はSCANコン
トローラ500、XB LSI501〜504、信号線
511〜515から構成され、XBパッケージ52〜5
4もXBパッケージ51と同様に構成される。SCAN
コントローラ500は、XB LSI501と信号線5
11を介して、XB LSI501はXB LSI502
と信号線512を介して、XB LSI502はXB L
SI503と信号線513を介して、XB LSI50
3はXB LSI504と信号線514を介して、XB
LSI504はSCANコントローラ500と信号線5
15を介してそれぞれ接続される。
【0006】ホスト計算機50から発行されたLSI
SCAN命令は、信号線510を介して各XBパッケー
ジ内のSCANコントローラ500へと伝えられる。S
CANコントローラ500ではLSI SCAN命令の
デコードが行われ、LSI SCAN命令の対象となる
XBLSIが同一のXBパッケージ内にある場合は、当
該XBLSIに対してのSCAN動作を行い、該XBL
SI内のモニタデータを読み出し、信号線510を介し
てホスト計算機50へ結果を送り戻す。このようにし
て、全XB LSIに対してLSI SCANを行うこと
で、ネットワーク上のすべてのポイントのモニタデータ
を収集することが可能である。
【0007】しかし、この方法ではすべてのクロスバス
イッチに対してSCANネットを接続する必要があり、
システムの規模が大きくなりネットワークに必要なクロ
スバスイッチが増えるのに伴ってハードウェア量は増加
する。また、全経路のクロスバスイッチのモニタデータ
を同時にリアルタイムに収集しようとした場合は、すべ
てのクロスバスイッチに対してホスト計算機から専用線
を張る等の手段が必要であり、これはさらにハードウェ
ア量の増加を招く。
【0008】さらに、収集したモニタデータをノード上
で稼働中の並列プログラムが利用しようとする場合は、
上記構成の他にホスト計算機からノードへデータを送る
ための何らかの手段が必要となり、これもハードウェア
量の増加を招くことになる。
【0009】
【発明が解決しようとする課題】上述のように、従来技
術では、複数のノードを多段のルータで構成されたネッ
トワークを介して接続した並列計算機における各ルータ
の性能モニタデータを、あまりハードウエア量を増加さ
せることなく、低コストで効果的に収集することはでき
なかった。
【0010】本発明の目的は、1段あるいは多段のルー
タで構成されたネットワークを持つ並列計算機における
各ルータの性能モニタデータを低コストでリアルタイム
に、かつ、ノード上の並列プログラムが直接利用できる
ように収集する方法及びそれを適用した並列計算機を提
供することにある。
【0011】
【課題を解決するための手段】本発明は、複数の入力ポ
ートと複数の出力ポートを備えたルータを1段あるいは
多段に接続したネットワークを介して、複数のノード間
でメッセージ転送を行う並列計算機において、ノードか
ら前記ネットワークにモニタデータ収集メッセージを流
し、ルータは、入力ポートに前記モニタデータ収集メッ
セージが到来すると、該モニタデータ収集メッセージの
所定位置に当該ルータの該当経路のモニタデータを格納
して出力ポートへ転送することを特徴とする。
【0012】また、本発明は、複数のノードから並列に
モニタデータ収集メッセージをネットワークに流し、複
数経路のモニタデータを収集することを特徴とする。
【0013】また、本発明は、複数の入力ポートと複数
の出力ポートを備え、入力ポートに入力されるメッセー
ジを任意の出力ポートへ出力するルータを1段あるいは
多段に接続したネットワークを介して複数のノード間で
メッセージ転送を行う並列計算機において、各ルータ
は、各入力ポート対応に到着したメッセージを格納する
入力バッファと、前記メッセージの種類を識別する手段
と、各入力ポート対応のモニタデータを採取する手段
と、前記メッセージがモニタデータ収集メッセージの場
合には、当該メッセージの所定位置に当該入力ポートの
モニタデータを格納して出力ポートへ転送する手段とを
有することを特徴とする。
【0014】このように、本発明では、ネットワークの
所望経路上のモニタデータをモニタデータ収集用の言わ
ば、コンテナパケット内に格納して受信ノードに送るこ
とで、SCANネットや専用線等を必要とせずにモニタ
データの収集を行うことができる。さらに、コンテナパ
ケットを複数のノードから並列に転送することで、同時
に複数経路のモニタデータが収集でき、ネットワーク全
体のハードウェアモニタをリアルタイムで行うことがで
きる。また、収集したモニタデータは受信ノードのメモ
リ内に格納されるため、ノード上で稼動する並列プログ
ラムがその結果を利用することも容易である。
【0015】
【発明の実施の形態】以下、本発明の一実施の形態を図
面により詳細に説明する。図1は、本発明の一実施の形
態の、4ノードと2×2段のクロスバスイッチのネット
ワークで構成された並列計算機の全体的ブロック図であ
り、図3は図1中のヘッダデコード回路の構成図、図4
は図1中のプライオリティコントローラの構成図、図5
は図1中のハードウェアモニタ回路の構成図である。
【0016】図1に示した並列計算機は、4個のノード
(1)11〜(4)14、4個のクロスバスイッチ
(1)15〜(4)18及び信号線150〜161から
構成される。各クロスバスイッチ(ルータ)15〜18
は、それぞれ入力ポート0,1、出力ポート0,1を有
している。ノード11,12は、クロスバスイッチ15
と信号線150,151を介してそれぞれ入力ポート
0,1に、また、クロスバスイッチ17と信号線15
8,159を介してそれぞれ出力ポート0,1に接続さ
れている。ノード13,14は、クロスバスイッチ16
と信号線152,153を介して、クロスバスイッチ1
8と信号線160,161を介して接続されている。ク
ロスバスイッチ15は、クロスバスイッチ17と信号線
154を介して、クロスバスイッチ18と信号線156
を介して接続され、クロスバスイッチ16は、クロスバ
スイッチ17と信号線155を介して、クロスバスイッ
チ18と信号線157を介して接続される。
【0017】ノード(1)11は命令処理装置(IP)
101、主記憶装置(MS)102、メッセージ受信部
(RCV)103及びメッセージ送信部(SND)10
4で構成され、ノード(2)12〜(4)14もノード
(1)11と同様に構成される。ここでは、SND10
4は1サイクルに1ワードのデータ転送を行うとする。
クロスバスイッチ(1)15は、入力バッファ105,
106、ヘッダデコード回路(HD0,1)107,1
08、プライオリティコントローラ(PRTCTL)1
09、プライオリティ回路(PC0,1)110〜11
1、ハードウェアモニタ回路(HM0,1)112,1
13、セレクト回路114,115及び信号線170〜
185から構成され、クロスバスイッチ(2)16〜
(4)18もクロスバスイッチ(1)15と同様に構成
される。入力バッファ105,106及びヘッダデコー
ド回路107,108、ハードウェアモニタ回路11
2,113、セレクト回路114,115はそれぞれ入
力ポート0,1に対応して設けられ、プライオリティ回
路110,111は出力ポート0,1に対応してそれぞ
れ設けられる。
【0018】初めに、クロスバスイッチ15内の各構成
要素の動作を説明する。入力バッファ105,106
は、ノード11,12対応の入力ポート0,1からのメ
ッセージを信号線150,151を介してワード単位に
順次受け取り、一時的に格納した後、セレクト回路11
4,115へ転送を行う。ヘッダデコード回路107,
108は入力バッファ105,106からその先頭に格
納されているメッセージワードを信号線170,171
を介して受け取り、メッセージヘッダの検出、デコード
を行う。プライオリティコントローラ109はヘッダデ
コード回路107,108からメッセージヘッダ情報を
信号線172,173を介して受け取り、その内部で出
力ポート使用要求(リクエスト)の発行及び調停処理を
行い、信号線174,175を介してプライオリティ回
路110,111に対してメッセージ送出許可信号を発
行する。プライオリティ回路110,111はセレクト
回路114,115からメッセージを信号線184,1
85を介して受け取り、また、プライオリティコントロ
ーラ109からメッセージ送出許可信号を信号線17
4,175を介して受け取り、送出許可の下りた入力ポ
ートからのメッセージを信号線154,156を介して
出力ポート0,1へ転送する。ハードウェアモニタ回路
112,113は入力ポート0,1をそれぞれ監視し、
採取したモニタデータを信号線180,181を介して
セレクト回路114,115に対して送る。セレクト回
路114,115は入力バッファ105,106からメ
ッセージを信号線170,171を介して受け取り、ま
た、ハードウェアモニタ回路112,113からその採
取したモニタデータを信号線180,181を介して受
け取り、ヘッダデコード回路107,108から信号線
182,183を介してのセレクト信号にしたがい、何
れかの入力をプライオリティ回路110,111に対し
て送る。
【0019】次に図5により、まず、ハードウェアモニ
タ回路112について説明する。なお、他のハードウェ
アモニタ回路113についても同様である。ハードウェ
アモニタ回路112はモニタデータカウンタ群400か
ら構成され、常に入力バッファ105を監視してモニタ
データの採取を行っている。本例では、モニタデータカ
ウンタ群400は、Timerカウンタ、Wait Timeカウ
ンタ、通過ワード数カウンタ、及び通過messege数カウ
ンタからなり、それぞれ経過サイクル数、出力ポートが
競合した場合の待ち時間、通過したワード数、通過した
メッセージ数をモニタデータとして採取し、それぞれ信
号線401〜404を通して出力する。信号線401〜
404は束ねられて信号線180として図1のセレクト
回路184へ接続される。
【0020】図5のモニタデータカウンタ群400は、
常にカウントアップのみを行う。即ち、Timerカウンタ
はシステム立ち上げからクロックを継続してカウントア
ップし、その総カウント値を経過サイクル数(総経過時
間)とする。Wait Timeカウンタは、各メッセージが
入力バッファ105に入力されて出力されるまでのサイ
クル数をカウントし、そのシステム立ち上げからの総カ
ウント値を出力ポートが競合した場合の総待ち時間とす
る。通過ワード数カウンタは、システム立ち上げ以降、
入力バッファ105を通過したワード数をカウントし、
通過messege数カウンタは、同様にシステム立ち上げ以
降、入力バッファ105を通過したメッセージ数(パケ
ット数)をカウントする。
【0021】次に図3により、ヘッダデコード回路10
7について説明する。なお、他のヘッダデコード回路1
08についても同様である。ヘッダデコード回路107
は、メッセージヘッダレジスタ201、クロスバ(X
B)ステージ格納レジスタ202、同期ラッチ203、
AND回路204、セレクト回路205、AND回路2
06,207、コンテナラッチ208、カウンタラッチ
209、2ビットカウンタ210、コンパレータ21
1、AND回路212及び信号線251〜265から構
成される。ここで、ノードからクロスバスイッチに入力
されるメッセージは図6に示すようなフォーマットをし
ており、メッセージヘッダには、同期ビット、コンテナ
パケット識別ビット及び多段構成時のクロスバスイッチ
の各ステージ毎の宛先ポートが含まれているとする。コ
ンテナパケット識別ビットは、メッセージがモニタデー
タ収集用のパケット(以下、コンテナパケットという)
かそれ以外のパケットかを識別するビットである。宛先
ポートには出力ポート数分のビットが設けられ(本例で
は2ビット)、メッセージが出力されるポートに対応す
るビットに“1”が格納されるものとする。従って、本
例では“01”(出力ポート0)、“10”(出力ポー
ト1)の何れかの値が設定される。さらに、モニタデー
タ収集用のコンテナパケットは、図7に示すようなフォ
ーマットをしており、メッセージヘッダを含めて5ワー
ドで構成され、データ部の0ワード目にはステージ0の
クロスバスイッチのモニタデータが、1〜3ワード目に
はそれぞれステージ1〜3のクロスバスイッチのモニタ
データが格納されるものとする。
【0022】図3において、メッセージヘッダレジスタ
201はメッセージ転送の際に毎サイクル更新される
が、その内容が有効になるのは入力バッファ105から
送られる信号がメッセージの先頭ワード(メッセージヘ
ッダ)の場合だけである。同期ビットは、図6、図7に
示すように、メッセージの先頭で“0”に、最後で
“1”になり、メッセージが到着しない間はずっと
“1”を保持すると定める。従ってメッセージヘッダレ
ジスタ201の内容が有効になるのは、同期ビットが
“1”から“0”へ変化した時、即ち、メッセージヘッ
ダが格納された時だけである。コンテナパケット識別ビ
ットは、メッセージがコンテナパケットの場合は“1”
に、それ以外のメッセージの場合は“0”になると定め
る。XBステージ格納レジスタ202には、多段構成時
における各クロスバスイッチ毎のステージ数が格納され
るものとする。本実施例では、ネットワークが2段のク
ロスバスイッチからなるため、クロスバスイッチ15,
16のXBステージ格納レジスタには“0”を、クロス
バスイッチ17,18のXBステージ格納レジスタには
“1”をそれぞれ格納する。なお、信号線251(1ビ
ット)、260(2ビット)は、束ねられ3ビットの信
号線172としてプライオリティコントローラ109に
接続されるとする。
【0023】次に、ヘッダデコード回路107の各構成
要素の動作を説明する。メッセージヘッダレジスタ20
1は入力バッファ105からメッセージワード信号を信
号線170を介して受け取り、その内容を毎サイクル更
新する。同期ラッチ203はメッセージワード内の同期
ビットを信号線251を介して受け取り、1サイクルの
間保持する。AND回路204は、メッセージワード内
の同期ビットを信号線251を介して受け取り、また、
同期ラッチ203から1サイクル前の同期ビットを信号
線252を介して受け取り、同期ビットが“1”から
“0”に変化するのを検出してメッセージヘッダを識別
し、ヘッダ識別信号を信号線253に出力(アサート)
する。セレクト回路205はメッセージヘッダレジスタ
201のステージ0〜3宛先ポートをそれぞれ信号線2
54〜257を介して受け取り、XBステージ格納レジ
スタ202からクロスバスイッチのステージ数を信号線
258を介してセレクト信号として受け取り、該当する
ステージの宛先ポートを出力先ポート信号(2ビット)
として選択する。本例では、セレクト回路205は、ス
テージ0宛先ポートを選択する。AND回路206はセ
レクト回路205から出力先ポート信号を信号線259
を介して受け取り、AND回路204からヘッダ識別信
号を信号線253を介して受け取り、現在入力バッファ
105から送られているメッセージワードがメッセージ
ヘッダの場合(ヘッダ識別信号が“1”)のみ、セレク
ト回路205の出力先ポート信号を信号線260に出力
する。該信号線260の出力ポート信号(2ビット)及
び信号線251の同期ビット(1ビット)がメッセージ
ヘッダ情報として信号線172を介してプライオリティ
コントローラ109に対して与えられる。
【0024】AND回路207はメッセージヘッダレジ
スタ201内のコンテナパケット識別ビットを信号線2
61を介して受け取り、また、AND回路204からヘ
ッダ識別信号を信号線253を介してそれぞれ受け取
り、現在入力バッファ105から送られているメッセー
ジワードがメッセージヘッダの場合のみ、コンテナパケ
ット識別ビットの値を信号線261へ出力する。コンテ
ナラッチ208はメッセージヘッダのコンテナパケット
識別ビットの値を信号線261を介してセット入力とし
て、同期ビットの値を信号線251を介してリセット入
力としてそれぞれ受け取り、コンテナパケットのデータ
部(モニタデータ)を転送している間、モニタデータ転
送信号を信号線262へ出力する。
【0025】カウンタラッチ209は2ビットカウンタ
210の出力を信号線264を介して受け取り、コンテ
ナパケットを転送している間は転送中のデータワード数
を保持する。2ビットカウンタ210はカウンタラッチ
209の値を信号線263を介して受け取り、また、コ
ンテナラッチ208からモニタデータ転送信号を信号線
262を介してカウント信号(CN)入力として受け取
り、モニタデータ転送信号が出力されている間は“0
0”〜“11”の間でカウントを続ける。コンパレータ
211は、XBステージ格納レジスタ202からクロス
バスイッチのステージ数を信号線258を介して受け取
り、また、カウンタラッチ209から転送中のデータワ
ード数を信号線263を介して受け取り、両信号が等し
い場合にモニタデータセレクト信号を信号線265へ出
力する。AND回路212はコンテナラッチ208から
モニタデータ転送信号を信号線262を介して受け取
り、また、コンパレータ211からモニタデータセレク
ト信号を信号線265を介して受け取り、モニタデータ
転送信号が出力されている場合、モニタデータセレクト
信号を図1のセレクト回路114に対して信号線182
を介して出力する。即ち、AND回路212は、転送中
のパケットがモニタデータ収集用のコンテナパケットの
場合、クロスバスイッチのステージ数に応じてデータ部
の0〜3ワード目(図7参照)を転送する際に、モニタ
データセレクト信号を信号線182を介して図1のセレ
クト回路114に対して送出する。
【0026】図1のセレクト回路114は、入力バッフ
ァ105から信号線170を介して通常の転送データ
を、ハードウェアモニタ回路112から信号線180を
介してモニタデータを、ヘッダデコード回路107から
信号線182を介してモニタデータセレクト信号をそれ
ぞれ受け取り、該モニタデータセレクト信号が“0”の
場合は入力バッファ105からの転送データを、“1”
の場合はモニタデータを信号線184に出力する。本例
では、XBステージ格納レジスタ202には“0”が格
納されている為、コンテナパケットが到着した場合は、
そのデータ部の0ワード目には、入力バッファ105内
のデータの代わりにハードウェアモニタ回路112内の
モニタデータが格納され、信号線184を介してプライ
オリティ回路110、111に対して転送されることに
なる。
【0027】次に、図4により、プライオリティコント
ローラ109について説明する。プライオリティコント
ローラ109は、リクエスト発行回路(0)31,
(1)32、リクエスト調停回路(0)35,(1)3
6及び信号線350〜352,360〜362,390
〜392から構成される。ここで、リクエスト発行回路
(0)31,(1)32はそれぞれ入力ポート0,1に
対応して、また、リクエスト調停回路(0)35,
(1)36はそれぞれ出力ポート0,1に対応して設け
られる。リクエスト発行回路(0)31は、出力先ポー
トレジスタ301からなり、リクエスト発行回路(1)
32も同様の構成をしている。リクエスト調停回路
(0)35は、リクエストレジスタ302、セレクトポ
ート保持ラッチ303、デコード回路304、AND回
路305、OR回路306、EOR回路(排他OR回
路)307及び信号線355〜359からなり、リクエ
スト調停回路(1)36も同様の構成をしている。
【0028】前述したように、本例では出力先ポート信
号は2ビットであり、リクエスト発行回路(0)31の
出力先ポートレジスタ301も同じく2ビットで構成さ
れ、メッセージの出力先ポートに対応したビットに
“1”が格納される。例えば、ポート0宛のメッセージ
の場合、出力先ポートレジスタ301には出力ポート0
に“1”が、出力ポート1に“0”がそれぞれ格納され
る。
【0029】次にプライオリティコントローラ109の
各構成要素の動作を説明する。リクエスト発行回路
(0)31、(1)32は図1のヘッダデコード回路1
07、108からメッセージヘッダ情報(同期ビット、
出力先ポート信号)を信号線172,173を介して受
け取り、各出力ポート対応のリクエスト調停回路(0)
35,(1)36に対してリクエスト信号をそれぞれ信
号線350,351,360,361を介して発行し、
同期ビットをそれぞれ信号線390,391を介して供
給する。信号線350,351は束ねられて信号線35
2となり、信号線360,361は束ねられて信号線3
62となり、信号線390,391は束ねられて信号線
392となる。リクエスト調停回路(0)35,(1)
36はリクエスト発行回路(0)31,(1)32から
リクエスト信号を信号線352,362を介して受け取
り、同期ビットを信号線392を介して受け取り、リク
エストの調停処理を行ってメッセージ送出許可信号を信
号線174,175を介してプライオリティ回路11
0,111に対して送出する。
【0030】以下、リクエスト発行回路(0)31とリ
クエスト調停回路(0)35を例にして各構成要素の動
作を説明する。リクエスト発行回路(0)31内におい
て、出力先ポートレジスタ301はヘッダデコード回路
107から出力先ポート信号(2ビット)を信号線26
0を介して受け取り、ビット毎に格納し、リクエスト信
号として信号線350,360を介してそれぞれリクエ
スト調停回路(0)35,(1)36に対して出力す
る。また、リクエスト発行回路(0)31は、ヘッダデ
コード回路107から受け取った同期ビットをそのまま
信号線390へ出力する。リクエスト調停回路(0)3
5内において、リクエストレジスタ302は入力ポート
数分のラッチからなり(本例では2個)、それぞれリク
エスト発行回路(0)31,(1)32からリクエスト
信号を信号線352を介してセット信号として受け取
り、また、ヘッダデコード回路107,108からの同
期ビットをリクエスト発行回路(0)31,(1)3
2、信号線392を介してリセット信号として受け取
り、同期ビットが“1”になるまで各入力ポートからの
リクエストを保持する。セレクトポート保持ラッチ30
3(1ビット)はEOR回路307の出力信号を信号線
359を介して受け取り、それを保持する。ここで、ポ
ート保持ラッチ303は、“0”のとき入力ポート0、
“1”のとき入力ポート1を示すとする。デコード回路
304はセレクトポート保持ラッチ303の出力を信号
線356を介して受け取り、2ビットにデコードする。
AND回路305はリクエストレジスタ302の各ラッ
チに対応して設けられ、それぞれ、リクエストレジスタ
302の各ラッチから保持されたリクエストを信号線3
55を介して受け取り、また、デコード回路304から
その出力信号を信号線358を介して受け取り、セレク
トポート保持ラッチ303の示す番号の入力ポートから
リクエストが発行されていた場合、プライオリティ回路
110に該入力ポートに対するメッセージ送出許可信号
を信号線174(2ビット)を介して送出する。図1の
プライオリティ回路110では、メッセージ送出許可信
号で指定された入力ポートに対応するセレクタ114,
115の出力を選択し、メッセージ(通常パケットある
いはコンテナパケット)を出力ポート0の信号線154
に出力する。
【0031】一方、OR回路306は、AND回路30
5のそれぞれからのメッセージ送出許可信号を信号線1
74を介して受け取り、そのORを取る。EOR回路3
07はセレクトポート保持ラッチ303からその出力信
号を信号線356を介して受け取り、また、OR回路3
06からその出力信号を信号線357を介して受け取
り、メッセージ送出許可信号が送出されていない間はセ
レクトポート保持ラッチ303からの入力の否定を出力
し、一度メッセージ送出許可信号が送出されると、メッ
セージの送出が完了するまでセレクトポート保持ラッチ
303からの入力と同じ値を出力する。即ち、プライオ
リティ回路110を介して出力ポート0に対してメッセ
ージが転送されている間、セレクトポート保持ラッチ3
03は選択された入力ポート番号を保持し、メッセージ
の送出が終わると、セレクトポート保持ラッチ303の
値は次にメッセージ転送が開始されるまで毎サイクル、
“0”、“1”が繰り返される。
【0032】次に、図1において、ノード(1)11が
自ノード(1)11宛(ステージ0宛先ポート“0
1”、ステージ1宛先ポート“01”)の通常の1対1
通信メッセージ(以下、通常メッセージという)を送出
した場合を例に取って、クロスバスイッチ(1)15内
の動作の流れを具体的に説明する。
【0033】ノード11のSND104からクロスバス
イッチ15へ送信された通常メッセージは、信号線15
0を介して入力ポート0対応の入力バッファ105へ一
時的に格納される。入力バッファ105内のメッセージ
の先頭ワードはヘッダデコード回路107へ入力され、
ヘッダ部のデコードが行われる。
【0034】図3のヘッダデコード回路107におい
て、まず、メッセージの到着と共に、メッセージヘッダ
レジスタ201の同期ビットが“1”から“0”に変化
し、AND回路204にて、メッセージヘッダが識別さ
れ、ヘッダ識別信号が信号線253にアサートされる。
前述したように、クロスバスイッチ15ではXBステー
ジ格納レジスタ202の出力は“0”であるため、セレ
クト回路205では、ステージ0の宛先ポート“01”
が選択され、信号線259を介してAND回路206へ
入力される。この時、信号線253のヘッダ識別信号も
アサートされているため、出力先ポート信号“0”は信
号線259、AND回路206、信号線260、信号線
172を介してプライオリティコントローラ109へ伝
達される。同期ビットも信号線251、信号線172を
介して同じくプライオリティコントローラ109へ伝達
される。
【0035】なお、メッセージ送出中には、入力バッフ
ァ105から信号線170を介して伝送されるメッセー
ジワードは毎サイクル変化するため、メッセージヘッダ
レジスタ201の内容も毎サイクル更新され、セレクト
回路205等の出力は変化するが、メッセージの先頭以
外では、信号線253へヘッダ識別信号がアサートされ
ないため、プライオリティコントローラ109に対して
の出力信号は同期ビット以外は“0”のまま変化しな
い。また、通常メッセージではコンテナパケット識別ビ
ットは“0”であるため、コンテナラッチ208にはセ
ット信号が入力されず、信号線182を介して図1のセ
レクト回路114へ入力されるモニタデータセレクト信
号は“0”のままであり、セレクト回路114は常に入
力バッファ105の出力信号線170を選択して信号線
184と接続することになる。
【0036】図4のプライオリティコントローラ109
内のリクエスト発行回路(0)31では、信号線172
中の信号線260の出力先ポート信号“01”を出力先
ポートレジスタ301で出力ポート毎に分割、格納し
て、信号線350,352を介してリクエスト調停回路
(0)35に対してリクエストを発行する。ここで、入
力ポート1に対応するリクエスト発行回路(1)32か
らリクエストが発行されていない場合、信号線352を
伝達される信号は“01”となる。前述のように、図4
に示したリクエスト調停回路では各入力ポートからのリ
クエストの調停処理をラウンドロビンで行っている。ま
ず、リクエスト調停回路(0)35内では、リクエスト
発行回路(0)31からのリクエストを受けると、リク
エストレジスタ302の入力ポート0に対応するビット
(ラッチ)をセットする。本例では、リクエストレジス
タ302は“01”とセットされる。即ち、1ビット目
が入力ポート0、2ビット目が入力ポート1に対応し、
本例では、出力ポート0へのリクエストが入力ポート0
から到来したことを示す。リクエストが到着するまで、
EOR回路307の出力は毎サイクル変化し、セレクト
ポート保持ラッチ303の出力は“0”、“1”を交互
に取っているが、入力ポート0からのリクエストが到着
すると、次にセレクトポート保持ラッチ303の値が
“0”になった時(デコード回路304の出力が“0
1”になる)、AND回路305の入力ポート0に対応
する出力が“1”となり、該入力ポート0に対するメッ
セージ送出許可信号“01”が、信号線174を介して
プライオリティ回路110へ伝達される。同様に、OR
回路306の出力が“1”になり、セレクトポート保持
ラッチ303の更新が一時停止する。
【0037】図1のプライオリティ回路110は、信号
線174を介してメッセージ送出許可信号“01”を受
信すると、セレクト回路114の出力線184が出力ポ
ート0へ接続されるよう内部のスイッチ切り替えを行
い、入力ポート0の入力バッファ105のメッセージの
転送を開始する。メッセージは信号線154を介してク
ロスバスイッチ(2)17の入力ポート0へ転送され
る。入力バッファ105からのメッセージの転送が終了
すると、同期ビットは“1”になり、信号線251、3
90、392を介してリクエスト調停回路(0)35内
のリクエストレジスタ302の入力ポート0に対応する
ビット(ラッチ)をリセットし、該リクエストレジスタ
302は“00”となるため、AND回路305はすべ
てオフ、OR回路306の出力は“0”になり、セレク
トポート保持ラッチ303の値は次のメッセージが到着
するまで、毎サイクル“0”、“1”を繰り返す。
【0038】図1において、信号線154を介してクロ
スバスイッチ17の入力ポート0に入力されたメッセー
ジは、クロスバスイッチ15と同様に処理され、信号線
158を介して出力ポート0に出力され、ノード(1)
11のRCV103に入力される。
【0039】次に、図1において、ノード(1)11が
自ノード(1)11宛にコンテナパケットを送出した場
合を例に取って、モニタデータを収集する場合のクロス
バスイッチ15内の動作の流れを具体的に説明する。
【0040】ノード11のSND104からクロスバス
イッチ15へ送信されたコンテナパケットは、通常メッ
セージの時と同じく、信号線150を介して入力ポート
0対応の入力バッファ105へ一時的に格納され、メッ
セージの先頭ワードはヘッダデコード回路107へ入力
されて、ヘッダ部のデコードが行われる。
【0041】図3のヘッダデコード回路107では、通
常メッセージの時と同様に、まず、メッセージの到着と
共に、メッセージヘッダレジスタ201の同期ビットが
“1”から“0”に変化し、メッセージヘッダが識別さ
れ、ヘッダ識別信号が信号線253にアサートされる。
セレクト回路205では、ステージ0の宛先ポート“0
1”が選択され、信号線259、AND回路206、信
号線260、信号線172を介してプライオリティコン
トローラ109へ伝達される。同期ビットも信号線25
1、信号線172を介して同じくプライオリティコント
ローラ109へ伝達される。また、コンテナパケットの
場合、メッセージヘッダレジスタ201のコンテナパケ
ット識別ビットが“1”であるため、AND回路207
がオンして、コンテナラッチ208がセットされ、信号
線262を介して2ビットカウンタ210にカウント信
号が入力され、メッセージのデータ部の先頭転送時から
カウンタラッチ209の値の更新を開始する。カウンタ
ラッチ209の値がXBステージ格納レジスタ202の
出力と等しい(本例では“0”)場合、AND回路21
2の出力がアサートされ、モニタデータセレクト信号が
信号線182を介して図1のセレクト回路114へ送出
される。従って、セレクト回路114では、入力バッフ
ァ105に格納されたコンテナパケットのデータ部の0
ワード目を転送する際に、接続を入力バッファ105の
出力信号線170からハードウェアモニタ回路112の
出力信号線180に切り替える。そのため、コンテナパ
ケットのデータ部の0ワード目にはステージ0のクロス
バスイッチ15の入力ポート0のモニタデータ(図5)
が格納されて、該コンテナパケットが図1の信号線18
4へ送出される。
【0042】図4のプライオリティコントローラ109
内では、通常メッセージの場合と同様の処理が行われ、
入力ポート0に対するメッセージ送出許可信号“01”
を信号線174を介して図1のプライオリティ回路11
0へ伝達する。図1のプライオリティ回路110は、メ
ッセージ送出許可信号“01”を受信すると、入力ポー
ト0側の信号線184を信号線154へ接続し、出力ポ
ート0に対してメッセージの転送を開始する。従って、
データ部の0ワード目にクロスバスイッチ15の入力ポ
ート0のモニタデータを格納したコンテナパケットが、
信号線154を介してクロスバスイッチ17の入力ポー
ト0へ転送される。
【0043】クロスバスイッチ17でもクロスバスイッ
チ15と同様の処理が行われ、今度はコンテナパケット
のデータ部の1ワード目にクロスバスイッチ17の入力
ポート0のモニタデータが格納され、該コンテナパケッ
トは信号線158を介してノード(1)11のRCV1
03へ転送される。
【0044】以上のようにして、ノード(1)11では
クロスバスイッチ(1)15及びクロスバス(3)17
の各入力ポート0のモニタデータを収集することができ
る。図1のシステム構成の場合、最低各ノード1つず
つ、合計4つのコンテナパケットを転送すれば、全クロ
スバスイッチの全ポートのモニタデータを収集可能であ
る。
【0045】次に、収集したモニタデータの利用法につ
いて説明する。各ノードは、定期的あるいは必要に応じ
て不定期にコンテナパケットを転送して、該コンテナパ
ケットの経路上の各入力ポートのモニタデータを収集
し、あらかじめ定めたノード(以下、ホストノードと記
す)に転送する。ホストノードでは、前回収集されたモ
ニタデータとの差分をとることで、各モニタデータを計
算する。
【0046】前述したように、図5のハードウェアモニ
タ回路では、各入出力ポート毎に以下のモニタデータを
収集することができる。 (1)経過時間:総マシンサイクル数。 (2)通過ワード数:通過したパケットの総ワード数。 (3)Wait Time:競合調停に負けて待された時間の
総計。 (4)メッセージ数:通過した総メッセージ数。 (5)パケット数:通過した総パケット数。
【0047】以上のモニタデータから次のような値が計
算ができる。 (a)ネットワーク稼働率:ポートをメッセージが通過
している時間の割合。これは(1)と(2)から求め
る。 (b)競合待ち比率:異なるメッセージ間の経路の重複
により出力ポートで競合が発生し、待たされた時間の割
合。これは(1)と(3)から求める。 (c)Idle時間比率:入力ポートを何も通過しなかっ
た時間の割合。これは100%から(a)と(b)を引
いた値で求める。 (d)通過メッセージ数:モニタリングインタバルに通
過したメッセージ数。これは(4)より求める。さらに
長いメッセージをパケットに分割して転送するシステム
では、次の値が計算できる。 (e)通過パケット数:モニタリングインタバルに通過
したパケット数。これは(5)より求める。 (f)メッセージの平均パケット数:メッセージ当たり
のパケット数。これは(4)と(5)より求める。
【0048】これらの値により、ネットワーク上のホッ
トスポットの検出や競合調停方式の不良によるメッセー
ジの沈み込みの検出等が容易に可能になる。他にも種々
の利用法が考えられる。以下に、収集したモニタデータ
の利用法の一例をまとめて示す。 1.ハードウェアパラメータの決定 性能測定によって以下のようなハードウェアパラメータ
の最適値を見つけることできる。 ・パケット長 ・スイッチにおける競合調停方式 ・スイッチ毎のバッファ容量 等 2.アプリケーションの性能測定 並列アプリケーションの性能評価を行うことによって、
アルゴリズムやデータ割り付け等の検証、評価を行うこ
とができる。 3.アプリケーションのチューニング 過度の通信や通信の偏りが検出された場合には、アルゴ
リズムやノードへの割り付けを変更し、通信パターンを
改善(通信量の削減、通信の並列化等)することで、ア
プリケーションの性能向上が図れる。 通信量の削減:他ノードに割り付けられたデータの参照
を減らして並列化の効率を向上させる。 通信の並列化:通信の偏りを避け、通信が並列に行われ
るようにして通信効率を向上させる。 4.アプリケーションのデバッグ 実行しているアプリケーションのネットワークの挙動と
予測した挙動との比較をリアルタイムに行うことがで
き、デバッグ効率を向上できる。
【0049】
【発明の効果】以上述べたように、本発明によれば、1
段あるいは多段のルータで接続された並列計算機システ
ムにおいて、各ルータ内でモニタデータ収集用メッセー
ジ(コンテナパケット)が到着した場合に、ハードウェ
アモニタ回路で収集したモニタデータをコンテナパケッ
ト内のデータ部に格納して転送するようにしたことで、
低コストでリアルタイムに各ルータ上のモニタデータを
収集する事ができる。また、収集したデータはノード上
で稼動している並列プログラムから容易に利用すること
ができる。また、他にも種々の利用が可能になる。
【図面の簡単な説明】
【図1】本発明の一実施例の4ノードと2入力2出力の
クロスバスイッチ2×2段で構成された並列計算機の全
体構成図である。
【図2】従来技術における並列計算機の構成図である。
【図3】図1における本発明のヘッダデコード回路の構
成図である。
【図4】図1におけるプライオリティコントローラ回路
の構成図である。
【図5】図1におけるハードウェアモニタ回路の構成図
である。
【図6】ノードからクロスバスイッチへ転送されるメッ
セージのフォーマットの一例である。
【図7】本発明に係わるノードからクロスバスイッチへ
転送されるモニタデータ収集用のコンテナパケットの一
例である。
【符号の説明】
11〜14 ノード 15〜18 クロスバスイッチ 105,106 入力バッファ 107,108 ヘッダデコード回路 109 プライオリティコントローラ 110,111 プライオリティ回路 112,113 ハードウェアモニタ回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数の入力ポートと複数の出力ポートを
    備えたルータを1段あるいは多段に接続したネットワー
    クを介して、複数のノード間でメッセージ転送を行う並
    列計算機におけるネットワーク上のモニタデータを収集
    する方法であって、 ノードから前記ネットワークにモニタデータ収集メッセ
    ージを流し、 ルータは、入力ポートに前記モニタデータ収集メッセー
    ジが到来すると、該モニタデータ収集メッセージの所定
    位置に当該ルータの該当経路のモニタデータを格納して
    出力ポートへ転送することを特徴とする並列計算機にお
    けるモニタデータ収集方法。
  2. 【請求項2】 請求項1記載の並列計算機におけるモニ
    タデータ収集方法において、複数のノードから並列にモ
    ニタデータ収集メッセージをネットワークに流し、複数
    経路のモニタデータを収集することを特徴とする並列計
    算機におけるモニタデータ収集方法。
  3. 【請求項3】 複数の入力ポートと複数の出力ポートを
    備え、入力ポートに入力されるメッセージを任意の出力
    ポートへ出力するルータを1段あるいは多段に接続した
    ネットワークを介して複数のノード間でメッセージ転送
    を行う並列計算機において、 ルータは、各入力ポート対応に到着したメッセージを格
    納する入力バッファと、前記メッセージの種類を識別す
    る手段と、各入力ポート対応のモニタデータを採取する
    手段と、前記メッセージがモニタデータ収集メッセージ
    の場合に、当該メッセージの所定位置に当該入力ポート
    のモニタデータを格納して出力ポートへ転送する手段と
    を有することを特徴とする並列計算機。
JP10035646A 1998-02-18 1998-02-18 並列計算機におけるモニタデータ収集方法及び並列計算機 Pending JPH11232236A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10035646A JPH11232236A (ja) 1998-02-18 1998-02-18 並列計算機におけるモニタデータ収集方法及び並列計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10035646A JPH11232236A (ja) 1998-02-18 1998-02-18 並列計算機におけるモニタデータ収集方法及び並列計算機

Publications (1)

Publication Number Publication Date
JPH11232236A true JPH11232236A (ja) 1999-08-27

Family

ID=12447653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10035646A Pending JPH11232236A (ja) 1998-02-18 1998-02-18 並列計算機におけるモニタデータ収集方法及び並列計算機

Country Status (1)

Country Link
JP (1) JPH11232236A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010066933A (ja) * 2008-09-09 2010-03-25 Fujitsu Ltd ネットワークシステム、情報処理装置およびシステム試験プログラム
WO2010116399A1 (ja) 2009-03-30 2010-10-14 富士通株式会社 データ転送制御装置、システムおよび方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010066933A (ja) * 2008-09-09 2010-03-25 Fujitsu Ltd ネットワークシステム、情報処理装置およびシステム試験プログラム
US8595311B2 (en) 2008-09-09 2013-11-26 Fujitsu Limited Network system, information processing apparatus, and computer product
WO2010116399A1 (ja) 2009-03-30 2010-10-14 富士通株式会社 データ転送制御装置、システムおよび方法
US8589596B2 (en) 2009-03-30 2013-11-19 Fujitsu Limited Data transfer controlling apparatus, system and method

Similar Documents

Publication Publication Date Title
US20220291730A1 (en) Protocol Level Control for System on a Chip (SOC) Agent Reset and Power Management
JP5793690B2 (ja) インタフェース装置、およびメモリバスシステム
KR980013147A (ko) 패킷 상호 연결망에서의 메시지 송신 장치 및 메시지 송신 제어방법
JP2008546298A (ja) 電子装置及び通信リソース割り当ての方法
JPH10254843A (ja) クロスバスイッチ、該クロスバスイッチを備えた並列計算機及びブロードキャスト通信方法
JP2001285291A (ja) 調停方式及びそれを用いたアービタ回路
JP3807614B2 (ja) マルチリンク通信システムにおけるパケットの順序制御方法
JPS611146A (ja) 情報通信装置
US7643477B2 (en) Buffering data packets according to multiple flow control schemes
US5771227A (en) Method and system for routing massages in a multi-node data communication network
JP4255833B2 (ja) コンピュータ・システムの入出力ノードにおけるタグ付けおよび調停メカニズム
US6721816B1 (en) Selecting independently of tag values a given command belonging to a second virtual channel and having a flag set among commands belonging to a posted virtual and the second virtual channels
US6681274B2 (en) Virtual channel buffer bypass for an I/O node of a computer system
JP4391819B2 (ja) コンピュータ・システムの入出力ノード
JPH11232236A (ja) 並列計算機におけるモニタデータ収集方法及び並列計算機
JP4630231B2 (ja) パケット処理システム、パケット処理方法、およびプログラム
KR100798302B1 (ko) 버스 및 네트워크의 복합 통신 수단을 갖는 시스템 온칩
JP3278831B2 (ja) パケット処理装置
JPH11234333A (ja) ゲートウェイ装置
US20080310412A1 (en) Information relay apparatus, control method and information processing system
JPH09190418A (ja) ネットワーク制御方法
JPS63287143A (ja) 送信バッファ制御方式
JPH0750666A (ja) ルーティング方式
JPH1091589A (ja) プロセッサ間同期制御装置
JPH05199242A (ja) データ通信装置