(57)【特許請求の範囲】
【請求項１】
複数のノード装置が第１のスイッチ装置を介し第２のスイッチ装置を経由したパケット交換を行うネットワークシステムの負荷試験方法であって、
前記複数ノード装置の一のノード装置が前記第２のスイッチ装置を介する前記一のノード装置を宛先とした複数の第１のパケットを前記第１のスイッチ装置に送信する第１のステップと、
前記第１のステップと並行して前記複数ノード装置の他のノード装置が前記第１のスイッチ装置を介する前記一のノード装置を宛先とした複数の第２のパケットを前記第１のスイッチ装置に送信する第２のステップと、
前記第１のスイッチ装置が前記一のノード装置が送信した前記複数の第１のパケットを前記第２のスイッチ装置に転送する第１の転送ステップと、
前記第２のスイッチ装置が前記第１のパケットを交換待ちキューバッファに格納した後、前記交換待ちキューバッファ一の前記第１のパケットに対しノード間の同期制御を行い、前記同期制御された前記第１のパケットを前記第１のスイッチ装置に転送する第２の転送ステップと、
前記第１のスイッチ装置が前記第２のスイッチ装置から受信した第１のパケットと前記他のノード装置から受信した第２のパケットをキューバッファに格納した後、前記一のノード装置に転送する第３のステップと、
前記第２のスイッチ装置の交換待ちパケット数に基づく状態情報を監視する第４のステップとを有する
ことを特徴とするネットワークシステムの負荷試験方法。
【請求項２】
前記第２のステップは、前記他のノード装置が前記複数の第２のパケットを前記第１のスイッチ装置にＲＤＭＡ（Remote Direct Memory Access）転送するステップを有する
ことを特徴とする請求項１のネットワークシステムの負荷試験方法。
【請求項３】
前記第３のステップ後に、前記一のノード装置が前記第１のスイッチ装置から受信した前記第１及び第２のパケットをキューバッファに格納するステップを更に有する
ことを特徴とする請求項１のネットワークシステムの負荷試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムの試験方法に関する。
【背景技術】
【０００２】
近年のネットワークの大規模化に伴い、高速なシリアル相互接続が要求されている。この相互接続のため、多数のノード（Ｎｏｄｅ）がネットワークスイッチを介し接続するネットワーク環境を構築すること一般的である。このネットワーク環境の試験方法のひとつとして負荷試験が知られている。従来の負荷試験は、パケットのサイズや転送時間間隔を調整して、負荷を擬似的に作り出していた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−１８５７０号公報
【特許文献２】特開２００４−２４０９８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
パケット調整型の負荷試験の場合、通常の転送ではネットワークシステムが待ちキューを制御出来る範囲であるため、パケットがキューに滞留する状態を作り出すのが困難であり、実際に高負荷であるとは言い難い状態であった。
【０００５】
本発明の目的は、多数のノードとネットワークスイッチとからなるネットワークシステムの高負荷状態を確実に実現するネットワークシステムの試験方法を提供することにある。
【課題を解決するための手段】
【０００６】
この目的の達成のため、開示の負荷試験方法は、複数のノード装置が第１のスイッチ装置を介し第２のスイッチ装置を経由したパケット交換を行うネットワークシステムの負荷試験方法であって、前記複数ノード装置の一のノード装置が前記第２のスイッチ装置を介する前記一のノード装置を宛先とした複数の第１のパケットを前記第１のスイッチ装置に送信する第１のステップと、前記第１のステップと並行して前記複数ノード装置の他のノード装置が前記第１のスイッチ装置を介する前記一のノード装置を宛先とした複数の第２のパケットを前記第１のスイッチ装置に送信する第２のステップと、前記第１のスイッチ装置が前記一のノード装置が送信した前記複数の第１のパケットを前記第２のスイッチ装置に転送する第１の転送ステップと、前記第２のスイッチ装置が前記第１のパケットを交換待ちキューバッファに格納した後、前記交換待ちキューバッファ一の前記第１のパケットに対しノード間の同期制御を行い、前記同期制御された前記第１のパケットを前記第１のスイッチ装置に転送する第２の転送ステップと、前記第１のスイッチ装置が前記第２のスイッチ装置から受信した第１のパケットと前記他のノード装置から受信した第２のパケットをキューバッファに格納した後、前記一のノード装置に転送する第３のステップと、前記第２のスイッチ装置の交換待ちパケット数に基づく状態情報を監視する第４のステップとを有する。
【発明の効果】
【０００７】
一のノード装置が通常の転送試験を行い、併せて他のノード装置がＲＤＭＡライト転送も行うことで、ターゲットである一のノード側に集中したアクセスを行い、間接的に第２のスイッチ装置のキューがバックプレッシャー状態になり、確実に且つ短期間で第２のスイッチ装置の高負荷状態を実現出来る。確実に負荷状態であるという根拠のひとつとしてキュー(送・受信バッファ)にパケットを出来るだけ滞留させ、第２のスイッチ装置にバックプレッシャーを発生し、第２のスイッチがエラーとなる状況を作り出すことができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態のネットワークシステムの構成図である。
【図２】図１のノードのブロック図である。
【図３】図１の第１のスイッチの構成図である。
【図４】図１の第２のスイッチの構成図である。
【図５】実施の形態のネットワークシステムの試験方法の通常試験の説明図である。
【図６】実施の形態のネットワークシステムの試験方法のＲＤＭＡライトの説明図である。
【図７】図５及び図６の通常転送動作の説明図である、
【図８】図６のＲＤＭＡ転送動作の説明図である。
【図９】図５及び図６の試験方法の動作説明図である。
【図１０】実施の形態の転送試験プログラムの構成図である。
【図１１】図１の端末装置が実行する試験処理フロー図である。
【図１２】図１１の内部テーブルの説明図である。
【図１３】図１１のリンクアップ処理の説明図である。
【図１４】図１１の転送試験の動作説明図である。
【図１５】他の実施の形態のネットワークシステムの負荷試験方法の説明図である。
【発明を実施するための形態】
【０００９】
以下、実施の形態の例を、ネットワークシステム、ネットワークシステムの試験方法、転送試験処理、他の実施の形態の順で説明するが、開示のネットワークシステム、ノード、スイッチは、この実施の形態に限られない。
【００１０】
（ネットワークシステム）
図１は実施の形態のネットワークシステムの構成図である。図２は図１のノードのブロック図である。図３は図１の第１のスイッチの構成図である。図４は図１の第２のスイッチの構成図である。
【００１１】
図１において、ネットワークシステムは、多数（図１では６つ）のノード装置（以下、ノードという）３−１〜３−６と、複数（図１では２つ）の第１のスイッチ装置群（ＩＢ−ＳＷと記す）２−１，２−２と、第２のスイッチ装置（バリアスイッチと記す）１とを有する。
【００１２】
第１のスイッチ装置群（以下、第１のスイッチという）の一方２−１は信号線（リンクという）７−１〜７−６により複数のノード３−１〜３−３の各々と接続し、且つ第２のスイッチ装置（以下、第２のスイッチという）１と信号線（リンク）７−１３〜７−１５により接続する。第１のスイッチ群の他方２−２は信号線７−７〜７−１２により他の複数のノード３−４〜３−６の各々と接続し、且つ第２のスイッチ１と信号線（リンク）７−１６〜７−１８により接続する。
【００１３】
従って、複数のノード３−１〜３−３は、第１のスイッチ群の一方２−１を使用して、相互にパケットの転送を行い、且つ第１のスイッチ群の一方２−１、第２のスイッチ１、第１のスイッチ群の他方２−２を介し他の複数のノード３−４〜３−６とパケットの転送を行う。
【００１４】
同様に、他の複数のノード３−４〜３−６は、第１のスイッチ群の他方２−２を使用して、相互にパケットの転送を行い、且つ第１のスイッチ群の他方２−２、第２のスイッチ１、第１のスイッチ群の一方２−１を介し複数のノード３−１〜３−３とパケットの転送を行う。
【００１５】
ノード３−１〜３−６はサーバやＩ／Ｏ(Input/Output)ユニット等で構成される、第１のスイッチ群２−１，２−２はインフィニバンドスイッチ（ＩＢ−ＳＷ：ＩｎｆｉｎｉＢａｎｄ−Ｓｗｉｔｃｈ）やイーサネット（登録商標）スイッチ（Ｅｔｈｅｎｅｔ  Ｓｗｉｔｃｈ）で構成される。以下、第１のスイッチ群２−１，２−２をインフィニバンドスイッチで説明する。しかし、後述するＲＤＭＡ（Remote Direct Memory Access）とＴＣＰオフロードエンジン（ＴＯＥ）を備えたイーサネット（登録商標）スイッチでも、インフィニバンドスイッチと同一の動作が可能である。
【００１６】
第１のスイッチ群２−１，２−２がインフィニバンドスイッチで構成された場合には、第１のスイッチ群２−１，２−２はインフィニバンドリンク（ＩＢ  Ｌｉｎｋ）７−１〜７−１８によりノード３−１〜３−６と第２のスイッチ１との各々に接続する。
【００１７】
第２のスイッチ１はインフィニバンドスイッチで構成される。第２のスイッチ１は交換機能を実行するととともに、ノード間のバリア（Barrier）同期、リダクション演算及びＯＳスケジュールのための同期割り込み機能を実行する。ノード間バリア同期は並列処理の同期ポイントに到達するまで各ノードの処理結果を待ち合わせるものである。第２のスイッチ１はノード間バリア機能により各ノードからの転送パケットを受信し、待ち合わせ処理し、他のノードへ送信する。
【００１８】
図１のネットワークシステムの例はノード数が数千台規模のＨＰＣ(High Performance Computing)システムを開示する。ＨＰＣシステムでは、各ノードが並列にジョブを実行し、各ノード間で、スイッチ１，２−１，２−２を介しジョブ結果を転送する。第１のスイッチ１の同期割り込み機能は多数のノード間でユーザジョブの同期動作を実行し、並列ジョブの実行の効率を高めるのに役立つ。
【００１９】
図１のシステムは、多数のノード間でパケットを交換するため、多階層のスイッチ構造を有するとともに、第１のスイッチ１に同期割り込み機能を設けて並列コンピューテイグの実行効率を向上する。
【００２０】
又、図１において、ＬＡＮ（Local Area network）４は各ノード３−１〜３−６と第２のスイッチ１と端末装置５とを接続する。端末装置５はＬＡＮ４を介し各ノード３−１〜３−６に試験プログラムをロードし、各ノード３−１〜３−６を起動する。又、端末装置５はＬＡＮ４を介し第２のスイッチ１の待ちキュー等のバッファの内容を読み出す。例えば、端末装置５としてはパーソナルコンピュータ（ＰＣ：Personal Computer）を適用できる。
【００２１】
図２により、図１のノード３−１〜３−６を説明する。図２において、ノード３−１〜３−６は情報処理装置で構成される。ノード３−１〜３−６は、演算処理装置（ＣＰＵ：Central Processing Unit）３０と、演算処理装置（以下ＣＰＵという）３０が使用するホストメモリ３４と、ブリッジ回路（North Bridgeと記す）３２と、ブリッジ回路３２にバス３６で接続されたネットワークインタフェースカード（ＮＩＣ：Network Interface Card）３８とホストバスアダプター（ＨＢＡ：Host Bus Adapter）４０とを有する。
【００２２】
記憶デバイス４２はホストバスアダプター４０に接続する。記憶デバイス４２には、例えば、ハードデイスク装置が好適である。バス３６には、例えば、ＰＣＩ(Peripheral Component) Busが好ましい。ブリッジ回路３２はＣＰＵ３０とホストメモリ３４とネットワークインタフェースカード（以下ＮＩＣと称す）３８とホストバスアダプター（以下ＨＢＡと称す）４０との中継回路で構成され、例えば、ＰＣＩスイッチを適用できる。
【００２３】
ホストメモリ３４はユーザーが使用するユーザーメモリ３４Ａと、ＨＢＡ４０が使用する第１のＩＯメモリ３４Ｂと、ＮＩＣ３８が使用する第２のＩＯメモリ３４とを備える。ユーザーメモリ３４Ａ，第１、第２のＩＯメモリ３４Ｂ，３４Ｃは、ハードウェアとして、一体のものである。
【００２４】
ＮＩＣ３８はインフィニバンドカード（Ｉｎｆｉｎｉｂａｎｄ  Ｃａｒｄ）で構成される。ＮＩＣ３８は、前述のようにＲＤＭＡ（Remote Direct Memory Access）とＴＣＰオフロードエンジン（ＴＯＥ）を備えたイーサネット（登録商標）規格のイーサネット（登録商標）カードとしても良い。
【００２５】
ＮＩＣ３８は送信キューバッファ１００と受信キューバッファ１０２とホストチャネルアダプタ（ＨＣＡ：Host Channel Adaptor）１０４とを有する。ホストチャネルアダプタ（以下ＨＢＡと称す）１０４はインフィニバンド仕様の通信規格でリンク７−１（７−２）を介し第１のスイッチ２−１（２−２）とパケットの送受信を行う。送信キューバッファ１００はＣＰＵ３０のワークキューエレメント（送信要求）を保持（キューイング（Quing））する。受信キューバッファ１０２はスイッチ２−１（２−２）からの受信パケットの受信要求を保持（キューイング（Quing））する。いずれのキューバッファ１００，１０２も、多数（例えば、数十個）のキューを保持できる。
【００２６】
図２では、情報処理装置は１つのＮＩＣ３８を搭載する例で示されているが、図１のノード３−１〜３−６から第１のスイッチ群２−１，２−２へのＩＢ−Ｌｉｎｋ７−１〜７−１２に示すように、ノード（情報処理装置）３−１〜３−６は２つのＮＩＣ３８を搭載する。
【００２７】
次に、図３により第１のスイッチ２−１、２−２を説明する。第１のスイッチ２−１，２−２は、多数のポート２４とスイッチコア２６とルーテイング回路２０とで構成される。ポート２４の各々は対応するリンク７−１〜７−６を介し対応するノード３−１〜３−３のＮＩＣ３８に接続し、又リンク７−１３〜７−１５を介し第２のスイッチ１に接続する。この各ポート２４は、送受信キューバッファ２２を有する。送受信キューバッファ２２は、送信キューエレメントと受信キューエレメントを複数保持する。
【００２８】
各ポート２４は送信キューバッファ２２のキューエレメントを読み出し、読み出したキューエレメントが送信キューエレメントであると判断すると、ポート２４に保持した対応する送信パケットをリンクを介し対応するノードのＮＩＣ３８に送信する。又、各ポート２４は読み出したキューエレメントが受信キューエレメントであると判断すると、受信パケットのパケットヘッダをルーテイング回路２０に転送する。
【００２９】
スイッチコア２６はクロスバースイッチを有し、各ポート２４に接続する。ルーテイング回路２０は転送されたパケットヘッダから送信アドレス、宛先アドレス、経由先、オペレーションコードを判定する。ルーテイング回路２０はパケットヘッダの経由先に第２のスイッチ１を指定している場合には、スイッチコア２６を操作し、ポート２４の受信パケットをリンク７−１３〜７−１５に接続するポート２４のいずれかに転送する。又、ルーテイング回路２０はパケットヘッダの経由先に第２のスイッチ１を指定しない場合には、スイッチコア２６を操作し、ポート２４の受信パケットを宛先アドレスで指定されたリンク７−１〜７−６に接続するポート２４に転送する。
【００３０】
次に、図４により、第２のスイッチ１を説明する。第２のスイッチ１は、多数のポート１８とスイッチコア１０とスイッチ制御回路１６とを有する。ポート１８の各々はリンク７−１３〜７−１８を介し対応する第２のスイッチ２−１，２−２のポート２４に接続する。この各ポート１８は、交換待ちキューバッファ１８Ａを有する。交換待ちキューバッファ１８Ａは、各ポートが受信したパケットの内、交換されていない受信キューエレメントを複数保持する。
【００３１】
スイッチコア１０は、ポート１８に接続する第１のクロスバースイッチ１２ａとポート１８に接続する第２のクロスバースイッチ１２ｂと第１、第２のクロスバースイッチ１２ａ，１２ｂに接続するメモリ１４とを有する。メモリ１４はポート１８毎に割り当てられたメモリ領域を備え、ポート１８が受信したパケットを割り当てられた領域に一時保持する。このメモリ１４は同期割込み制御のための待ち合わせ処理に利用される。
【００３２】
スイッチ制御回路１６は同期割込制御モジュール１６Ａとルーテイングモジュール１６Ｂとを有する。ルーテイングモジュール１６Ｂは各ポート１８の交換待ちキューバッファ１８Ａのキューエレメントとパケットヘッダから送信アドレス、宛先アドレス、経由先、オペレーションコードを判定する。ルーテイングモジュール１６Ｂはパケットヘッダの経由先に第１のスイッチ２−１を指定している場合には、クロスバ−スイッチ１２ａを操作し、メモリ１４から読み出したパケットをリンク７−１３〜７−１５に接続するポート１８のいずれかに転送する。又、ルーテイングモジュール１６Ｂはパケットヘッダの経由先に第１のスイッチ２−２を指定した場合には、クロスバースイッチ１２ｂを操作し、メモリ１４から読み出したパケットをリンク７−１６〜７−１８に接続するポート１８のいずれかに転送する。
【００３３】
同期割込制御モジュール１６Ａはルーテイングモジュール１６Ｂを制御する。同期制御モジュール１６Ａは各ポート１８の交換待ちキューバッファ１８Ａから読み出したキューエレメントのパケットが他のノードとの同期制御が必要であるか、既に受信したパケットとの同期制御条件を満たしているかを判定する。
【００３４】
同期割込制御モジュール１６Ａはパケットの同期制御が必要で、同期制御条件を満たしていないと判定すると、そのキューエレメントの識別子を自己のレジスタに格納し、ルーテイングモジュール１６Ｂのルーテイング動作を禁止する。このため、対応するパケットはメモリ１４に保持されたままとなる。即ち、同期割込制御モジュール１６Ａは待ち合わせ処理する。
【００３５】
一方、同期割込制御モジュール１６Ａはパケットの同期制御が必要で、同期制御条件を満たしていると判定すると、レジスタ内の同期制御条件を満たしている識別子のパケットのルーテイングをルーテイングモジュール１６Ｂに指示する。これにより、ルーテイングモジュール１６Ｂはメモリ１４内の同期制御条件を満たしたパケットを前述のようにルーテイング処理する。
【００３６】
このように、同期割込制御モジュール１６Ａは同期制御が必要なパケットのルーテイングを待たせ、同期制御条件が満たされると待たされたパケットを含めた複数のパケットのルーテイングを行うように、ルーテイングモジュール１６Ｂを制御する。前述のように、メモリ１４はポート１８毎に割り当てられたメモリ領域を備えるため、待ち合わせされた複数のパケットがメモリ１４に存在すると、対応ポートの交換待ちキューバッファ１８Ａのキューエレメントはルーテイングモジュール１６Ｂでルーテイング処理されず、滞留する。この同期制御条件は、例えばユーザ時間とＯＳ（Operating System）時間の割り当て周期を一致するための条件であり、ユーザジョブのノード間同期動作がノード毎に異なるＯＳ動作により長期間阻害され、遅延することを防止できる。
【００３７】
（ネットワークシステムの試験方法）
次に、ネットワークシステムの負荷試験方法を説明する。図５及び図６は実施の形態のネットワークシステムの試験方法の説明図である。図７は図５及び図６の通常転送動作の説明図である、図８は図６のＲＤＭＡ転送動作の説明図である。図９は図５及び図６の試験方法の動作説明図である。
【００３８】
図５及び図６において、図１乃至図４で説明したものと同一のものは同一の記号で示してある。又、負荷試験の対象は第２のスイッチ（バリアスイッチ）１である。
【００３９】
図５及び図６に各ノード３−１〜３−６に転送試験プログラム６をロードする。そして、ターゲットとなるノードを指定する。図５では、ノード３−１，３−４をターゲットノードに指定する。ターゲットノード３−１，３−４は、通常の転送試験を実施するノードであり、ターゲットノード以外のノードは、ＲＤＭＡＷｒｉｔｅするだけのノードである。
【００４０】
図５に示すように、ターゲットノード３−１，３−４は通常試験のパケットを第１のスイッチ２−１，２−２に送信する。通常試験パケットはパケットの宛先をターゲットノード自身のアドレスとし、経由先を第１のスイッチ、第２のスイッチに指定したものである。
【００４１】
図５の矢印に示すように、通常試験のパケットは、ターゲットノード３−１，３−４から各々第１のスイッチ２−１，２−２を経由し、第２のスイッチ１に到り、第２のスイッチ１から各々第１のスイッチ２−１，２−２を経由して、ターゲットノード３−１，３−４に到達する。
【００４２】
本実施の形態では、図６に示すように、通常試験の他に、ターゲットノード３−１、３−４以外のノード３−２．３−３、３−５，３−６がターゲットノード３−１，３−４を宛先として、ＲＤＭＡＷｒｉｔｅ転送を行う（図６の矢印参照）。即ち、通常試験とＲＤＭＡ転送が並列して実行される。
【００４３】
ここで、ＲＤＭＡパケット転送と、通常パケット転送とを説明する。図７はノード３−２からノード３−１へ通常パケット転送する説明図である。ノード３−２のＣＰＵ３４はメモリ３４のユーザーメモリ３４Ａに転送データを書き込む（図７の（１））。ノード３−２のＣＰＵ３４はＮＩＣ３８の送信キューバッファ１００にキューエレメントを書きこむ。ユーザーメモリ３４Ａの転送データはメモリ３４のＩＯメモリ３４Ｃに移動される（図７（２））。ＮＩＣ３８のＨＣＡ１０４はＩＯメモリ３４Ｃの転送データを読み出し、パケットに組み立て、パケットをリンク７−３（７−４）を介し第１のスイッチ２−１に転送する（図７（３）。第１のスイッチ３−１はパケットを受信し、宛先を判別し、リンク７−１（７−２）を介しノード３−１のＮＩＣ３８に転送する（図７（４））。
【００４４】
ノード３−１のＮＩＣ３８は受信キューバッファ１０２にキューエレメントを格納し、且つ受信したパケットをＩＯメモリ３４Ｃに格納する（図７（５））。ＣＰＵ３０が受信キューバッファ１０２を参照し、ＩＯメモリ３４Ｃのパケットをユーザーメモリ３４Ａに移動する（図７（６））。これにより、ＣＰＵ３０は受信パケットの処理を実行できる。
【００４５】
次に、ＲＤＭＡライト動作を説明する。ＲＤＭＡはライト動作とリード動作を有する。ＲＤＭＡライト動作は一のノードのメモリのデータを他のノードのメモリに直接（Direct）書き込む動作である。図８はノード３−２からノード３−１へＲＤＭＡライトパケット転送する説明図である。
【００４６】
ノード３−２のＣＰＵ３４はメモリ３４のユーザーメモリ３４Ａに転送データを書き込み、ＮＩＣ３８の送信キューバッファ１００にキューエレメント（リモート側（受信）アドレスを持ったワークキューエレメントを書きこみ、ＮＩＣ３８のＨＣＡ１０４に所有権を渡す（図８（１）。ＮＩＣ３８のＨＣＡ１０４はユーザーメモリ３４Ａの転送データを読み出し、パケットに組み立て、リンク７−３（７−４）を介し第１のスイッチ２−１に転送する（図８（２）。第１のスイッチ３−１はパケットを受信し、宛先を判別し、リンク７−１（７−２）を介しノード３−１のＮＩＣ３８に転送する（図８（３））。
【００４７】
ノード３−１のＮＩＣ３８は受信キューバッファ１０２にキューエレメントを格納し、且つ受信したパケットの転送データをユーザーメモリ３４Ａに書き込む（図８（４））。ＣＰＵ３０が受信キューバッファ１０２を参照し、受信パケットの転送データの処理を行う。
【００４８】
このように、ＲＤＭＡライト動作は、サーバのＣＰＵ３０がユーザーメモリ３４Ａにデータを直接読み書きできるため、メモリ３４内で異なるメモリスペース間で同じデータの複数コピーを転送することがなくなる。このため、転送動作に伴うＣＰＵ割り込みもなくなり、ＣＰＵ３０からデータ移動のオーバーヘッドをオフロードするため、ＣＰＵ３０は他のタスクを実行でき、処理効率が向上する。  
【００４９】
InfiniBand、またはＲＤＭＡとＴＣＰオフロード エンジン（TOE）を備えたイーサネット（登録商標）ＮＩＣと組み合わせを使用した場合、ほとんどすべての転送プロトコル処理とデータ移動が中央のＣＰＵ３０からインターフェイスハードウェア（ＮＩＣ）にオフロードできる。このため、ＣＰＵのパフォーマンスは大きく向上する。
【００５０】
図５及び図６のように、ターゲットノード３−１，３−４の通常パケット転送とターゲットノード３−１，３−４以外のノード３−２，３−３，３−５，３−６のＲＤＭＡ転送とを実行することより、通常転送とＲＤＭＡ転送とを競合させる。
【００５１】
図９は横軸に時間Ｔをとり、各ノードの転送試験、第２のスイッチ１、第１のスイッチ２−１、ターゲットノードの受信キューバッファのパケット滞留状態を図示した説明図である。図９に示すように、通常転送とＲＤＭＡ転送との競合により、ターゲットノード３−１，３−４の受信キューバッファ１０２にパケットが滞留し、その結果第１のスイッチ２−１の受信キューバッファ２２も滞留が起こり、最終的に第１のスイッチ１から送信されるデータが待ちキュー１８Ａに溜り易い状況を作り出す。
【００５２】
ＲＤＭＡライトのデータ転送は、図８で説明したＲＤＭＡプロトコル制御により、高速且つ連続でデータ転送が可能である。このため、特定のポートに集中した負荷を与えやすい。このため、第２のスイッチ１がバックプレッシャー状態を引き起こす。バックプレッシャーはフレーム制御方式のひとつであり、擬似的に衝突（コリジョン：Collision）を
発生させることにより、送信元がコリジョンを検出し、一時的にフレームの送信を中断させる方法である。
【００５３】
図１の端末装置５は負荷試験開始からＬＡＮ４を介し第２のスイッチ１のレジスタ情報をモニターし、第１のスイッチ１がバックプレッシャー状態になっているかどうかを、リアルタイムに把握する。
【００５４】
このように、確実に負荷状態であるという根拠のひとつとしてキュー(送・受信バッフ
ァ)にパケットを出来るだけ滞留させ、第２のスイッチにバックプレッシャーを発生し、
第２のスイッチがエラーとなる状況を作り出す。又、ＲＤＭＡ転送が可能な環境であれば、第２のスイッチがブラックボックスでも、高負荷を起こすことが可能になる。第２のスイッチ１にバックプレッシャー状態を起こすため、ソフトウェアやハードウェアに特殊な機構を設ける必要がない。
【００５５】
又、通常の転送試験と併せてＲＤＭＡライト転送も行うことで、ターゲットノード側に集中したアクセスを行い、間接的に第２のスイッチ１のキューがバックプレッシャー状態になり、確実に且つ短期間で第２のスイッチ１の高負荷状態を実現出来る。
【００５６】
更に、第２のスイッチの高負荷状態を確実に実現出来ることから、本来見つけることが出来ない装置障害（同期制御機能等）などを検出することが出来、第２のスイッチの信頼性を高めることが出来る。しかも、特殊な技術が不要なことから、生産現場などで試験するコストを低減できる。操作も容易なことから、装置の試験時間短縮・コストダウンに貢献出来る。
【００５７】
（転送試験処理）
図１０は、実施の形態の転送試験プログラムの構成図である。図１０に示すように、転送試験プログラム６は初期化処理プログラム６２、転送試験制御プログラム６４、転送試験プログラム６６−１〜６６−ｎとを有する。
【００５８】
初期化処理プログラム６２はプログラム領域の初期化及びInfiniBand規格特有のデバイス初期化などの処理を含む。転送試験制御プログラム６４はユーザから指定されたオプションなどに従って実施する試験を開始・停止する制御を行う。転送試験プログラム６６−１〜６６−ｎは実際に転送試験を行うプログラムであり、図５及び図６の転送試験プログラム６及びＲＤＭＡライト転送処理６０を一機能として有する。
【００５９】
図１１は図１の端末装置が実行する試験処理フロー図である。図１２は図１１の内部テーブルの説明図である。図１３は図１１のリンクアップ処理の説明図である。図１４は図１１の転送試験の動作説明図である。
【００６０】
以下、図１２乃至図１４を参照して、図１１の試験処理を説明する。
【００６１】
（Ｓ１０）端末装置５は図１１に示すノード情報リスト６８を読み込む。ノード情報リスト６８は試験対象ノードの識別子を格納したリストである。
【００６２】
（Ｓ１２）端末装置５は読み込んだノード情報リスト６８をメモリの内部テーブルに展開する。
【００６３】
（Ｓ１４）端末装置５はＬＡＮ４を介しノード情報リスト６８で指定された各ノード３−１〜３−６に図１０で示した転送試験プログラム６をロードする。これにより、各ノード３−１〜３−６は初期化処理６２を行う。次に、図１３に示すように、端末装置５はＬＡＮ４を介しノード情報リスト６８で指定された各ノード３−１〜３−６にユーザが定義した構成情報ファイル７０を転送する。各ノード３−１〜３−６はリンクアップツール（プログラム）７２を実行し、構成情報ファイル７０を元に、ノードと第１のスイッチとの間及び第１のスイッチと第２のスイッチとの間のリンクアップ（Link-up）処理を行う。全ての接続のリンクアップが終了すると転送(通信)が可能な状態となる。
【００６４】
一般的には、ユーザ環境では、ノードがファームウェアを実行して自動的にリンクアップ処理を行う。この実施の形態では、システムがテスト環境にあるため、ファームウェアが組み込まれていないことが多く、独自に初期化処理を行う。勿論、ファームウェアが組み込まれていれば、このリンクアップ処理は不要である。そして、端末装置５は転送制御を開始する。まず、ノード情報リスト６８から試験対象ノード数を得る。
【００６５】
（Ｓ１６）端末装置５は、ノード数分以降の処理をループしたかを判定する。ノード数分ループしていれば、転送試験を終了する。
【００６６】
（Ｓ１８）端末装置５はノード数分ループしていないと判定すると、ターゲットとするノードを決める。例えば、端末装置５の画面にノード情報リスト６８を表示し、マウス等の入力装置で指定する。図１２に示すように、星印が指定されたノードＡの先頭に付される。
【００６７】
（Ｓ２０）端末装置５はＬＡＮ４を介し指定されたターゲットノード（図５乃至図９では、ノード３−１，３−４に、バックプレッシャーを起こす予定である待ちキューを持つ第２のスイッチ１のポートを経由した経路を指定して、転送試験を指示する。図１４に示すように、指定されたノード３−１，３−４は通常試験のパケットを第１のスイッチ２−１，２−２に送信する。通常試験パケットはパケットの宛先をターゲットノード自身のアドレスとし、経由先を第１のスイッチ、第２のスイッチに指定したものである。
【００６８】
（Ｓ２２）端末装置５はＬＡＮ４を介しターゲットノード３−１、３−４以外のノード３−２．３−３、３−５，３−６にターゲットノード３−１，３−４を宛先としたＲＤＭＡＷｒｉｔｅ転送を指示する。図１４に示すように、ターゲットノード３−１、３−４以外のノード３−２．３−３、３−５，３−６はターゲットノード３−１，３−４を宛先として、ＲＤＭＡＷｒｉｔｅ転送を行う。
【００６９】
（Ｓ２４）端末装置５はユーザが指定した時間、ステップＳ２０,Ｓ２２を継続する。
【００７０】
（Ｓ２６）端末装置５はユーザが指定した時間が経過すると、ＬＡＮ４を介し第２のスイッチ１の状態レジスタを読み出し、バックプレッシャー状態かを判断する。
【００７１】
（Ｓ２８）端末装置５はバックプレッシャー状態であれば、ターゲットノードとエラーをログする。逆に、端末装置５はバックプレッシャー状態でなければ、ログしない。そして、端末装置５はステップＳ１６の処理に戻る。
【００７２】
このように、特殊な技術が不要なことから、生産現場などで試験するコストを低減できる。操作も容易なことから、装置の試験時間短縮・コストダウンに貢献出来る。又、各ノードをターゲットとしたエラーログを見て、第１のスイッチ装置の性能や同期割込み処理の特性、異常を判断できる。
【００７３】
（他の実施の形態）
図１５は他の実施の形態の負荷試験処理の説明図である。図１５において、図１乃至図１４で説明したものと同一のものは同一の記号で示してある。図１１の実施の形態では、第１のスイッチ１のある特定の待ちキューを狙ったテスト構成毎に、ユーザが実施するものである。
【００７４】
図１５の他の実施の形態では、全てのノードを管理するコントロールプログラム８０を端末装置５に設ける。端末装置５はコントロールプログラム８０の実行により、ノード情報リスト６８を参照し、自動的に実施順序などを制御する。即ち、コントロールプログラム８０は第１のスイッチ１の全てのポートをターゲットとしたバックプレッシャーの負荷試験を自動的に行う。
【００７５】
これにより、ユーザのノード指定や試験時間の指定が不要となり、より工数の削減、装置の信頼性向上に貢献出来る。
【００７６】
又、前述の実施の形態では、送信キューバッファ１００と受信キューバッファ１０２をＮＩＣ３８内に設けた例で説明したが、メモリ３４のＩＯメモリ３４Ｃ内に設けても良い。しかも、受信キューの滞留によってバックプレッシャーを起こす例で説明したが、受信データを格納する受信バッファの滞留によってバックプレッシャーを起こすようにすることもできる。
【００７７】
更に、受信キューにノード数を６つとしたが、例えば、ＨＰＣシステムではノード数が数千個であり、ノード数が多い程、試験効率の向上が期待できる。同様に、第２のスイッチを２つ、第１のスイッチ１を１つの例で説明したが、この数に限られない。
【００７８】
更に、リンク接続をInfiniBand、またはＲＤＭＡとＴＣＰオフロード エンジン（TOE）を備えたイーサネット（登録商標）ＮＩＣとで説明したが、他のＲＤＭＡを適用した通信規格を適用できる。
【００７９】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【００８０】
（付記１）
複数のノード装置が第１のスイッチ装置を介し第２のスイッチ装置を経由したパケット交換を行うネットワークシステムの負荷試験方法であって、前記複数ノード装置の一のノード装置が前記第２のスイッチ装置を介する前記一のノード装置を宛先とした複数の第１のパケットを前記第１のスイッチ装置に送信する第１のステップと、前記第１のステップと並行して前記複数ノード装置の他のノード装置が前記第１のスイッチ装置を介する前記一のノード装置を宛先とした複数の第２のパケットを前記第１のスイッチ装置に送信する第２のステップと、前記第１のスイッチが前記第１のスイッチ装置から受信した第１のパケットと前記他のノード装置から受信した第２のパケットをキューバッファに格納した後、前記一のノード装置に転送する第３のステップと、前記第２のスイッチ装置の交換待ちパケット数に基づく状態情報を監視する第４のステップとを有することを特徴とするネットワークシステムの負荷試験方法。
【００８１】
（付記２）
前記第２のステップは、前記他のノード装置が前記複数の第２のパケットを前記第１のスイッチ装置にＲＤＭＡ転送するステップを有することを特徴とする付記１のネットワークシステムの負荷試験方法。
【００８２】
（付記３）
前記第１のステップは、前記第１のスイッチ装置が前記一のノード装置が送信した前記複数の第１のパケットを前記第２のスイッチ装置に転送する第１の転送ステップと、前記第２のスイッチ装置が前記第１のパケットを交換待ちキューバッファに格納した後、前記第１のパケットを前記第１のスイッチ装置に第２の転送ステップとを有し、
前記一のノード装置が前記第１のスイッチ装置から受信した前記第１及び第２のパケットをキューバッファに格納するステップを更に有することを特徴とする付記１のネットワークシステムの負荷試験方法。
【００８３】
（付記４）
前記第２の転送ステップは、前記第２のスイッチ装置が前記交換待ちキューバッファ一のパケットに対しノード間の同期制御を行い、前記同期制御された前記第１のパケットを前記第１のスイッチ装置に転送するステップを有することを特徴とする付記３のネットワークシステムの負荷試験方法。
【００８４】
（付記５）
前記他のノードを対象として前記第１から前記第４のステップを実行することを特徴とする付記１のネットワークシステムの負荷試験方法。
【００８５】
（付記６）
前記ノード装置はインフィニバンド（InfiniBand）インタフェース装置、又はＲＤＭＡ機能を備えたイーサネット（登録商標）インタフェース装置を有することを特徴とする付記２のネットワークシステムの負荷試験方法。
【００８６】
（付記７）
前記ＲＤＭＡ転送するステップは、前記第１のスイッチ装置を介し前記他のノードのメモリの転送データを、前記一のノードのメモリに直接転送するステップを有することを特徴とする付記２のネットワークシステムの負荷試験方法。
【産業上の利用可能性】
【００８７】
一のノード装置が通常の転送試験を行い、併せて他のノード装置がＲＤＭＡライト転送も行うことで、ターゲットである一のノード側に集中したアクセスを行い、間接的に第２のスイッチ装置のキューがバックプレッシャー状態になり、確実に且つ短期間で第２のスイッチ装置の高負荷状態を実現出来る。確実に負荷状態であるという根拠のひとつとしてキュー(送・受信バッファ)にパケットを出来るだけ滞留させ、第２のスイッチ装置にバックプレッシャーを発生し、第２のスイッチがエラーとなる状況を作り出すことができる。
【符号の説明】
【００８８】
１  第２のスイッチ装置
２−１，２−２  第１のスイッチ装置
３−１〜３−６  ノード装置
４  ＬＡＮ
５  端末装置
６  転送試験プログラム
７−１〜７−１８  リンク
１８Ａ  交換待ちキューバッファ
２２  待ちキューバッファ
３０  ＣＰＵ
３２  ブリッジ回路
３４  メモリ
３８  インフィニバンドカード
【図１】
0005477112.tif 000002
【図２】
0005477112.tif 000003
【図３】
0005477112.tif 000004
【図４】
0005477112.tif 000005
【図５】
0005477112.tif 000006
【図６】
0005477112.tif 000007
【図７】
0005477112.tif 000008
【図８】
0005477112.tif 000009
【図９】
0005477112.tif 000010
【図１０】
0005477112.tif 000011
【図１１】
0005477112.tif 000012
【図１２】
0005477112.tif 000013
【図１３】
0005477112.tif 000014
【図１４】
0005477112.tif 000015
【図１５】
0005477112.tif 000016