(57)【要約】  技法は、クラスタ相互接続ファブリックによって互いに結合された複数のコンピューティングノードを備える分散コンピュータシステムにおけるアラートインジケータを受信することを含む。このアラートインジケータは、複数のコンピューティングノードのうちの第１のコンピューティングノードにおける障害の検出を示す。この技法は、このアラートインジケータに応答して、第１のコンピューティングノードと、他のコンピューティングノードのうちの少なくとも１つとの間の通信を規制して、障害に起因するエラー伝播を第１のコンピューティングノード内に封じ込めることを示す。【選択図】図２
2016513309.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
クラスタ相互接続ファブリックによって互いに結合された複数のコンピューティングノードを備える分散コンピュータシステムにおけるアラートインジケータを受信するステップであって、該アラートインジケータは、前記複数のコンピューティングノードのうちの第１のコンピューティングノードにおける障害の検出を示す、受信するステップと、
前記アラートインジケータに応答して、前記第１のコンピューティングノードと、他のコンピューティングノードのうちの少なくとも１つとの間の通信を規制して、前記障害に起因するエラー伝播を前記第１のコンピューティングノード内に制御するステップと、
を含む、方法。
【請求項２】
前記通信を規制することは、前記第１のコンピューティングノードを前記他のコンピューティングノードに結合するシステムファブリックを用いて、前記第１のコンピューティングノードとともに行われる動作を選択的に制限することを含む、請求項１に記載の方法。
【請求項３】
前記通信を規制することは、少なくとも１つの他のコンピューティングノードと前記第１のコンピューティングノードとの間で行われる動作に関し、前記第１のコンピューティングノードとの入力／出力動作を停止させることを対象とした動作以外の動作を防止することを含む、請求項２に記載の方法。
【請求項４】
前記通信を規制することは、前記第１のコンピューティングノードを前記他のコンピューティングノードに結合するシステムファブリックを用いて、前記第１のコンピューティングノードによって通信されるパケットに、該パケットに関連付けられた疑わしいステータスを表すタグを追加することを含む、請求項１に記載の方法。
【請求項５】
前記アラートインジケータを受信するステップは、前記第１のコンピューティングノードから前記他のコンピューティングノードのうちの少なくとも１つへの、検出された障害を少なくとも１つの他のコンピューティングノードにアラートする少なくとも１つのメッセージを受信するステップを含む、請求項１に記載の方法。
【請求項６】
前記通信を規制することは、前記第１のコンピューティングノードにキャッシュされたデータを、障害が検出されたコンピューティングノードのためのデータ記憶に専用化された前記システムのメモリに通信することを含む、請求項１に記載の方法。
【請求項７】
前記第１のコンピューティングノードとの前記通信を用いて、前記第１のコンピューティングノード上で故障解析を行うステップを更に含む、請求項１に記載の方法。
【請求項８】
装置であって、
クラスタ相互接続ファブリックによって互いに結合された複数のコンピューティングノードのうちの第１のコンピューティングノードから、前記複数のコンピューティングノードのうちの第１のコンピューティングノードにおける障害の検出を示すアラートインジケータを受信するインタフェースと、
前記アラートインジケータに応答して、前記第１のコンピューティングノードと、他のコンピューティングノードのうちの少なくとも１つとの間の通信を規制して、前記障害に起因するエラー伝播を前記第１のコンピューティングノード内に封じ込めるとともに、少なくとも１つの他のコンピューティングノードによる前記第１のコンピューティングノードの故障解析を可能にする前記クラスタ相互接続ファブリックの構成要素と、
を備える、装置。
【請求項９】
前記構成要素は、スイッチ、ゲートウェイ、又はアタッチメントポイントを含む、請求項８に記載の装置。
【請求項１０】
前記構成要素は、前記アラートインジケータに応答して前記第１のコンピューティングノードとともに行われる動作を選択的に制限するように構成されている、請求項８に記載の装置。
【請求項１１】
前記構成要素は、前記第１のコンピューティングノードを発信源とするメッセージに、該メッセージに関連付けられた疑わしいステータスを表すインジケータを追加するように構成されている、請求項８に記載の装置。
【請求項１２】
前記構成要素は、前記第１のコンピューティングノードが、前記障害の検出後に、少なくとも１つのライトバック動作を行って、前記障害の検出前に前記第１のコンピューティングノードに記憶されたキャッシュデータを、前記第１のコンピューティングノードの一部分でないシステムのメモリに書き込むことを可能にするように構成されている、請求項８に記載の装置。
【請求項１３】
物品であって、プロセッサベースのシステムによって実行されると、
クラスタ相互接続ファブリックによって互いに結合された複数のコンピューティングノードを備える分散コンピュータシステムにおけるアラートインジケータを受信することであって、該アラートインジケータは、前記複数のコンピューティングノードのうちの第１のコンピューティングノードにおける障害の検出を示す、受信することと、
前記アラートインジケータに応答して、前記第１のコンピューティングノードと、他のコンピューティングノードのうちの少なくとも１つとの間の通信を規制して、前記障害に起因するエラー伝播を前記第１のコンピューティングノード内に封じ込めることと、
を前記プロセッサベースのシステムに行わせる命令を記憶する非一時的コンピュータ可読記憶媒体を備える、物品。
【請求項１４】
前記プロセッサベースのシステムは、前記ファブリック及び少なくとも１つの他のコンピューティングノードのうちの一方に配置されている、請求項１３に記載の物品。
【請求項１５】
前記記憶媒体は、前記プロセッサベースのシステムによって実行されると、少なくとも１つの他のコンピューティングノードによる前記第１のコンピューティングノードの故障解析を可能にすることを前記プロセッサベースのシステムに行わせる命令を記憶する、請求項１３に記載の物品。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータシステムは、従来から揮発性メモリデバイス及び不揮発性メモリデバイスの双方を含んでいる。このように、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス等の揮発性メモリデバイスは、それらの比較的高速なアクセス時間によって、通常、コンピュータシステム用のワーキングメモリを形成するのに用いられてきた。システムの電源がオフにされたときにコンピュータシステムデータを保存するために、データは、磁気媒体又は光媒体に基づくマスストレージデバイス等のより低速のアクセス時間に関連付けられた不揮発性マスストレージデバイスに記憶することができる。
【０００２】
比較的高密度のソリッドステート永続メモリ技術の開発は、これらの２つの技術の間のギャップを埋めてきており、したがって、従来の「メモリ」機能及び「ストレージ」機能の双方を受け持つ永続的なバイトアドレス指定可能な「メモリ」の量が、ますます多く用いられてきている。このメモリの使用の増大に起因して、分散コンピューティングシステムは、ますます一般的なものになると予想される。分散コンピューティングシステムによると、コンピューティングノードは、通常、それらのノードのメモリリソース及びストレージリソースを共有又はプールする目的でクラスタファブリック（例えば、ネットワークファブリック）を用いて互いに結合される。
【図面の簡単な説明】
【０００３】
【図１】一例示の実施態様による分散コンピューティングシステムの概略図である。
【図２】一例示の実施態様によるコンピューティングノードの障害に起因する分散コンピューティングシステムにおけるエラー伝播を制御する技法を示す流れ図である。
【図３】一例示の実施態様によるコンピューティングノードの障害に起因する分散コンピューティングシステムにおけるエラー伝播を制御する技法を示す流れ図である。
【図４】一例示の実施態様によるコンピューティングノードの障害に起因する分散コンピューティングシステムにおけるエラー伝播を制御する技法を示す流れ図である。
【図５】一例示の実施態様による分散コンピューティングシステムのより詳細な概略図である。
【図６】一例示の実施態様によるコンピューティングノードの障害に起因する分散コンピューティングシステムにおけるエラー伝播を制御するノード間通信を用いる技法を示す流れ図である。
【図７】一例示の実施態様によるコンピューティングノードの障害に起因する分散コンピューティングシステムにおけるエラー伝播を制御するとともにノードの故障解析を可能にする技法を示す流れ図である。
【発明を実施するための形態】
【０００４】
図１を参照すると、一例示の分散コンピューティングシステム１００は、Ｎ個のコンピューティングノード１１０を備える（図１には、例としてコンピューティングノード１１０−１、１１０−２．．．１１０−Ｎが示されている）。コンピューティングノード１１０は、一般に、ノード１１０用のローカルリソースを形成することができるリソースだけでなく、コンピューティングノード１１０間で共有又はプールされるリソースも備える。このように、分散コンピューティングシステム１００は、コンピューティングノード１１０の異なるグループ間で共有されるメモリリソース及び入力／出力（Ｉ／Ｏ）リソースのプールを備えることができる。
【０００５】
より具体的な例として、コンピューティングノード１１０−１は、Ｉ／Ｏアダプタ１１２を備えることができる。このＩ／Ｏアダプタは、コンピューティングノード１１０−１が用いることができるだけでなく、他のコンピューティングノード１１０がアクセスすることもできる。このように、Ｉ／Ｏアダプタ１１２は、１つ又は複数のマスストレージデバイス１４０（コンピュータノード１１０−１の一部分とすることもできるし、別個のものとすることもできる）にアクセスするのに用いることができる小型コンピュータシステムインタフェース（ＳＣＳＩ）ベースのアダプタ、ファイバチャネルアダプタ、又は他のＩ／Ｏアダプタとすることができる。コンピューティングノード１１０−１は、メモリデバイス（ダイナミックランダムアクセスメモリ（例として、ＤＲＡＭデバイス及び／又はソリッドステートメモリデバイス））を更に備えることができる。このメモリデバイスは、コンピューティングノード１１０−１用のローカルメモリ１１４だけでなく、他のコンピューティングノード１１０によって共有されるプールされたメモリ１２０も形成することができる。分散コンピューティングシステム１００の他のコンピューティングノード１１０も、同様のローカルリソース及び／又はプールされたリソースを有することができる。
【０００６】
プールされたリソースにアクセスすることを目的として、コンピューティングノード１１０は、本明細書において「クラスタ相互接続ファブリック１３０」と呼ばれるシステムファブリックを介して通信することができる。例として、クラスタ相互接続ファブリック１３０は、当業者が理解することができるように、インターネットベースの接続ファブリック、ローカルエリアネットワーク（ＬＡＮ）接続ベースのファブリック、広域ネットワーク（ＷＡＮ）接続ベースのファブリック等を含むことができる。
【０００７】
コンピューティングノード１１０−１等の所与のコンピューティングノード１１０は、その通常の動作の過程において、ハードウェアエラー又はソフトウェアエラーに遭遇する場合があり、その結果、障害が、コンピューティングノード１１０−１の領域内に発生する。この障害は、ハードウェア故障（Ｉ／Ｏアダプタ１１２、ネットワークインタフェース、メモリデバイス等の故障）だけでなく、システムファームウェア内のプログラミングエラー、オペレーティングシステムエラー等に起因するソフトウェア故障にも起因して生じる場合がある。障害の発生源にかかわらず、そのような障害が発生すると、コンピューティングノード１１０−１は、破損している場合があるリソース（例えば、メモリコンテンツ）、又はコンピューティングノード１１０−１の更なる動作時に破損されることになり得るリソースを有する場合がある。
【０００８】
所与のコンピューティングノード内に発生した障害に対処する１つの手法は、エラーが、ノードの外部に伝播せず、他のコンピューティングエンティティに影響を与えないように、そのコンピューティングノードを完全に分離することである。例えば、１つの手法は、障害の原因を訂正するとともに他のコンピューティングエンティティが破損されることを防止する目的で、障害に遭遇したコンピューティングノードをオフラインにすることができるように、そのノードをシャットダウンすることとすることができる。従来から、特定のコンピューティングエンティティの障害領域は、そのエンティティ自体の内部に存在し、この障害に起因するエラーは、このエンティティの外部に伝播しないようになっているが、分散コンピューティングシステム１００は、従来の構成と異なり、そのコンピューティングノード１１０間で共有されるプールされたＩ／Ｏリソース及びメモリリソースを有する。
【０００９】
したがって、例えば、コンピューティングノード１１０−１が障害に遭遇すると、１つ又は複数の他のコンピューティングノード１１０は、ノード１１０−１上に位置するプールされたリソース（複数の場合もある）に起因する影響を直接受ける場合がある。その上、コンピューティングノード１１０−１は、分散コンピューティングシステム１００の他のコンピューティングノード１１０からのＩ／Ｏアダプタ１１２、プールされたメモリ１２０等の、コンピューティングノード１１０−１の外部にプールされたリソースにアクセスする。そのため、事実上の障害領域は、障害が生じているコンピューティングノード１１０−１の外部及び分散コンピューティングシステム１００の他の領域内に拡大している。
【００１０】
分散コンピューティングシステム１００のコンピューティングノード１１０において発生した障害に起因するエラーの伝播を制御することを目的とした技法及びシステムが本明細書において開示される。引き続きコンピューティングノード１１０−１を例として用いると、障害がコンピューティングノード１１０−１に関連して発生したものと仮定すると、コンピューティングノード１１０−１は、一例示の実施態様によれば、アラートインジケータ１２４を生成する。このアラートインジケータ１２４は、次に、エラー（コンピューティングノード１１０−１とともに発生した障害に起因して生じる）をコンピューティングノード１１０−１内に限定することを目的とした分散コンピューティングシステム１００の１つ又は複数の構成要素による動作をトリガする目的で用いられる。
【００１１】
より具体的には、例示の実施態様によれば、アラートインジケータ１２４は、分散コンピューティングシステム１００の他のもの１５０が、エラーをコンピューティングノード１１０−１内に封じ込める適切な動作を取ることができるように、これらの他のもの１５０によって受信される。当業者が理解することができるように、障害を検出するためにコンピューティングノード１１０−１によって用いられる特定の技法は、幾つかの障害検出技法のうちの１つとすることができることに留意されたい。
【００１２】
図１とともに図２を参照すると、より具体的な例として、幾つかの実施態様によれば、リソースが共有される分散コンピューティングシステムにおいて技法２００をエラー伝播封じ込めの目的で用いることができる。技法２００に従うと、分散コンピューティングシステムのコンピューティングノードによる障害の検出を表すアラートインジケータが受信される（ブロック２０２）。このアラートインジケータに応答して、このコンピューティングノードとの通信が、ブロック２０４に従って規制され、障害に起因するエラー伝播が制御される。
【００１３】
より具体的な例として、図１とともに図３を参照すると、幾つかの実施態様によれば、技法３００は、分散コンピューティングシステム１００のクラスタ相互接続ファブリック１３０が、所与のコンピューティングノードにおいて発生した障害に起因するエラーの伝播を制御する目的で用いることができる。技法３００に従うと、コンピューティングノード（本明細書において、「被影響コンピューティングノード（affected computing node）」と呼ばれる）による障害の検出を表すアラートインジケータが受信される（ブロック３０２）。このアラートインジケータに応答して、クラスタ相互接続ファブリック１３０を用いて、他のコンピューティングノード（複数の場合もある）がこの被影響コンピューティングノードとともに行う場合がある動作が選択的に制限される（ブロック３０４）。
【００１４】
このように、例示の実施態様によれば、特定のコンピューティングノード１１０が障害を被ると、この被影響コンピューティングノード１１０からのアウトバウンドＩ／Ｏ通信が停止されて、ノード１１０へのインバウンドＩ／Ｏ通信又は進行中のＩ／Ｏ通信が、被影響ノード１１０の破損されたメモリコンテンツを読み出して、この破損されたメモリコンテンツを、破損についての知識がない、ノード１１０の外部の別のデバイスに通信することが防止される。したがって、幾つかの実施態様によれば、クラスタ相互接続ファブリック１３０は、ファブリック１３０を介したトランザクションを、被影響コンピューティングノード１１０との現在のＩ／Ｏトランザクションを中止又は停止させることを対象としたトランザクションに制限又は限定する。
【００１５】
例示の実施態様によれば、障害に遭遇した被影響コンピューティングノード１１０は、この被影響ノード１１０に対してプロビジョニングされた（provisioned）全てのリモートＩ／ＯアダプタへのＩ／Ｏトランザクションを中止又は停止させるそのようなコマンドを通信することができ、その結果として、クラスタ相互接続ファブリック１３０は、これらのコマンドが通信されることを可能にする。更なる例示の実施態様では、クラスタ相互接続ファブリック１３０は、アラートインジケータ１２４を受信すると直ちに、障害に遭遇した被影響コンピューティングノード１１０の代わりに、被影響ノード１１０に対してプロビジョニングされた全てのリモートＩ／ＯアダプタへのＩ／Ｏトランザクションを中止又は停止させるそのようなコマンドを通信することができる。このように、添付の特許請求の範囲の範囲内にある多くの変形形態が考えられる。
【００１６】
本明細書において更に開示されるように、被影響コンピューティングノード１１０がＩ／Ｏトランザクションを中止又は停止させるコマンドを通信することを可能にすることに加えて、以下で説明される更なる実施態様によれば、クラスタ相互接続ファブリックは、キャッシュされたデータを用いて故障解析を行うことを可能にする目的で、障害に遭遇したコンピューティングノード１１０が、このキャッシュされたデータを１つ又は複数の他のコンピュータノード１１０に通信することを更に許可する。
【００１７】
コンピューティングノードが、故障に陥ったことを示した後、ファブリック１３０は、その後、このコンピューティングノードが試みる場合がある複数のタイプのアクセスを拒否することができる。例えば、コンピューティングノードに、リモートメモリの新たな部分を自身のキャッシュにエンキャッシュ（encache）することを許可しないこともできるし、データ収集シーケンスを実行するのに必要なロケーションをエンキャッシュすることのみ可能とすることもできる。コンピューティングノードは、追加のメモリ及び／又はＩ／Ｏリソースを自身にプロビジョニングすることを許可されなくてもよい。その上、コンピューティングノードは、中止コマンド以外のコマンドをリモートＩ／Ｏアダプタに送信することを許可されなくてもよい。
【００１８】
図１とともに図４を参照すると、更なる実施態様によれば、クラスタ相互接続ファブリック１３０は、障害に遭遇した被影響コンピューティングノード１１０からのエラーの伝播を制御することを目的とした別のステップ及び／又は追加のステップを取るのに用いることができる。このように、技法４００に従うと、障害に遭遇したコンピューティングノード１１０から、このノードが障害に遭遇したことを示すアラートインジケータが受信される（ブロック４０２）。このアラートインジケータに応答して、技法４００は、クラスタ相互接続ファブリック１３０等のシステムファブリックを用いて、被影響コンピューティングノードを発信源とする各パケットに、そのノードからのデータの「疑わしいステータス」を表すタグを追加する（ブロック４０４）ことを含む。換言すれば、障害被影響ノード以外の所与のコンピューティングノード１１０は、パケットを受信し、このパケットは、起こり得る「疑わしいステータス」を示すインジケータ（又は「タグ」）を含み、その場合、受信側コンピューティングノードは、発信側ノードが障害に遭遇したノードとして識別されているので、そのパケットを慎重に取り扱う。このタグは、例示の実施態様によれば、パケットのヘッダ内の所与のフィールド（例えば、所与のビットフィールド）によって示すことができる。
【００１９】
図５は、更なる実施態様による分散コンピューティングシステム４９９のより詳細な表現を示している。この実施態様の場合、分散コンピューティングシステム４９９は、Ｎ個のそれぞれのコンピューティングノード１１０−１〜１１０−Ｎを形成する物理マシン５００を備える（図５には、例として、Ｎ個の物理マシン５００−１、５００−２、５００−３．．．５００−Ｎが示されている）。物理マシン５００は、実際のハードウェア及びソフトウェアから構成される実際のマシンである。
【００２０】
この点に関して、物理マシン５００−１（この例の場合、コンピューティングノード１１０−１を形成する）によって示されるように、物理マシン５００−１は、１つ又は複数の中央処理ユニット（ＣＰＵ）５２６によって実行されると、当該ＣＰＵ（複数の場合もある）５２６に、オペレーティングシステム５０６、１つ又は複数のアプリケーション５０８、障害検出器５１４、１つ又は複数のデバイスドライバ５１０等を形成させるマシン実行可能命令５０４を含む。一例として、アプリケーションのうちの１つは、故障解析アプリケーションとすることができる。ＣＰＵ（複数の場合もある）５２６は、物理マシン５００のハードウェア５２０の単なる１つの例にすぎない。この点に関して、物理マシン５００は、Ｉ／Ｏアダプタ５２１、ネットワークインタフェース５２８、及び様々なメモリデバイス５２４を備えることができる。
【００２１】
一般に、メモリデバイス５２４は、特定の実施態様に応じて、半導体記憶デバイス、磁気ベースの記憶デバイス、光記憶デバイス、着脱可能媒体等の非一時的記憶デバイスとすることができる。
【００２２】
図５に同様に示されるように、クラスタ相互接続ファブリック１３０は、コンピューティングノード１１０間で通信をルーティングすることを目的としたゲートウェイ、ルータ、スイッチ等の様々な構成要素を備えることができる。図５は、１つ又は複数のプロセッサ５５２及びメモリ５５４を備えることができる一例示の構成要素５５０（例として、スイッチ、ゲートウェイ、又はアタッチメントポイント）を示している。このメモリは、障害に遭遇したコンピューティングノード１１０からの伝播エラーを制御するとともに故障解析の目的でノード１１０へのアクセスを可能にすることを目的として、プロセッサ（複数の場合もある）５５２によって実行されると、ファブリック１３０の代わりに、プロセッサ（複数の場合もある）５５２に、本明細書において開示された技法のうちの１つ又は複数を実行させることができる命令を記憶する。
【００２３】
添付の特許請求の範囲の範囲内にある他の変形形態が考えられる。例えば、更なる実施態様によれば、図６に示す技法６００は、障害に遭遇したノードからのエラーの伝播を制御する目的でファブリック１３０以外の分散コンピューティングシステムの１つ又は複数の構成要素を用いることを目的に用いることができる。このように、技法６００のブロック６０２に従うと、コンピューティングノードにおける障害の検出を表すアラートインジケータが受信される（ブロック６０２）。このアラートインジケータに応答して、検出された障害をノード（複数の場合もある）にアラートする１つ又は複数のメッセージが、ブロック６０４に従って、１つ又は複数の他のコンピューティングノードに通信される（ブロック６０４）。例えば、幾つかの実施態様によれば、障害に遭遇した被影響コンピューティングノードは、メッセージ（複数の場合もある）を生成し、このメッセージ（複数の場合もある）を他のコンピューティングノード（複数の場合もある）に通信することができる。更なる実施態様では、障害に遭遇したノード以外の別のコンピューティングノードが、このタスクを実行することができ、更なる実施態様では、システムファブリックが、そのようなメッセージを通信することができる。所与のコンピューティングノードによってそのようなメッセージが受信されると、そのノードは、被影響コンピューティングノードとのその後の全てのトランザクションに、これらのトランザクションを「疑わしい」ものとして取り扱うことを目的としたフラグを立てることができる。
【００２４】
所与のコンピューティングノードが障害を被ると、このコンピューティングノードは、当該コンピューティングノードに対してプロビジョニングされたリモートメモリに対応するそのプロセッサキャッシュ内の状態を有することができ、このコンピューティングノードは、ローカルメモリを有することができる。このキャッシュされたデータの状態及びコンピューティングノードのローカルメモリの状態は、故障の解析のために保存することができる。この目的のために、データが破損していることの表示を用いてデータがタグ付けされている場合には、このデータは、他のコンピューティングノードに可視にすることができることに留意されたい。
【００２５】
コンピューティングノードのキャッシュにキャッシュされたライトバックデータについて、コンピューティングノードは、障害を検出した後、そのキャッシュのフラッシュを試みることができる。これは、通常、変更されたキャッシュラインをリモートメモリにライトバックすることを伴うが、故障の通知を受けている相互接続ファブリック１３０は、これらのライトバックトランザクションを、これらのトランザクション内のデータが破損している可能性があるという表示を用いて自動的にタグ付けすることができる。これらのタグ付けされたライトバックトランザクションは、例えば、リモートメモリに保存することができる。例として、特定の実施態様に応じて、トランザクションのタグ付けは、障害に遭遇したコンピューティングノードが行うこともできるし、システムファブリックが行うこともできる。その後の解析では、障害に遭遇したコンピューティングノードに対してプロビジョニングされたリモートメモリを用いることができ、破損の可能性があることの表示は、そのデータが、故障時にコンピューティングノードにキャッシュされ、したがって、障害前の近時に参照されている可能性があるリモートメモリのエリアを識別するという点で特に役立つことができる。
【００２６】
障害に遭遇したコンピューティングノード上のローカルメモリについて、コンピューティングノード（又はコンピューティングノードの代わりのシステムファブリック１３０）は、そのローカルメモリの、ノードの外部の永続的な場所へのコピー動作を開始することができる。この目的のために、クラスタ相互接続ファブリック１３０等のシステムファブリックに、この解析目的でデータを保持する或る量の未使用リモートメモリをアロケートするように命令することもできるし、その目的にのみ確保されたリモートメモリの特別ポートが存在することもできる。その上、クラスタ相互接続ファブリック１３０は、これらのうちの１つ又は複数をアロケートすることができる。ローカルメモリのコピーアウトが行われるとき、ファブリック１３０は、このコピーアウトが特にアロケートされたリモートメモリを対象とすることを確保することができ、それによって、コンピューティングノードが、このノードにプロビジョニングされたメモリであっても、別の使用中のメモリにコピーアウトすることを禁止することができる。クラスタ相互接続ファブリック１３０は、障害の解析に役立てる目的で、ローカルメモリをログ記録した場所の或る種の表示を更に提供することができる。
【００２７】
したがって、図７を参照すると、幾つかの実施態様によれば、技法７００が、コンピューティングノードにおける障害の検出を表すアラートインジケータを受信する（ブロック７０２）ことと、コンピューティングノードからのエラーの伝播を制御するとともに、故障解析を行う少なくとも１つの他のコンピューティングノードとの通信を可能にする（ブロック７０４）こととを含む。
【００２８】
幾つかの実施態様によれば、キャッシュされたデータのライトバックは、ログ記録用に割り当てられたオリジナルのリモートメモリを対象とするのではなく、代替的に、この目的でアロケートされたリモートメモリを対象とすることができる。この場合も、ファブリック１３０は、コンピューティングノードの代わりにこのリダイレクトを行い、それによって、このコンピューティングノードが或る別のシステムを破損することなく故障のログ記録を正しく作成する能力に依拠しないようにすることができる。コンピューティングノード内の状態の障害後の保存にリモートメモリの「ログ記録」を用いることは、コンピューティングノードのキャッシュに故障時に存在した対応する状態の解析だけでなく、故障のあるコンピューティングノードがそのデータを近時にエンキャッシュする前にリモートメモリに存在したものの解析も可能にするという利点も有することができる。その上、状態の障害後の保存に別個の「ログ記録」リモートメモリを用いることは、障害後のどの保存された状態が疑わしいのかの表示を単純にすることができる。
【００２９】
限られた数の例を本明細書において開示してきたが、この開示の利益を有する当業者であれば、これらの例から数多くの変更形態及び変形形態を理解するであろう。添付の特許請求の範囲はそのような全ての変更形態及び変形形態を包含することが意図されている。
【図１】
2016513309.tif 000003
【図２】
2016513309.tif 000004
【図３】
2016513309.tif 000005
【図４】
2016513309.tif 000006
【図５】
2016513309.tif 000007
【図６】
2016513309.tif 000008
【図７】
2016513309.tif 000009
【国際調査報告】
2016513309.tif 000010
2016513309.tif 000011