説明

情報処理装置、データ転送方法、及び情報処理システム

【課題】送信データを効率よく転送する。
【解決手段】情報処理装置1は、スイッチ3により切替可能な複数のポートにより他のノード2Aと接続されている。この情報処理装置1は、コア12と、コア12からのデータ転送命令により他のノード2Aに転送する送信データ8、及びデータ転送命令を実行するために必要な制御情報であるパラメータ9を格納する主記憶部5と、データ転送命令を受けて、主記憶部5からパラメータ9及び送信データ8を読み出し、当該パラメータ9に基づき送信データ8を送信するノード間通信制御部11とを備える。ノード間通信制御部11は、各データ転送命令に対応するパラメータを主記憶部5から読み出すための情報(ポインタ)を保持し、ポートに障害が発生してデータ転送が異常終了した場合、ジョブを強制終了することなく、上記ポインタに基づき異常終了したデータ転送命令を再度実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ノード間でデータ転送する情報処理システム、当該情報処理システムを構成する情報処理装置及びそのデータ転送方法に関する。
【背景技術】
【0002】
データを送受信する際に、ノード間を複数のパスで接続しておき、現在使用しているパスに何らかの異常が発生した場合、他のパスに切り替えてデータの送受信を行うシステムがある。
【0003】
図3は、従来の情報処理システムを示す図である。図3に示すように、従来の情報処理システム(計算機システム)100は、情報処理装置100と、複数のポート4を介して情報処理システム1と接続されるノード102A、102B、・・・102M(以下、特に区別する必要のないときは、ノード102という。)と、複数のポート104を切り替えるスイッチ103とを有している。
【0004】
スイッチ103は、あるポートが故障した場合にポートを切り替えて別経路で転送する機能を備える。
【0005】
情報処理装置100もノードの1つである。情報処理装置100及びノード102は、演算処理部110及び主記憶部104を有する。演算処理部110は、コア112及びノード間通信制御部111を有する。
【0006】
コア112は、データ転送命令を発行する。主記憶部105は、データ転送命令により他のノード102に転送する送信データ108、及びデータ転送命令を実行するために必要な制御情報であるパラメータ109を格納する。ノード間通信制御部111は、コア112からのデータ転送命令を受けて、主記憶部104からパラメータ109及び送信データ108を読み出し、パラメータ109に基づき送信データ108を他のノード102に送信する。
【0007】
主記憶部105は、さらに、送信データの送信状況を書き込むステータスエリア107を有している。ノード間通信制御部111は、ステータスエリア107に書き込まれた情報に基づき命令終了を判断するようソフトウェア制御される。ノード間通信制御部111は、一のデータ転送命令を終了すると、一の終了報告をステータスエリア107に書き込む。ここで、スイッチ103がポートの障害を検出すると、ノード間通信制御部111は、この障害情報を受け取り、ステータスエリア107にハードウェア障害が生じたこと記録する。
【0008】
他の従来技術としては、下記のものが公知である。特許文献1には、周辺装置の試験方法の技術が記載されている。特許文献1に記載の技術は、周辺装置を試験する試験プログラムと、この試験プログラムを実行するCPUとを有する。CPUは、入出力動作指示手段を有し、この入出力動作指示手段により、周辺処理装置及びチャネルを介して入出力処理装置と接続された周辺装置に対し、試験プログラムからの入出力動作を入出力処理装置に指示する。そして、入出力処理装置、チャネル又は周辺処理装置に障害が発生した時に、周辺装置の試験が異常終了してしまうことを防止するものである。
【0009】
特許文献2には、イーサネット(登録商標)を介して対抗機と通信を行うコールサーバであって、運用ポートと待機ポートの2重化ポート構造を備えたコールサーバが記載されている。当該コールサーバは、PCI(Peripheral components Interconnect)バスのバスマスタ制御により運用ポート(ポートA)と待機ポート(ポートB)を切り替えるとともに、ARP(Address Resolution Protocol)プロトコルのパケットをルータ(対抗機)に送信し、ルータ(対抗機)のルーティングテーブル(MACアドレステーブル)を変更させ、ルータのポートの切り替えを実行させるポート切り替え手段を備える。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開平3−266155号公報
【特許文献2】特開2003−348128号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
図3に示す従来の情報処理システムにおいては、スイッチ103のスイッチ回路のポートで固定故障(障害)が発生した場合、ポートを切り替えて別経路を使用してデータ転送を行うことができる。しかしながら、ポートで障害が生じると、障害発生時に実行していたジョブは異常終了し、ノード間通信制御部111は、ステータスエリア107にHW障害(HW障害#2)を書き込む。これによりソフトウェアに障害が報告されるため、ジョブはキャンセルされ、最初からジョブを再度実行することとなり、データ転送の際の時間のロスが大きいという問題点がある。
【0012】
また、特許文献1に記載の技術では、出力された結果が異常である場合、別のパスを使用し、実行中のプログラムは一旦停止、プログラムを最初から再実行することで周辺機器のテストを行う。よって、時間のロスが大きいという問題点がある。
【0013】
さらに、特許文献2に記載の技術では、ポートに障害が発生した際には予備のポートに切り替えるが、上述と同様、通常はハードウェア障害が発生するとジョブは強制終了され、あらためて最初からジョブを実行しなければならず、時間のロスが大きいという問題点がある。
【課題を解決するための手段】
【0014】
本発明にかかる情報処理装置は、スイッチにより切替可能な複数のポートにより他のノードと接続された情報処理装置であって、データ転送命令を発行するコアと、前記データ転送命令により前記他のノードに転送する送信データ、及び前記データ転送命令を実行するために必要な制御情報であるパラメータを格納する主記憶部と、前記コアからの前記データ転送命令を受けて、前記主記憶部から前記パラメータ及び送信データを読み出し、当該パラメータに基づき送信データを前記他のノードに送信するノード間通信制御部とを備え、一のポートに障害が発生して一のデータ転送命令が異常終了した場合、ジョブを強制終了することなく、前記異常終了したデータ転送命令を再実行するものであって、前記ノード間通信制御部は、各データ転送命令に対応する前記パラメータを主記憶部から読み出すための情報を保持し、前記障害が発生すると、当該情報に基づき、前記異常終了したデータ転送命令を実行するためのパラメータを前記主記憶部から読み出し当該データ転送命令を再実行するものである。
【0015】
本発明にかかるデータ転送方法は、スイッチにより切替可能な複数のポートにより他のノードと接続された情報処理装置のデータ転送方法であって、前記他のノードに送信データの転送を指示するデータ転送命令を受けて、送信データ、及び前記データ転送命令を実行するために必要な制御情報であるパラメータが格納された主記憶部から前記パラメータを読み出すと共に、各データ転送命令に対応するパラメータを前記主記憶部から読み出すための情報を保持しておき、前記読み出したパラメータに基づき前記主記憶部から前記送信データを読み出して前記他のノードに送信し、一のポートに障害が発生して一のデータ転送命令が異常終了した場合には、ジョブを強制終了することなく、前記パラメータを前記主記憶部から読み出すための情報に基づき、前記異常終了したデータ転送命令のパラメータを前記主記憶部から読み出し当該データ転送命令を再実行するものである。
【0016】
本発明にかかる情報処理システムは、情報処理装置と、複数のポートにより前記情報処理装置と接続される他のノードと、前記複数のポートを切り替えるスイッチとを有し、前記情報処理装置は、データ転送命令を発行するコアと、前記データ転送命令により前記他のノードに転送する送信データ、及び前記データ転送命令を実行するために必要な制御情報であるパラメータを格納する主記憶部と、前記コアからの前記データ転送命令を受けて、前記主記憶部から前記パラメータ及び送信データを読み出し、当該パラメータに基づき送信データを前記他のノードに送信するノード間通信制御部とを備え、前記スイッチは、一のポートに障害が発生した場合、使用するポートを他のポートに切換え、前記ノード間通信制御部は、各データ転送命令に対応する前記パラメータを主記憶部から読み出すための情報を保持し、前記障害が発生してもジョブを強制終了することなく、当該情報に基づき、前記障害の発生により異常終了したデータ転送命令を実行するためのパラメータを前記主記憶部から読み出し当該データ転送命令を再実行するものである。
【発明の効果】
【0017】
本願発明によれば、送信データを効率よく転送することができる情報処理システム、当該情報処理システムを構成する情報処理装置及びそのデータ転送方法を提供することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の実施の形態にかかる情報送信システムを示すブロック図である。
【図2】本発明の実施の形態にかかる情報送信システムの詳細を示すブロック図である。
【図3】従来の情報処理システムを示すブロック図である。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明の実施の形態について説明する。図1は、本実施の形態にかかる情報送信システムを示すブロック図である。図1に示すように、本発明の実施の形態にかかる情報処理システム(計算機システム)1は、情報処理装置1と、複数のポート4を介して情報処理システム1と接続されるノード2A、2B、・・・2M(以下、特に区別する必要のないときは、ノード2という。)と、複数のポート4を切り替えるスイッチ3とを有している。なお、本実施の形態においては、ノード2も情報処理装置1と同様の構成として説明するが、ノード2の機能としては、少なくとも情報処理装置1から転送される送信データを受信できる機能があればよい。
【0020】
情報処理装置1は、演算処理部10及び主記憶部5を有する。演算処理部10は、コア12及びノード間通信制御部11を有する。
【0021】
コア12は、データ転送命令を発行する。主記憶部5は、データ転送命令により他のノード2に転送する送信データ8、及びデータ転送命令を実行するために必要な制御情報であるパラメータ9を格納する。ノード間通信制御部11は、コア12からのデータ転送命令を受けて、主記憶部5からパラメータ9及び送信データ8を読み出し、パラメータ9に基づき送信データ8を他のノード2に送信する。
【0022】
主記憶部5は、さらに、送信データの送信状況を書き込むステータスエリア7を有している。ノード間通信制御部1は、ステータスエリア7に書き込まれた情報に基づき命令終了を判断するようソフトウェア制御される。ノード間通信制御部1は、一のデータ転送命令を終了すると、一の終了報告をステータスエリア7に書き込む。
【0023】
スイッチ3は、あるポートが故障した場合にポートを切り替えて別経路で転送する機能を備える。このスイッチ3は、パリティチェック等によりポートの障害を検出する障害検出部32と、障害検出部32が一のポートの障害を検出すると、通信に使用するポートを他のポートに切り替えるポート切替部31と、障害検出部32がポートの障害を検出すると、使用中のポートに障害が発生したことを示す障害情報と、障害発生時に実行中であったデータ転送命令のIDとを、送信元である情報処理装置1に出力する送信部33とを有する。
【0024】
この情報処理装置1においては、コア12がデータ転送を指示する非同期データ転送命令を発行するが、この非同期データ転送命令の開始時、先ず、ソフトウェア処理として命令を実行するために必要な制御情報(以下、パラメータ9という。)を主記憶部の特定エリアに書き込み、そのアドレス情報であるポインタを、非同期データ転送命令としてノード間通信制御部11に入力する。ノード間通信制御部11はこのポインタを使用して主記憶部5からパラメータ9を読み出し、命令を組み立てた後、主記憶部5から送信データ8を読み出し、この送信データに、非同期データ転送命令を識別するための識別情報(ID)を付け、これをスイッチ3を介して他のノード2に転送する。ノード間通信制御部11は、命令保持部(図示せず)を有しており、この命令保持部に、上記ID毎に、ステータスエリア7に終了報告を書き込むためのアドレス情報等を含む命令情報と、パラメータのポインタとを対応づけて保持しておく。ノード間通信制御部11は、他のノード2での処理が終了し、一の非同期データ転送命令が正常に終了すると、スイッチ3を経由してIDを含むリプライを受け取る。そして、リプライのIDを元に命令保持部に保持してある命令情報から、正常終了した非同期データ転送命令に対応するステータスエリア7のアドレスを割り出して終了報告を書き込む。ソフトウェアはここを監視することで命令終了を判断する。
【0025】
一方、スイッチ3内のデータ転送経路で障害(HW障害)が発生し、スイッチ障害を示すリプライを受信するとデータ転送が異常終了する。ここで、本実施の形態におけるノード間通信制御部11は、ポートで障害が発生した場合であってもステータスエリア7にHW障害を書き込まない。そして、リプライに含まれるIDを元に命令保持部で保持している、障害時に実行中であった非同期データ転送命令を実行するためのパラメータのポインタを割り出す。ノード間通信制御部11は、命令保持部で割り出されたポインタを使用して、障害発生時に実行中であった非同期データ転送命令のパラメータ9を主記憶部5から読み出し、非同期データ転送命令を再度実行する。すなわち、パラメータ9に基づき送信データ8を主記憶部5から読み出し、IDと共に出力する。スイッチ3では、ポートが切り替えられ動作を続け別経路を使用してデータ転送が可能である。よってこの送信データは、別径路を経由してノード2に転送される。ノード間通信制御部11は、ノード2からリプライを受け取り、再実行した非同期データ転送命令が正常終了したら、主記憶部5のステータスエリア7に終了報告を書き込む。
【0026】
本実施の形態においては、ノード間通信制御部11は、各非同期データ転送命令のパラメータ9が主記憶部5のどこに記憶されているかを示すポインタを保持すると共に、ポートで障害が発生した場合であってもステータスエリア7にHW障害を書き込まない。ステータスエリア7にHW障害があったことを書き込まないため、従来のようにジョブがキャンセルされることがない。一方、障害発生時に実行中であった非同期データ転送命令を実行するためのパラメータ9のポインタは命令保持部から取得できるため、このポインタに基づき、パラメータ9を読み出すことができる。よって、このパラメータ9により、再度非同期データ転送命令を実行することができる。すなわち、ジョブの最初からではなく、障害発生時に実行中であった非同期データ転送命令から再実行すればよく、障害発生までに終了している非同期データ転送命令を再度行う必要がないため、データ転送時間のロスを低減することができる。
【0027】
次に、本実施の形態について更に詳細に説明する。図2は、本実施の形態にかかる情報処理装置1の詳細を示すブロック図である。
【0028】
図2に示すように、ノード間通信制御部11は、ID制御部14と、命令保持部17と、命令終了判定部19とを有する。ID制御部14は、各非同期データ転送命令の識別情報(例えばID#1〜#n)を決定する。命令保持部17は、各ID#1〜#nと、各ID#1〜#nに対応したポインタとを対応付けて保持する。ID#1〜#n及びこれに対応するポインタは、ID制御部14から入力される。ポインタとは、主記憶部5からパラメータ9を読み出すためのアドレス情報である。命令終了判定部19は、ノード間通信相手のノード2からリプライを受け取り、非同期データ転送命令の終了を判定する。命令終了判定部19は、各非同期データ転送命令によるデータ転送が終了する毎に、スイッチ3を介してリプライを受け取る。このリプライには、正常終了した非同期データ転送命令のID#1〜#nが含まれる。命令終了判定部19は、このID#1〜#nを命令保持部17に送る。命令保持部17は、このID#1〜#nの終了報告を主記憶部5のステータスエリア7のいずれのアドレスに書き込めばよいかを示す命令情報を保持しており、命令終了判定部19はこの命令情報を受け取り、この命令情報に基づきステータスエリア7にID#1〜#nに対応する終了報告を書き込む。
【0029】
ここで、ポートに障害が発生すると、命令終了判定部19がスイッチ3からその障害情報及び障害発生時に実行中であったデータ転送命令のID(ここでは、ID#3とする)を受け取り、そのID#3を命令保持部17に出力する。ここで、本実施の形態にかかる命令終了判定部19において、スイッチ3から障害情報及びID#3を受け取っても、ステータスエリア7に障害情報(HW障害)を書き込まない。命令保持部17には、命令終了判定部19から受け取ったID#3に対応するポインタが格納されている。ノード間通信制御部11は、このポインタに基づき、ID#3に対応するパラメータ9及び送信データ8を主記憶部5から読み出し、当該送信データを再送する。
【0030】
ノード間通信制御部11は、さらに、パラメータ制御部13と、命令発行部15及び命令組立部16からなる命令生成部と、データ送信部18とを有する。パラメータ制御部13は、コア12から非同期データ転送命令としてポインタを受け取り、このポインタに基づき、命令発行部15に命令を実行させるためのパラメータ読み出し指示を生成する。命令発行部15、パラメータ制御部13からパラメータ読み出し指示を受け取り、ID制御部14からIDを受け取る。命令発行部15は、このパラメータ読み出し指示及びIDに基づき、パラメータ9を読み出すためのパラメータ読み出し命令を生成する。このパラメータ読み出し命令により主記憶部5から読み出されたパラメータ9は、命令組立部16に入力される。命令組立部16は、パラメータに基づき、命令を組み立て命令発行部15に出力する。命令発行部15は、この命令を受けて、送信データを読み出すためのデータ読み出し命令を生成する。また、命令発行部15は、更に、各非同期データ転送命令が完了する毎にその終了報告を主記憶部5のステータスエリア7に記録するための命令情報(ステータスエリアでのアドレス情報等を含む)を、各非同期データ転送命令毎に生成し、対応するIDと共に命令保持部17に出力する。
【0031】
データ送信部18には、上記のデータ読み出し命令により、主記憶部5から送信する送信データ8とIDとが送られる。送信データ8は、送信データ8及びIDを他のノード2に出力する。なお、データ送信部18は、各ポートからへの出力を選択するセレクタを備えてもよい。同様に、命令終了判定部19においても、各ポートからの入力を選択するセレクタを備えてもよい。
【0032】
ここで、上述のようにポートに障害が発生すると、パラメータ制御部13は、命令保持部17からID#3に対応するポインタを受け取り、当該受け取ったポインタに基づき、パラメータ読み出し指示を再生成する。
【0033】
命令生成部は、再生成されたID#3に対応するパラメータ読み出し指示に基づきパラメータ9を読み出し、当該パラメータ9に基づきデータ読み出し命令を再生成する。
【0034】
データ送信部18は、再生成されたデータ読み出し命令により読み出された、障害発生時に送信中であった送信データ及びID(ID#3)を他のノード2に再送信する。
【0035】
また、パラメータ制御部13は、コア12からデータ転送命令を受け取るとカウントアップするライトポインタWP131と、データ転送命令を受けてパラメータ読み出し指示を生成するとカウントアップするリードポインタRP132とを有している。データ転送命令を受けてライトポインタWP131がカウントアップすると、ライトポインタWP131とリードポインタRP132のポインタ値が不一致となる。ポインタの値が不一致で未実行の命令がある場合に、パラメータ制御部13は、パラメータ読み出し指示を生成する。ここで、ID#3の非同期データ転送命令実行中に障害が発生した場合、命令保持部17からID#3のポインタを受け取り、リードポインタを当該受け取ったポインタの値に戻す。これにより、ライトポインタWP131とリードポインタRP132のポインタ値が不一致となるため、パラメータ制御部13は、リードポインタの値がライトポインタの値に一致するまでパラメータ読み出し指示を生成する。すなわち、現在ID#4の非同期データ転送命令を実行していた場合は、ID#0の非同期データ転送命令(ジョブの最初)からではなく、ID#3の非同期データ転送命令から命令を再実行する。
【0036】
次に、本実施の形態にかかる情報処理装置のデータ転送方法について説明する。コア12は、複数の非同期データ転送命令からなるジョブを実施する。なお、本実施の形態においては、ジョブを構成する命令は、非同期のデータ転送命令として説明するが、ノード間で同期してデータ転送してもよい。
【0037】
先ず、正常状態の動作について説明する。情報処理装置1(命令発行ノード)では、先ず、コア12が非同期データ転送命令を実行するためのパラメータ9を生成し、主記憶部5に書き込む。次に、コア12は、このパラメータ9のアドレスを示すポインタを非同期データ転送命令としてパラメータ制御部13に出力する。
【0038】
パラメータ制御部13は、コア12から非同期データ転送命令のポインタを受信すると、ライトポインタWP131をカウントアップする。パラメータ制御部13は、ライトポインタWP131≠リードポインタRP132の状態で主記憶部5に未実行のパラメータ7がある場合に、リードポインタRP132をカウントアップし、ID制御部14と命令保持部17に対してパラメータ読み出し指示を出力する。パラメータ読み出し指示にはポインタの情報が含まれる。
【0039】
ID制御部14は、現在実行中の非同期データ転送命令のIDを決定し(ここではID#2とする)、命令保持部17にID#2及びこれに対応するパラメータのポインタを出力し、命令発行部17にはID#2を通知する。命令発行部15では、パラメータ読み出し指示とID#2とを使用してパラメータ読み出し命令を生成する。ここで、ID#2のパラメータ9をパラメータ9(#2)とする。
【0040】
命令組立部16は、パラメータ読み出し命令により主記憶部5から読み出されたパラメータ9(#2)を使用して命令を組み立て、命令発行部15にその命令を送る。命令発行部15は、この命令に基づき、主記憶部5に対し、ID#2に対応する送信データを読み出すためのデータ読み出し命令を発行し、同時に命令保持部17に対し、このID#2と、これに対応する、ステータスエリア7のアドレス情報等を含む命令情報とを送る。こうして、命令保持部17には、ID毎のパラメータのポインタと命令情報とが保持される。データ送信部18は、データ読み出し命令により主記憶部5から読み出された送信データ8を、ID#2と共に受け取る。データ送信部18は、送信データにID#2を付加してスイッチ3を介してノード2に送信する。
【0041】
ノード2は、ID#2の非同期データ転送命令によるデータ転送により送信データを受け取ると、これを通知するリプライを情報処理装置1に対して送信する。このリプライにはID#2の情報が含まれる。命令終了判定部19は、正常にデータ転送が終了したID#2の情報を含むリプライを受け取ると、命令保持部17からD#2に対応する命令情報を受け取る。この命令情報には、終了報告を書き込むステータスエリア7のアドレス情報等が含まれ、この命令情報に基づき、命令終了判定部19は、ステータスエリア7の所定のアドレスに終了報告(終了報告#2)を書き込む。
【0042】
次に、ポートに障害が発生した場合について説明する。スイッチ3のスイッチ回路31bは、データ転送中にポートが故障しデータ転送が不可能な状態となると、転送中の送信データのID(ここではID#3とする)をリプライに付けて情報処理装置1に対して障害通知として送る。一方で、別経路でデータ転送を行えるようにするため、ポートを切り替える。
【0043】
命令終了判定部19は、スイッチの障害通知(ID#3の情報を含む)を受け取ると、命令終了判定部19から命令保持部17にこのID#3を通知する。命令保持部17では各IDのパラメータのポインタを保持しているので、障害時に実行中であった非同期データ転送命令のポインタを割り出し、すなわち本例においては、ID#3のポインタを読み出しパラメータ制御部13に出力する。パラメータ制御部13は、ID#3(障害時に実行中であった非同期データ転送命令)のポインタを受け取ると、リードポインタRP132の値をID#3の値まで戻す。これにより、ライトポインタWP131の値と不一致となり、パラメータ制御部13は、上述のようにID制御部14と命令保持部17に対してパラメータ読み出し指示を出力する。これを受けてその他のブロックも正常時と同様に動作し、障害発生時に実行中であったID#3の非同期データ転送命令を再実行する。
【0044】
以上説明したように、データ転送命令を実行中にスイッチ3のスイッチ回路31bのポートで固定障害が発生し、そのポートを使用してのデータ転送が不可能となるとデータ転送命令は異常終了するが、スイッチ回路31bはポートを切り替え別ポートにてデータ転送が可能である。本実施の形態においては、各命令のID毎にポインタを記憶しているため、異常終了した命令(非同期データ転送命令)のパラメータを主記憶部5から読み出すことができる。よって、命令を再度実行して正常終了させることができる。命令終了判定部19は固定障害が発生してもステータスエリア7にHW障害があったことを書き込まないため、ジョブは異常終了することなく、よってジョブを最初から実行せず、障害が発生時他時点から再実行することが可能となる。このように、スイッチ障害があっても、ジョブの開始から障害発生前までに実行終了した命令は再実行しないため、ジョブを最初から再実行する従来に比してデータ転送時間を低減することができる。
【0045】
さらに、本実施の形態においては、命令実行に必要なパラメータ9を主記憶部5に格納する構成となっている。よって、このパラメータ9を読み出せば命令を再実行することができる、すなわち、データを再送信することができる。例えば、データを再送信するために、データ送信部18にバッファを設けてこれを保持しておくこと等が考えられるが、本実施の形態のように複数のパスがある場合はパス毎にバッファを設ける必要等が生じ、HW量が増加する。これに対し、本実施の形態においては、ポインタの情報のみ保持し、このポインタの情報から命令を再構築する、すなわち、パラメータを読み出し、これに基づき送信データを読み出し送信するため、少ないHW資源で本実施の形態の実現が可能である。
【0046】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、情報処理装置1は、図2の構成に限るものではない。各非同期データ転送命令毎に(ID毎に)、そのパラメータを読み出すための情報を保持し、パスに障害が発生するHW障害が発生した場合に、従来のようにHW障害として扱わず、前記のパラメータを読み出すための情報に基づき、パラメータを読み出すことで、障害発生時に実行中であった命令から再実行するよう制御可能であれば、どのような構成であってもよい。また、情報処理システム(計算機システム)を構成するノード数等に特に制限はない。
【0047】
(付記1)
スイッチにより切替可能な複数のポートにより他のノードと接続された情報処理装置であって、
データ転送命令を発行するコアと、
前記データ転送命令により前記他のノードに転送する送信データ、及び前記データ転送命令を実行するために必要な制御情報であるパラメータを格納する主記憶部と、
前記コアからの前記データ転送命令を受けて、前記主記憶部から前記パラメータ及び送信データを読み出し、当該パラメータに基づき送信データを前記他のノードに送信するノード間通信制御部とを備え、
一のポートに障害が発生して一のデータ転送命令が異常終了した場合、ジョブを強制終了することなく、前記異常終了したデータ転送命令を再実行するものであって、
前記ノード間通信制御部は、各データ転送命令に対応する前記パラメータを主記憶部から読み出すための情報を保持し、前記障害が発生すると、当該情報に基づき、前記異常終了したデータ転送命令を実行するためのパラメータを前記主記憶部から読み出し当該データ転送命令を再実行する、情報処理装置。
(付記2)
前記ノード間通信制御部は、
各データ転送命令に識別情報(ID)を付与するID制御部と、
前記IDと、当該IDに対応した前記パラメータを前記主記憶部から読み出すためのアドレス情報であるポインタとを対応付けて保持する命令保持部と、
前記データ転送命令の終了を判定する命令終了判定部とを有し、
前記命令終了判定部は、一のポートの障害発生時に、前記スイッチからその障害情報及び障害発生時に実行中であったデータ転送命令のIDを受け取り、当該IDを前記命令保持部に出力し、
前記ノード間通信制御部は、前記命令保持部に保持されている、前記命令終了判定部から受け取ったIDに対応するポインタに基づき、そのパラメータ及び送信データを前記主記憶部から読み出し、当該送信データを再送する、付記1記載の情報処理装置。
(付記3)
前記主記憶部は、前記命令終了判定部が前記送信データの送信状況を書き込むステータスエリアを有し、
前記ノード間通信制御部は、前記ステータスエリアに書き込まれた情報に基づき命令終了を判断するようソフトウェア制御されるものであって、
前記命令終了判定部は、前記スイッチから前記障害情報及びIDを受け取ると、前記ステータスエリアに前記障害情報を書き込まず、受け取ったIDを前記命令保持部に出力する、付記2記載の情報処理装置。
(付記4)
前記ノード間通信制御部は、
前記コアから前記データ転送命令として前記ポインタを受け取り、当該ポインタに基づきパラメータ読み出し指示を生成するパラメータ制御部と、
前記パラメータ読み出し指示を受けてパラメータ読み出し命令を生成すると共に、当該パラメータ読み出し命令により前記主記憶部から読み出されたパラメータに基づきデータ読み出し命令を生成する命令生成部と、
前記データ読み出し命令により前記主記憶部から前記送信データ及びIDを受け取り、前記他のノードに送信するデータ送信部とを更に有し、
前記障害発生時に
前記パラメータ制御部は、前記命令保持部から前記ポインタを受け取り、当該受け取ったポインタに基づき、前記パラメータ読み出し指示を再生成し、
前記命令生成部は、再生成されたパラメータ読み出し指示に基づき前記パラメータを読み出し、当該パラメータに基づき前記データ読み出し命令を再生成し、
前記データ送信部は、再生成されたデータ読み出し命令により、障害発生時に送信中であった送信データ及びIDを前記他のノードに再送信する、付記2又は3項記載の情報処理装置。
(付記5)
前記コアは、前記データ転送命令を実行するための前記パラメータを生成して前記主記憶部に書き込み、そのアドレス情報であるポインタを、当該データ転送命令として前記ノード間通信制御部に出力する、付記1乃至4のいずれか1項に記載の情報処理装置。
(付記6)
前記パラメータ制御部は、前記コアから前記データ転送命令を受け取るとカウントアップするライトポインタと、前記データ転送命令を受けて前記パラメータ読み出し指示を生成するとカウントアップするリードポインタとを有し、前記障害発生時に前記命令保持部から前記ポインタを受け取ると、前記リードポインタを当該受け取ったポインタの値に戻し、当該リードポインタの値が前記ライトポインタの値に一致するまで前記パラメータ読み出し指示を生成する、付記4記載の情報処理装置。
(付記7)
前記コアが出力する前記データ転送命令は、非同期データ転送命令である、付記1乃至6のいずれか1項記載の情報処理装置。
(付記8)
スイッチにより切替可能な複数のポートにより他のノードと接続された情報処理装置のデータ転送方法であって、
前記他のノードに送信データの転送を指示するデータ転送命令を受けて、送信データ、及び前記データ転送命令を実行するために必要な制御情報であるパラメータが格納された主記憶部から前記パラメータを読み出すと共に、各データ転送命令に対応するパラメータを前記主記憶部から読み出すための情報を保持しておき、
前記読み出したパラメータに基づき前記主記憶部から前記送信データを読み出して前記他のノードに送信し、
一のポートに障害が発生して一のデータ転送命令が異常終了した場合には、ジョブを強制終了することなく、前記パラメータを前記主記憶部から読み出すための情報に基づき、前記異常終了したデータ転送命令のパラメータを前記主記憶部から読み出し当該データ転送命令を再実行する、データ転送方法。
(付記9)
各データ転送命令に識別情報(ID)を付与し、各IDと、各IDに対応したパラメータを前記主記憶部から読み出すためのアドレス情報であるポインタとを対応付けて命令保持部に保持し、
一のポートの障害発生時に、前記スイッチからその障害情報及び障害発生時に実行中であったデータ転送命令のIDを前記スイッチから受け取り、
前記命令保持部に保持されている、前記スイッチから受け取ったIDに対応するポインタに基づき、そのパラメータ及び送信データを前記主記憶部から読み出し、当該送信データを再送する、付記8記載のデータ転送方法。
(付記10)
前記主記憶部は、前記命令終了判定部が前記送信データの送信状況を書き込むステータスエリアを有し、
前記情報処理装置は、前記ステータスエリアに書き込まれた情報に基づき命令終了を判断するようソフトウェア制御されるものであって、
前記スイッチから前記障害情報及びIDを受け取ると、前記ステータスエリアに前記障害情報を書き込まず、受け取ったIDを前記命令保持部に出力する、付記9記載のデータ転送方法。
(付記11)
前記データ転送命令として前記ポインタを受け取り、当該ポインタに基づきパラメータ読み出し指示を生成し、
前記パラメータ読み出し指示を受けてパラメータ読み出し命令を生成すると共に、当該パラメータ読み出し命令により前記主記憶部から読み出されたパラメータに基づきデータ読み出し命令を生成し、
前記データ読み出し命令により前記主記憶部から前記送信データ及びIDを受け取り、前記他のノードに送信するものであって、
前記障害発生時には、
前記命令保持部から前記ポインタを受け取り、当該受け取ったポインタに基づき、前記パラメータ読み出し指示を再生成し、
再生成されたパラメータ読み出し指示に基づき前記パラメータを読み出し、当該パラメータに基づき前記データ読み出し命令を再生成し、
再生成されたデータ読み出し命令により、障害発生時に送信中であった送信データ及びIDを前記他のノードに再送信する、付記9又は10項記載のデータ転送方法。
(付記12)
前記データ転送命令を実行するための前記パラメータを生成して前記主記憶部に書き込み、そのアドレス情報であるポインタを、当該データ転送命令として使用する、付記9乃至11のいずれか1項に記載のデータ転送方法。
(付記13)
前記データ転送命令は、非同期データ転送命令である、付記9乃至12のいずれか1項記載のデータ転送方法。
(付記14)
前記データ転送命令を受け取るとライトポインタをカウントアップし、
前記データ転送命令を受けて前記パラメータ読み出し指示を生成するとリードポインタをカウントアップし、
前記障害発生時には、前記命令保持部から前記ポインタを受け取ると、前記リードポインタを当該受け取ったポインタの値に戻し、当該リードポインタの値が前記ライトポインタの値に一致するまで前記パラメータ読み出し指示を生成する、付記11記載のデータ転送方法。
(付記15)
情報処理装置と、
複数のポートにより前記情報処理装置と接続される他のノードと、
前記複数のポートを切り替えるスイッチとを有し、
前記情報処理装置は、
データ転送命令を発行するコアと、
前記データ転送命令により前記他のノードに転送する送信データ、及び前記データ転送命令を実行するために必要な制御情報であるパラメータを格納する主記憶部と、
前記コアからの前記データ転送命令を受けて、前記主記憶部から前記パラメータ及び送信データを読み出し、当該パラメータに基づき送信データを前記他のノードに送信するノード間通信制御部とを備え、
前記スイッチは、一のポートに障害が発生した場合、使用するポートを他のポートに切換え、
前記ノード間通信制御部は、各データ転送命令に対応する前記パラメータを主記憶部から読み出すための情報を保持し、前記障害が発生してもジョブを強制終了することなく、当該情報に基づき、前記障害の発生により異常終了したデータ転送命令を実行するためのパラメータを前記主記憶部から読み出し当該データ転送命令を再実行する、情報処理システム。
(付記16)
データ転送命令によりその識別情報(ID)を付与した送信データを出力する情報処理装置と当該送信データを受信する他のノードとの間を接続する複数のポートの接続を切り替えるスイッチであって、
前記情報処理装置は、一のポートに障害が発生して一のデータ転送命令が異常終了した場合、ジョブを強制終了することなく、他のポートにより前記異常終了したデータ転送命令を再実行するものであって、
前記スイッチは、
前記ポートの障害を検出する障害検出部と、
前記障害検出部が一のポートの障害を検出すると、通信に使用するポートを他のポートに切り替えるポート切替部と、
前記障害検出部がポートの障害を検出すると、使用中のポートに障害が発生したことを示す障害情報と、前記障害発生時に実行中であったデータ転送命令のIDとを、送信元である前記情報処理装置に出力する送信部と、を有するスイッチ。
(付記17)
スイッチにより切替可能な複数のポートにより他のノードと接続された情報処理装置のデータ転送処理をコンピュータに実行させるためのプログラムであって、
前記他のノードに送信データの転送を指示するデータ転送命令を受けて、送信データ、及び前記データ転送命令を実行するために必要な制御情報であるパラメータが格納された主記憶部から前記パラメータを読み出すと共に、各データ転送命令に対応するパラメータを前記主記憶部から読み出すための情報を保持しておき、
前記読み出したパラメータに基づき前記主記憶部から前記送信データを読み出して前記他のノードに送信し、
一のポートに障害が発生して一のデータ転送命令が異常終了した場合には、ジョブを強制終了することなく、前記パラメータを前記主記憶部から読み出すための情報に基づき、前記異常終了したデータ転送命令のパラメータを前記主記憶部から読み出し当該データ転送命令を再実行する、プログラム。
【符号の説明】
【0048】
1 情報処理装置
2 ノード
3 スイッチ
4 ポート
5 主記憶部
7 ステータスエリア
8 送信データ
9 パラメータ
10 演算処理部
11 ノード間通信制御部
12 コア
13 パラメータ制御部
14 ID制御部
15 命令発行部
16 命令組立部
17 命令保持部
18 データ送信部
19 命令終了判定部
31a 切り替え部
31b 切り替え部
131 ライトポインタWP
132 リードポインタRP

【特許請求の範囲】
【請求項1】
スイッチにより切替可能な複数のポートにより他のノードと接続された情報処理装置であって、
データ転送命令を発行するコアと、
前記データ転送命令により前記他のノードに転送する送信データ、及び前記データ転送命令を実行するために必要な制御情報であるパラメータを格納する主記憶部と、
前記コアからの前記データ転送命令を受けて、前記主記憶部から前記パラメータ及び送信データを読み出し、当該パラメータに基づき送信データを前記他のノードに送信するノード間通信制御部とを備え、
一のポートに障害が発生して一のデータ転送命令が異常終了した場合、ジョブを強制終了することなく、前記異常終了したデータ転送命令を再実行するものであって、
前記ノード間通信制御部は、各データ転送命令に対応する前記パラメータを主記憶部から読み出すための情報を保持し、前記障害が発生すると、当該情報に基づき、前記異常終了したデータ転送命令を実行するためのパラメータを前記主記憶部から読み出し当該データ転送命令を再実行する、情報処理装置。
【請求項2】
前記ノード間通信制御部は、
各データ転送命令に識別情報(ID)を付与するID制御部と、
前記IDと、当該IDに対応した前記パラメータを前記主記憶部から読み出すためのアドレス情報であるポインタとを対応付けて保持する命令保持部と、
前記データ転送命令の終了を判定する命令終了判定部とを有し、
前記命令終了判定部は、一のポートの障害発生時に、前記スイッチからその障害情報及び障害発生時に実行中であったデータ転送命令のIDを受け取り、当該IDを前記命令保持部に出力し、
前記ノード間通信制御部は、前記命令保持部に保持されている、前記命令終了判定部から受け取ったIDに対応するポインタに基づき、そのパラメータ及び送信データを前記主記憶部から読み出し、当該送信データを再送する、請求項1記載の情報処理装置。
【請求項3】
前記主記憶部は、前記命令終了判定部が前記送信データの送信状況を書き込むステータスエリアを有し、
前記ノード間通信制御部は、前記ステータスエリアに書き込まれた情報に基づき命令終了を判断するようソフトウェア制御されるものであって、
前記命令終了判定部は、前記スイッチから前記障害情報及びIDを受け取ると、前記ステータスエリアに前記障害情報を書き込まず、受け取ったIDを前記命令保持部に出力する、請求項2記載の情報処理装置。
【請求項4】
前記ノード間通信制御部は、
前記コアから前記データ転送命令として前記ポインタを受け取り、当該ポインタに基づきパラメータ読み出し指示を生成するパラメータ制御部と、
前記パラメータ読み出し指示を受けてパラメータ読み出し命令を生成すると共に、当該パラメータ読み出し命令により前記主記憶部から読み出されたパラメータに基づきデータ読み出し命令を生成する命令生成部と、
前記データ読み出し命令により前記主記憶部から前記送信データ及びIDを受け取り、前記他のノードに送信するデータ送信部とを更に有し、
前記障害発生時に
前記パラメータ制御部は、前記命令保持部から前記ポインタを受け取り、当該受け取ったポインタに基づき、前記パラメータ読み出し指示を再生成し、
前記命令生成部は、再生成されたパラメータ読み出し指示に基づき前記パラメータを読み出し、当該パラメータに基づき前記データ読み出し命令を再生成し、
前記データ送信部は、再生成されたデータ読み出し命令により、障害発生時に送信中であった送信データ及びIDを前記他のノードに再送信する、請求項2又は3項記載の情報処理装置。
【請求項5】
前記コアは、前記データ転送命令を実行するための前記パラメータを生成して前記主記憶部に書き込み、そのアドレス情報であるポインタを、当該データ転送命令として前記ノード間通信制御部に出力する、請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記パラメータ制御部は、前記コアから前記データ転送命令を受け取るとカウントアップするライトポインタと、前記データ転送命令を受けて前記パラメータ読み出し指示を生成するとカウントアップするリードポインタとを有し、前記障害発生時に前記命令保持部から前記ポインタを受け取ると、前記リードポインタを当該受け取ったポインタの値に戻し、当該リードポインタの値が前記ライトポインタの値に一致するまで前記パラメータ読み出し指示を生成する、請求項4記載の情報処理装置。
【請求項7】
前記コアが出力する前記データ転送命令は、非同期データ転送命令である、請求項1乃至6のいずれか1項記載の情報処理装置。
【請求項8】
スイッチにより切替可能な複数のポートにより他のノードと接続された情報処理装置のデータ転送方法であって、
前記他のノードに送信データの転送を指示するデータ転送命令を受けて、送信データ、及び前記データ転送命令を実行するために必要な制御情報であるパラメータが格納された主記憶部から前記パラメータを読み出すと共に、各データ転送命令に対応するパラメータを前記主記憶部から読み出すための情報を保持しておき、
前記読み出したパラメータに基づき前記主記憶部から前記送信データを読み出して前記他のノードに送信し、
一のポートに障害が発生して一のデータ転送命令が異常終了した場合には、ジョブを強制終了することなく、前記パラメータを前記主記憶部から読み出すための情報に基づき、前記異常終了したデータ転送命令のパラメータを前記主記憶部から読み出し当該データ転送命令を再実行する、データ転送方法。
【請求項9】
各データ転送命令に識別情報(ID)を付与し、各IDと、各IDに対応したパラメータを前記主記憶部から読み出すためのアドレス情報であるポインタとを対応付けて命令保持部に保持し、
一のポートの障害発生時に、その障害情報及び障害発生時に実行中であったデータ転送命令のIDを前記スイッチから受け取り、
前記命令保持部に保持されている、前記スイッチから受け取ったIDに対応するポインタに基づき、そのパラメータ及び送信データを前記主記憶部から読み出し、当該送信データを再送する、請求項9記載のデータ転送方法。
【請求項10】
情報処理装置と、
複数のポートにより前記情報処理装置と接続される他のノードと、
前記複数のポートを切り替えるスイッチとを有し、
前記情報処理装置は、
データ転送命令を発行するコアと、
前記データ転送命令により前記他のノードに転送する送信データ、及び前記データ転送命令を実行するために必要な制御情報であるパラメータを格納する主記憶部と、
前記コアからの前記データ転送命令を受けて、前記主記憶部から前記パラメータ及び送信データを読み出し、当該パラメータに基づき送信データを前記他のノードに送信するノード間通信制御部とを備え、
前記スイッチは、一のポートに障害が発生した場合、使用するポートを他のポートに切換え、
前記ノード間通信制御部は、各データ転送命令に対応する前記パラメータを主記憶部から読み出すための情報を保持し、前記障害が発生してもジョブを強制終了することなく、当該情報に基づき、前記障害の発生により異常終了したデータ転送命令を実行するためのパラメータを前記主記憶部から読み出し当該データ転送命令を再実行する、情報処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2012−150544(P2012−150544A)
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願番号】特願2011−6876(P2011−6876)
【出願日】平成23年1月17日(2011.1.17)
【出願人】(000168285)エヌイーシーコンピュータテクノ株式会社 (572)
【Fターム(参考)】