(57)【要約】【課題】ノード間転送命令を規定データ量毎に命令分解した上でノード間転送を行うメモリ分散マルチノードシステムにおいて、ネットワーク及びメモリアクセス経路上にかかる不要な負荷を軽減する。【解決手段】複数のノード間のデータ転送の際、データ転送先ノード内で命令に例外が検出された場合には、データ転送先ノードからデータ転送元ノードに命令分解停止指示を報告して、データ転送元ノードでの命令分解を停止することで、不要なノード間転送を抑止してネットワーク上の負荷を低減する。【選択図】図１
2013120450.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードと、
前記複数のノードの各々を接続するノード間スイッチと
を含み、
前記複数のノード間での命令のデータ転送の際、データ転送先ノード内で前記命令に例外が検出された場合には、前記データ転送先ノードからデータ転送元ノードに命令分解停止指示を報告して、前記データ転送元ノードでの命令分解を停止する
データ転送例外処理システム。
【請求項２】
請求項１に記載のデータ転送例外処理システムであって、
前記複数のノードの各々は、
前記命令を発行する命令発行部と、
前記命令をノード間データ転送単位であるブロックに分解する命令分解部と、
前記命令分解部で分解されたブロックの各々に対してメモリアクセス範囲がノード内メモリの容量を超えている場合、例外として検出し、前記命令分解部へ命令分解停止指示を報告すると共にメモリに対してデータ読み出しを行う例外検出部と、
前記メモリから読み出したデータを付与されたブロックを前記ノード間スイッチへ送出するブロック送出部と、
前記ノード間スイッチからの命令分解停止指示を受信する停止指示受信部と
を具備し、
前記命令分解部は、前記例外検出部及び前記停止指示受信部のいずれかから命令分解停止指示を受信した場合には、前記命令の分解を終了する
データ転送例外処理システム。
【請求項３】
請求項２に記載のデータ転送例外処理システムであって、
前記複数のノードの各々は、
前記ノード間スイッチからのデータ付きブロックを受信するブロック受信部と、
前記例外検出部からの命令分解停止指示を前記ノード間スイッチへ送出する命令分解停止送出部と
を更に具備し、
前記例外検出部は、前記ブロック受信部が受信したブロックに対してメモリアクセス範囲がノード内メモリの容量を超えている場合、例外として検出し、例外が検出された場合には前記命令分解停止送出部へ命令分解停止指示を報告すると共に前記ブロックを廃棄し、例外が検出されていない場合には前記メモリへデータ書き込みを行う
データ転送例外処理システム。
【請求項４】
ノード間スイッチを介して、複数のノード間での命令のデータ転送を行うことと、
前記複数のノード間での命令のデータ転送の際、データ転送先ノード内で前記命令に例外が検出された場合には、前記データ転送先ノードからデータ転送元ノードに命令分解停止指示を報告して、前記データ転送元ノードでの命令分解を停止することと
を含む
データ転送例外処理方法。
【請求項５】
請求項４に記載のデータ転送例外処理方法であって、
前記複数のノードの各々が、
前記命令を発行することと、
前記命令をノード間データ転送単位であるブロックに分解することと、
前記分解されたブロックの各々に対してメモリアクセス範囲がノード内メモリの容量を超えている場合、例外として検出し、命令分解停止指示を発生すると共にメモリに対してデータ読み出しを行うことと、
前記メモリから読み出したデータを付与されたブロックを前記ノード間スイッチへ送出することと、
前記ノード間スイッチからの命令分解停止指示を受信することと、
当該ノード内で発生した命令分解停止指示及び前記ノード間スイッチから受信した命令分解停止指示のいずれかを取得した場合には、前記命令の分解を終了することと
を更に含む
データ転送例外処理方法。
【請求項６】
請求項５に記載のデータ転送例外処理方法であって、
前記複数のノードの各々は、
前記ノード間スイッチからのデータ付きブロックを受信することと、
前記受信したブロックに対してメモリアクセス範囲がノード内メモリの容量を超えている場合、例外として検出することと、
例外が検出された場合には、命令分解停止指示を発生すると共に前記ブロックを廃棄することと、
例外が検出されていない場合には、前記メモリへデータ書き込みを行うことと、
当該ノード内で発生した命令分解停止指示を前記ノード間スイッチへ送出することと
を更に含む
データ転送例外処理方法。
【請求項７】
ノードとなる計算機により実行されるプログラムであって、
ノード間スイッチを介して、他のノードとの間で命令のデータ転送を行うステップと、
当該ノードがデータ転送先ノードである場合、前記命令における例外の有無を検出するステップと、
命令に例外が検出された場合には、データ転送元ノードに命令分解停止指示を報告して、前記データ転送元ノードでの命令分解を停止するステップと
を計算機に実行させるための
プログラム。
【請求項８】
請求項７に記載のプログラムであって、
前記命令を発行するステップと、
前記命令をノード間データ転送単位であるブロックに分解するステップと、
前記分解されたブロックの各々に対してメモリアクセス範囲がノード内メモリの容量を超えている場合、例外として検出し、命令分解停止指示を発生すると共にメモリに対してデータ読み出しを行うステップと、
前記メモリから読み出したデータを付与されたブロックを前記ノード間スイッチへ送出するステップと、
前記ノード間スイッチからの命令分解停止指示を受信するステップと、
当該ノード内で発生した命令分解停止指示及び前記ノード間スイッチから受信した命令分解停止指示のいずれかを取得した場合には、前記命令の分解を終了するステップと
を更に計算機に実行させるための
プログラム。
【請求項９】
請求項８に記載のプログラムであって、
前記ノード間スイッチからのデータ付きブロックを受信するステップと、
前記受信したブロックに対してメモリアクセス範囲がノード内メモリの容量を超えている場合、例外として検出するステップと、
例外が検出された場合には、命令分解停止指示を発生すると共に前記ブロックを廃棄するステップと、
例外が検出されていない場合には、前記メモリへデータ書き込みを行うステップと、
当該ノード内で発生した命令分解停止指示を前記ノード間スイッチへ送出するステップと
を更に計算機に実行させるための
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送例外処理システムに関し、特にメモリ分散マルチノードシステムにおけるデータ転送装置の例外処理方法に関する。
【背景技術】
【０００２】
従来のメモリ分散マルチノードシステムでは、データ転送先ノード内で、命令（ＲＱ：Ｒｅｑｕｅｓｔ）をブロック（ＢＬＫ：Ｂｌｏｃｋ）に分解する「ＲＱ分解」を行い、データ転送元ノードからデータ転送先ノードへ命令（ＲＱ）の全データ（全ブロック）の転送を行っていた。
【０００３】
データ転送先ノードは、データ転送元ノードから受信したブロック（ＢＬＫ）に例外が検出された場合には、例外が検出されたブロック（ＢＬＫ：Ｂｌｏｃｋ）を廃棄するのみであった。
【０００４】
そのため、データ転送元ノードは、データ転送先ノード内で例外が検出された場合であっても、通常と変わらずに命令（ＲＱ）に対してＲＱ分解を継続し、データ転送元ノードから転送先ノードへ命令（ＲＱ）の全データ（全ブロック）の転送を行い、ネットワーク及びノード内のメモリアクセス経路上に不要な負荷をかけていた。
【０００５】
関連する技術として、特許文献１（特開２０１１−０９１６９３号公報）にデータ通信システムが開示されている。このデータ通信システムは、データ送信装置と、パケット交換ネットワークを介してデータ送信装置に接続されたデータ受信装置とを備える。データ送信装置は、データパケットを生成するパケット生成部と、データパケットをデータ受信装置に向けて送信するデータ送信部と、データ送信の完了を判定する命令終了判定部とを有する。データ受信装置は、データパケットの各々の受信が完了する毎にリプライ情報を発行するメモリリクエスト制御部と、リプライ情報の数をカウントし、そのカウント値を保持するリプライ制御部と、リプライ情報に関するカウント値を含むリプライパケットを生成するリプライ生成部とを有する。命令終了判定部は、データパケットの数と、リプライパケットに含まれるカウント値とに基づいて、データ送信の完了を判定する。
【０００６】
しかし、特許文献１の関連技術では、例外が発生するとリプライ情報に載せてデータ転送元ノードへ報告されるが、データ転送元ノード内の命令分解部は分解を停止していない。
【０００７】
また、特許文献２（特開２０１１−１４６７６１号公報）にマルチノードシステムが開示されている。このマルチノードシステムは、命令処理情報を送信するノードと命令処理情報をノードへ転送するノード間スイッチとを備える。ノードは、命令処理情報を複数のブロックに分解する命令分解部と、複数のブロックをノード間スイッチへ送信するブロック送信部と、分解されたブロックの数と、複数のブロックに対する応答信号の数とに基づいて当該複数のブロックの送信処理が正常に終了したか否かを判断する判断部とを有する。ノード間スイッチは、ノードにおいて障害が発生した場合に、ブロックに対する応答信号をノードの代わりに生成し、ノードへ送信する応答信号生成部を有する。
【０００８】
しかし、特許文献２の関連技術では、障害発生時にはシステムは停止しており、継続動作していない。すなわち、障害発生時にブロック分解を中止するだけで、その後の動作保障はしていない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−０９１６９３号公報
【特許文献２】特開２０１１−１４６７６１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、データ転送先ノード内で命令に例外が検出された場合にデータ転送元ノードへＲＱ分解停止指示を報告し、データ転送先ノードからのＲＱ分解停止指示を受信した場合にはＲＱ分解を停止するデータ転送例外処理システムを提供することである。
【課題を解決するための手段】
【００１１】
本発明に係るデータ転送例外処理システムは、複数のノードと、複数のノードの各々を接続するノード間スイッチとを含む。複数のノード間のデータ転送の際、データ転送先ノード内で命令に例外が検出された場合には、データ転送先ノードからデータ転送元ノードに命令分解停止指示を報告して、データ転送元ノードでの命令分解を停止する。
【００１２】
本発明に係るデータ転送例外処理方法は、ノード間スイッチを介して、複数のノード間のデータ転送を行うことと、複数のノード間のデータ転送の際、データ転送先ノード内で命令に例外が検出された場合には、データ転送先ノードからデータ転送元ノードに命令分解停止指示を報告して、データ転送元ノードでの命令分解を停止することと
を含む。
【００１３】
本発明に係るプログラムは、ノードとなる計算機により実行されるプログラムであって、ノード間スイッチを介して、他のノードとの間でデータ転送を行うステップと、当該ノードがデータ転送先ノードである場合、命令における例外の有無を検出するステップと、命令に例外が検出された場合には、データ転送元ノードに命令分解停止指示を報告して、データ転送元ノードでの命令分解を停止するステップとを計算機に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
【発明の効果】
【００１４】
データ転送先ノード内で命令に例外が検出された場合には、データ転送元ノードにＲＱ分解停止指示を報告して命令分解を停止することにより、不要なノード間転送を抑止してネットワーク上の負荷を低減する。
【図面の簡単な説明】
【００１５】
【図１】本発明に係るデータ転送例外処理システムの構成例を示す図である。
【図２】本発明に係るデータ転送例外処理システムの動作例を示す図である。
【図３】本発明における例外処理の流れの例を説明するためのタイミングチャートである。
【発明を実施するための形態】
【００１６】
＜実施形態＞
以下に、本発明の実施形態について添付図面を参照して説明する。
【００１７】
［システムの構成］
図１を参照して、本発明に係るデータ転送例外処理システムの構成例について説明する。
【００１８】
本発明に係るデータ転送例外処理システムは、ノード１０（１０−ｉ、ｉ＝１〜ｎ：ｎは任意）と、ノード間スイッチ２０を含む。
【００１９】
ノード１０（１０−ｉ、ｉ＝１〜ｎ）の各々は、同一の回路を有し、分散メモリを含む。ノード間スイッチ２０は、ノード１０（１０−ｉ、ｉ＝１〜ｎ）の各々を接続する。
【００２０】
［ノードの構成］
続いて、ノード１０（１０−ｉ、ｉ＝１〜ｎ）の各々の構成例について説明する。
【００２１】
ノード１０（１０−ｉ、ｉ＝１〜ｎ）の各々は、データ転送元ノード処理部１１と、データ転送先ノード処理部１２と、メモリ１３を備える。
【００２２】
データ転送元ノード処理部１１は、データ転送元ノードとしての処理を行う。データ転送先ノード処理部１２は、データ転送先ノードとしての処理を行う。メモリ１３は、ノード内の分散メモリである。
【００２３】
［データ転送元ノード処理部の構成］
続いて、データ転送元ノード処理部１１の構成例について説明する。
【００２４】
データ転送元ノード処理部１１は、ＲＱ発行部１１１と、ＲＱ分解部１１２と、例外検出部１１３と、ＢＬＫ送出部１１４と、ＲＱ分解停止指示受信部１１５を備える。
【００２５】
ＲＱ発行部１１１は、命令（ＲＱ）を発行し、発行した命令（ＲＱ）をＲＱ分解部１１２へ送出する。
【００２６】
ＲＱ分解部１１２は、ＲＱ発行部１１１からの命令（ＲＱ）に対してＲＱ分解を行い、命令（ＲＱ）をノード間データ転送単位であるブロック（ＢＬＫ）に分解する。なお、ＲＱ分解部１１２は、同一ノード内の例外検出部１１３又はＲＱ分解停止指示受信部１１５からＲＱ分解停止指示を受信した場合には、ＲＱ分解を終了する。
【００２７】
例外検出部１１３は、ＲＱ分解部１１２で分解されたブロック（ＢＬＫ）の各々に対して、メモリアクセス範囲がメモリ１３の容量を超えている場合等の例外の有無を検出する。例外検出部１１３は、例外が検出された場合には、ＲＱ分解部１１２へＲＱ分解停止指示を報告（通知）すると共に、メモリ１３に対してデータ読み出し（Ｒｅａｄ）を行う。このとき、例外検出部１１３は、メモリ１３から読み出したデータをブロック（ＢＬＫ）の各々に付与して、データ付きブロック（ＢＬＫ）を生成する。
【００２８】
ＢＬＫ送出部１１４は、メモリ１３から読み出したデータが付与されたデータ付きブロック（ＢＬＫ）を、ノード間スイッチ２０へ送出する。
【００２９】
ＲＱ分解停止指示受信部１１５は、ノード間スイッチ２０からのＲＱ分解停止指示を受信する。
【００３０】
［データ転送先ノード処理部の構成］
続いて、データ転送先ノード処理部１２の構成例について説明する。
【００３１】
データ転送先ノード処理部１２は、ＢＬＫ受信部１２１と、例外検出部１２２と、ＲＱ分解停止送出部１２３を備える。
【００３２】
ＢＬＫ受信部１２１は、ノード間スイッチ２０からのデータ付きブロック（ＢＬＫ）を受信して例外検出部１２２へ送出する。
【００３３】
例外検出部１２２は、ＢＬＫ受信部１２１が受信したブロック（ＢＬＫ）に対して、メモリアクセス範囲がメモリ１３の容量を超えている場合等の例外の有無を検出する。例外検出部１２２は、例外が検出された場合には、ＲＱ分解停止送出部１２３へＲＱ分解停止指示を報告すると共に、データ付きブロック（ＢＬＫ）を廃棄する。また、例外検出部１２２は、例外が検出されていない場合には、メモリ１３に対してデータ書き込み（Ｗｒｉｔｅ）を行う。なお、例外検出部１２２は、例外検出部１１３と共通でも良い。
【００３４】
ＲＱ分解停止送出部１２３は、例外検出部１２２からのＲＱ分解停止指示をノード間スイッチ２０へ送出する。
【００３５】
［ノード間スイッチの構成］
続いて、ノード間スイッチ２０の構成例について説明する。
【００３６】
ノード間スイッチ２０は、ＢＬＫ転送部２１と、ＲＱ分解停止指示転送部２２を備える。
【００３７】
ＢＬＫ転送部２１は、データ転送元ノードから受信したデータ付きブロック（ＢＬＫ）をデータ転送先ノードへ転送する。
【００３８】
ＲＱ分解停止指示転送部２２は、データ転送先ノードからのＲＱ分解停止指示をデータ転送元ノードへ転送する。
【００３９】
［ハードウェアの例示］
以下に、本発明に係るネットワークシステムを実現するための具体的なハードウェアの例について説明する。
【００４０】
ノード１０（１０−ｉ、ｉ＝１〜ｎ）の各々の例として、ＰＣ（パソコン）、アプライアンス（ａｐｐｌｉａｎｃｅ）、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を始め、携帯電話機、スマートフォン、スマートブック、カーナビ（カーナビゲーションシステム）、携帯型ゲーム機、家庭用ゲーム機、携帯型音楽プレーヤー、ハンディターミナル、ガジェット（電子機器）、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電（ｉｎｆｏｒｍａｔｉｏｎ  ｈｏｍｅ  ａｐｐｌｉａｎｃｅ）、ＯＡ（Ｏｆｆｉｃｅ  Ａｕｔｏｍａｔｉｏｎ）機器、店頭端末・高機能コピー機、デジタルサイネージ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｇｅ：電子看板）等が考えられる。ノード１０（１０−ｉ、ｉ＝１〜ｎ）の各々は、車両や船舶、航空機等の移動体に搭載されていても良い。なお、ノード１０（１０−ｉ、ｉ＝１〜ｎ）の各々は、端末やサーバに限らず、中継機器や周辺機器でも良い。また、ノード１０（１０−ｉ、ｉ＝１〜ｎ）の各々は、計算機等に搭載される拡張ボードや、物理マシン上に構築された仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）でも良い。
【００４１】
ノード間スイッチ２０の例として、ネットワークスイッチ（ｎｅｔｗｏｒｋ  ｓｗｉｔｃｈ）、ルータ（ｒｏｕｔｅｒ）、プロキシ（ｐｒｏｘｙ）、ゲートウェイ（ｇａｔｅｗａｙ）、ファイアウォール（ｆｉｒｅｗａｌｌ）、ロードバランサ（ｌｏａｄ  ｂａｌａｎｃｅｒ：負荷分散装置）、帯域制御装置（ｐａｃｋｅｔ  ｓｈａｐｅｒ）、セキュリティ監視制御装置（ＳＣＡＤＡ：Ｓｕｐｅｒｖｉｓｏｒｙ  Ｃｏｎｔｒｏｌ  Ａｎｄ  Ｄａｔａ  Ａｃｑｕｉｓｉｔｉｏｎ）、ゲートキーパー（ｇａｔｅｋｅｅｐｅｒ）、基地局（ｂａｓｅ  ｓｔａｔｉｏｎ）、アクセスポイント（ＡＰ：Ａｃｃｅｓｓ  Ｐｏｉｎｔ）、通信衛星（ＣＳ：Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ）、或いは、複数の通信ポートを有する計算機等が考えられる。また、物理マシン上に構築された仮想マシン（ＶＭ）により実現される仮想スイッチでも良い。
【００４２】
ノード１０（１０−ｉ、ｉ＝１〜ｎ）及びノード間スイッチ２０の各々は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。
【００４３】
上記のプロセッサの例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ネットワークプロセッサ（ＮＰ：Ｎｅｔｗｏｒｋ  Ｐｒｏｃｅｓｓｏｒ）、マイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）、マイクロコントローラ（ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ）、或いは、専用の機能を有する半導体集積回路（ＬＳＩ：Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等が考えられる。
【００４４】
上記のメモリの例として、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等の半導体記憶装置、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の補助記憶装置、又は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のリムーバブルディスクや、ＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等の記憶媒体（メディア）等が考えられる。また、バッファ（ｂｕｆｆｅｒ）やレジスタ（ｒｅｇｉｓｔｅｒ）等でも良い。或いは、ＤＡＳ（Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＦＣ−ＳＡＮ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＩＰ−ＳＡＮ（ＩＰ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等を用いたストレージ装置でも良い。
【００４５】
なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の１チップ化が進んでいる。従って、電子機器等に搭載される１チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例も考えられる。
【００４６】
上記のインターフェースの例として、ネットワーク通信に対応した基板（マザーボード、Ｉ／Ｏボード）やチップ等の半導体集積回路、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口（コネクタ）等の通信ポート等が考えられる。
【００４７】
また、ネットワークの例として、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、バックボーン（Ｂａｃｋｂｏｎｅ）、ケーブルテレビ（ＣＡＴＶ）回線、固定電話網、携帯電話網、ＷｉＭＡＸ（ＩＥＥＥ  ８０２．１６ａ）、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）、専用線（ｌｅａｓｅ  ｌｉｎｅ）、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、シリアル通信回線、データバス等が考えられる。
【００４８】
なお、ノード１０（１０−ｉ、ｉ＝１〜ｎ）及びノード間スイッチ２０の各々の内部の構成要素は、モジュール（ｍｏｄｕｌｅ）、コンポーネント（ｃｏｍｐｏｎｅｎｔ）、或いは専用デバイス、又はこれらの起動（呼出）プログラムでも良い。
【００４９】
但し、実際には、これらの例に限定されない。
【００５０】
［例外処理］
図２、図３を参照して、本発明における例外処理の流れの例について説明する。
【００５１】
ここでは、ノード１０（１０−ｉ、ｉ＝１〜ｎ）の例として、データ転送元ノード１０−１と、データ転送先ノード１０−２を示す。データ転送元ノード１０−１は、ノード１０（１０−ｉ、ｉ＝１〜ｎ）のうち、データの転送元となるノードを指す。データ転送先ノード１０−２は、ノード１０（１０−ｉ、ｉ＝１〜ｎ）のうち、データの転送先となるノードを指す。
【００５２】
データ転送元ノード１０−１内において、命令（ＲＱ）を複数のブロック（ＢＬＫ）にＲＱ分解した上で、データ転送元ノード１０−１内メモリデータを読み出し、ノード間スイッチ２０を経由してデータ転送先ノード１０−２へ転送する。また、データ転送先ノード１０−２内において、ブロック（ＢＬＫ）に例外を検出する。
【００５３】
［Ｔ１］
Ｔ１において、データ転送元ノード１０−１のＲＱ発行部１１１は、命令（ＲＱ）を発行し、ＲＱ分解部１１２へ送出する。
【００５４】
［Ｔ２］
Ｔ２以降において、データ転送元ノード１０−１のＲＱ分解部１１２は、ＲＱ発行部１１１から受信した命令（ＲＱ）をノード間データ転送単位であるブロック（ＢＬＫ）である「Ｂ１」〜「Ｂ１２」に分解する。
【００５５】
［Ｔ３］
Ｔ３以降において、データ転送元ノード１０−１の例外検出部１１３は、ＲＱ分解部１１２から受信したブロック（ＢＬＫ）である「Ｂ１」〜「Ｂ１２」に対して例外判定（例外の有無の検出）を行う。このとき、例外検出部１１３は、例外が検出されない場合には、ＲＱ分解部１１２へＲＱ分解停止指示を報告しない。
【００５６】
［Ｔ４］
Ｔ４以降において、データ転送元ノード１０−１のメモリ１３は、例外検出部１１３からのデータ読み出し要求に応じて、「Ｂ１」〜「Ｂ１２」が示すアドレスのデータを提供する。すなわち、例外検出部１１３は、「Ｂ１」〜「Ｂ１２」が示すアドレスのデータを、メモリ１３から読み出す。このとき、例外検出部１１３は、メモリ１３から読み出したデータを「Ｂ１」〜「Ｂ１２」に付与する。これにより、「Ｂ１」〜「Ｂ１２」は、データ付きブロック（ＢＬＫ）となる。
【００５７】
［Ｔ５］
Ｔ５以降において、データ転送元ノード１０−１のＢＬＫ送出部１１４は、データ付きブロック（ＢＬＫ）である「Ｂ１」〜「Ｂ１２」をノード間スイッチ２０へ送出する。
【００５８】
［Ｔ６］
Ｔ６以降において、ノード間スイッチ２０のＢＬＫ転送部２１は、データ転送元ノード１０−１からデータ付きブロック（ＢＬＫ）である「Ｂ１」〜「Ｂ１２」を受信し、受信した「Ｂ１」〜「Ｂ１２」をデータ転送先ノード１０−２へ送出する。
【００５９】
［Ｔ７］
Ｔ７以降において、データ転送先ノード１０−２のＢＬＫ受信部１２１は、ノード間スイッチ２０からデータ付きブロック（ＢＬＫ）である「Ｂ１」〜「Ｂ１２」を受信する。
【００６０】
［Ｔ８］
Ｔ８以降において、データ転送先ノード１０−２の例外検出部１２２は、ＢＬＫ受信部１２１から受信したデータ付きブロック（ＢＬＫ）である「Ｂ１」〜「Ｂ１２」に対して例外判定（例外の有無の検出）を行う。ここでは、例外検出部１２２は、例外が検出されないブロック（ＢＬＫ）である「Ｂ１」〜「Ｂ２」については、メモリ１３へ送出する。また、例外が検出されたブロック（ＢＬＫ）である「Ｂ３」〜「Ｂ１２］については、メモリ１３へ送出せずに廃棄すると共に、ＲＱ分解停止送出部１２３へ「Ｂ３」〜「Ｂ１２］のＲＱ分解停止指示を報告する。
【００６１】
［Ｔ９］
Ｔ９において、データ転送先ノード１０−２のメモリ１３は、例外検出部１２２からのデータ書き込み要求に応じて、例外検出部１２２から受信した「Ｂ１」が示すアドレスにデータを格納する。すなわち、例外検出部１２２は、メモリ１３に対して、「Ｂ１」が示すアドレスにデータを書き込む。
【００６２】
［Ｔ１０］
同様に、Ｔ１０において、データ転送先ノード１０−２のメモリ１３は、例外検出部１２２からのデータ書き込み要求に応じて、「Ｂ２」が示すアドレスにデータを格納する。すなわち、例外検出部１２２は、メモリ１３に対して、「Ｂ２」が示すアドレスにデータを書き込む。
【００６３】
［Ｔ１１］
Ｔ１１以降において、データ転送先ノード１０−２のＲＱ分解停止送出部１２３は、例外検出部１２２から受信した「Ｂ３」〜「Ｂ１２］のＲＱ分解停止指示をノード間スイッチ２０へ送出する。
【００６４】
［Ｔ１２］
Ｔ１２以降において、ノード間スイッチ２０のＲＱ分解停止指示転送部２２は、データ転送先ノード１０−２から「Ｂ３」〜「Ｂ１２］のＲＱ分解停止指示を受信し、受信した「Ｂ３」〜「Ｂ１２］のＲＱ分解停止指示をデータ転送元ノード１０−１へ送出する。
【００６５】
［Ｔ１３］
Ｔ１３以降において、データ転送元ノード１０−１のＲＱ分解停止指示受信部１１５は、ノード間スイッチ２０からの「Ｂ３」〜「Ｂ１２］のＲＱ分解停止指示を受信する。
【００６６】
［Ｔ１４］
Ｔ１４において、データ転送元ノード１０−１のＲＱ分解部１１２は、ＲＱ分解停止指示受信部１１５からの「Ｂ３」〜「Ｂ１２］のＲＱ分解停止指示を受信して、「Ｂ３」〜「Ｂ１２］のＲＱ分解を終了する。
【００６７】
＜補足＞
図２、図３に示す例外処理において、データ転送元ノード１０−１及びデータ転送先ノード１０−２は、それぞれ複数でも良い。
【００６８】
また、図２、図３に示す例外処理において、データ転送先ノード１０−２は、ノード間スイッチ２０を介して、ＲＱ分解停止指示をデータ転送元ノード１０−１に送信しているが、実際には、データ転送元ノード１０−１に限らず、他のノードに送信しても良い。例えば、データ転送元ノードが複数のデータ転送先ノードに命令（ＲＱ）を送信している場合、１つのデータ転送先ノードが、データ転送元ノードのみならず、他のデータ転送先ノードに対しても、ＲＱ分解停止指示を送信するようにしても良い。
【００６９】
＜本発明の特徴＞
以上のように、本発明は、ノード間転送命令を規定データ量毎に命令分解した上でノード間転送を行うメモリ分散マルチノードシステムにおいて、データ転送先ノード内で命令に例外が検出された場合には、データ転送元ノードにＲＱ分解停止指示を報告して命令分解を停止することで、不要なノード間転送を抑止してネットワーク上の負荷を低減することを特徴とする。
【００７０】
本発明においては、例外発生時には可能な限りシステムが継続動作することが望ましく、継続動作するために命令の終了動作を含めた制御を行う。例えば、命令の終了状態をメモリへ書き込むような命令の場合には、命令分解を中止すると共に、メモリへ例外有り情報を含んだデータ値を書き込む。
【００７１】
これにより、ソフトウェア等については、その命令で例外が検出されたと認識して、その命令を含んだジョブ（命令列等）を廃棄して次のジョブの実行に移行することが可能になる。また、回路等については、例外命令を正常に（残骸等を残さずに）処理することで、次のジョブに対しても継続動作が可能になる。
【００７２】
＜備考＞
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【符号の説明】
【００７３】
１０（−ｉ、ｉ＝１〜ｎ）…  ノード
１０−１…  データ転送元ノード
１０−２…  データ転送先ノード
１１…  データ転送元ノード処理部
１１１…  ＲＱ発行部
１１２…  ＲＱ分解部
１１３…  例外検出部
１１４…  ＢＬＫ送出部
１１５…  ＲＱ分解停止指示受信部
１２…  データ転送先ノード処理部
１２１…  ＢＬＫ受信部
１２２…  例外検出部
１２３…  ＲＱ分解停止送出部
１３…  メモリ
２０…  ノード間スイッチ
２１…  ＢＬＫ転送部
２２…  ＲＱ分解停止指示転送部
【図１】
2013120450.tif 000003
【図２】
2013120450.tif 000004
【図３】
2013120450.tif 000005