(57)【要約】【課題】ブートプロセッサが適切に機能していない場合に他のプロセッサをブートプロセッサに指定することができるマルチプロセッサコンピュータシステムを提供する。【解決手段】本開示の様々な態様に従って、第１のプロセッサ・インスタビリティに関してモニタリングモジュールによってコンピュータの第１のプロセッサをモニタし、第１のプロセッサ・インスタビリティに基づいて第１のプロセッサが安定しているかどうかを決定し、第１のプロセッサが安定していない場合にマルチプレクサモジュールによりコンピュータの第２のプロセッサに動作プライオリティを送り、第１のプロセッサ及び第２のプロセッサの夫々のデスクトップ管理インターフェースはマルチプレクサモジュールと通信し、第１のプロセッサ及び第２のプロセッサはプロセッサ・インターコネクトによって通信し、第２のプロセッサを用いてコンピュータを操作する方法及び装置が開示される。【選択図】図４
2011134314.tif 000002
【特許請求の範囲】
【請求項１】
第１のプロセッサ・インスタビリティに関してモニタリングモジュールによってコンピュータの第１のプロセッサをモニタする段階と、
モニタされた前記第１のプロセッサ・インスタビリティに基づいて、前記第１のプロセッサが安定しているかどうかを決定する段階と、
前記第１のプロセッサが安定していないと決定される場合にマルチプレクサモジュールにより前記コンピュータの第２のプロセッサに動作プライオリティを送る段階であって、前記第１のプロセッサの第１のデスクトップ管理インターフェース及び前記第２のプロセッサの第２のデスクトップ管理インターフェースは、前記マルチプレクサモジュールと通信し、前記第１のプロセッサ及び前記第２のプロセッサは、プロセッサ・インターコネクトによって通信する段階と、
前記第２のプロセッサを用いて前記コンピュータを操作する段階と
を有する方法。
【請求項２】
前記第１のプロセッサ・インスタビリティは、前記コンピュータでのブート前又はブート後のインスタビリティを含む、請求項１に記載の方法。
【請求項３】
前記モニタリングモジュールは、タイマ、ウォッチドッグタイマ又はベースボード管理コントローラ及び離散状態機械を有するグループから選択される、請求項１に記載の方法。
【請求項４】
前記ブート前のインスタビリティは、電源又はタイミングメカニズムのインスタビリティを含む、請求項２に記載の方法。
【請求項５】
前記ブート後のインスタビリティは、前記コンピュータが運転可能である期間、前記第１のプロセッサに係る所定数のメモリエラー、及びユーザ又はコンピュータ活動に対する所定レベルのコンピュータ応答を有するグループから選択されるインスタビリティ・パラメータを含む、請求項２に記載の方法。
【請求項６】
前記第２のプロセッサにより前記コンピュータをブートする段階
を更に有する、請求項１に記載の方法。
【請求項７】
前記第１のプロセッサの前記第１のデスクトップ管理インターフェース及び前記第２のプロセッサの前記第２のデスクトップ管理インターフェースは、前記マルチプレクサモジュールによりプラットフォーム・コントローラ・ハブに接続されるよう配置される、請求項１に記載の方法。
【請求項８】
前記コンピュータは、前記マルチプレクサモジュールと通信する第３のプロセッサ及び第４のプロセッサを有する、請求項１に記載の方法。
【請求項９】
前記決定する段階は、前記マルチプレクサモジュールに動作プライオリティを前記第２のプロセッサに送るよう指示するように前記第１のプロセッサを配置する段階を有する、請求項１に記載の方法。
【請求項１０】
第１のプロセッサと、
インターコネクトを介して前記第１のプロセッサと通信するよう構成される第２のプロセッサと、
前記第１のプロセッサの第１のデスクトップ管理インターフェース及び前記第２のプロセッサの第２のデスクトップ管理インターフェースをプラットフォーム・コントローラ・ハブにマルチプレクスするよう構成されるマルチプレクサと
を有する装置。
【請求項１１】
前記マルチプレクサからの状態をモニタするよう構成されるモニタ
を更に有する、請求項１０に記載の装置。
【請求項１２】
モニタされた前記状態に基づいて、どのプロセッサがコンピュータをブートするために使用すべきブートプロセッサであるのかを選択するよう構成されるコントローラ
を更に有する、請求項１１に記載の装置。
【請求項１３】
前記インターコネクトは、ポイント・ツー・ポイントのプロセッサ・インターコネクトである、請求項１０に記載の装置。
【請求項１４】
前記モニタは、タイマ、ウォッチドッグタイマ又はベースボード管理コントローラ及び離散状態機械を有するグループから選択される、請求項１０に記載の装置。
【請求項１５】
前記状態は、コンピュータでのブート前又はブート後のインスタビリティを含む、請求項１１に記載の装置。
【請求項１６】
前記ブート前のインスタビリティは、電源又はタイミングメカニズムのインスタビリティを含む、請求項１５に記載の装置。
【請求項１７】
前記ブート後のインスタビリティは、前記コンピュータが運転可能である期間、前記第１のプロセッサに係る所定数のメモリエラー、及びユーザ又はコンピュータ活動に対する所定レベルのコンピュータ応答を有するグループから選択されるインスタビリティ・パラメータを含む、請求項１５に記載の装置。
【請求項１８】
ボードを有するコンピュータを有し、
前記ボードは、
第１のプロセッサと、
インターコネクトを介して前記第１のプロセッサと通信するよう構成される第２のプロセッサと、
プラットフォーム・コントローラ・ハブに接続されるように前記第１のプロセッサの第１のデスクトップ管理インターフェース及び前記第２のプロセッサの第２のデスクトップ管理インターフェースをマルチプレクスするよう構成されるマルチプレクサと
を有する、装置。
【請求項１９】
前記マルチプレクサからの状態をモニタするよう構成されるモニタ
を更に有する、請求項１８に記載の装置。
【請求項２０】
モニタされた前記状態に基づいて、どのプロセッサがコンピュータをブートするために使用すべきブートプロセッサであるのかを選択するよう構成されるコントローラ
を更に有する、請求項１９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、マルチプロセッサコンピュータプラットフォームの分野に関し、より具体的には、マルチプロセッサコンピュータシステムでのデスクトップ管理インターフェース（ＤＭＩ（desktop  management  interface））冗長のため装置、システム及び方法に関する。
【背景技術】
【０００２】
コンピュータシステムは、シングル（単一）プロセッサ（ＵＰ（unitary  processor））又はマルチプロセッサ構成を有することができる。マルチプロセッサ構成の一種として、デュアルプロセッサ（ＤＰ（dual  processor））構成がある。マルチプロセッサ構成では、通常、プロセッサの１つがブートプロセッサに指定される。これにより、コンピュータがブートされるときに、ブートプロセッサは、ブート処理に関与する唯一のプロセッサとなる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、ブートプロセッサがコンピュータシステムをブートすることができない場合には、コンピュータは、通常、他の手段がとられない限り、機能しない。
【０００４】
従って、必要とされるのは、ブートプロセッサが適切に機能しているのかどうかを決定し、もし機能していない場合には、他のプロセッサをブートプロセッサに指定することができるマルチプロセッサコンピュータシステムである。
【課題を解決するための手段】
【０００５】
本開示の様々な実施形態に従って、第１のプロセッサ・インスタビリティに関してモニタリングモジュールによってコンピュータの第１のプロセッサをモニタする段階と、モニタされた前記第１のプロセッサ・インスタビリティに基づいて、前記第１のプロセッサが安定しているかどうかを決定する段階と、前記第１のプロセッサが安定していないと決定される場合にマルチプレクサモジュールにより前記コンピュータの第２のプロセッサに動作プライオリティを送る段階であって、前記第１のプロセッサの第１のデスクトップ管理インターフェース及び前記第２のプロセッサの第２のデスクトップ管理インターフェースは、前記マルチプレクサモジュールと通信し、前記第１のプロセッサ及び前記第２のプロセッサは、プロセッサ・インターコネクトによって通信する段階と、前記第２のプロセッサを用いて前記コンピュータを操作する段階とを有する方法が開示される。
【０００６】
本開示の様々な実施形態に従って、第１のプロセッサと、インターコネクトを介して前記第１のプロセッサと通信するよう構成される第２のプロセッサと、前記第１のプロセッサの第１のデスクトップ管理インターフェース及び前記第２のプロセッサの第２のデスクトップ管理インターフェースをプラットフォーム・コントローラ・ハブにマルチプレクスするよう構成されるマルチプレクサとを有する装置が開示される。
【０００７】
本開示の様々な実施形態に従って、ボードを有するコンピュータを有し、前記ボードは、第１のプロセッサと、インターコネクトを介して前記第１のプロセッサと通信するよう構成される第２のプロセッサと、プラットフォーム・コントローラ・ハブに接続されるように前記第１のプロセッサの第１のデスクトップ管理インターフェース及び前記第２のプロセッサの第２のデスクトップ管理インターフェースをマルチプレクスするよう構成されるマルチプレクサとを有する、装置が開示される。
【発明の効果】
【０００８】
本発明の実施形態によれば、ブートプロセッサが適切に機能しているのかどうかを決定し、もし機能していない場合には、他のプロセッサをブートプロセッサに指定することができるマルチプロセッサコンピュータシステムを提供することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】プロセッサ・トポロジの一例を示す。
【図２】本開示の様々な態様に従うデュアルプロセッサ（ＤＰ）トポロジを有するマルチプロセッサプラットフォームの一例を示す。
【図３】本開示の様々な態様に従うクワッドプロセッサトポロジを有するマルチプロセッサプラットフォームの一例を示す。
【図４】本開示の様々な態様に従うＤＰからＤＰへのスイッチングのためのフローチャートの例を示す。
【図５】本開示の様々な態様に従うＤＰから単一プロセッサ（ＵＰ）へのスイッチングのためのフローチャートの例を示す。
【発明を実施するための形態】
【００１０】
以下の記載で、同じ構成要素は、それらが異なる実施形態において示されているかどうかに関わらず、同じ参照符号を付されている。明りょう且つ簡潔に本開示の実施形態を表すために、図面は必ずしも実寸通りではなく、特定の機能が多少図式的に示されることがある。１つの実施形態に関して記載及び／又は図示をされている機能は、１又はそれ以上の他の実施形態でも同じように、あるいは、他の実施形態の特徴とともに、又はそれらに代えて、使用されてよい。
【００１１】
関連する構成要素の動作及び機能の方法、部品の組合せ、並びに製造の経済利益とともに、上記の及び他の機能及び特徴は、添付の図面を参照して明細書及び特許請求の範囲を読むことで明らかになるであろう。全ての図を通して、同じ参照符号は対応する部分を表す。しかしながら、図面は例示及び説明のためのものであり、本発明の技術的範囲を定めるものではないことが明確に理解されるべきである。明細書及び特許請求の範囲で使用されているように、１つの（a、an）又は前記（the）等の語に続く要素は、明示されない限り、複数存在する場合を含むものである。
【００１２】
図１は、関連するプロセッサ・トポロジの一例を示す。２つのプロセッサ１０５及び１１０は、例えば、インテル（登録商標）によるＱＰＩ（QuickPath  Interconnect）等のポイント・ツー・ポイントのプロセッサ・インターコネクトのようなインターコネクトを介して接続されている。プロセッサ１０５のデスクトップ管理インターフェース（ＤＭＩ（Desktop  Management  Interface））はプラットフォーム・コントローラ・ハブ（ＰＣＨ（Platform  Control  HUB））に接続され、一方、プロセッサ１１０のＤＭＩは使用されない。ＰＣＨは、Ｉ／Ｏコントローラ・ハブ（ＩＣＨ）又はサウスブリッジとしても知られており、ノースブリッジ／サウスブリッジ・チップセット・コンピュータ・アーキテクチャにおけるマザーボード（図示せず。）の低速（slower）機能を実施するチップである。通常、サウスブリッジは、ＣＰＵに直接には接続されないことでノースブリッジと区別され得る。むしろ、ノースブリッジはサウスブリッジをＣＰＵに結合する。コントローラ内蔵チャネル回路の使用を通じて、ノースブリッジは、入力／出力（Ｉ／Ｏ）ユニットからの信号をデータ制御及びアクセスのためにＣＰＵに直接にリンクすることができる。
【００１３】
マルチプロセッサプラットフォームでは、プロセッサはルートスルー（route-through）可能なプロセッサであってよい。ルートスルーは、あるプロセッサのアンコア（uncore）内のパケットルーティングメカニズムである。語「アンコア」は、コア以外のマルチコアチップの構成要素（例えば、コアのためのインターコネクト、バスインターフェース等）をいう。内部ブロック（ＣＳＩホームロジック、ソースアドレスデコードブロック、グローバルキュー等）における変化は、パケットのあて先を決定するために使用される。各ノードでパケットを処理することに代えて、あて先ノードは、あて先アドレスに基づくルートスルー又はプロセスのいずれかにより決定される。
【００１４】
図２は、本開示の様々な態様に従うデュアルプロセッサ（ＤＰ）トポロジを有するマルチプロセッサプラットフォームの一例を示す。この例で、２つのプロセッサ２０５及び２１０は、ポイント・ツー・ポイントのプロセッサ・インターコネクトのようなインターコネクトを介して接続されてよい。例えば、ポイント・ツー・ポイント・インターコネクトはＱＰＩであってよい。しかし、他の適切なプロセッサ・インターコネクトが使用されてもよい。図２に示されるように、プロセッサ２０５及び２１０はいずれもルートスルー可能なプロセッサである。しかし、これは単なるプラットフォーム構成の一例にすぎない。プロセッサはルートスルー可能である必要はない。初期構成において、２つのプロセッサ２０５及び２１０のうちの１つがブートプロセッサであるよう選択されてよい。プロセッサ２０５のＤＭＩ及びプロセッサ２１０のＤＭＩはマルチプレクサ（ＭＵＸ）２１０の入力部に接続されてよい。モニタ２２０はＭＵＸ２１５と通信することができ、ブートプロセッサの状態をモニタするよう構成されてよい。コントローラ２３０はモニタ２２０、ＭＵＸ２１５又はそれら両方と通信することができ、ＭＵＸ２１５にモニタ２２０によってモニタされた状態に基づいて非ブートプロセッサをブートプロセッサであるよう指定させるよう構成されてよい。ＭＵＸ２１５の出力部はＰＣＨ２２５と通信することができる。
【００１５】
図３は、本開示の様々な態様に従うクワッドプロセッサトポロジを有するマルチプロセッサプラットフォームの一例を示す。この例で、４つのプロセッサ３０５、３１０、３１５及び３２０は、ポイント・ツー・ポイントのプロセッサ・インターコネクトのようなインターコネクトを介して接続されてよい。トのプロセッサ・インターコネクトのようなインターコネクトを介して接続されてよい。例えば、ポイント・ツー・ポイント・インターコネクトはＱＰＩであってよい。しかし、他の適切なプロセッサ・インターコネクトが使用されてもよい。図３に示されるように、プロセッサ３０５、３１０、３１５及び３２０はいずれもルートスルー可能なプロセッサである。しかし、これは単なるプラットフォーム構成の一例にすぎない。プロセッサはルートスルー可能である必要はない。初期構成において、４つのプロセッサ３０５、３１０、３１５及び３２０のうちの１つのプロセッサがブートプロセッサであるよう選択されてよい。プロセッサ３０５、３１０、３１５及び３２０の夫々のＤＭＩはマルチプレクサ（ＭＵＸ）３２５の入力部に接続されてよい。モニタ３３０はＭＵＸ３２５と通信することができ、ブートプロセッサの状態をモニタするよう構成されてよい。コントローラ３４０はモニタ３３０、ＭＵＸ３２５又はそれら両方と通信することができ、ＭＵＸ３２５にモニタ３３０によってモニタされた状態に基づいて非ブートプロセッサをブートプロセッサであるよう指定させるよう構成されてよい。ＭＵＸ３２５の出力部はＰＣＨ３３５と通信することができる。
【００１６】
幾つかの態様で、モニタ２２０、３２０は、タイマ、ウォッチドッグタイマ若しくはベースボード管理コントローラ、又は離散状態機械（discrete  state  machine）であってよい。例えば、ウォッチドッグタイマは、ブートプロセッサが、例えばハングアップ又はフリーズ等の何らかの不具合状態により、規則的なウォッチドッグの提供を行わない場合に、システムリセットをトリガするよう構成されるコンピュータハードウェアタイミング装置であってよい。ハングアップ又はフリーズは、ブートプロセッサ、コンピュータプログラム又はシステム全体がユーザ入力に応答しなくなる場合に起こる。ハードウェアは、一時的に止まっているために、又はコンピュータ内の他のハードウェアに不適合であるために、コンピュータをハングアップさせることがある。また、ハードウェアは、ごみ又は熱損傷のために、時間とともに欠陥を有するようになる。ウォッチドッグはＭＵＸ２１５、３２５若しくはコントローラ２３０、３４０又はそれら両方に直接に結合されてよい。
【００１７】
幾つかの態様で、モニタ２２０、３３０は、ベースボード管理コントローラ（ＢＭＣ（baseboard  management  controller））であってよい。ＢＭＣは、コンピュータのマザーボードに組み込まれている特殊化したマイクロコントローラである。ＢＭＣは、インテリジェント・プラットフォーム管理インターフェース（ＩＰＭＩ（Intelligent  Platform  Management  Interface））アーキテクチャにおけるインテリジェンスである。ＢＭＣは、システム管理ソフトウェアとプラットフォームハードウェアとの間のインターフェースを管理する。コンピュータシステム内に組み込まれている様々なタイプのセンサが、温度、冷却ファンの速度、電力モード、オペレーティングシステム（ＯＳ）のステータス等のパラメータについてＢＭＣに報告する。ＢＭＣはセンサをモニタし、いずれかのパラメータが、システムの潜在的な故障を含む所定の限界範囲内にない場合に、警報をＭＵＸ２１５、３２５若しくはコントローラ２３０、３４０又はそれら両方に送ることができる。また、コンピュータのユーザは、ハングアップしたＯＳが再び実行されるようシステムのリセット又は再起動等の何らかの是正措置を行うために、ＢＭＣと通信することができる。ＢＭＣに対する物理的なインターフェースには、ＢＭＣがシステム内の他の管理コントローラからのＩＰＭＩ要求メッセージを受け取ることを可能にするＳＭＢｕｓバス、ＲＳ−２３２シリアスコンソール、アドレス及びデータライン、並びにインテリジェント・プラットフォーム管理インターフェース（ＩＰＭＩ）が含まれてよい。
【００１８】
幾つかの態様で、モニタ２２０、３３０は、様々なシステム・インスタビリティ（不安定性）（instabilities）をモニタすることによって、システムが安定しているかどうかをモニタし決定するよう構成されてよい。例えば、システム・インスタビリティには、指定されるブートプロセッサが適切にブートすることができるか否かが含まれてよい。他のシステム・インスタビリティには、システムが特定の時間（例えば、分、日又は週単位で）安定なままであることができるかどうかが含まれてよい。かかる決定は様々な方法で行われてよい。例えば、システム・インスタビリティは、ハードウェア及び／又はソフトウェアで実施されるウォッチドッグタイマを用いる、あるいは、性能データのシステムレベルでのロギングにより管理されるシステムの観測によって、ユーザ／操作により手動で決定されてよい。他のパラメータには、システムの実行が所望の状態と比較して遅いとの決定、電気的な不安定性、ブートプロセッサに対する過度のメモリエラー、あるいは、１若しくはそれ以上のプロセッサに対するＤＭＩ又は他のローカルなプラットフォーム・インターフェースにおける多すぎるエラーが含まれてよい。
【００１９】
幾つかの態様で、ブートプロセッサ構成は、アーキテクチャごとに達成されてよい。プロセッサにおける入力の組合せ等の様々なストラップオプション（strapping  options）は、リセットを解除する場合にプロセッサに自身を設定するよう指示を与えるために使用される所定の方法で設定する。ストラップオプションは、ＰＬＤ、ＦＰＧＡ、手動スイッチによって、又はプラットフォームにおける他のロジックデバイスから制御されてよい。幾つかの態様で、ブートプロセッサは、アーキテクチャ特有の基準で無効にされてよい。
【００２０】
幾つかの態様で、ＭＵＸはいくつかの方法で構成されてよい。例えば、ＭＵＸは、ＰＣＨ内蔵管理エンジン（Manageability  Engine）、オンボードＢＭＣによって、フロントパネル上のユーザインターフェースを通じて手動で、又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ（field-programmable  gate  array））若しくはコンプレックスプログラマブルロジックデバイス（ＣＰＬＤ（complex  programmable  logic  device））により、設定されてよい。
【００２１】
図４は、本開示の様々な態様に従うＤＰからＤＰへのスイッチングアーキテクチャのためのフローチャートの例を示す。処理はステップ４０５から始まる。ステップ４０５で、モニタ２２０、３３０は、プロセッサの動作状態における不安定性等の状態を検出するよう構成される。不安定性が検出されない場合は、処理はステップ４０５に戻り、不安定性が検出される場合は、処理はステップ４１０に移る。ステップ４１０で、プラットフォームは電源を切られ、ＭＵＸはＤＭＩをソケット０からソケット１にリルートする。次いで、ソケット１にあるプロセッサがブートプロセッサであるよう構成される。ステップ４１５で、システムはＤＰモードでリブートされ、プラットフォームは、ソケット１でリルートされたプロセッサを用いてブートされる。
【００２２】
図５は、本開示の様々な態様に従うＤＰから単一プロセッサ（ＵＰ）へのスイッチングアーキテクチャのためのフローチャートの例を示す。処理はステップ５０５から始まる。ステップ５０５で、モニタ２２０、３３０は、プロセッサの動作状態における不安定性等の状態を検出するよう構成される。不安定性が検出されない場合は、処理はステップ５０５に戻り、不安定性が検出される場合は、処理はステップ５１０に移る。ステップ５１０で、プラットフォームは電源を切られ、ＭＵＸはＤＭＩをソケット０からソケット１にリルートする。次いで、ソケット１にあるプロセッサがブートプロセッサ又はレガシー（legacy）プロセッサであるよう構成され、ソケット０にあるプロセッサが無効にされる。ステップ５１５で、システムはＵＰモードでリブートされ、プラットフォームは、ソケット１でリルートされたプロセッサを用いてブートされる。
【００２３】
上記の開示は、目下考えられている様々な有用な実施形態について論じられてきたが、かかる詳細は例示のために提示されるのであって、添付の特許請求の範囲は開示される実施形態に限定されない。しかし、見方を変えれば、本開示は、特許請求の範囲で定義される本発明の技術的範囲内にある変形例を包含するよう意図される。
【符号の説明】
【００２４】
１０５，１１０，２０５，２１０，３０５，３１０，３１５，３２０  プロセッサ
１１５，２２５，３３５  プラットフォーム・コントローラ・ハブ（ＰＣＨ）
２１５，３２５  マルチプレクサ（ＭＵＸ）
２２０，３３０  モニタ
２３０，３４０  コントローラ
【図１】
2011134314.tif 000003
【図２】
2011134314.tif 000004
【図３】
2011134314.tif 000005
【図４】
2011134314.tif 000006
【図５】
2011134314.tif 000007