(57)【要約】【課題】障害時のシステム性能の低下を抑止する。【解決手段】障害通知が行われると、障害閉塞管理部１５は、データ処理要求部１１〜１４に送信する閉塞ノード制御信号ｓ１をアクティブにする。データ処理要求部１１〜１４は、ノード番号が一致するデータ処理トランザクションを破棄する。障害閉塞管理部１５は、調停部１６にノード閉塞トランザクションを発行する。データ処理装置２１は、調停部１６によって選択されたノード閉塞トランザクションがレジスタ４１に格納されると、内部のエントリに格納したデータ処理トランザクションの処理ノード番号とノード閉塞トランザクションの閉塞対象ノード番号とを比較する。そして、２つのノード番号が一致すれば、データ処理装置２１は、そのエントリの有効無効識別フラグをリセットして、該当するエントリを解放し、不一致であれば、データ処理を継続する。【選択図】  図１
2005018339.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを備え、各ノードから発行要求されたデータ処理に関するデータ処理トランザクションを制御してデータ処理を実行する計算機システムにおいて、
前記各ノードの発行要求を受け付けて、発行要求をしたノードを識別するための処理ノード識別情報を含めて前記データ処理トランザクションを発行する複数のデータ処理要求部を備えるとともに、
いずれかのノードに障害が発生すると、障害が発生したノードを閉塞対象のノードとして識別するための閉塞対象ノード識別情報を含むノード閉塞トランザクションを発行する障害閉塞管理部と、
前記複数のデータ処理要求部が発行したデータ処理トランザクションと前記障害閉塞管理部が発行したノード閉塞トランザクションとの調停を行って、いずれかのトランザクションを、順次、選択する調停部と、
前記調停部が選択したトランザクションを順次格納するデータ逐次処理部と、
前記データ逐次処理部が格納したトランザクションを判別し、判別したトランザクションが前記データ処理トランザクションであれば、指定されたデータ処理を実行し、前記ノード閉塞トランザクションであれば、前記ノード閉塞トランザクションに含まれている前記閉塞対象ノード識別情報と既に取得したデータ処理トランザクションに含まれている処理ノード識別情報とを比較して、前記閉塞対象ノード識別情報と一致する処理ノード識別情報を有するデータ処理トランザクションのデータ処理を停止するデータ処理部と、を備えた、
ことを特徴とする計算機システムのノード閉塞装置。
【請求項２】
前記データ処理部は、前記複数のデータ処理トランザクションをそれぞれ格納する複数のトランザクション格納部と、
前記ノード閉塞トランザクションに含まれている閉塞対象ノード識別情報と各トランザクション格納部に格納されているデータ処理トランザクションに含まれている処理ノード識別情報とを比較し、比較の結果、前記閉塞対象ノード識別情報と前記処理ノード識別情報とが一致するデータ処理トランザクションのデータ処理を停止させる比較部と、を備えた、
ことを特徴とする請求項１に記載の計算機システムのノード閉塞装置。
【請求項３】
前記障害閉塞管理部は、前記トランザクション格納部を指定するためのカウント値を生成するカウンタを備え、前記調停部がノード閉塞トランザクションを選択する毎に前記カウンタのカウント値を更新するとともに、前記カウンタのカウント値を含めて前記ノード閉塞トランザクションを前記調停部に発行し、
前記データ処理部の比較部は、判別したノード閉塞トランザクションに含まれているカウント値に基づいて、前記閉塞対象ノードのデータ処理トランザクションを格納するトランザクション格納部を指定し、指定したトランザクション格納部に格納されているデータ処理トランザクションの処理ノード識別情報と、前記ノード閉塞トランザクションの閉塞対象ノードと、を比較するように構成されたものである、
ことを特徴とする請求項２に記載の計算機システムのノード閉塞装置。
【請求項４】
前記障害閉塞管理部は、いずれかのノードに障害が発生すると、障害が発生したノードから前記データ処理トランザクションを受け付けたデータ処理要求部に、未発行のデータ処理トランザクションを破棄させるための閉塞ノード制御信号を送信するように構成されたものである、
ことを特徴とする請求項１乃至３のいずれか１項に記載の計算機システムのノード閉塞装置。
【請求項５】
複数のノードを備え、各ノードから発行要求されたデータ処理トランザクションを制御してデータ処理を実行する計算機システムにおいて、
前記各ノードの発行要求を受け付けて、発行要求をしたノードを識別するための処理ノード識別情報を含めて前記データ処理トランザクションを発行するステップと、
いずれかのノードに障害が発生すると、障害が発生したノードを閉塞対象のノードとして識別するための閉塞対象ノード識別情報を含むノード閉塞トランザクションを発行するステップと、
前記データ処理トランザクションと前記ノード閉塞トランザクションとの調停を行って、いずれかのトランザクションを、順次、選択するステップと、
前記選択されたトランザクションを順次格納するステップと、
前記格納されたトランザクションが前記データ処理トランザクションであるか前記ノード閉塞トランザクションであるかを判別するステップと、
判別したトランザクションが前記データ処理トランザクションであれば、指定されたデータ処理を実行し、前記ノード閉塞トランザクションであれば、前記ノード閉塞トランザクションに含まれている前記閉塞対象ノード識別情報と既に取得したデータ処理トランザクションに含まれている処理ノード識別情報とを比較するステップと、
前記閉塞対象ノード識別情報と一致する処理ノード識別情報を有するデータ処理トランザクションのデータ処理を停止するステップと、を備えた、
ことを特徴とする計算機システムのトランザクション制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算機システムのノード閉塞装置及びそのトランザクション制御方法に関する。
【０００２】
【従来の技術】
ノードとは、１つまたは複数のプロセッサ、ローカル・メモリ、入出力サブシステムおよびオプションである周辺装置から構成されるコンピュータを意味する。複数のノードが相互に接続されて、ノード間でデータの送受信を可能とする計算機システムがある。
近年、これらのノード数が多い大規模な構成のシステムが増えてきており、単一ノードの障害が他のノードに影響を与えない可用性の高い装置が要求されている。
従来の計算機システムでは、障害が発生した場合、診断プログラムを備えたファームウェアが障害個所を検出し、障害個所を切り離し、そして、復旧などの処理を行っている（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開平１１−９６０３５号公報（第４頁、図１）
【０００４】
【発明が解決しようとする課題】
しかし、複数のノード資源を共有して動作するデータ転送装置については、ファームウェア等を介して一度停止を行い、障害ノードが使用していた資源のみを解放して再動作させる処理が必要であった。すなわち、障害に無関係のノードに関する処理において性能の低下をもたらすという不都合があった。
【０００５】
本発明は、このような従来の問題点に鑑みてなされたもので、障害時のシステム性能の低下を抑止することが可能な計算機システムのノード閉塞装置及びそのトランザクション制御方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
この目的を達成するため、本発明の第１の観点に係る計算機システムのノード閉塞装置は、
複数のノードを備え、各ノードから発行要求されたデータ処理に関するデータ処理トランザクションを制御してデータ処理を実行する計算機システムにおいて、
前記各ノードの発行要求を受け付けて、発行要求をしたノードを識別するための処理ノード識別情報を含めて前記データ処理トランザクションを発行する複数のデータ処理要求部を備えるとともに、
いずれかのノードに障害が発生すると、障害が発生したノードを閉塞対象のノードとして識別するための閉塞対象ノード識別情報を含むノード閉塞トランザクションを発行する障害閉塞管理部と、
前記複数のデータ処理要求部が発行したデータ処理トランザクションと前記障害閉塞管理部が発行したノード閉塞トランザクションとの調停を行って、いずれかのトランザクションを、順次、選択する調停部と、
前記調停部が選択したトランザクションを順次格納するデータ逐次処理部と、
前記データ逐次処理部が格納したトランザクションを判別し、判別したトランザクションが前記データ処理トランザクションであれば、指定されたデータ処理を実行し、前記ノード閉塞トランザクションであれば、前記ノード閉塞トランザクションに含まれている前記閉塞対象ノード識別情報と既に取得したデータ処理トランザクションに含まれている処理ノード識別情報とを比較して、前記閉塞対象ノード識別情報と一致する処理ノード識別情報を有するデータ処理トランザクションのデータ処理を停止するデータ処理部と、を備えたものである。
【０００７】
前記データ処理部は、前記複数のデータ処理トランザクションをそれぞれ格納する複数のトランザクション格納部と、
前記ノード閉塞トランザクションに含まれている閉塞対象ノード識別情報と各トランザクション格納部に格納されているデータ処理トランザクションに含まれている処理ノード識別情報とを比較し、比較の結果、前記閉塞対象ノード識別情報と前記処理ノード識別情報とが一致するデータ処理トランザクションのデータ処理を停止させる比較部と、を備えたものであってもよい。
【０００８】
前記障害閉塞管理部は、前記トランザクション格納部を指定するためのカウント値を生成するカウンタを備え、前記調停部がノード閉塞トランザクションを選択する毎に前記カウンタのカウント値を更新するとともに、前記カウンタのカウント値を含めて前記ノード閉塞トランザクションを前記調停部に発行し、
前記データ処理部の比較部は、判別したノード閉塞トランザクションに含まれているカウント値に基づいて、前記閉塞対象ノードのデータ処理トランザクションを格納するトランザクション格納部を指定し、指定したトランザクション格納部に格納されているデータ処理トランザクションの処理ノード識別情報と、前記ノード閉塞トランザクションの閉塞対象ノードと、を比較するように構成されたものであってもよい。
【０００９】
前記障害閉塞管理部は、いずれかのノードに障害が発生すると、障害が発生したノードから前記データ処理トランザクションを受け付けたデータ処理要求部に、未発行のデータ処理トランザクションを破棄させるための閉塞ノード制御信号を送信するように構成されたものであってもよい。
【００１０】
本発明の第２の観点に係る計算機システムのトランザクション制御方法は、
複数のノードを備え、各ノードから発行要求されたデータ処理トランザクションを制御してデータ処理を実行する計算機システムにおいて、
前記各ノードの発行要求を受け付けて、発行要求をしたノードを識別するための処理ノード識別情報を含めて前記データ処理トランザクションを発行するステップと、
いずれかのノードに障害が発生すると、障害が発生したノードを閉塞対象のノードとして識別するための閉塞対象ノード識別情報を含むノード閉塞トランザクションを発行するステップと、
前記データ処理トランザクションと前記ノード閉塞トランザクションとの調停を行って、いずれかのトランザクションを、順次、選択するステップと、
前記選択されたトランザクションを順次格納するステップと、
前記格納されたトランザクションが前記データ処理トランザクションであるか前記ノード閉塞トランザクションであるかを判別するステップと、
判別したトランザクションが前記データ処理トランザクションであれば、指定されたデータ処理を実行し、前記ノード閉塞トランザクションであれば、前記ノード閉塞トランザクションに含まれている前記閉塞対象ノード識別情報と既に取得したデータ処理トランザクションに含まれている処理ノード識別情報とを比較するステップと、
前記閉塞対象ノード識別情報と一致する処理ノード識別情報を有するデータ処理トランザクションのデータ処理を停止するステップと、を備えたものである。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態に係る計算機システムのノード閉塞装置を図面を参照して説明する。
本実施の形態に係る計算機システムの構成を図１に示す。
本実施の形態に係る計算機システムは、ノード０〜３と、トランザクション制御部４と、通信線５と、からなる。
【００１２】
ノード０〜３は、１つまたは複数のプロセッサ、ローカルメモリ、入出力サブシステムおよびオプションである周辺装置から構成されるコンピュータである。ノード０〜３は通信線５を介して相互に接続され、相互にデータの送受信を行う。
【００１３】
また、ノード０〜３は、トランザクション制御部４に、例えば、ノード内メモリ（図示せず）からのデータ読み出し処理といったデータ処理トランザクションの発行要求を行う。
【００１４】
トランザクション制御部４は、ノード閉塞装置に相当するものであり、データ処理要求部１１〜１４と、障害閉塞管理部１５と、調停部１６と、データ逐次処理部１７と、データ処理装置２１〜２４と、を備える。トランザクション制御部４は、例えば、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）によって構成される。
【００１５】
尚、トランザクション制御部４は、基準となるクロック信号を生成するクロック生成部（図示せず）を有する。そして、データ処理要求部１１〜１４と、障害閉塞管理部１５と、調停部１６と、データ逐次処理部１７と、データ処理装置２１〜２４とは、このクロック信号に同期して動作する。
【００１６】
データ処理要求部１１〜１４は、ノード０〜３からのデータ処理トランザクションの発行要求を受け付けて、受け付けたデータ処理トランザクションの発行要求を調停部１６に行うものであり、それぞれ、発行するデータ処理トランザクションを格納するレジスタ３１〜３４を備える。
【００１７】
発行するデータ処理トランザクションは、トランザクション処理情報と処理ノード番号とを含む。トランザクション処理情報は、前述のノード内メモリからのデータ読み出し処理といったトランザクション処理の内容を示す情報であり、処理ノード番号は、データ処理トランザクションの発行要求を行ったノードを識別するための処理ノード識別情報である。
【００１８】
障害閉塞管理部１５は、障害が発生したノードの障害閉塞を管理するものである。障害閉塞管理部１５は、障害通知を受信すると、データ処理要求部１１〜１４に送信する閉塞ノード制御信号ｓ１をアクティブにして、ノード閉塞トランザクションを調停部１６に発行する。
【００１９】
障害通知は、ノード内で閉塞を伴う重障害が発生した場合に、専用線（図示せず）を介して障害閉塞管理部１５へ通知される１ビットの信号である。
【００２０】
ノード閉塞トランザクションは、障害が発生したノードに対応するエントリ（後述）に格納されているデータ処理トランザクションを無効にするための情報であり、閉塞対象ノード番号情報とエントリ番号情報とを含む。
【００２１】
閉塞対象ノード番号情報は、閉塞すべきノードを指定するための閉塞ノード識別情報である。エントリ番号情報は、データ処理装置２１〜２４のエントリを指定するために用いられる情報である。
【００２２】
障害閉塞管理部１５は、閉塞対象ノード番号情報を格納するための閉塞対象ノード番号レジスタ３５と、エントリ番号を生成するためのエントリカウンタ３６と、を備える。
【００２３】
閉塞対象ノード番号レジスタ３５は、フリップフロップによって構成される。障害閉塞管理部１５は、障害通知が行われると、閉塞対象ノード番号レジスタ３５に閉塞対象ノード番号情報をセットして各データ処理要求部１１〜１４に送信する閉塞ノード制御信号ｓ１をアクティブにする。
【００２４】
各データ処理要求部１１〜１４は、閉塞ノード制御信号ｓ１がアクティブになって送信された閉塞対象ノード番号とデータ処理トランザクションに含まれる処理ノード番号とを比較する。そして、各データ処理要求部１１〜１４は、２つの番号が一致すると、データ処理トランザクションを破棄する。
【００２５】
本実施の形態では、１つのノードに対して１ビットの閉塞ノード制御信号ｓ１をレベル送信するものとして、閉塞ノード制御信号ｓ１を送信する信号線は、少なくともノード数分備えられる。
【００２６】
但し、計算機システム全体のノード数が数百を越えるような大規模構成の場合を考慮して、閉塞ノード制御信号ｓ１を、１クロックのパルス信号として構成されることもできる。この場合、信号線数は、有効信号１ビットとエンコードした閉塞対象ノード番号（１２８ノードであれば７ビット）とを送信するのに必要な数となる。また、この場合、各データ処理要求部１１〜１４は、閉塞対象ノード番号を保持するレジスタを備える。
【００２７】
エントリカウンタ３６は、インクリメント信号に従ってカウント値を１つずつインクリメントする。障害閉塞管理部１５は、ノード閉塞トランザクションが調停部１６によって選択されると、エントリカウンタ３６のインクリメント信号を生成し、エントリカウンタ３６は、次のクロック信号の立ち上がりに同期してカウント値をインクリメントする。エントリカウンタ３６は、データ処理装置２１〜２４の最大エントリ数をカウント可能なように複数のレジスタ等によって構成される。
【００２８】
本実施の形態では、データ処理装置２１〜２４の最大エントリ数を８として、エントリカウンタ３６は、３ビットのレジスタから構成されるものとする。エントリカウンタ３６は、０から７までをカウントする。
【００２９】
調停部１６は、データ処理要求部１１〜１４が発行したデータ処理トランザクションと、障害閉塞管理部１５が発行したノード閉塞トランザクションと、の調停を行ってトランザクションを選択するものである。
【００３０】
調停には、例えば、ラウンドロビン方式が用いられる。ラウンドロビン方式とは、トランザクションを要求順に選択する方式である。この方式によれば、調停部１６は、データ処理要求部１１〜１４のデータ処理を順次、均等に選択する。
【００３１】
また、障害閉塞管理部１５から、ノード閉塞トランザクションの発行要求があれば、調停部１６は、ノード閉塞トランザクションを含めてすべてのトランザクションを順次、均等に選択する。
【００３２】
そして、調停部１６は、トランザクションの選択が一巡した後は、再び、最初のトランザクションを選択する。調停部１６は、次のクロック信号の立ち上がりに同期して、選択したトランザクションをデータ逐次処理部１７に供給する。
【００３３】
このように、調停部１６は、データ処理要求部１１〜１４からそれぞれ発行されるデータ処理トランザクションと、障害閉塞管理部１５から発行されるノード閉塞トランザクションとを、特に優先度を持たせることなく逐次選択する。
【００３４】
そして、ラウンドロビン方式を用いることにより、障害閉塞管理部１５から複数のノード閉塞トランザクションが発行されたとしても、障害と無関係のノードのデータ処理トランザクションへの影響を抑止することが可能となる。
【００３５】
データ逐次処理部１７は、調停部１６からトランザクションを受け取って内部で順送りする。データ逐次処理部１７は、トランザクションを順送りさせるため、例えば、４つのレジスタ４１〜４４を備える。データ逐次処理部１７は、レジスタ４１〜４４にトランザクションを格納しつつ、クロックの立ち上がりに同期してトランザクションを順送りする。
【００３６】
データ処理装置２１〜２４は、トランザクション処理情報に従って、データ処理トランザクションの処理を行うものであり、それぞれ、バッファ５１と、比較回路５２と、を備えている。
【００３７】
バッファ５１は、データ処理トランザクションを格納するものであり、複数のレジスタ等によって構成される。本実施の形態では、バッファ５１は、ｅｎｔｒｙ０〜７の８つのトランザクション格納部を有するものとする。データ処理装置２１〜２４は、それぞれ、このバッファ５１のｅｎｔｒｙ０〜７に、１クロックに１回、１エントリ分のデータ処理トランザクションを格納する。
【００３８】
また、バッファ５１は、有効無効識別フラグをエントリ毎に格納する。
有効無効識別フラグは、例えば、データ処理トランザクションがノード内メモリからのデータ読み出し処理に関するものである場合、メモリリード実行している期間（ノード間通信における読み出し期間）でセットされ、メモリリプライ受信でリセットされるフラグである。
【００３９】
データ処理装置２１〜２４は、メモリリードリクエスト発行時にこの有効無効識別フラグをセットし、メモリデータリプライ受信時にこの有効無効識別フラグをリセットする。
【００４０】
比較回路５２は、障害閉塞管理部１５のノード閉塞トランザクションがレジスタ４１（〜４４）に格納された場合に、閉塞対象ノード番号と処理ノード番号とを比較して、比較の結果、一致すれば、有効無効識別フラグをリセットするものである。
【００４１】
比較回路５２は、閉塞対象ノード番号を、レジスタ４１（〜４４）に格納されたノード閉塞トランザクションから読み出す。また、バッファ５１がｅｎｔｒｙ０〜７を備えているため、比較回路５２は、ノード閉塞トランザクションのエントリ番号情報を参照して、処理ノード番号を取得する。即ち、比較回路５２は、参照したエントリ番号をリードアドレスとして、ｅｎｔｒｙ０〜７のいずれかを指定して処理ノード番号を読み出す。
【００４２】
次に、本実施の形態に係る計算機システムの動作を説明する。
図３に示すように、データ処理要求部１１は、ノード０からのデータ処理トランザクションを２つ格納しているものとする。データ処理要求部１２は、ノード１からのデータ処理トランザクションを２つ格納しているものとする。データ処理要求部１３は、ノード２からのデータ処理トランザクションを２つ格納しているものとする。データ処理要求部１４は、ノード３からのデータ処理トランザクションを２つ格納しているものとする。そして、トランザクション制御部４は、図３に示すタイミングチャートに従って動作するものとする。
【００４３】
トランザクション制御部４が生成したクロック信号の周期Ｔ０において、データ処理要求部１１〜１４は、それぞれ、データ処理トランザクションの発行要求を調停部１６に行う。
【００４４】
調停部１６は、これらのトランザクションの発行要求のラウンドロビン方式等による調停を行う。調停部１６は、調停を行った結果、データ処理要求部１１のデータ処理トランザクションを選択する。
【００４５】
周期Ｔ１において、データ処理要求部１１は、調停部１６に、ノード０の２つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部１２に、調停部１６に、ノード１の１つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部１３は、調停部１６に、ノード２の１つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部１４は、調停部１６に、ノード３の１つ目のデータ処理トランザクションの発行要求を行う。
調停部１６は、これらのトランザクションの発行要求の調停を行って、データ処理要求部１２のデータ処理トランザクションを選択する。
【００４６】
データ逐次処理部１７は、調停部１６が周期Ｔ０において選択したデータ処理要求部１１のデータ処理トランザクションを、レジスタ４１に格納する。
【００４７】
周期Ｔ２になると、データ処理要求部１１は、調停部１６に、ノード０の２つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部１２は、調停部１６に、ノード１の２つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部１３は、調停部１６に、ノード２の１つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部１４は、調停部１６に、ノード３の１つ目のデータ処理トランザクションの発行要求を行う。
調停部１６は、これらのトランザクションの発行要求の調停を行って、データ処理要求部１３のデータ処理トランザクションを選択する。
【００４８】
データ逐次処理部１７は、調停部１６が周期Ｔ１において選択したデータ処理要求部１２のデータ処理トランザクションを、レジスタ４１に格納する。
データ逐次処理部１７は、レジスタ４２に、レジスタ４１が出力するデータ処理要求部１１のデータ処理トランザクションを格納する。
データ処理装置２１は、バッファ５１のｅｎｔｒｙ０に、データ処理要求部１１のデータ処理トランザクションを格納する。データ処理装置２１は、有効無効識別フラグをアクティブして、処理ノード番号０をセットする。
ここで、ノード１に、ノード１の閉塞が必要となるような重障害が発生した場合、障害閉塞管理部１５は、専用線を介してノード１の障害通知を受信する。
【００４９】
周期Ｔ３になると、データ処理要求部１１は、調停部１６に、ノード０の２つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部１２は、調停部１６に、ノード１の２つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部１３は、調停部１６に、ノード２の２つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部１４は、調停部１６に、ノード３の１つ目のトランザクションの発行要求を行う。
調停部１６は、これらのトランザクションの発行要求の調停を行って、データ処理要求部１４のデータ処理トランザクションを選択する。
【００５０】
データ逐次処理部１７は、調停部１６が周期Ｔ１において選択したデータ処理要求部１３のデータ処理トランザクションを、レジスタ４１に格納する。
データ逐次処理部１７は、レジスタ４２に、レジスタ４１から出力されるデータ処理要求部１２のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４３に、レジスタ４２から出力されるデータ処理要求部１１のデータ処理トランザクションを格納する。
【００５１】
データ処理装置２１は、バッファ５１のｅｎｔｒｙ１に、データ処理要求部１２のデータ処理トランザクションを格納する。データ処理装置２１は、ｅｎｔｒｙ１の有効無効識別フラグをアクティブにして、処理ノード番号１をセットする。
【００５２】
また、障害閉塞管理部１５は、ノード１に対する閉塞ノード制御信号ｓ１をアクティブにする。閉塞ノード制御信号ｓ１がアクティブになると、データ処理要求部１２は、レジスタ３２に格納したデータ処理トランザクションを破棄する。従って、データ処理要求部１２は、以後、データ処理トランザクションの発行要求を行わない。
障害閉塞管理部１５は、エントリカウンタ３６にカウント値０をセットする。
【００５３】
周期Ｔ４になると、データ処理要求部１１は、調停部１６に、ノード０の２つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部１２は、データ処理トランザクションの発行要求を行わない。
データ処理要求部１３は、調停部１６に、ノード２の２つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部１４は、調停部１６に、ノード３の２つ目のデータ処理トランザクションの発行要求を行う。
調停部１６は、これらのトランザクションの発行要求の調停を行って、障害閉塞管理部１５のノード閉塞トランザクションを選択する。
【００５４】
データ逐次処理部１７は、レジスタ４１に、調停部１６が周期Ｔ３において選択したデータ処理要求部１４のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４２に、レジスタ４１から出力されるデータ処理要求部１３のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４３に、レジスタ４２から出力されるデータ処理要求部１２のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４４に、レジスタ４３から出力されるデータ処理要求部１１のデータ処理トランザクションを格納する。
【００５５】
データ処理装置２１は、バッファ５１のｅｎｔｒｙ２に、データ処理要求部１３のデータ処理トランザクションを格納する。データ処理装置２１は、ｅｎｔｒｙ２の有効無効識別フラグをアクティブにして、処理ノード番号２をセットする。
障害閉塞管理部１５は、調停部１６に、ノード閉塞トランザクションの発行要求を行う。
尚、調停部１６が障害閉塞管理部１５のノード閉塞トランザクションを選択することによって、障害閉塞管理部１５は、エントリカウンタ３６のインクリメント信号を生成する。
【００５６】
周期Ｔ５になると、データ処理要求部１１は、調停部１６に、ノード０の２つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部１２は、データ処理トランザクションの発行要求を行わない。
データ処理要求部１３は、調停部１６に、ノード２の２つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部１４は、調停部１６に、ノード３の２つ目のデータ処理トランザクションの発行要求を行う。
調停部１６は、データ処理要求部１１のデータ処理トランザクションを選択する。
【００５７】
データ逐次処理部１７は、レジスタ４１に、クロック信号の前の周期Ｔ４において調停部１６が選択したノード閉塞トランザクションを格納する。
データ逐次処理部１７は、レジスタ４２に、レジスタ４１から出力されるデータ処理要求部１４のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４３に、レジスタ４２から出力されるデータ処理要求部１３のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４４に、レジスタ４３から出力されるデータ処理要求部１２のデータ処理トランザクションを格納する。
【００５８】
データ処理装置２１は、バッファ５１のｅｎｔｒｙ３に、データ処理要求部１４のデータ処理トランザクションを格納する。データ処理装置２１は、ｅｎｔｒｙ３の有効無効識別フラグをアクティブにして、処理ノード番号３をセットする。
【００５９】
比較回路５２は、レジスタ４１に格納されたノード閉塞トランザクションの閉塞対象ノード番号を参照する。閉塞対象ノード番号は１である。次に、比較回路５２は、ノード閉塞トランザクションのエントリ番号情報を参照する。エントリ番号は０である。
【００６０】
比較回路５２は、エントリ番号０をリードアドレス情報として、バッファ５１のｅｎｔｒｙ０の処理ノード番号を参照する。処理ノード番号は０である。この閉塞対象ノード番号１と処理ノード番号０とは一致しないため、比較回路５２は、バッファ５１のｅｎｔｒｙ０の有効無効識別フラグをリセットしない。このため、ｅｎｔｒｙ０の有効無効識別フラグは１のままであり、アクティブであって、ｅｎｔｒｙ０のデータ処理トランザクションは破棄されない。
【００６１】
また、障害閉塞管理部１５は、調停部１６に、ノード閉塞トランザクションの発行要求を行う。障害閉塞管理部１５は、クロック信号の前の周期Ｔ４において生成したインクリメント信号に従って、エントリカウンタ３６のカウント値を１だけインクリメントする。エントリカウンタ３６のカウント値は１となる。
【００６２】
周期Ｔ６になると、データ処理要求部１１、１２は、データ処理トランザクションの発行要求を行わない。
データ処理要求部１３は、調停部１６に、ノード２の２つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部１４は、調停部１６に、ノード３の２つ目のデータ処理トランザクションの発行要求を行う。
調停部１６は、データ処理要求部１３のデータ処理トランザクションを選択する。
【００６３】
データ逐次処理部１７は、レジスタ４１に、クロック信号の前の周期Ｔ５において調停部１６が選択したデータ処理要求部１１のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４２に、レジスタ４１から出力される障害閉塞部１５のノード閉塞トランザクションを格納する。
データ逐次処理部１７は、レジスタ４３に、レジスタ４２から出力されるデータ処理要求部１４のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４４に、レジスタ４３から出力されるデータ処理要求部１３のデータ処理トランザクションを格納する。
また、障害閉塞管理部１５は、調停部１６に、ノード閉塞トランザクションの発行要求を行う。
【００６４】
周期Ｔ７になると、データ処理要求部１１〜１３は、データ処理トランザクションの発行要求を行わない。
データ処理要求部１４は、調停部１６に、ノード３の２つ目のデータ処理トランザクションの発行要求を行う。
調停部１６は、データ処理要求部１４のデータ処理トランザクションを選択する。
【００６５】
データ逐次処理部１７は、レジスタ４１に、クロック信号の前の周期Ｔ７において調停部１６が選択したデータ処理要求部１３のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４２に、レジスタ４１から出力されるデータ処理要求部１１のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４３に、レジスタ４２から出力される障害閉塞管理部１５のノード閉塞トランザクションを格納する。
データ逐次処理部１７は、レジスタ４４に、レジスタ４３から出力されるデータ処理要求部１４のデータ処理トランザクションを格納する。
【００６６】
データ処理装置２１は、バッファ５１のｅｎｔｒｙ４にデータ処理要求部１１のデータ処理トランザクションを格納する。データ処理装置２１は、ｅｎｔｒｙ４の有効無効識別フラグをアクティブにして、処理ノード番号０をセットする。
また、障害閉塞管理部１５は、調停部１６に、ノード閉塞トランザクションの発行要求を行う。
【００６７】
周期Ｔ８になると、データ処理要求部１１〜１４は、データ処理トランザクションの発行要求を行わない。
調停部１６は、障害閉塞管理部１５のノード閉塞トランザクションを選択する。
【００６８】
データ逐次処理部１７は、レジスタ４１に、クロック信号の前の周期Ｔ７において調停部１６が選択したデータ処理要求部１４のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４２に、レジスタ４１から出力されるデータ処理要求部１３のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４３に、レジスタ４２から出力されるデータ処理要求部１１のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４４に、レジスタ４３から出力される障害閉塞管理部１５のノード閉塞トランザクションを格納する。
【００６９】
データ処理装置２１は、バッファ５１のｅｎｔｒｙ５に、データ処理要求部１３のデータ処理トランザクションを格納する。データ処理装置２１は、ｅｎｔｒｙ５の有効無効識別フラグをアクティブにして、処理ノード番号２をセットする。
【００７０】
また、障害閉塞管理部１５は、調停部１６に、ノード閉塞トランザクションの発行要求を行う。調停部１６は、このノード閉塞トランザクションを選択する。
障害閉塞管理部１５は、調停部１６がノード閉塞トランザクションを選択することにより、エントリカウンタ３６のインクリメント信号を生成する。
【００７１】
周期Ｔ９になると、データ逐次処理部１７は、レジスタ４１に、クロック信号の前の周期Ｔ８において調停部１６が選択した障害閉塞管理部１５のノード閉塞トランザクションを格納する。
データ逐次処理部１７は、レジスタ４２に、レジスタ４１から出力されるデータ処理要求部１４のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４３に、レジスタ４２から出力されるデータ処理要求部１３のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４４に、レジスタ４３から出力されるデータ処理要求部１１のデータ処理トランザクションを格納する。
【００７２】
データ処理装置２１は、バッファ５１のｅｎｔｒｙ６に、データ処理要求部１４のデータ処理トランザクションを格納する。データ処理装置２１は、ｅｎｔｒｙ６の有効無効識別フラグをアクティブにして、処理ノード番号３をセットする。
【００７３】
比較回路５２は、レジスタ４１に格納されたノード閉塞トランザクションの閉塞対象ノード番号を参照する。閉塞対象ノード番号は１である。次に、比較回路５２は、ノード閉塞トランザクションのエントリ番号情報を参照する。エントリ番号は１である。
【００７４】
比較回路５２は、エントリ番号１をリードアドレス情報として、バッファ５１のｅｎｔｒｙ１の処理ノード番号を参照する。処理ノード番号は１である。この閉塞対象ノード番号１と処理ノード番号１とは一致するため、比較回路５２は、バッファ５１のｅｎｔｒｙ１の有効無効識別フラグをリセットする。ｅｎｔｒｙ１の有効無効識別フラグは０となり、インアクティブとなって、ｅｎｔｒｙ１のデータ処理トランザクションは破棄される。そして、ｅｎｔｒｙ１は解放される。
【００７５】
次に、障害閉塞管理部１５は、ノード閉塞トランザクションの発行要求を行う。
障害閉塞管理部１５は、クロック信号の前の周期Ｔ９において生成したインクリメント信号に従って、エントリカウンタ３６のカウント値を１つだけインクリメントする。エントリカウンタ３６のカウント値は２となる。
これ以降、障害閉塞管理部１５は、この計算機システム内の最大エントリ数である８まで、ノード閉塞トランザクションを繰り返し、発行する。
【００７６】
周期Ｔ１０になると、データ逐次処理部１７は、レジスタ４２に、レジスタ４１から出力される障害閉塞管理部１５のノード閉塞トランザクションを格納する。
データ逐次処理部１７は、レジスタ４３に、レジスタ４２から出力されるデータ処理要求部１４のデータ処理トランザクションを格納する。
データ逐次処理部１７は、レジスタ４４に、レジスタ４３から出力されるデータ処理要求部１３のデータ処理トランザクションを格納する。
【００７７】
周期Ｔ１１になると、データ逐次処理部１７は、レジスタ４３に、レジスタ４２から出力される障害閉塞管理部１５のノード閉塞トランザクションを格納する。
データ逐次処理部１７は、レジスタ４４に、レジスタ４３から出力されるデータ処理要求部１４のデータ処理トランザクションを格納する。
【００７８】
周期Ｔ１２になると、データ逐次処理部１７は、レジスタ４４に、レジスタ４３から出力される障害閉塞管理部１５のノード閉塞トランザクションを格納する。
【００７９】
時間が経過して、周期Ｔ１４になって、データ処理要求部１１は、調停部１６に、ノード０の１つ目のデータ処理の完了処理を指示する旨のデータ処理トランザクションの発行要求を行う。
調停部１６は、データ処理要求部１１のこのデータ処理要求部１１のデータ処理トランザクションを選択する。
【００８０】
周期Ｔ１５になると、データ逐次処理部１７は、レジスタ４１に、クロック信号の前の周期Ｔ１４において調停部１６が選択したデータ処理要求部１１のデータ処理トランザクションを格納する。
データ処理装置２１は、バッファ５１のｅｎｔｒｙ０の処理完了により、有効無効識別フラグをリセットする。
【００８１】
周期Ｔ１６になると、データ逐次処理部１７は、レジスタ４２に、レジスタ４１から出力されるデータ処理要求部１１のデータ処理トランザクションを格納する。データ処理装置２１は、有効無効識別フラグをリセットする。有効無効識別フラグは、インアクティブになる。
【００８２】
ノード０には障害の発生はなく、比較回路５２がこの有効無効識別フラグをリセットして、データ処理装置２１は、バッファ５１のｅｎｔｒｙ０の処理を完了させる。
【００８３】
周期Ｔ１７になると、データ逐次処理部１７は、レジスタ４３に、レジスタ４２から出力されるデータ処理要求部１１のデータ処理トランザクションを格納する。
【００８４】
周期Ｔ１８になると、データ逐次処理部１７は、レジスタ４４に、レジスタ４３から出力されるデータ処理要求部１１のデータ処理トランザクションを格納する。
同様にして、データ処理装置２１は、バッファ５１のｅｎｔｒｙ２〜７の処理を完了させる。
【００８５】
以上説明したように、本実施の形態によれば、障害通知が行われると、障害閉塞管理部１５は、データ処理要求部１１〜１４に閉塞ノード制御信号ｓ１を送信し、調停部１６にノード閉塞トランザクションを発行する。データ処理要求部１１〜１４は、閉塞ノード制御信号ｓ１を受信すると、閉塞対象ノード番号と一致する処理ノード番号を有するデータ処理トランザクションを破棄する。
【００８６】
また、データ処理装置２１は、調停部１６によって選択されたノード閉塞トランザクションがレジスタ４１に格納されると、そのノード閉塞トランザクションの情報から、閉塞対象ノード番号と処理ノード番号とを比較する。そして、データ処理装置２１は、２つのノード番号が一致すれば、そのエントリの有効無効識別フラグをリセットして該当するエントリを解放し、不一致であれば、有効無効識別フラグをアクティブのままとする。
【００８７】
従って、障害が発生したノードのみを閉塞させることができ、障害に無関係のノードは、そのまま、データ処理を続行することができる。また、障害が発生しても、そのエントリは解放されるため、エントリが制限されることもなく、すぐに、そのエントリを使用することができる。このため、障害時のシステム性能の低下を抑止することができる。
【００８８】
また、本実施の形態では、エントリカウンタ３６のカウント値を利用して、データ処理トランザクションの処理ノード番号とノード閉塞トランザクションの閉塞対象ノード番号との比較を行っている。このため、この比較を１サイクルでできなくても、閉塞対象ノードに対応する全てのエントリを解放することができる。
【００８９】
従って、ハードマクロの構造等で１クロックで１エントリしか読み出せないような制約がある場合でも、有効にエントリを解放することができる。
【００９０】
尚、複数のノード閉塞トランザクションが障害閉塞管理部１５から発行されるものの、障害と無関係のノードから発行されるデータ処理トランザクションは、ラウンドロビン方式により、調停部１６が、順次、処理するため、障害と無関係のノードから発行されるデータ処理トランザクションの性能をほとんど損うことはない。
【００９１】
但し、データ処理装置２１〜２４は、１クロックに１エントリのみのデータを読み出すように構成されるのではなく、１クロックで全エントリを読み出すように構成されることもできる。
【００９２】
上記実施の形態では、前述のハードマクロの制約といった理由だけでなく、１クロックで全てのエントリから読み出し可能なバッファは、一般的にハードウェア量が大きくなり、１クロックに１エントリのみ読み出し可能なバッファの方が一般的に用いられることが多いため、このように構成されている。
【００９３】
しかし、１クロックで全エントリを読み出すように構成されれば、ノード閉塞トランザクションを１回だけ発行すればよいこととなる。このため、障害閉塞管理部１５内のエントリカウンタ３６は不要になる。
【００９４】
この場合、データ逐次処理部１７にノード閉塞トランザクションが発行されると、データ処理装置２１は、全てのエントリの処理ノード番号を読み出し、閉塞対象ノード番号と一致する全てのエントリの有効無効識別フラグをリセットする。
【００９５】
また、バッファ５１のエントリ毎に外付けレジスタとしてノード番号を保持するように構成されることもでき、このようにすれば、１クロックで全てのエントリの処理ノード番号を識別可能となる。この場合も、ノード閉塞トランザクションを１回のみ発行すればよいことになるため、エントリカウンタ３６は不要となる。また、ハードウェア構成は、レジスタ分、増大するものの、短時間でノード閉塞が可能となる。
【００９６】
尚、本発明を実施するにあたっては、他にも種々の形態が考えられる。
上記実施の形態では、データ処理装置２１〜２４の最大エントリ数を８とした。しかし、最大エントリ数をｎ（ｎは任意の自然数）とすることもできる。ただし、最大エントリ数を変更した場合、最大エントリ数に従って、エントリカウンタ３６の最大カウント数も変更する必要がある。例えば、最大エントリ数を１６とすると、０から１５までをカウント可能とするため、カウンタは４ビットのレジスタによって構成される。
【００９７】
データ処理装置の数は、４個に限られるものではなくｎ個（ｎは任意の自然数）であってもよい。
データ処理装置２１〜２４は、バッファ５１を備える代わりに、メモリのような大規模な記憶装置を備えてもよいし、プロセッサのような演算処理装置を備えてもよい。
【００９８】
データ処理要求部の数も４個に限られるものではなく、ｎ個（ｎは任意の自然数）であってもよい。
【００９９】
上記実施の形態では、データ逐次処理部１７は、トランザクションの順送りを４クロックの間で行うように構成された。しかし、トランザクションの順送りをｎクロックの間で行うようにすることができる。但し、この場合、データ処理装置の数もｎ個にする必要がある。また、レジスタ４１〜４４の間でトランザクションを順送りせずに、処理完了まで保持するように構成されてもよい。
【０１００】
上記実施の形態では、データ処理トランザクションおよびノード閉塞トランザクションをそれぞれ１クロックのデータとしたが、ｎクロック（ｎは任意の自然数）のデータとしてもよい。
【０１０１】
上記実施の形態では、データ処理要求部１１〜１４から、２個ずつデータ処理トランザクションを発行する例を示した。しかし、各データ処理要求部１１〜１４は、ｎ個（ｎは任意の自然数）ずつデータ処理トランザクションを発行することもできる。また、データ処理要求部１１〜１４は、連続してデータ処理トランザクションを発行するのではなく、断続的に発行してもよい。
【０１０２】
データ処理装置２１内の有効無効識別フラグに関しては、上記実施の形態では、データ処理トランザクションが発行されて有効無効識別フラグがセットされ、対応する処理完了を指示するデータ処理トランザクションでリセットされるように構成された。これは、データ処理トランザクションをメモリからのデータリード処理として想定したものである。しかし、データ処理開始後、正常完了信号等によって有効無効識別フラグがリセットされるように構成されてもよい。
【０１０３】
上記実施の形態では、トランザクションの調停後の処理に対して閉塞対象ノードと一致するデータ処理トランザクションが存在した場合にも、そのままデータ処理を実行するようにした。しかし、障害通知が行われた後のタイミングについては、処理を行うことなくデータ処理トランザクションを破棄するように構成されてもよい。
【０１０４】
即ち、上記実施の形態では、データ処理要求部のみをデータ処理トランザクションの破棄ポイントとして、調停部１６、データ逐次処理部１７、データ処理装置２１〜２４の処理は滑りとして扱われている。しかし、閉塞ノード制御信号ｓ１と同等の信号線をデータ逐次処理部１７やデータ処理装置２１〜２４に設けることによって、データ処理トランザクションの破棄ポイントを増やすこともできる。
【０１０５】
トランザクション制御部４は、ハードウェアによって構成されるだけでなく、ソフトウェアによって構成されることもできる。
【０１０６】
【発明の効果】
以上説明したように、本発明によれば、障害時のシステム性能の低下を抑止することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る計算機システムの構成を示すブロック図である。
【図２】図１の計算機システムのデータ処理装置の構成を示すブロック図である。
【図３】図１のトランザクション制御部の動作を示すタイミングチャートである。
【符号の説明】
０〜３  ノード
４  トランザクション制御部
１１〜１４  データ処理要求部
１５  障害閉塞管理部
１６  調停部
１７  データ逐次処理部
２１〜２４  データ処理装置
５１  バッファ
５２  比較回路
【図１】
2005018339.tif 000003
【図２】
2005018339.tif 000004
【図３】
2005018339.tif 000005