JP3882791B2 - 計算機システムのノード閉塞装置及びそのトランザクション制御方法 - Google Patents
計算機システムのノード閉塞装置及びそのトランザクション制御方法 Download PDFInfo
- Publication number
- JP3882791B2 JP3882791B2 JP2003181130A JP2003181130A JP3882791B2 JP 3882791 B2 JP3882791 B2 JP 3882791B2 JP 2003181130 A JP2003181130 A JP 2003181130A JP 2003181130 A JP2003181130 A JP 2003181130A JP 3882791 B2 JP3882791 B2 JP 3882791B2
- Authority
- JP
- Japan
- Prior art keywords
- data processing
- transaction
- node
- unit
- blocking
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、計算機システムのノード閉塞装置及びそのトランザクション制御方法に関する。
【0002】
【従来の技術】
ノードとは、1つまたは複数のプロセッサ、ローカル・メモリ、入出力サブシステムおよびオプションである周辺装置から構成されるコンピュータを意味する。複数のノードが相互に接続されて、ノード間でデータの送受信を可能とする計算機システムがある。
近年、これらのノード数が多い大規模な構成のシステムが増えてきており、単一ノードの障害が他のノードに影響を与えない可用性の高い装置が要求されている。
従来の計算機システムでは、障害が発生した場合、診断プログラムを備えたファームウェアが障害個所を検出し、障害個所を切り離し、そして、復旧などの処理を行っている(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開平11−96035号公報(第4頁、図1)
【0004】
【発明が解決しようとする課題】
しかし、複数のノード資源を共有して動作するデータ転送装置については、ファームウェア等を介して一度停止を行い、障害ノードが使用していた資源のみを解放して再動作させる処理が必要であった。すなわち、障害に無関係のノードに関する処理において性能の低下をもたらすという不都合があった。
【0005】
本発明は、このような従来の問題点に鑑みてなされたもので、障害時のシステム性能の低下を抑止することが可能な計算機システムのノード閉塞装置及びそのトランザクション制御方法を提供することを目的とする。
【0006】
【課題を解決するための手段】
この目的を達成するため、本発明の第1の観点に係る計算機システムのノード閉塞装置は、
複数のノードを備え、各ノードから発行要求されたデータ処理に関するデータ処理トランザクションを制御してデータ処理を実行する計算機システムにおいて、
前記各ノードの発行要求を受け付けて、発行要求をしたノードを識別するための処理ノード識別情報を含めて前記データ処理トランザクションを発行する複数のデータ処理要求部を備えるとともに、
いずれかのノードに障害が発生すると、障害が発生したノードを閉塞対象のノードとして識別するための閉塞対象ノード識別情報を含むノード閉塞トランザクションを発行する障害閉塞管理部と、
前記複数のデータ処理要求部が発行したデータ処理トランザクションと前記障害閉塞管理部が発行したノード閉塞トランザクションとの調停を行って、いずれかのトランザクションを、順次、選択する調停部と、
前記調停部が選択したトランザクションを順次格納するデータ逐次処理部と、前記データ逐次処理部が格納したトランザクションを判別し、判別したトランザクションが前記データ処理トランザクションであれば、指定されたデータ処理を実行し、前記ノード閉塞トランザクションであれば、前記ノード閉塞トランザクションに含まれている前記閉塞対象ノード識別情報と既に取得したデータ処理トランザクションに含まれている処理ノード識別情報とを比較して、前記閉塞対象ノード識別情報と一致する処理ノード識別情報を有するデータ処理トランザクションのデータ処理を停止するデータ処理部と、を備えたものである。
【0007】
前記データ処理部は、前記複数のデータ処理トランザクションをそれぞれ格納する複数のトランザクション格納部と、
前記ノード閉塞トランザクションに含まれている閉塞対象ノード識別情報と各トランザクション格納部に格納されているデータ処理トランザクションに含まれている処理ノード識別情報とを比較し、比較の結果、前記閉塞対象ノード識別情報と前記処理ノード識別情報とが一致するデータ処理トランザクションのデータ処理を停止させる比較部と、を備えたものであってもよい。
【0008】
前記障害閉塞管理部は、前記トランザクション格納部を指定するためのカウント値を生成するカウンタを備え、前記調停部がノード閉塞トランザクションを選択する毎に前記カウンタのカウント値を更新するとともに、前記カウンタのカウント値を含めて前記ノード閉塞トランザクションを前記調停部に発行し、
前記データ処理部の比較部は、判別したノード閉塞トランザクションに含まれているカウント値に基づいて、前記閉塞対象ノードのデータ処理トランザクションを格納するトランザクション格納部を指定し、指定したトランザクション格納部に格納されているデータ処理トランザクションの処理ノード識別情報と、前記ノード閉塞トランザクションの閉塞対象ノードと、を比較するように構成されたものであってもよい。
【0009】
前記障害閉塞管理部は、いずれかのノードに障害が発生すると、障害が発生したノードから前記データ処理トランザクションを受け付けたデータ処理要求部に、未発行のデータ処理トランザクションを破棄させるための閉塞ノード制御信号を送信するように構成されたものであってもよい。
【0010】
本発明の第2の観点に係る計算機システムのトランザクション制御方法は、
複数のノードを備え、各ノードから発行要求されたデータ処理トランザクションを制御してデータ処理を実行する計算機システムにおいて、
前記各ノードの発行要求を受け付けて、発行要求をしたノードを識別するための処理ノード識別情報を含めて前記データ処理トランザクションを発行するステップと、
いずれかのノードに障害が発生すると、障害が発生したノードを閉塞対象のノードとして識別するための閉塞対象ノード識別情報を含むノード閉塞トランザクションを発行するステップと、
前記データ処理トランザクションと前記ノード閉塞トランザクションとの調停を行って、いずれかのトランザクションを、順次、選択するステップと、
前記選択されたトランザクションを順次格納するステップと、
前記格納されたトランザクションが前記データ処理トランザクションであるか前記ノード閉塞トランザクションであるかを判別するステップと、
判別したトランザクションが前記データ処理トランザクションであれば、指定されたデータ処理を実行し、前記ノード閉塞トランザクションであれば、前記ノード閉塞トランザクションに含まれている前記閉塞対象ノード識別情報と既に取得したデータ処理トランザクションに含まれている処理ノード識別情報とを比較するステップと、
前記閉塞対象ノード識別情報と一致する処理ノード識別情報を有するデータ処理トランザクションのデータ処理を停止するステップと、を備えたものである。
【0011】
【発明の実施の形態】
以下、本発明の実施の形態に係る計算機システムのノード閉塞装置を図面を参照して説明する。
本実施の形態に係る計算機システムの構成を図1に示す。
本実施の形態に係る計算機システムは、ノード0〜3と、トランザクション制御部4と、通信線5と、からなる。
【0012】
ノード0〜3は、1つまたは複数のプロセッサ、ローカルメモリ、入出力サブシステムおよびオプションである周辺装置から構成されるコンピュータである。ノード0〜3は通信線5を介して相互に接続され、相互にデータの送受信を行う。
【0013】
また、ノード0〜3は、トランザクション制御部4に、例えば、ノード内メモリ(図示せず)からのデータ読み出し処理といったデータ処理トランザクションの発行要求を行う。
【0014】
トランザクション制御部4は、ノード閉塞装置に相当するものであり、データ処理要求部11〜14と、障害閉塞管理部15と、調停部16と、データ逐次処理部17と、データ処理装置21〜24と、を備える。トランザクション制御部4は、例えば、LSI(Large Scale Integrated circuit)によって構成される。
【0015】
尚、トランザクション制御部4は、基準となるクロック信号を生成するクロック生成部(図示せず)を有する。そして、データ処理要求部11〜14と、障害閉塞管理部15と、調停部16と、データ逐次処理部17と、データ処理装置21〜24とは、このクロック信号に同期して動作する。
【0016】
データ処理要求部11〜14は、ノード0〜3からのデータ処理トランザクションの発行要求を受け付けて、受け付けたデータ処理トランザクションの発行要求を調停部16に行うものであり、それぞれ、発行するデータ処理トランザクションを格納するレジスタ31〜34を備える。
【0017】
発行するデータ処理トランザクションは、トランザクション処理情報と処理ノード番号とを含む。トランザクション処理情報は、前述のノード内メモリからのデータ読み出し処理といったトランザクション処理の内容を示す情報であり、処理ノード番号は、データ処理トランザクションの発行要求を行ったノードを識別するための処理ノード識別情報である。
【0018】
障害閉塞管理部15は、障害が発生したノードの障害閉塞を管理するものである。障害閉塞管理部15は、障害通知を受信すると、データ処理要求部11〜14に送信する閉塞ノード制御信号s1をアクティブにして、ノード閉塞トランザクションを調停部16に発行する。
【0019】
障害通知は、ノード内で閉塞を伴う重障害が発生した場合に、専用線(図示せず)を介して障害閉塞管理部15へ通知される1ビットの信号である。
【0020】
ノード閉塞トランザクションは、障害が発生したノードに対応するエントリ(後述)に格納されているデータ処理トランザクションを無効にするための情報であり、閉塞対象ノード番号情報とエントリ番号情報とを含む。
【0021】
閉塞対象ノード番号情報は、閉塞すべきノードを指定するための閉塞ノード識別情報である。エントリ番号情報は、データ処理装置21〜24のエントリを指定するために用いられる情報である。
【0022】
障害閉塞管理部15は、閉塞対象ノード番号情報を格納するための閉塞対象ノード番号レジスタ35と、エントリ番号を生成するためのエントリカウンタ36と、を備える。
【0023】
閉塞対象ノード番号レジスタ35は、フリップフロップによって構成される。障害閉塞管理部15は、障害通知が行われると、閉塞対象ノード番号レジスタ35に閉塞対象ノード番号情報をセットして各データ処理要求部11〜14に送信する閉塞ノード制御信号s1をアクティブにする。
【0024】
各データ処理要求部11〜14は、閉塞ノード制御信号s1がアクティブになって送信された閉塞対象ノード番号とデータ処理トランザクションに含まれる処理ノード番号とを比較する。そして、各データ処理要求部11〜14は、2つの番号が一致すると、データ処理トランザクションを破棄する。
【0025】
本実施の形態では、1つのノードに対して1ビットの閉塞ノード制御信号s1をレベル送信するものとして、閉塞ノード制御信号s1を送信する信号線は、少なくともノード数分備えられる。
【0026】
但し、計算機システム全体のノード数が数百を越えるような大規模構成の場合を考慮して、閉塞ノード制御信号s1を、1クロックのパルス信号として構成されることもできる。この場合、信号線数は、有効信号1ビットとエンコードした閉塞対象ノード番号(128ノードであれば7ビット)とを送信するのに必要な数となる。また、この場合、各データ処理要求部11〜14は、閉塞対象ノード番号を保持するレジスタを備える。
【0027】
エントリカウンタ36は、インクリメント信号に従ってカウント値を1つずつインクリメントする。障害閉塞管理部15は、ノード閉塞トランザクションが調停部16によって選択されると、エントリカウンタ36のインクリメント信号を生成し、エントリカウンタ36は、次のクロック信号の立ち上がりに同期してカウント値をインクリメントする。エントリカウンタ36は、データ処理装置21〜24の最大エントリ数をカウント可能なように複数のレジスタ等によって構成される。
【0028】
本実施の形態では、データ処理装置21〜24の最大エントリ数を8として、エントリカウンタ36は、3ビットのレジスタから構成されるものとする。エントリカウンタ36は、0から7までをカウントする。
【0029】
調停部16は、データ処理要求部11〜14が発行したデータ処理トランザクションと、障害閉塞管理部15が発行したノード閉塞トランザクションと、の調停を行ってトランザクションを選択するものである。
【0030】
調停には、例えば、ラウンドロビン方式が用いられる。ラウンドロビン方式とは、トランザクションを要求順に選択する方式である。この方式によれば、調停部16は、データ処理要求部11〜14のデータ処理を順次、均等に選択する。
【0031】
また、障害閉塞管理部15から、ノード閉塞トランザクションの発行要求があれば、調停部16は、ノード閉塞トランザクションを含めてすべてのトランザクションを順次、均等に選択する。
【0032】
そして、調停部16は、トランザクションの選択が一巡した後は、再び、最初のトランザクションを選択する。調停部16は、次のクロック信号の立ち上がりに同期して、選択したトランザクションをデータ逐次処理部17に供給する。
【0033】
このように、調停部16は、データ処理要求部11〜14からそれぞれ発行されるデータ処理トランザクションと、障害閉塞管理部15から発行されるノード閉塞トランザクションとを、特に優先度を持たせることなく逐次選択する。
【0034】
そして、ラウンドロビン方式を用いることにより、障害閉塞管理部15から複数のノード閉塞トランザクションが発行されたとしても、障害と無関係のノードのデータ処理トランザクションへの影響を抑止することが可能となる。
【0035】
データ逐次処理部17は、調停部16からトランザクションを受け取って内部で順送りする。データ逐次処理部17は、トランザクションを順送りさせるため、例えば、4つのレジスタ41〜44を備える。データ逐次処理部17は、レジスタ41〜44にトランザクションを格納しつつ、クロックの立ち上がりに同期してトランザクションを順送りする。
【0036】
データ処理装置21〜24は、トランザクション処理情報に従って、データ処理トランザクションの処理を行うものであり、それぞれ、バッファ51と、比較回路52と、を備えている。
【0037】
バッファ51は、データ処理トランザクションを格納するものであり、複数のレジスタ等によって構成される。本実施の形態では、バッファ51は、entry0〜7の8つのトランザクション格納部を有するものとする。データ処理装置21〜24は、それぞれ、このバッファ51のentry0〜7に、1クロックに1回、1エントリ分のデータ処理トランザクションを格納する。
【0038】
また、バッファ51は、有効無効識別フラグをエントリ毎に格納する。
有効無効識別フラグは、例えば、データ処理トランザクションがノード内メモリからのデータ読み出し処理に関するものである場合、メモリリード実行している期間(ノード間通信における読み出し期間)でセットされ、メモリリプライ受信でリセットされるフラグである。
【0039】
データ処理装置21〜24は、メモリリードリクエスト発行時にこの有効無効識別フラグをセットし、メモリデータリプライ受信時にこの有効無効識別フラグをリセットする。
【0040】
比較回路52は、障害閉塞管理部15のノード閉塞トランザクションがレジスタ41(〜44)に格納された場合に、閉塞対象ノード番号と処理ノード番号とを比較して、比較の結果、一致すれば、有効無効識別フラグをリセットするものである。
【0041】
比較回路52は、閉塞対象ノード番号を、レジスタ41(〜44)に格納されたノード閉塞トランザクションから読み出す。また、バッファ51がentry0〜7を備えているため、比較回路52は、ノード閉塞トランザクションのエントリ番号情報を参照して、処理ノード番号を取得する。即ち、比較回路52は、参照したエントリ番号をリードアドレスとして、entry0〜7のいずれかを指定して処理ノード番号を読み出す。
【0042】
次に、本実施の形態に係る計算機システムの動作を説明する。
図3に示すように、データ処理要求部11は、ノード0からのデータ処理トランザクションを2つ格納しているものとする。データ処理要求部12は、ノード1からのデータ処理トランザクションを2つ格納しているものとする。データ処理要求部13は、ノード2からのデータ処理トランザクションを2つ格納しているものとする。データ処理要求部14は、ノード3からのデータ処理トランザクションを2つ格納しているものとする。そして、トランザクション制御部4は、図3に示すタイミングチャートに従って動作するものとする。
【0043】
トランザクション制御部4が生成したクロック信号の周期T0において、データ処理要求部11〜14は、それぞれ、データ処理トランザクションの発行要求を調停部16に行う。
【0044】
調停部16は、これらのトランザクションの発行要求のラウンドロビン方式等による調停を行う。調停部16は、調停を行った結果、データ処理要求部11のデータ処理トランザクションを選択する。
【0045】
周期T1において、データ処理要求部11は、調停部16に、ノード0の2つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部12に、調停部16に、ノード1の1つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部13は、調停部16に、ノード2の1つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部14は、調停部16に、ノード3の1つ目のデータ処理トランザクションの発行要求を行う。
調停部16は、これらのトランザクションの発行要求の調停を行って、データ処理要求部12のデータ処理トランザクションを選択する。
【0046】
データ逐次処理部17は、調停部16が周期T0において選択したデータ処理要求部11のデータ処理トランザクションを、レジスタ41に格納する。
【0047】
周期T2になると、データ処理要求部11は、調停部16に、ノード0の2つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部12は、調停部16に、ノード1の2つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部13は、調停部16に、ノード2の1つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部14は、調停部16に、ノード3の1つ目のデータ処理トランザクションの発行要求を行う。
調停部16は、これらのトランザクションの発行要求の調停を行って、データ処理要求部13のデータ処理トランザクションを選択する。
【0048】
データ逐次処理部17は、調停部16が周期T1において選択したデータ処理要求部12のデータ処理トランザクションを、レジスタ41に格納する。
データ逐次処理部17は、レジスタ42に、レジスタ41が出力するデータ処理要求部11のデータ処理トランザクションを格納する。
データ処理装置21は、バッファ51のentry0に、データ処理要求部11のデータ処理トランザクションを格納する。データ処理装置21は、有効無効識別フラグをアクティブして、処理ノード番号0をセットする。
ここで、ノード1に、ノード1の閉塞が必要となるような重障害が発生した場合、障害閉塞管理部15は、専用線を介してノード1の障害通知を受信する。
【0049】
周期T3になると、データ処理要求部11は、調停部16に、ノード0の2つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部12は、調停部16に、ノード1の2つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部13は、調停部16に、ノード2の2つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部14は、調停部16に、ノード3の1つ目のトランザクションの発行要求を行う。
調停部16は、これらのトランザクションの発行要求の調停を行って、データ処理要求部14のデータ処理トランザクションを選択する。
【0050】
データ逐次処理部17は、調停部16が周期T1において選択したデータ処理要求部13のデータ処理トランザクションを、レジスタ41に格納する。
データ逐次処理部17は、レジスタ42に、レジスタ41から出力されるデータ処理要求部12のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ43に、レジスタ42から出力されるデータ処理要求部11のデータ処理トランザクションを格納する。
【0051】
データ処理装置21は、バッファ51のentry1に、データ処理要求部12のデータ処理トランザクションを格納する。データ処理装置21は、entry1の有効無効識別フラグをアクティブにして、処理ノード番号1をセットする。
【0052】
また、障害閉塞管理部15は、ノード1に対する閉塞ノード制御信号s1をアクティブにする。閉塞ノード制御信号s1がアクティブになると、データ処理要求部12は、レジスタ32に格納したデータ処理トランザクションを破棄する。従って、データ処理要求部12は、以後、データ処理トランザクションの発行要求を行わない。
障害閉塞管理部15は、エントリカウンタ36にカウント値0をセットする。
【0053】
周期T4になると、データ処理要求部11は、調停部16に、ノード0の2つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部12は、データ処理トランザクションの発行要求を行わない。
データ処理要求部13は、調停部16に、ノード2の2つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部14は、調停部16に、ノード3の2つ目のデータ処理トランザクションの発行要求を行う。
調停部16は、これらのトランザクションの発行要求の調停を行って、障害閉塞管理部15のノード閉塞トランザクションを選択する。
【0054】
データ逐次処理部17は、レジスタ41に、調停部16が周期T3において選択したデータ処理要求部14のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ42に、レジスタ41から出力されるデータ処理要求部13のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ43に、レジスタ42から出力されるデータ処理要求部12のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ44に、レジスタ43から出力されるデータ処理要求部11のデータ処理トランザクションを格納する。
【0055】
データ処理装置21は、バッファ51のentry2に、データ処理要求部13のデータ処理トランザクションを格納する。データ処理装置21は、entry2の有効無効識別フラグをアクティブにして、処理ノード番号2をセットする。
障害閉塞管理部15は、調停部16に、ノード閉塞トランザクションの発行要求を行う。
尚、調停部16が障害閉塞管理部15のノード閉塞トランザクションを選択することによって、障害閉塞管理部15は、エントリカウンタ36のインクリメント信号を生成する。
【0056】
周期T5になると、データ処理要求部11は、調停部16に、ノード0の2つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部12は、データ処理トランザクションの発行要求を行わない。
データ処理要求部13は、調停部16に、ノード2の2つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部14は、調停部16に、ノード3の2つ目のデータ処理トランザクションの発行要求を行う。
調停部16は、データ処理要求部11のデータ処理トランザクションを選択する。
【0057】
データ逐次処理部17は、レジスタ41に、クロック信号の前の周期T4において調停部16が選択したノード閉塞トランザクションを格納する。
データ逐次処理部17は、レジスタ42に、レジスタ41から出力されるデータ処理要求部14のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ43に、レジスタ42から出力されるデータ処理要求部13のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ44に、レジスタ43から出力されるデータ処理要求部12のデータ処理トランザクションを格納する。
【0058】
データ処理装置21は、バッファ51のentry3に、データ処理要求部14のデータ処理トランザクションを格納する。データ処理装置21は、entry3の有効無効識別フラグをアクティブにして、処理ノード番号3をセットする。
【0059】
比較回路52は、レジスタ41に格納されたノード閉塞トランザクションの閉塞対象ノード番号を参照する。閉塞対象ノード番号は1である。次に、比較回路52は、ノード閉塞トランザクションのエントリ番号情報を参照する。エントリ番号は0である。
【0060】
比較回路52は、エントリ番号0をリードアドレス情報として、バッファ51のentry0の処理ノード番号を参照する。処理ノード番号は0である。この閉塞対象ノード番号1と処理ノード番号0とは一致しないため、比較回路52は、バッファ51のentry0の有効無効識別フラグをリセットしない。このため、entry0の有効無効識別フラグは1のままであり、アクティブであって、entry0のデータ処理トランザクションは破棄されない。
【0061】
また、障害閉塞管理部15は、調停部16に、ノード閉塞トランザクションの発行要求を行う。障害閉塞管理部15は、クロック信号の前の周期T4において生成したインクリメント信号に従って、エントリカウンタ36のカウント値を1だけインクリメントする。エントリカウンタ36のカウント値は1となる。
【0062】
周期T6になると、データ処理要求部11、12は、データ処理トランザクションの発行要求を行わない。
データ処理要求部13は、調停部16に、ノード2の2つ目のデータ処理トランザクションの発行要求を行う。
データ処理要求部14は、調停部16に、ノード3の2つ目のデータ処理トランザクションの発行要求を行う。
調停部16は、データ処理要求部13のデータ処理トランザクションを選択する。
【0063】
データ逐次処理部17は、レジスタ41に、クロック信号の前の周期T5において調停部16が選択したデータ処理要求部11のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ42に、レジスタ41から出力される障害閉塞部15のノード閉塞トランザクションを格納する。
データ逐次処理部17は、レジスタ43に、レジスタ42から出力されるデータ処理要求部14のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ44に、レジスタ43から出力されるデータ処理要求部13のデータ処理トランザクションを格納する。
また、障害閉塞管理部15は、調停部16に、ノード閉塞トランザクションの発行要求を行う。
【0064】
周期T7になると、データ処理要求部11〜13は、データ処理トランザクションの発行要求を行わない。
データ処理要求部14は、調停部16に、ノード3の2つ目のデータ処理トランザクションの発行要求を行う。
調停部16は、データ処理要求部14のデータ処理トランザクションを選択する。
【0065】
データ逐次処理部17は、レジスタ41に、クロック信号の前の周期T7において調停部16が選択したデータ処理要求部13のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ42に、レジスタ41から出力されるデータ処理要求部11のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ43に、レジスタ42から出力される障害閉塞管理部15のノード閉塞トランザクションを格納する。
データ逐次処理部17は、レジスタ44に、レジスタ43から出力されるデータ処理要求部14のデータ処理トランザクションを格納する。
【0066】
データ処理装置21は、バッファ51のentry4にデータ処理要求部11のデータ処理トランザクションを格納する。データ処理装置21は、entry4の有効無効識別フラグをアクティブにして、処理ノード番号0をセットする。
また、障害閉塞管理部15は、調停部16に、ノード閉塞トランザクションの発行要求を行う。
【0067】
周期T8になると、データ処理要求部11〜14は、データ処理トランザクションの発行要求を行わない。
調停部16は、障害閉塞管理部15のノード閉塞トランザクションを選択する。
【0068】
データ逐次処理部17は、レジスタ41に、クロック信号の前の周期T7において調停部16が選択したデータ処理要求部14のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ42に、レジスタ41から出力されるデータ処理要求部13のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ43に、レジスタ42から出力されるデータ処理要求部11のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ44に、レジスタ43から出力される障害閉塞管理部15のノード閉塞トランザクションを格納する。
【0069】
データ処理装置21は、バッファ51のentry5に、データ処理要求部13のデータ処理トランザクションを格納する。データ処理装置21は、entry5の有効無効識別フラグをアクティブにして、処理ノード番号2をセットする。
【0070】
また、障害閉塞管理部15は、調停部16に、ノード閉塞トランザクションの発行要求を行う。調停部16は、このノード閉塞トランザクションを選択する。障害閉塞管理部15は、調停部16がノード閉塞トランザクションを選択することにより、エントリカウンタ36のインクリメント信号を生成する。
【0071】
周期T9になると、データ逐次処理部17は、レジスタ41に、クロック信号の前の周期T8において調停部16が選択した障害閉塞管理部15のノード閉塞トランザクションを格納する。
データ逐次処理部17は、レジスタ42に、レジスタ41から出力されるデータ処理要求部14のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ43に、レジスタ42から出力されるデータ処理要求部13のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ44に、レジスタ43から出力されるデータ処理要求部11のデータ処理トランザクションを格納する。
【0072】
データ処理装置21は、バッファ51のentry6に、データ処理要求部14のデータ処理トランザクションを格納する。データ処理装置21は、entry6の有効無効識別フラグをアクティブにして、処理ノード番号3をセットする。
【0073】
比較回路52は、レジスタ41に格納されたノード閉塞トランザクションの閉塞対象ノード番号を参照する。閉塞対象ノード番号は1である。次に、比較回路52は、ノード閉塞トランザクションのエントリ番号情報を参照する。エントリ番号は1である。
【0074】
比較回路52は、エントリ番号1をリードアドレス情報として、バッファ51のentry1の処理ノード番号を参照する。処理ノード番号は1である。この閉塞対象ノード番号1と処理ノード番号1とは一致するため、比較回路52は、バッファ51のentry1の有効無効識別フラグをリセットする。entry1の有効無効識別フラグは0となり、インアクティブとなって、entry1のデータ処理トランザクションは破棄される。そして、entry1は解放される。
【0075】
次に、障害閉塞管理部15は、ノード閉塞トランザクションの発行要求を行う。
障害閉塞管理部15は、クロック信号の前の周期T9において生成したインクリメント信号に従って、エントリカウンタ36のカウント値を1つだけインクリメントする。エントリカウンタ36のカウント値は2となる。
これ以降、障害閉塞管理部15は、この計算機システム内の最大エントリ数である8まで、ノード閉塞トランザクションを繰り返し、発行する。
【0076】
周期T10になると、データ逐次処理部17は、レジスタ42に、レジスタ41から出力される障害閉塞管理部15のノード閉塞トランザクションを格納する。
データ逐次処理部17は、レジスタ43に、レジスタ42から出力されるデータ処理要求部14のデータ処理トランザクションを格納する。
データ逐次処理部17は、レジスタ44に、レジスタ43から出力されるデータ処理要求部13のデータ処理トランザクションを格納する。
【0077】
周期T11になると、データ逐次処理部17は、レジスタ43に、レジスタ42から出力される障害閉塞管理部15のノード閉塞トランザクションを格納する。
データ逐次処理部17は、レジスタ44に、レジスタ43から出力されるデータ処理要求部14のデータ処理トランザクションを格納する。
【0078】
周期T12になると、データ逐次処理部17は、レジスタ44に、レジスタ43から出力される障害閉塞管理部15のノード閉塞トランザクションを格納する。
【0079】
時間が経過して、周期T14になって、データ処理要求部11は、調停部16に、ノード0の1つ目のデータ処理の完了処理を指示する旨のデータ処理トランザクションの発行要求を行う。
調停部16は、データ処理要求部11のこのデータ処理要求部11のデータ処理トランザクションを選択する。
【0080】
周期T15になると、データ逐次処理部17は、レジスタ41に、クロック信号の前の周期T14において調停部16が選択したデータ処理要求部11のデータ処理トランザクションを格納する。
データ処理装置21は、バッファ51のentry0の処理完了により、有効無効識別フラグをリセットする。
【0081】
周期T16になると、データ逐次処理部17は、レジスタ42に、レジスタ41から出力されるデータ処理要求部11のデータ処理トランザクションを格納する。データ処理装置21は、有効無効識別フラグをリセットする。有効無効識別フラグは、インアクティブになる。
【0082】
ノード0には障害の発生はなく、比較回路52がこの有効無効識別フラグをリセットして、データ処理装置21は、バッファ51のentry0の処理を完了させる。
【0083】
周期T17になると、データ逐次処理部17は、レジスタ43に、レジスタ42から出力されるデータ処理要求部11のデータ処理トランザクションを格納する。
【0084】
周期T18になると、データ逐次処理部17は、レジスタ44に、レジスタ43から出力されるデータ処理要求部11のデータ処理トランザクションを格納する。
同様にして、データ処理装置21は、バッファ51のentry2〜7の処理を完了させる。
【0085】
以上説明したように、本実施の形態によれば、障害通知が行われると、障害閉塞管理部15は、データ処理要求部11〜14に閉塞ノード制御信号s1を送信し、調停部16にノード閉塞トランザクションを発行する。データ処理要求部11〜14は、閉塞ノード制御信号s1を受信すると、閉塞対象ノード番号と一致する処理ノード番号を有するデータ処理トランザクションを破棄する。
【0086】
また、データ処理装置21は、調停部16によって選択されたノード閉塞トランザクションがレジスタ41に格納されると、そのノード閉塞トランザクションの情報から、閉塞対象ノード番号と処理ノード番号とを比較する。そして、データ処理装置21は、2つのノード番号が一致すれば、そのエントリの有効無効識別フラグをリセットして該当するエントリを解放し、不一致であれば、有効無効識別フラグをアクティブのままとする。
【0087】
従って、障害が発生したノードのみを閉塞させることができ、障害に無関係のノードは、そのまま、データ処理を続行することができる。また、障害が発生しても、そのエントリは解放されるため、エントリが制限されることもなく、すぐに、そのエントリを使用することができる。このため、障害時のシステム性能の低下を抑止することができる。
【0088】
また、本実施の形態では、エントリカウンタ36のカウント値を利用して、データ処理トランザクションの処理ノード番号とノード閉塞トランザクションの閉塞対象ノード番号との比較を行っている。このため、この比較を1サイクルでできなくても、閉塞対象ノードに対応する全てのエントリを解放することができる。
【0089】
従って、ハードマクロの構造等で1クロックで1エントリしか読み出せないような制約がある場合でも、有効にエントリを解放することができる。
【0090】
尚、複数のノード閉塞トランザクションが障害閉塞管理部15から発行されるものの、障害と無関係のノードから発行されるデータ処理トランザクションは、ラウンドロビン方式により、調停部16が、順次、処理するため、障害と無関係のノードから発行されるデータ処理トランザクションの性能をほとんど損うことはない。
【0091】
但し、データ処理装置21〜24は、1クロックに1エントリのみのデータを読み出すように構成されるのではなく、1クロックで全エントリを読み出すように構成されることもできる。
【0092】
上記実施の形態では、前述のハードマクロの制約といった理由だけでなく、1クロックで全てのエントリから読み出し可能なバッファは、一般的にハードウェア量が大きくなり、1クロックに1エントリのみ読み出し可能なバッファの方が一般的に用いられることが多いため、このように構成されている。
【0093】
しかし、1クロックで全エントリを読み出すように構成されれば、ノード閉塞トランザクションを1回だけ発行すればよいこととなる。このため、障害閉塞管理部15内のエントリカウンタ36は不要になる。
【0094】
この場合、データ逐次処理部17にノード閉塞トランザクションが発行されると、データ処理装置21は、全てのエントリの処理ノード番号を読み出し、閉塞対象ノード番号と一致する全てのエントリの有効無効識別フラグをリセットする。
【0095】
また、バッファ51のエントリ毎に外付けレジスタとしてノード番号を保持するように構成されることもでき、このようにすれば、1クロックで全てのエントリの処理ノード番号を識別可能となる。この場合も、ノード閉塞トランザクションを1回のみ発行すればよいことになるため、エントリカウンタ36は不要となる。また、ハードウェア構成は、レジスタ分、増大するものの、短時間でノード閉塞が可能となる。
【0096】
尚、本発明を実施するにあたっては、他にも種々の形態が考えられる。
上記実施の形態では、データ処理装置21〜24の最大エントリ数を8とした。しかし、最大エントリ数をn(nは任意の自然数)とすることもできる。ただし、最大エントリ数を変更した場合、最大エントリ数に従って、エントリカウンタ36の最大カウント数も変更する必要がある。例えば、最大エントリ数を16とすると、0から15までをカウント可能とするため、カウンタは4ビットのレジスタによって構成される。
【0097】
データ処理装置の数は、4個に限られるものではなくn個(nは任意の自然数)であってもよい。
データ処理装置21〜24は、バッファ51を備える代わりに、メモリのような大規模な記憶装置を備えてもよいし、プロセッサのような演算処理装置を備えてもよい。
【0098】
データ処理要求部の数も4個に限られるものではなく、n個(nは任意の自然数)であってもよい。
【0099】
上記実施の形態では、データ逐次処理部17は、トランザクションの順送りを4クロックの間で行うように構成された。しかし、トランザクションの順送りをnクロックの間で行うようにすることができる。但し、この場合、データ処理装置の数もn個にする必要がある。また、レジスタ41〜44の間でトランザクションを順送りせずに、処理完了まで保持するように構成されてもよい。
【0100】
上記実施の形態では、データ処理トランザクションおよびノード閉塞トランザクションをそれぞれ1クロックのデータとしたが、nクロック(nは任意の自然数)のデータとしてもよい。
【0101】
上記実施の形態では、データ処理要求部11〜14から、2個ずつデータ処理トランザクションを発行する例を示した。しかし、各データ処理要求部11〜14は、n個(nは任意の自然数)ずつデータ処理トランザクションを発行することもできる。また、データ処理要求部11〜14は、連続してデータ処理トランザクションを発行するのではなく、断続的に発行してもよい。
【0102】
データ処理装置21内の有効無効識別フラグに関しては、上記実施の形態では、データ処理トランザクションが発行されて有効無効識別フラグがセットされ、対応する処理完了を指示するデータ処理トランザクションでリセットされるように構成された。これは、データ処理トランザクションをメモリからのデータリード処理として想定したものである。しかし、データ処理開始後、正常完了信号等によって有効無効識別フラグがリセットされるように構成されてもよい。
【0103】
上記実施の形態では、トランザクションの調停後の処理に対して閉塞対象ノードと一致するデータ処理トランザクションが存在した場合にも、そのままデータ処理を実行するようにした。しかし、障害通知が行われた後のタイミングについては、処理を行うことなくデータ処理トランザクションを破棄するように構成されてもよい。
【0104】
即ち、上記実施の形態では、データ処理要求部のみをデータ処理トランザクションの破棄ポイントとして、調停部16、データ逐次処理部17、データ処理装置21〜24の処理は滑りとして扱われている。しかし、閉塞ノード制御信号s1と同等の信号線をデータ逐次処理部17やデータ処理装置21〜24に設けることによって、データ処理トランザクションの破棄ポイントを増やすこともできる。
【0105】
トランザクション制御部4は、ハードウェアによって構成されるだけでなく、ソフトウェアによって構成されることもできる。
【0106】
【発明の効果】
以上説明したように、本発明によれば、障害時のシステム性能の低下を抑止することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る計算機システムの構成を示すブロック図である。
【図2】図1の計算機システムのデータ処理装置の構成を示すブロック図である。
【図3】図1のトランザクション制御部の動作を示すタイミングチャートである。
【符号の説明】
0〜3 ノード
4 トランザクション制御部
11〜14 データ処理要求部
15 障害閉塞管理部
16 調停部
17 データ逐次処理部
21〜24 データ処理装置
51 バッファ
52 比較回路
Claims (5)
- 複数のノードを備え、各ノードから発行要求されたデータ処理に関するデータ処理トランザクションを制御してデータ処理を実行する計算機システムにおいて、
前記各ノードの発行要求を受け付けて、発行要求をしたノードを識別するための処理ノード識別情報を含めて前記データ処理トランザクションを発行する複数のデータ処理要求部を備えるとともに、
いずれかのノードに障害が発生すると、障害が発生したノードを閉塞対象のノードとして識別するための閉塞対象ノード識別情報を含むノード閉塞トランザクションを発行する障害閉塞管理部と、
前記複数のデータ処理要求部が発行したデータ処理トランザクションと前記障害閉塞管理部が発行したノード閉塞トランザクションとの調停を行って、いずれかのトランザクションを、順次、選択する調停部と、
前記調停部が選択したトランザクションを順次格納するデータ逐次処理部と、前記データ逐次処理部が格納したトランザクションを判別し、判別したトランザクションが前記データ処理トランザクションであれば、指定されたデータ処理を実行し、前記ノード閉塞トランザクションであれば、前記ノード閉塞トランザクションに含まれている前記閉塞対象ノード識別情報と既に取得したデータ処理トランザクションに含まれている処理ノード識別情報とを比較して、前記閉塞対象ノード識別情報と一致する処理ノード識別情報を有するデータ処理トランザクションのデータ処理を停止するデータ処理部と、を備えた、
ことを特徴とする計算機システムのノード閉塞装置。 - 前記データ処理部は、前記複数のデータ処理トランザクションをそれぞれ格納する複数のトランザクション格納部と、
前記ノード閉塞トランザクションに含まれている閉塞対象ノード識別情報と各トランザクション格納部に格納されているデータ処理トランザクションに含まれている処理ノード識別情報とを比較し、比較の結果、前記閉塞対象ノード識別情報と前記処理ノード識別情報とが一致するデータ処理トランザクションのデータ処理を停止させる比較部と、を備えた、
ことを特徴とする請求項1に記載の計算機システムのノード閉塞装置。 - 前記障害閉塞管理部は、前記トランザクション格納部を指定するためのカウント値を生成するカウンタを備え、前記調停部がノード閉塞トランザクションを選択する毎に前記カウンタのカウント値を更新するとともに、前記カウンタのカウント値を含めて前記ノード閉塞トランザクションを前記調停部に発行し、
前記データ処理部の比較部は、判別したノード閉塞トランザクションに含まれているカウント値に基づいて、前記閉塞対象ノードのデータ処理トランザクションを格納するトランザクション格納部を指定し、指定したトランザクション格納部に格納されているデータ処理トランザクションの処理ノード識別情報と、前記ノード閉塞トランザクションの閉塞対象ノードと、を比較するように構成されたものである、
ことを特徴とする請求項2に記載の計算機システムのノード閉塞装置。 - 前記障害閉塞管理部は、いずれかのノードに障害が発生すると、障害が発生したノードから前記データ処理トランザクションを受け付けたデータ処理要求部に、未発行のデータ処理トランザクションを破棄させるための閉塞ノード制御信号を送信するように構成されたものである、
ことを特徴とする請求項1乃至3のいずれか1項に記載の計算機システムのノード閉塞装置。 - 複数のノードを備え、各ノードから発行要求されたデータ処理トランザクションを制御してデータ処理を実行する計算機システムにおいて、
前記各ノードの発行要求を受け付けて、発行要求をしたノードを識別するための処理ノード識別情報を含めて前記データ処理トランザクションを発行するステップと、
いずれかのノードに障害が発生すると、障害が発生したノードを閉塞対象のノードとして識別するための閉塞対象ノード識別情報を含むノード閉塞トランザクションを発行するステップと、
前記データ処理トランザクションと前記ノード閉塞トランザクションとの調停を行って、いずれかのトランザクションを、順次、選択するステップと、
前記選択されたトランザクションを順次格納するステップと、
前記格納されたトランザクションが前記データ処理トランザクションであるか前記ノード閉塞トランザクションであるかを判別するステップと、
判別したトランザクションが前記データ処理トランザクションであれば、指定されたデータ処理を実行し、前記ノード閉塞トランザクションであれば、前記ノード閉塞トランザクションに含まれている前記閉塞対象ノード識別情報と既に取得したデータ処理トランザクションに含まれている処理ノード識別情報とを比較するステップと、
前記閉塞対象ノード識別情報と一致する処理ノード識別情報を有するデータ処理トランザクションのデータ処理を停止するステップと、を備えた、
ことを特徴とする計算機システムのトランザクション制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003181130A JP3882791B2 (ja) | 2003-06-25 | 2003-06-25 | 計算機システムのノード閉塞装置及びそのトランザクション制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003181130A JP3882791B2 (ja) | 2003-06-25 | 2003-06-25 | 計算機システムのノード閉塞装置及びそのトランザクション制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005018339A JP2005018339A (ja) | 2005-01-20 |
JP3882791B2 true JP3882791B2 (ja) | 2007-02-21 |
Family
ID=34181916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003181130A Expired - Fee Related JP3882791B2 (ja) | 2003-06-25 | 2003-06-25 | 計算機システムのノード閉塞装置及びそのトランザクション制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3882791B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4645657B2 (ja) * | 2008-02-15 | 2011-03-09 | 日本電気株式会社 | 電文処理システム、電文処理方法、そのプログラム及びその記録媒体 |
-
2003
- 2003-06-25 JP JP2003181130A patent/JP3882791B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005018339A (ja) | 2005-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6029204A (en) | Precise synchronization mechanism for SMP system buses using tagged snoop operations to avoid retries | |
US5191649A (en) | Multiprocessor computer system with data bus and ordered and out-of-order split data transactions | |
US5282272A (en) | Interrupt distribution scheme for a computer bus | |
US7558895B2 (en) | Interconnect logic for a data processing apparatus | |
US5271020A (en) | Bus stretching protocol for handling invalid data | |
JP4801725B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
EP1645968B1 (en) | Multi-threaded DMA | |
US7886199B2 (en) | Recovery from a hang condition in a data processing system | |
AU604345B2 (en) | Interrupting node for providing interrupt requests to a pended bus | |
JPH0642236B2 (ja) | コマンダノードからのインターロック読み取りコマンドメッセージをレスポンダノードで実行する装置 | |
JP2000067023A (ja) | ネットワ―ク通信におけるデッドロックを回避するためのコンピュ―タア―キテクチャ | |
US20080052525A1 (en) | Password recovery | |
US7617389B2 (en) | Event notifying method, event notifying device and processor system permitting inconsistent state of a counter managing number of non-notified events | |
US6473821B1 (en) | Multiple processor interface, synchronization, and arbitration scheme using time multiplexed shared memory for real time systems | |
US20030093657A1 (en) | Method and apparatus for livelock prevention in a multiprocessor system | |
JP3882791B2 (ja) | 計算機システムのノード閉塞装置及びそのトランザクション制御方法 | |
EP1089501B1 (en) | Arbitration mechanism for packet transmission | |
US7120828B2 (en) | System and method for in-order queue draining | |
US20040010644A1 (en) | System and method for providing improved bus utilization via target directed completion | |
JP2005085079A (ja) | データ転送制御装置 | |
JP5239769B2 (ja) | リクエスト順序制御システム、リクエスト順序制御方法およびリクエスト順序制御プログラム | |
JP2008511890A (ja) | アトミック・オペレーションを用いて情報単位を変更する方法及び装置 | |
JP2020017043A (ja) | ノード装置、並列計算機システム、及び並列計算機システムの制御方法 | |
EP1362288B1 (en) | Pipelined multi-access memory apparatus and method | |
JP2004334840A (ja) | システムバスの制御方法及び関連装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061024 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061106 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091124 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131124 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |