(57)【特許請求の範囲】
【請求項１】
複数のモジュール（１−８）を含むサーバ(１００）であって、各モジュール（１−８）は、
−モジュール（１−８）の間で共有メモリの整合性を確実にすることができる、通信要素（１６，２６）と、
−互いに接続され、かつ、通信要素（１６，２６）に接続される、複数のプロセッサＣＰＵ（１０、１１、２０、２１）と、
−複数のプロセッサＣＰＵ（１０、１１、２０、２１）及び通信要素（１６，２６）に接続されるシステムオンチップＳＯＣ（１２，２２）であって、前記システムオンチップＳＯＣ（１２，２２）はファームウェアを実行するものである、前記システムオンチップＳＯＣ（１２，２２）と、
−システムオンチップＳＯＣ（１２，２２）、通信要素（１６，２６）及び複数のプロセッサＣＰＵ（１０、１１、２０、２１）に接続される、プログラマブルなゲートのネットワーク（ＦＰＧＡ）（１３、２３、３３、４３、５３、６３、７３、８３）と、を含み、
モジュール（１−８）は、
−ネットワークＸＱＰＩを介した各通信要素（１６，２６）間の相互接続（２７）と、
−ＩＰＭＢ標準プロトコルに従って通信プロトコルをカプセル化する、プライベートなネットワークを介した相互接続（２８）であって、前記相互接続（２８）は、システムオンチップＳＯＣ（１２，２２）間を接続するためのものである、前記相互接続（２８）と、
により相互接続され、
各モジュール（１−８）の各システムオンチップＳＯＣ（１２，２２）は、ファームウェアを実行することにより、２つのソフトウェアコンポーネントを生じさせるものであり、
前記２つのソフトウェアコンポーネントは、システムのサテライトマネージメントコントローラ（ＳＭＣ）コンポーネント（１５，２５）と、ベースボードのマネージメントコントローラ（ＢＭＣ）コンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）からなり、
ＳＭＣコンポーネント（１５，２５）は、当該ＳＭＣコンポーネント（１５，２５）が属するモジュールの物理的パラメータの測定、及び、当該ＳＭＣコンポーネント（１５，２５）が属するモジュールの局所機能の管理を行わせるためのものであり、
ＢＭＣコンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）は、全モジュール（１−８）のＳＭＣコンポーネント（１５，２５）の全てを監督することと、サーバ（１００）の機能の全てを中央管理することと、システムオンチップＳＯＣ（１２，２２）間の相互接続（２８）を介して他のＢＭＣコンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）の各々とデータ交換をすることを行わせるためのものである、サーバ（１００）。
【請求項２】
通信要素（１６，２６）の相互接続（２７）及びＳＯＣ（１２，２２）の相互接続（２８）は、プログラマブルなゲートのネットワーク（ＦＰＧＡ）を含む相互接続ボックス（３０）の媒介を介して、遂行される、請求項１に記載のサーバ（１００）。
【請求項３】
相互接続ボックス（３０）は、複数のモジュール（１−８）から電力を供給されるものであり、各モジュール（１−８）は、少なくとも２つの電力供給ＰＳＵを備える、請求項２に記載のサーバ（１００）。
【請求項４】
各ＢＭＣコンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）によって管理される機能の一つは、モジュール（１−８）のインスタンス化を可能にする機能であり、この機能は、
−各モジュール（１−８）のＦＰＧＡ（１３、２３、３３、４３、５３、６３、７３、８３）により、システムオンチップＳＯＣ（１２，２２）を介して相互接続ボックス（３０）に、ＩＤのリクエストを送信することと、
−特定のリクエストに応答して、相互接続ボックス（３０）が有するＦＰＧＡから、モジュール（１−８）が有するＦＰＧＡ（１３、２３、３３、４３、５３、６３、７３、８３）へ、固有のＩＤを送信することと、
−ＢＭＣコンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）により、当該ＢＭＣコンポーネントが属するモジュール（１−８）のアドレス及び当該ＢＭＣコンポーネントが属するモジュールが相互接続するモジュール（１−８）のアドレスを決定することと、
により行われ、これらアドレスは、ＦＰＧＡ（１３、２３、３３、４３、５３、６３、７３、８３）により受信されるＩＤにより決定される、請求項２または３に記載のサーバ（１００）。
【請求項５】
相互接続ボックス（３０）が有するＦＰＧＡから送信される識別子ＩＤは、各モジュール（１−８）の相互接続ボックス（３０）に対する物理的接続の各位置に応じて決定される、請求項４に記載のサーバ（１００）。
【請求項６】
各モジュール（１−８）が、
−そのモジュール（１−８）のプロセッサＣＰＵ（１０、１１、２０、２１）を同期させることができるクロック信号ジェネレータ（１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０）を備え、
各モジュール（１−８）が備える前記ＦＰＧＡ（１３、２３、３３、４３、５３、６３、７３、８３）は、共通の特性に従い、複数のモジュール（１−８）のうちのサブセットへと、複数のモジュール（１−８）を分割及びグループ化するようプログラムされるものである、請求項１〜５のいずれかに記載のサーバ（１００）。
【請求項７】
各ＢＭＣコンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）は、
−サブセットに含まれるモジュール（１−８）の各々の識別情報に従い、当該ＢＭＣコンポーネントが属するモジュールが、サブセットにおけるマスターモジュールであるのか、それとも、サブセットにおけるスレーブモジュールであるのかを特定することと、
−当該ＢＭＣコンポーネントが属するモジュールがマスターモジュールである場合は、ＦＰＧＡ（１３、２３、３３、４３、５３、６３、７３、８３）が、同じサブセットのスレーブモジュールに、マスターモジュールのクロック信号（１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０）を配信するように、ＦＰＧＡ（１３、２３、３３、４３、５３、６３、７３、８３）を構成することと、
−当該ＢＭＣコンポーネントが属するモジュールがスレーブモジュールである場合は、ＦＰＧＡ（１３、２３、３３、４３、５３、６３、７３、８３）が、スレーブモジュールのクロック信号（１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０）を無効にするように、ＦＰＧＡ（１３、２３、３３、４３、５３、６３、７３、８３）を構成することを、実行させるためのものである、請求項６に記載のサーバ（１００）。
【請求項８】
各モジュール（１−８）の各プロセッサＣＰＵ（１０、１１、２０、２１）は、複数の軽プロセスを有するタスクを同期させるために用いることが可能なタイムスタンプカウンターＴＳＣを含み、サブセットに含まれるモジュール（１−８）におけるこれらのプロセッサＣＰＵ（１０、１１、２０、２１）の全てのタイムスタンプカウンターＴＳＣの同期は、以下のように行われる：
−スレーブモジュールが初期化又はリセットされた場合に、当該スレーブモジュールのＢＭＣコンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）によって、マスターモジュールのＢＭＣコンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）への通知を送信し
−マスターモジュールが初期化又はリセットされた場合に、マスターモジュールのＢＭＣコンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）へ通知し、
−全てのマスターモジュール及びスレーブモジュールが初期化又はリセットされた場合は、サブセットに含まれる全てのモジュール（１−８）に対して、全てのプロセッサＣＰＵ（１０、１１、２０、２１）のタイムスタンプカウンターＴＳＣをリセットすることができる同期信号を、マスターモジュールのＢＭＣコンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）により送信する、請求項７に記載のサーバ（１００）。
【請求項９】
各モジュール（１−８）の各ＦＰＧＡ（１３、２３、３３、４３、５３、６３、７３、８３）は、そのモジュール（１−８）におけるあらゆるエラーの発生において少なくともエラーのタイムスタンプを含むエラーに関する情報を記録することが可能なタイムスタンプカウンターＴＳＣを含み、サブセットに含まれるモジュール（１−８）における各ＦＰＧＡ（１３、２３、３３、４３、５３、６３、７３、８３）のタイムスタンプカウンターＴＳＣのセットの同期は、以下のように行われる：
−スレーブモジュールが初期化又はリセットされた場合は、マスターモジュールのＢＭＣコンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）への通知を、サブセットに含まれる各スレーブモジュールの各ＢＭＣコンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）により送信し、
−マスターモジュールが初期化又はリセットされた場合は、マスターモジュールのＢＭＣコンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）へ通知し、
−全てのマスターモジュール及びスレーブモジュールが初期化又はリセットされた場合は、サブセットに含まれる全てのモジュール（１−８）に対して、ＦＰＧＡ（１３、２３、３３、４３、５３、６３、７３、８３）の全てのタイムスタンプカウンターＴＳＣを再初期化することができる同期信号を、マスターモジュールのＢＭＣコンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）により送信する、請求項７又は８に記載のサーバ（１００）。
【請求項１０】
サブセットに含まれるモジュール（１−８）におけるエラーの識別は、サブセットに含まれる各ＦＰＧＡ（１３、２３、３３、４３、５３、６３、７３、８３）のタイムスタンプカウンターＴＳＣのセットによって記録されたエラーの情報同士を比較するステップによって遂行され、ＢＭＣコンポーネント（１４、２４、３４、４４、５４、６４、７４、８４）は、サブセットに含まれる各モジュール（１−８）におけるエラーの情報を交換及び共有させるためのものである、請求項９に記載のサーバ（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理及び／又は通信のためのシステムの分野に関する。特に、本発明はマルチモジュールサーバの実現及びこれに関連する機能の実行を提案する。
【背景技術】
【０００２】
コンピュータサーバのアーキテクチャの中でも、ＳＭＰサーバ、すなわち英語の「Ｓｙｍｍｅｔｒｉｃ Ｍｕｌｔｉ Ｐｒｏｃｅｓｓｏｒ」の頭文字、として知られている多重プロセッサ網は典型的には、複数の集積回路（一般に、ソケットとして知られる）により、製造される。これらのサーバに対して、ソケットは、システム内のプロセッサであり、これらの集積回路同士が、相互接続用バスを介して、非常に高いスループット及び非常に短い待ち時間で接続され、共有メモリの実現を可能にしている。ここで『相互接続』とは、２つのインタフェースを接続する物理的及び論理的結合のことをいう。
【０００３】
一般に、電気的性能の理由のため、それぞれのソケットは、ＳＭＰサーバのメモリ構成部分を直接サポートする。そして、このメモリの全てはメモリーコントローラーにより一致するように構成されているため、ひとつのプロセッサにより行われたあらゆるデータの変更は、他のすべてのプロセッサによっても可視であることが、自動的に確保される。
【０００４】
物理的理由のため、ソケット数の多いＳＭＰサーバは、いくつかのサブシステムに分割する必要がある。これらのサブシステムは、例えば、マザーボードに接続されているドータボード、電源及びシグナルバスをバックプレーンに接続するボード、又は、セクターによる自己出力型電圧及び電流モジュールにより達成することができる。このため、ＳＭＰサーバはマルチモジュールと呼ばれる。
【０００５】
これは、ＳＭＰサーバのアーキテクチャに関係なく、規格及び／又は規格ベースのハードウェア管理ツールを必要とする。
【０００６】
したがって、ＩＰＭＩ（英語の「Ｉｎｔｅｌｌｉｇｅｎｔ Ｐｌａｔｆｏｒｍ Ｍａｎａｇｅｍｅｎｔ Ｉｎｔｅｒｆａｃｅ」の頭字語）として知られている装置のインテリジェントマネジメントのインタフェースは、インタフェースに対して、コンピュータ装置内の一部の部品又は電子機器の物理的状態を、処理する、すなわち監視及び制御する、一組の仕様を提案する。ＩＰＭＩ規格は、例えば、サーバ内の温度、電圧、マイクロプロセッサの電力、これらのスイッチングの適正さ、部品の含水量、又は冷却ファンのスピードまでの制御をも、監視することが可能になる。全てのＩＰＭＩ機能は一般に、基本入出力システム、即ち、ＢＩＯＳ（「Ｂａｓｉｃ Ｉｎｐｕｔ／Ｏｕｔｐｕｔ Ｓｙｓｔｅｍ」の頭字語）により、又は、装置の製造者によって提供される管理ソフトウェアによって、活性化される。
【０００７】
したがって、必要に応じ、例えばアラートの上昇が装置のイベント（例：過熱）に関係していた場合、ネットワーク管理者は、適切なグラフィックインタフェースを介して、及び、同じ場所から（例えばローカルマシンで、又は、遠隔から）、関連する装置の電源をオフにし、再起動し、必要に応じて、その設定をリセットし、代替的な装置をオンにすることができる。
【０００８】
電子機器又は部品の物理状態のためのハードウェア（英語では“ｈａｒｄｗａｒｅ”）は一般に、マザーボード又はメイン装置上で実行されるベースボードマネージメントコントローラ、いわゆるＢＭＣ（英語の「Ｂａｓｅｂｏａｒｄ Ｍａｎａｇｅｍｅｎｔ Ｃｏｎｔｒｏｌｅｒ」の頭字語）により監督される。例えば、ＩＰＭＩ規格を実行するファームウェア（英語ではｆｉｒｍｗａｒｅ）を運転するシステムオンチップ、ＳＯＣ（英語の「Ｓｙｓｔｅｍ Ｏｎ Ｃｈｉｐ」の頭字語）のサーバマザーボードの統合により、サーバに対してＢＭＣ機能は遂行される。
【０００９】
しかしながら、既存の技術を実行するだけでは、モノマザーボードのサーバの共通の問題に直面してしまう。ロジスティックスデータバスを介してインターコネクト部品に接続される、例えば、規格Ｉ２Ｃ（「Ｉｎｔｅｒ-Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔ」の頭字語）に従って接続される、複数のモジュール付きのサーバの場合、ＢＭＣコントローラの使用は、直ちに限定されてしまう。実際、センサーの数は、相互接続モジュールの数に比例して増えてしまうが、ＩＰＭＩ規格で認められるセンサーは所定の数に限定されている。更に、モジュール数が増加すれば、論理データバスの拡張が必要となる。例えばＩ２Ｃの場合に、このような拡張があれば、信頼性が低下し、性能及び柔軟性が不足することとなる。
【００１０】
ＩＰＭＩを支持しているために生じる問題を回避するための解決策としては、所有者の管理規格を採用することが挙げられる。しかしながら、標準マネージメントインタフェースを用いた既存のデータ管理システムによりサーバの相互接続性及び統合の可能性を確実にし続けたいならば、そのような解法は、あまり有利でない。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
したがって、マルチモジュールのコンピュータ装置に対して、装置間の互換性を確保するためには、ＩＰＭＩ標準、及び更に一般には標準マネージメントインタフェースに対するサポートを提供し続けるべきである。
【課題を解決するための手段】
【００１２】
本発明は、上記の不利益を改善することを目的とする。
第１の目的は、マルチモジュールサーバアーキテクチャを提案することにある。
第２の目的は、多数の拡張可能なモジュール、及び、標準マネージメントインタフェースに対するプログラムの互換性を有する、マルチモジュールサーバを提供することにある。
第３の目的は、標準ＩＰＭＩ等の標準マネージメントインタフェースと互換性を有し、かつ、マルチモジュールサーバのあらゆる構成要素モジュールのマネージメントを可能にする、ファームウェアを提案することにある。
【００１３】
この目的のために、複数のモジュールを含むサーバが提案され、それぞれのモジュールは、−モジュールの間で共有メモリの整合性を確実にすることができる、通信要素と、
−互いに接続され、かつ、通信要素に接続される、複数のプロセッサＣＰＵと、
−複数のプロセッサＣＰＵ及び通信要素に接続され、ファームウェアを実行する、システムオンチップＳＯＣと、
−システムオンチップＳＯＣ、通信要素及び複数のプロセッサＣＰＵに接続される、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）と
を備え、モジュールは、−ネットワークＸＱＰＩを介した各通信要素間の相互接続と、
−ＩＰＭＢ標準プロトコルに従って通信プロトコルをカプセル化する、プライベートなプロトコルイーサネット（登録商標）のネットワークを介した各システムオンチップＳＯＣ間の相互接続と、により相互接続され、
ファームウェアは、２つのソフトウェアコンポーネントを実行する各モジュールの各システムオンチップＳＯＣ上で実行され、すなわち、
−システムのマネージメントサテライトコントローラ要素（ＳＭＣ）は、このモジュールの物理的パラメータの測定及びこのモジュールの局所機能の管理を行うが可能であり、
−ベースボードのマネージメントコントローラ要素（ＢＭＣ）は、全モジュールのＳＭＣの全てを監督することと、サーバ機能の全てを中央管理することと、各システムオンチップＳＯＣ間の相互接続を介してＢＭＣ要素の各々とデータ交換を行うことが、可能である。
有利には、このサーバでは、通信要素の相互接続及びＳＯＣの相互接続は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）を含む相互接続ボックスの媒介を介して、遂行される。
【００１４】
有利には、このサーバでは、相互接続ボックスは、複数の電気駆動モジュールであり、各モジュールは、少なくとも２つの電源ユニットＰＳＵからなり、電源ユニットＰＳＵは、２Ｎの冗長性の大きさが与えられる。
【００１５】
有利には、このサーバでは、各ＢＭＣ要素によって管理される機能の一つは、モジュールの即時性を可能にする機能であり、この機能は、以下の通りに遂行される。
−各モジュールのＦＰＧＡにより、システムオンチップＳＯＣを介して相互接続ボックスに、ＩＤのリクエストを送信することと、
−ＩＤのリクエストに応答して、ＦＰＧＡにより、相互接続ボックスに、ＦＰＧＡに固有のＩＤを送信することと、
−ＢＭＣ要素により、そのモジュールのアドレス及びそれが相互接続するモジュールのアドレスを決定することと、により行われ、これらアドレスは、ＦＰＧＡにより承認されるＩＤにより決定される。有利には、このサーバでは、ＦＰＧＡによって相互接続ボックスに送信される識別子ＩＤは、各モジュールの相互接続モジュールに対する物理的接続の各位置に応じて決定される。
【００１６】
有利には、このサーバでは、各モジュールは、次を備えている。
−そのモジュールのプロセッサＣＰＵに同期させることができるクロック信号ジェネレータ、
−共通の特性に従い、サブセットモジュールへと分割及びグループ化するようプログラムされるそのＦＰＧＡ。
【００１７】
有利には、このサーバでは、各ＢＭＣ要素は、下記のようにプログラムされる。
−このセット又はサブセットのモジュールの各々の識別情報に従い、モジュールのセット又はサブセット中の所属を、マスターモジュールかスレーブモジュールかに特定し、
−それがマスターモジュールに属している場合は、ＦＰＧＡが同じセット又はサブセットのスレーブモジュールに、マスターモジュールのクロック信号を配信するように、ＦＰＧＡを構成し、
−それがスレーブモジュールに属している場合は、ＦＰＧＡがスレーブモジュールのクロック信号を無効にするように、ＦＰＧＡを構成する。
【００１８】
有利には、このサーバでは、各モジュールの各プロセッサＣＰＵは、タスクを複数の軽プロセスと同期させることが可能なタイムスタンプカウンターＴＳＣを含み、セット又はサブセットのモジュールにおけるこれらのプロセッサＣＰＵの全てのタイムスタンプカウンターＴＳＣの同期は、以下のように行われる。
−スレーブモジュールが初期化段階又はリセットされた場合に、このセット又はサブセットの各スレーブモジュールの各ＢＭＣ要素によって、マスターモジュールのＢＭＣへの通知を送信し
−マスターモジュールが初期化段階又はリセットされた場合に、マスターモジュールのＢＭＣへ通知し、
−全てのマスターモジュール及びスレーブモジュールが初期化段階又はリセットされた場合は、同じセット又はサブセットの全てのモジュールに対して、全てのプロセッサＣＰＵのタイムスタンプカウンターＴＳＣをリセットすることができる同期信号を、マスターモジュールのＢＭＣにより送信する。
【００１９】
有利には、このサーバでは、各モジュールの各ＦＰＧＡは、そのモジュールにおけるあらゆるエラーの発生において少なくともエラーのタイムスタンプを含むエラーに関する情報を記録することが可能なタイムスタンプカウンターＴＳＣを含み、モジュールのセット又はサブセットの各ＦＰＧＡのタイムスタンプカウンターＴＳＣのセットの同期は、以下のように行われる
−スレーブモジュールが初期化段階又はリセットされた場合は、マスターモジュールのＢＭＣへの通知を、このセット又はサブセットの各スレーブモジュールの各ＢＭＣ要素により送信し、
−マスターモジュールが初期化段階又はリセットされた場合は、マスターモジュールのＢＭＣへ通知し、
−全てのマスターモジュール及びスレーブモジュールが初期化段階又はリセットされた場合は、同じセット又はサブセットの全てのモジュールに対して、ＦＰＧＡの全てのタイムスタンプカウンターＴＳＣを再初期化することができる同期信号を、マスターモジュールのＢＭＣにより送信する。
【００２０】
有利には、このサーバでは、セット又はサブセットのモジュールにおけるエラーの識別は、このセット又はサブセットのＦＰＧＡのタイムスタンプカウンターＴＳＣのセットによって記録されたエラーの情報同士を比較するステップによって遂行され、ＢＭＣは、モジュールの同じセット又はサブセットにおけるエラー情報を交換及び共有することができる。
【００２１】
本発明の他の目的及び利点は、下記の図面に関して説明される実施形態の説明に照らして明らかである。
【図面の簡単な説明】
【００２２】
【図１】ある実施形態において複数のモジュールを含むサーバを説明する図である。
【図２】ある実施形態において、サーバ内相互接続の場合における８つのモジュールの相互接続を説明する図である。
【発明を実施するための形態】
【００２３】
図１は、ボード又はプリント回路基板等の、複数のモジュール１、２、３、本例では３つ、を含むサーバ１００の一つの実施形態を示す。しかしながら、任意の数（例えば８）のモジュールを、サーバ１００に統合することができる。有利には、モジュール１、２、３の各々は、同一であり、かつ、以下を含む。
−１つあるいは複数のプロセッサＣＰＵ（英語の「Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ」の頭文字）１０、１１、２０、２１。ここに示す例では、各モジュール１．２は、２ソケット型であり、これは、２つのプロセッサＣＰＵ１０、１１、２０、２１を支持するという意味である。有利には、同じモジュール１、２、３のプロセッサＣＰＵ１０、１１、２０、２１は、リンクＱＰＩ（英語の「Ｑｕｉｃｋ Ｐａｔｈ Ｉｎｔｅｒｃｏｎｎｅｃｔ」の頭文字）１０１、２０１を介して、これらの間で相互接続する。−システムオンチップＳＯＣ１２、２２、例えば、マネージメントファームウェアを実行するマイクロコントローラ。
【００２４】
一実施形態では、ファームウェアは、並列に２つのプロセスを実行することを含み、情報の交換が可能であり、各々のプロセスは、それぞれ論理的方法で以下に述べる部品の機能を実現させる。その部品とは、ＢＭＣ要素１４、２４、及び、以下ではＳＭＣ（英語の「Ｓａｔｅｌｌｉｔｅ Ｍａｎａｇｅｍｅｎｔ Ｃｏｎｔｒｏｌｌｅｒ」の頭文字）１５、２５との名称で示される、システム管理用サテライトコントローラ要素である。有利には、ＢＭＣ要素１４、２４及びＳＭＣ要素１５、２５の機能は、ＩＰＭＩ規格で定義される。
【００２５】
一実施形態では、ＳＯＣ１２、２２は、通常インタフェースＰＥＣＩ１０２、２０２（英語の「Ｐｌａｔｆｏｒｍ Ｅｎｖｉｒｏｎｍｅｎｔ Ｃｏｎｔｒｏｌ Ｉｎｔｅｒｆａｃｅ」の頭文字）と呼ばれる『プラットホーム環境制御インタフェース』を介してプロセッサＣＰＵ１０、１１、２０、２１とデータ交換することが可能である。
【００２６】
−ＦＰＧＡ１３、２３（英語の「Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ ａｒｒａｙｓ」の頭文字）と一般に呼称され、インタフェースとなるあらゆる要素に、クロック、エラー及び／又はリセット信号等の信号の伝送を可能にする、「ネットワークプログラマブルゲート」要素。有利には、ＦＰＧＡ１３、２３は、プロセッサＣＰＵ１０、１１、２０、２１とデータ交換可能な接続部１０３、２０３と、ＳＯＣ１２、２２とデータ交換が可能な接続部１０４、２０４とを備えている。
−キャッシュがプロセッサＣＰＵ１０、１１、２０、２１に関連する複数のメモリ。
−各プロセッサＣＰＵ１０、１１、２０、２１へのリンケージ１０５、２０５を有し、各モジュール１、２、３のプロセッサＣＰＵ１０、１１、２０及び２１の間で共有される「グローバル」メモリの一貫性を確保することができる、通信要素１６、２６。
【００２７】
一実施形態では、通信要素１６、２６は、これは出願人によって提案され商業上利用可能なソリューションであるＢＣＳ（「Ｂｕｌｌ Ｃｏｈｅｒｅｎｔ Ｓｗｉｔｃｈ」の頭文字）タイプの要素か、又は、この要素ＢＣＳ２（「ブルコヒーレントスイッチ２」）の事後の全てのバージョンである。
【００２８】
また、通信要素１６、２６は、接続部１０３を介してＦＰＧＡ１３と、及び、Ｉ２Ｃ規格に従ったバス１０６、２０６を介してＳＯＣ１２、２２と、データ交換が可能である。
【００２９】
有利には、サーバ１００のモジュール１、２、３は、リンクにより高速で相互接続し、以下の相互接続を実現させる。
−出願人によって提案され商業的に利用可能な相互接続のソリューションである、ＸＱＰＩ（英語の「ｅＸｔｅｎｄｅｄ ＱｕｉｃｋＰａｔｈ Ｉｎｔｅｒｃｏｎｎｅｃｔ」の頭文字）ネットワークを介した、モジュール１、２、３の通信要素１６、２６間の相互接続２７。
【００３０】
有利には、相互接続２７は、モジュール１、２、３に固有のＢＣＳ２のような通信要素１６、２６が、情報交換を行うことを可能にし、モジュール１、２、３のセットのメモリの一貫性を確保する。ネットワークＸＱＰＩを介した相互接続２７は、さらに、同期がＦＰＧＡ１３、２３によって管理されるクロック信号のような同期信号の、各モジュール１、２、３間での伝達を可能にする。
【００３１】
−ＰＭＰＩ（英語の「Ｉｎｔｅｌｌｉｇｅｎｔ Ｐｌａｔｆｏｒｍ Ｍａｎａｇｅｍｅｎｔ Ｂｕｓ」の頭文字）標準プロトコルに従って通信プロトコルをカプセル化する、イーサネット（登録商標）プロトコル中のプライベートなネットワークを介したモジュール１、２、３のＳＯＣ１２、２２の相互接続２８。現状の技術では、Ｉ２Ｃ規格に一致したＰＭＰＩ規格が、通信バスで用いられる。ＬＡＮ（「Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ」の頭文字）上でのＰＭＰＩ規格の使用、即ち「ＰＭＰＩオンＬＡＮ」は、サーバ１００のモジュール１、２、３のＳＯＣ１２、２２の各々の間でのデータ通信の性能、信頼性及び柔軟性を改良する利益を提供するものとして、ここに提案される。各リンクタイプ相互接続２８は、双方向性のイーサネット（登録商標）リンク及び一組の信号側波帯、ＳＰＩ（シリアル・ペリフェラル・インタフェースの略）信号、を含むことに注目すべきである。
【００３２】
一実施形態では、通信１６、２６の要素の相互接続２７及びＳＯＣ１２、２２の相互接続２８は、図２に示され後述されるエンクロージャー相互接続３０の媒介を通して、遂行される。
【００３３】
例えば、相互接続３０の場合は、一般に英語特有の語法で「ｓｗｉｔｃｈ」と呼ぶスイッチネットワークを含む「バックプレーン」である。有利には、各ＳＯＣ１２、２２の上で実行される各ＢＭＣ要素１４、２４は、特に各モジュール１、２、３の各ＢＭＣ要素１４、２４間でのデータ交換のためのインタフェース、ならびに、あらゆる規格のマネージメントインタフェースと同様に、外部コンピューターファシリティ管理アプリケーションとして用いることができる。
【００３４】
例えば、サーバ１００に用いられるコンピュータ装置のマネージメントの外部アプリケーションは、管理者が利用できるグラフィックインタフェースの形態で与えられ、以下を可能にする。
−モジュール１、２、３の物理的パラメータ（例えば、測定温度、測定電圧、特定の相互接続ケーブルの存在/欠如の検出）を監督すること。
−誤動作（例えば、モジュールの電圧のオン／オフ動作又はモジュール１、２、３の再起動）の検出に行うために適したＢＭＣ要素と通信を行うこと。
【００３５】
これを行うため、各ＳＯＣ１２、２２の相互接続２８が、論理的観点から、各モジュール１、２、３の各ＢＭＣ要素１４、２４の相互接続を実現する。
【００３６】
したがって、各モジュール１、２、３のＢＭＣ要素１４、２４は、自分自身の間で情報交換を行うことができ、それらの機能及びそれらの情報の共有化は、装置マネージメントの外部アプリケーションの観点から、モノモジュールサーバ１００としてのサーバ１００に与えることができる。
【００３７】
従って、各ＢＭＣ要素１４、２４は、例えば、サーバ１００のハイレベルの機能、すなわち集中管理するようにプログラムされる。
−サーバ１００の電力不足の管理。
−１つ以上の要素ＳＭＣ１５、２５の管理、例えばそれらの状態の管理、測定値又はＳＭＣ要素１５、２５に対して再構築されるあらゆるその他のデータの受領、又はコマンド（操縦）メッセージのＳＭＣ要素１５、２５に向けた再伝送。
−異なるモジュール１、２、３間に存在する区画に基づくクロックの信号の分割。そして、これはマルチモジュールシステム内で、区画との語で呼ばれており、モジュール１、２、３のサブセットは同じシステムの他のモジュール１、２、３と独立して動作することができる。例えば、区画は、同じオペレーティングシステムＯＳ（英語の「Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ」の頭文字）を実行するモジュール１、２、３のサブセットであり、又は、モジュールがハイパーバイザーの層を含む場合は、オペレーティングシステムＯＳの同じセットを実行する。
【００３８】
有利には、モジュール１、２、３の１つ以上のセットを、共通の特性を共有する、例えば同じ動作のシステムＯＳを実行するグループに、グループ化することができるあらゆる分割法を、用いることができる。−異なるモジュール１、２、３間の既存の区画に基づく、同期信号の同期及び、相互接続を介しＸＱＰＩネットワーク２７を通した伝播すなわちルーティング。各ＳＭＣ要素１５、２５は、それが配置されているモジュール１、２、３の低レベルの、すなわちローカルな機能の管理を可能にし、それが監督する、例えば測定する同じＳＯＣ１２、２２のデータを、ＢＭＣ要素１４、２４に対して通信する。例えば、サーバ１００への電力印加時には、各ＳＭＣ要素１５、２５は、予め設定されたプロセス（例えば、シーケンス、そのＢＣＳ２のプログラミング、制御電圧）に従って、それ自身のモジュール１、２、３にエネルギーを与え、同じＳＯＣ１２、２２のＢＭＣ要素１４、２４へその電力モジュール１、２、３の状態を報告する。
【００３９】
さらに、各ＳＭＣ要素１５、２５は、それ自身の材料の状態を監督し、例えばそれ自身のモジュール１、２、３の一定のパラメータ（例えば温度、電圧）を計測し、そして、この情報を同じＳＯＣ１２、２２のＢＭＣ要素１４、２４、に伝送する。
【００４０】
ＢＭＣ要素１４、２４は次に、誤動作の検出に際して個々のモジュール１、２、３を再開する等、ＳＭＣ要素１５、２５が提供しようとする設定に基づき、決定を行うことができる。
【００４１】
したがって、各モジュール１、２、３のハードウェアコンポーネントは、モジュール１、２、３にローカルなＳＭＣ要素１５、２５によって、他のモジュール１、２、３と独立してハンドリングされ、その一方、各ＢＭＣ要素１５、２５は、ＬＡＮ上のＰＭＰＩを介して相互接続２８により、任意の数のモジュール１、２、３のハンドリングすることができる。有利には、このアーキテクチャは非常に柔軟であり、何故なら、モジュール１、２、３の数に拘束されないからである。一実施形態では、イーサネット（登録商標）及びＳＰＩ接続の物理的トポロジは、星型である。
【００４２】
側波帯クロック、ＣＡＴＥＲＲ又はＴＳＣ_ＳＹＮＣタイプの信号は、メッシュタイプの物理トポロジ（英語では、「Ａｌｌ−ｔｏ−ａｌｌ（全対全）」という）である。他の様々な実施形態では、例えば閉環ネットワーク又は多次元円環体のトポロジ等、他のトポロジも可能である。有利には、相互接続筐体３０が、選択されたトポロジに応じて製造される。
【００４３】
例えば、サーバで１００がＮ個のモジュールで、トポロジが『全対全』の場合には、モジュール１、２、３つのポートの各相互接続は、その隣接の各々に対して高速で、Ｎ−１個のリンクを支持しなければならない。
【００４４】
８つのモジュール、すなわちＮ＝８、の構成において、各モジュール１、２、３が、８つの一方向性チャネルに７つのリンクを含む場合は、相互接続ボックス３０は、高速で８×７×８個すなわち４４８個の一方向性チャネルを有することができるように製造される。さらに、障害が生じた場合に相互接続ボックス３０の障害許容力を向上させるため、このユニットのスイッチを複数のスイッチにより実現させることが可能である。
【００４５】
例えば、モジュール１、２、３のＳＯＣ１２、２２を相互接続する８つのモジュール付きのサーバ１００に対して、相互接続ボックス３０のスイッチは、８つのポートイーサネット（登録商標）スイッチである。
【００４６】
このスイッチの１つは、以下のようにして５つのポートで２つのスイッチを介して実現することができる：スイッチの各々が派生データリンクの４つのポート（いわゆる「ダウンリンク」ポート）及び基本データリンクの１つのポート（「アップリンク」ポートと呼ばれる）を含む場合それは、プリント回路のトレースを介して「アップリンク」ポートを接続する。
【００４７】
従って、モジュール１、２、３のＳＯＣ１２、２２が、全てのスイッチの障害が生じた場合のみ、ダイアログのそれらの手段の全てを失うことができるというわけではなく、このリスクは、相互接続ボックス３０のスイッチの構築に用いられるスイッチの数に比例して低減する。同じ障害許容力の理由のため、モジュール間に物理的接続を提供するハードウェアコンポーネントの全てが、受動素子である。
【００４８】
有利には、これらの受動素子は、「故障間隔平均時間」、ＭＴＢＦ（英語の「ｍｅａｎ ｔｉｍｅ ｂｅｔｗｅｅｎ ｆａｉｌｕｒｅｓ」の頭文字）が、モジュール１、２、３のＭＴＢＦよりも数桁大きくなるように、選択される。
【００４９】
したがって、サーバ１００の可用性を評価しようとする場合、これらの要素によって形成される故障の数は無視できる。常に、電力停止からの良好な障害許容力を確保することを考慮すれば、各モジュール１、２、３は、少なくとも２ブロックの電源ＰＳＵ（「Ｐｏｗｅｒ Ｓｕｐｐｌｙ Ｕｎｉｔ」の頭文字）を含み、それは、例えば、各モジュール１、２、３の入力に、例えば１２Ｖ未満の電力を供給するＡＣ/ＤＣ（「Ａｌｔｅｒｎａｔｉｎｇ Ｃｕｒｒｅｎｔ／Ｄｉｒｅｃｔ Ｃｕｒｒｅｎｔ」の頭文字）コンバータの形態で現れてもよい各ＰＳＵ電源ユニットは、２Ｎ冗長性の大きさとすることができ、すなわち、これらの技術要素（例えば電子部品）の倍増を含み、独立した交流ＡＣの２つのネットワークに接続して、ネットワークの一方が故障した場合のサーバ１００の機能を確保することが可能である。
【００５０】
相互接続ボックス３０は、モジュール１、２、３によって電力が与えられており、そのそれぞれは、所定の電圧、例えば１２Ｖ、を、相互接続２８を通してイーサネット（登録商標）にリンクを伝送する。そしてこれらの電流は、相互接続ボックス３０の適切な構成要素である電子デバイス、例えばダイオードスイッチ等によって追加される。現状技術では、ＰｏＥ（英語の「Ｐｏｗｅｒ−ｏｖｅｒ−Ｅｔｈｅｒｎｅｔ」の頭文字）規格は、電力スイッチを有するスイッチで、イーサネット（登録商標）リンクにインタフェースされる装置の電力のことをいう。したがって、スイッチにおける電気的故障は、あらゆる電力装置を予防する。この規格とは対照的に、上記の実施形態は、サーバ１００への電源の影響を低減することができ、モジュール１、２、３の見込まれる障害の周辺を限定し、また、故障確率の低減は、電源の冗長ブロックによってもたらされたと考えられる。
【００５１】
したがって、モジュール１、２、３の相互接続２７を介して遂行されるイーサネット（登録商標）リンクの全ては、共働して、冗長な電源を相互接続ボックス３０からスイッチへ提供し、このスイッチのみが能動部分を備えている。したがって、相互接続ボックス３０のスイッチは、１つ以上のモジュール１、２、３の見込まれる障害にもかかわらず動作することができる。有利には、このスイッチで浪費される電力は、非常に低く（２〜３ワットのオーダー）、このスイッチ中に要素の数は、数百万時間のオーダーのＭＴＢＦを提供することができる。さらに、ＳＯＣ要素１２、２２のＢＭＣ１４、２４を、このスイッチの操作を監督する及びあらゆる故障を管理するように構成する。有利には、上記の実施形態では、あらゆるモジュールに１、２、３が、その中心位置にあっても、スイッチ相互接続ボックス３０の故障に抵抗することができるようになる。
【００５２】
スイッチで故障が検出された場合に、モジュールをその場で直ちに交換しても、マルチモジュールサーバ１００の機能を損なうことはない。図２は、一実施形態によりかつ上記の特性に従った、相互接続ボックス３０を有する８個のモジュール１、２、３、４、５、６、７、８の相互接続を示す。
【００５３】
この図において、各モジュール１、２、３、４、５、６、７、８は、それぞれ前記の要素を含む、
−特定のクロック信号１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０をハンドリングすることができるＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３。
【００５４】
これらの信号の管理は、後に詳述される。
−インスタンス化、電力再起動及びモジュール１、２、３、４、５、６、７、８のインスタンス化等、高レベルの機能を管理するに適切なＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４。
【００５５】
通信要素１６、２６、プロセッサＣＰＵ１０、１１、２０、２１、ＳＯＣ１２、及び相互接続２７、２８は、表現を単純化するため図中には示されないが、存在している。とりわけ、各モジュール１、２、３、４、５、６、７、８は、それぞれ相互接続２７、２８を介し、相互接続ボックス３０を通して、その通信要素１６、２６及びそのＳＯＣ１２、２２に、他のモジュール１、２、３、４、５、６、７、８で、それぞれ相互接続する。
【００５６】
一実施形態では、相互接続ボックス３０上の各モジュール１、２、３、４、５、６、７、８の接続は、バス同期式データＳＰＩ（「Ｓｅｒｉａｌ Ｐｅｒｉｐｈｅｒａｌ Ｉｎｔｅｒｆａｃｅ」の頭文字）１３１、２３１、３３１、４３１、５３１、６３１、７３１、８３１を介して、それぞれ後者のレベルで実現される。ＳＰＩ同期データバス３３１、４３１、５３１、６３１、７３１、２３１、８３１を介しての、各モジュール１、２、３、４、５、６、７、８と相互接続ボックス３０との間でのデータ交換は、これらの要素の間での二重矢印で、図中に示される。さらに、ＳＰＩ同期データバス１３１、２３１、３３１、４３１、５３１、６３１、７３１、８３１の各々は、相互接続ボックス３０の付属装置、ここではＦＰＧＡ、のレジストリ１３２、２３２、３３２、４３２、５３２、６３２、７３２、８３２に、それぞれインタフェースされる。
【００５７】
有利には、相互接続ボックス３０のＦＰＧＡは、初期化段階で、各モジュール１、２、３、４、５、６、７、８の各ＳＯＣ１２、２２に、認識番号を割り当てることができるようになる。同期式データＳＰＩバス１３１、２３１、３３１、４３１、５３１、６３１、７３１、８３１と、レジストリ１３２、２３２、３３２、４３２、５３２、６３２、７３２、８３２との間の情報交換は、ここでは、これらの要素の間での二重矢印で象徴化される。モジュール１、２、３、４、５、６、７、８の初期化段階は、例えば、起動中、サーバ１００の再起動、又は、ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４によりＳＯＣ１２、２２を初期化する際に、生じ得る。
【００５８】
前述の通り、各モジュール１、２、３、４、５、６、７、８の各ＳＯＣ１２、２２の相互接続２８は、通信ボックス３０を介してイーサネット（登録商標）プロトコル中のプライベートなネットワークで実行され、ＰＭＰＩ標準プロトコルに従って通信を内部に閉じ込める。
【００５９】
したがって、各ＳＯＣ１２、２２は、初期化段階の間、その隣人のとは異なるアドレスを介して、そのＩＰ（英語の「Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ」の頭文字）接続を開始することができる。これを実現するため、様々な実施形態に従い、各ＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３は、相互接続２８を介してインタフェースされるＳＯＣ１２、２２を通して、相互接続ボックス３０上の認識番号のためのリクエストを送信する。各リクエストは、同期式データＳＰＩ１３１、２３１、３３１、４３１、５３１、６３１、７３１、８３１のバスのレベルで、通信ボックス３０が受信し、同期式データＳＰＩは、インタフェースされるＦＰＧＡのレジスタ１３２、２３２、３３２、４３２、５３２、６３２、７３２、８３２に各リクエストを送信する。
【００６０】
有利には、各リクエストは、固有かつＦＰＧＡのレジスタ１３２、２３２、３３２、４３２、５３２、６３２、７３２、８３２にのみ既知である認識番号を得ることを可能にする。このＩＤ認識番号は、イーサネット（登録商標）信号から物理的に独立したＳＰＩバスの信号によって発行される（もちろん、側波帯信号は、ＸＱＰＩ界面の整数部分ではない）。一実施形態では、あらゆるＩＤ認識番号は、例えば３ビットで符号化されるポート番号を参照し、この認識番号は、相互接続モジュール３０に物理コネクションの各位置に特異的である。
【００６１】
有利には、このＩＤ認識番号は固有であり、すなわち、特異的なモジュール１、２、３、４、５、６、７、８を特定する。通信ボックス３０は、受信した各リクエストに応じた認識番号を、そのＦＰＧＡによって通信し、その応答は、同期式データＳＰＩバス１３１、２３１、３３１、４３１、５３１、６３１、７３１、８３１により、次いでＳＯＣ１２、２２により、リクエストを発行したモジュール１、２、３、４、５、６、７、８のＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３へと、送信される。
【００６２】
ＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３に承認されたＩＤは、次いで、インタフェースされて適切なインスタンス化を決定する、例えばＩＰアドレスをモジュール１、２、３、４、５、６、７、８に割り当てる、ＳＯＣ１２、２２の要素ＢＭＣ１４、２４、３４、４４、５４、６４、７４、８４により読み出される。
【００６３】
各ＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３における各ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４による認識番号の読取りは、これらの要素の間の片側矢印により図中に示される。一実施形態では、各ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４は、この認識番号にＩＰアドレスの計算のアルゴリズムを適用して、そのモジュール１、２、３、４、５、６、７、８のＩＰアドレスを決定して、ダイナミックに例示する。
【００６４】
さらに、各ＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３は、同期式データＳＰＩバス１３１、２３１、３３１、４３１、５３１、６３１、７３１、８３１を介して、相互接続ボックスに接続されるモジュール１、２、３、４、５、６、７、８の数を読み取ることができる。
【００６５】
したがって、各モジュール１、２、３、４、５、６、７、８のＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４は、同じＩＰアドレス計算アルゴリズムを適用することにより、隣接のモジュール１、２、３、４、５、６、７、８のＩＰアドレスを演繹することもできる。
【００６６】
既知のＩＰアドレスの全てを、例えば、１３、２３、３３、４３、５３、６３、７３、８３に保存することができる。他の実施形態では、各モジュール１、２、３、４、５、６、７、８のＩＰアドレスは、３２ビットで形成されたＩＰｖ４タイプのアドレスである。
【００６７】
更に、各ＩＰアドレスは、最上位の２９ビットを含むと仮定され、このような構成は、相互接続２８等のプライベートなイーサネット（登録商標）ネットワークに適用できる。ＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３の各々により各認識番号を復元した後、各要素ＢＭＣ１４、２４、３４、４４、５４、６４、７４、８４は、そのＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３のレベルで読み取るべき認識番号の３ビットで与えられる低位の３ビットを完了することによって、このＩＰアドレスを完了する。
【００６８】
したがって、各ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４は、モジュール１、２、３、４、５、６、７、８の構成インタフェース又は動的再構成（すなわち自身を構成するため）と理解することができ、それらのインスタンス化、すなわち、これらのモジュール１、２、３、４、５、６、７、８の各々に対するＩＰアドレス、又はより一般的には識別子、の配分、が可能になる。
【００６９】
さらに、各モジュール１、２、３、４、５、６、７、８は、それが有するクロック信号１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０を生成することができるクロックジェネレータを含んでいる。例えばそのようなクロックは、矩形波の形態で実現され、その周波数は、ＭＨｚのオーダーであり、例えば１４．７ＭＨｚ、２５ＭＨｚ又は１００ＭＨｚである。
【００７０】
有利には、モジュール１、２、３、４、５、６、７、８のクロック信号１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０は、このモジュール１、２、３、４、５、６、７、８の全てのプロセッサＣＰＵ１０、１１、２０、２１の同期を可能にする。各モジュール１、２、３、４、５、６、７、８のプロセッサＣＰＵ１０、１１、２０、２１への各クロック信号１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０の供給は、ここでは、アイテム１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０の左方への一方向性矢印で示される。様々な実施形態に従い、各クロック信号１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０は、ＸＱＰＩネットワークを介して相互接続２７によって伝送可能である。
【００７１】
有利には、各クロック信号１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０は、各モジュール１、２、３、４、５、６、７、８の入口において、相互接続２７の物理リンクによって導入されるあらゆる位相雑音を排除することが可能な位相同期回路ＰＬＬ型（英語の「Ｐｈａｓｅ−Ｌｏｃｋｅｄ Ｌｏｏｐ」の頭文字）の電気回路により、フィルタリングが可能である。
【００７２】
クロック信号１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０は、モジュール間信号、すなわち異なるモジュール１、２、３、４、５、６、７、８の間で通過する信号とすることができ、これらの信号の同期も必要となる。
【００７３】
これを行うため、様々な実施形態に従い、各モジュール１、２、３、４、５、６、７、８の各ＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３は、共通の特性に基づき、例えば区画を形成するモジュール１、２、３、４、５、６、７、８で支持されるシステムを動作している同じＯＳに基づき、モジュール１、２、３、４、５、６、７、８のセットをグループ化する分割のステップに適している。
【００７４】
したがって、各モジュール１、２、３、４、５、６、７、８は、サーバ１００を構成するモジュール１、２、３、４、５、６、７、８のセット又は区画（すなわちサブセット）である。例えば、図２では、２つの区画４０、５０が実現され、第１の区画４０は、モジュール１、２、３、４、５、６から成り、第２の区画５０は、モジュール７、８から成る。各ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４は、それが属するセット又はサブセット（すなわち区画）において、それ自身が所有するモジュール１、２、３、４、５、６、７、８の数を、同じセット又はサブセットのモジュール１、２、３、４、５、６、７、８の数と比較する。前述の通り、モジュール１、２、３、４、５、６、７、８及びその隣接モジュール１、２、３、４、５、６、７、８の数は、そのＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４によって遂行される動的インスタンス化ステップで特定される。
【００７５】
これらの比較の結果に基づき、それが属するモジュール１、２、３、４、５、６、７、８が、モジュール１、２、３、４、５、６、７、８のセット又はサブセットにおいてマスター又はスレーブである場合に、各ＢＭＣ１４、２４、３４、４４、５４、６４、７４、８４を特定することができる。
【００７６】
一実施形態では、より小さな数/識別子ＩＤのモジュール１、２、３、４、５、６、７、８は、そのＢＭＣ１４、２４、３４、４４、５４、６４、７４、８４により、マスターモジュールとして特定され、残ったモジュールがスレーブモジュールとして特定される。
しかしながら、他のあらゆるタイプの特定も実行することができ、例えば、マスターモジュールは、最大数/ＩＤのモジュールであることとして特定することができ、又は、そのアドレスに基づき特定される。
【００７７】
より一般には、動的インスタンス化の間に得られたモジュール１、２、３、４、５、６、７、８の証明書に基づいて、モジュール１、２、３、４、５、６、７、８の同じセット又はサブセットでスレーブ及びマスターモジュールが特定される。
【００７８】
簡略化のため、セット又はサブセットの数の少ないモジュール１、２、３、４、５、６、７、８が、各ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４によってマスターモジュールとして特定され、残りのモジュールがスレーブモジュールとして特定される例も、次いで考えられる。
【００７９】
様々な実施形態に従い、ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４がそのモジュール１、２、３、４、５、６、７、８を、以下の通りに特定する
−マスター。同じセット又はサブセットの他のモジュール１、２、３、４、５、６、７、８において、クロック信号１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０を送る方法で、ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４は、そのＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３を構成する場合。
−スレーブ。モジュール１、２、３、４、５、６、７、８にローカルなクロック信号１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０を無効にする方法で、ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４が、そのＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３を構成する場合。
【００８０】
例えば、区画されていない８つのモジュール１、２、３、４、５、６、７、８の同じセットにおいて、モジュール１は、マスターモジュールとして、モジュール２、３、４、５、６、７、８はスレーブモジュールとして、特定される。
【００８１】
モジュール１は次に、そのクロック信号１３０を、自身のクロック信号２３０、３３０、４３０、５３０、６３０、７３０、８３０がＦＰＧＡによって無効にされているモジュール２、３、４、５、６、７、８に対して、配信する。クロック１３０の配信及びローカル信号クロック２３０、３３０、４３０、５３０、６３０、７３０、８３０の無効化は、ここでは、ＦＰＧＡ１３及びＦＰＧＡ２３、３３、４３、５３、６３、７３、８３によってそれぞれ遂行され、これらは、ＢＭＣ要素１４及びＢＭＣ要素２４、３４、４４、５４、６４、７４、８４によってそれぞれ構成される。クロックは、側波帯信号によって送信され、すなわち、相互接続２８の一部（すなわち、ＦＰＧＡ間のインタフェース）である。  
【００８２】
図２に例示される他の例では：
−モジュール１が、第１の区画４０内でマスターモジュールとして特定され、モジュール２、３、４、５、６が、この区画内でスレーブモジュールとして特定される。次いで、モジュール１は、ＦＰＧＡ１３（複数の一方向矢印がこの要素から出されている）を通してそのクロック信号１３０をモジュール２、３、４、５、６へ配信するが、これらモジュール２、３、４、５、６は、それらのローカルなＦＰＧＡ２３、３３、４３、５３、６３によってそれらの信号クロック１３０、２３０、３３０、４３０、５３０、６３０が無効にされている（一方向矢印は、クロック信号へのＦＰＧＡの意味）。
【００８３】
有利には、ＦＰＧＡ１３及びＦＰＧＡ２３、３３、４３、５３、６３は、ＢＭＣ要素１４及びＢＭＣ要素２４、３４、４４、５４、６４によってそれぞれ構成される（一方向矢印は、ＦＰＧＡへのクロック信号の意味）。
−モジュール７が、第２の区画５０でマスターモジュールとして特定され、モジュール８が、この区画でスレーブモジュールとして特定される。次いでモジュール７は、そのＦＰＧＡ７３（この要素からの一方向矢印）を通して、そのクロック信号７３０をモジュール８に配信し、モジュール８は、そのＦＰＧＡ６３により、ローカルにそのクロック信号８３０が無効にされている（一方向矢印は、クロック信号へのＦＰＧＡの意味）。
【００８４】
有利には、ＦＰＧＡ７３及びＦＰＧＡ８３は、ＢＭＣ要素７４及びＢＭＣ要素８４によってそれぞれ構成される（一方向矢印は、ＦＰＧＡへのクロック信号の意味）。したがって、各モジュール１、２、３、４、５、６、７、８の各プロセッサＣＰＵ１０、１１、２０、２１は、それが属する区画又は全てのモジュール１、２、３、４、５、６、７、８に共通のクロック信号１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０によって支配される。
【００８５】
有利には、各プロセッサＣＰＵ１０、１１、２０、２１は複数のレジストリを含み、各レジストリは、プロセッサ１０、１１、２０、２１で実行される軽プロセス（英語で「ｔｈｒｅａｄ」）に関連している。これらの記録は一般に、タイムスタンプカウンターＴＳＣ（「Ｔｉｍｅ Ｓｔａｍｐ Ｃｏｕｎｔｅｒ」の頭文字）と呼ばれ、そして、「マルチスレッド」のタスク、すなわち複数の軽プロセスを有するタスクを同期させるために用いられる。ＴＳＣタイムスタンプカウンターは、初期化／リセット（英語で「ｒｅｓｅｔ」）の段階の後、プロセッサ中央処理装置１０、１１、２０、２１ごとに初期化され、この初期化/リセットは例えば、モジュール１、２、３、４、５、６、７、８の起動/再起動に際して発生し得る。「マルチスレッド」のタスクが良好に実行されるためには、ＴＳＣタイムスタンプカウンターは完全に同期される必要がある。
【００８６】
有利には、ＴＳＣタイムスタンプカウンター同期は、プロセッサＣＰＵ１０、１１、２０、２１の入力部で、クロック信号１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０を介してなされる。この同期を確実とするには、特に複数のプロセッサ１０、１１、２０、２１を含んで各々相互接続するモジュール１、２、３、４、５、６、７、８に対しては、複雑であり、何故なら、各プロセッサＣＰＵ１０、１１、２０、２１は初期に、及び、ローカルに、それ自身のクロック信号１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０を有し得るからである。したがって、各モジュール１、２、３、４、５、６、７、８間のタイムスタンプカウンターＴＳＣは、現時点から潜在的に矛盾しており、さらに外れ得る。
【００８７】
したがって、様々な実施形態において、見込まれるモジュール１、２、３、４、５、６、７、８を分割するステップの後、プロセッサＣＰＵ１０、１１、２０、２１のタイムスタンプカウンターＴＳＣは、以下の方法で同期される。
−モジュール１、２、３、４、５、６、７、８のセット又はサブセットの各マスターモジュールの各ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４は、あらゆる同期信号ルーティングが同じセット又はサブセットモジュールに対するスレーブであると限定される方法で、マスターモジュールのＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３の構成を実行する。
−各スレーブモジュールの各ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４は、スレーブモジュールが段階初期化又はリセットにある時（タイムスタンプカウンターＴＳＣの初期化に対応して）に、ＬＡＮネットワーク上のＰＭＰＩを通した相互接続２８を介して、マスターモジュールのＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４へ、通知メッセージを送信する。
【００８８】
マスターモジュールのＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４は、それ自身のモジュール１、２、３、４、５、６、７、８の初期化又はリセットの通知を介して、通知されることも可能である。−マスターモジュールのＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４は、自分自身を含む全てのモジュール１、２、３、４、５、６、７、８が初期化の段階から押し出され又はリセットされると予想する。
−全てのモジュール１、２、３、４、５、６、７、８の通知を受けた時、マスターモジュールのＢＭＣ１４、２４、３４、４４、５４、６４、７４、８４は、それが属する同じセット又はサブセットの、それ自身のモジュールを含む全てのモジュール１、２、３、４、５、６、７、８に対して、プロセッサＣＰＵ１０、１１、２０、２１の全てのタイムスタンプカウンターＴＳＣのリセットを誘発する。
【００８９】
有利には、このリセットは、各モジュール１、２、３、４、５、６、７、８の各プロセッサＣＰＵ１０、１１、２０、２１を有する物理コネクタブローチ（英語では「ｐｉｎ」）上に、同期信号を送信することにより実行されるしたがって、このような同期信号を送信することで、プロセッサＣＰＵ１０、１１、２０の全てのタイムスタンプカウンターＴＳＣの同期再起動２１及びすなわち一時的な一貫性が得られるが、その理由は、各プロセッサ中央処理装置１０、１１、２０、２１がその後、モジュール１、２、３、４、５、６、７、８のセット又はサブセットの同じクロックで駆動されるカウンターＴＳＣを発するからである。更に、図１に概説されるように、各モジュール１、２、３、４、５、６、７、８の各ＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３は、各プロセッサＣＰＵ１０、１１、２０、２１とのデータリンクに加えてＢＣＳ２等の通信要素１６、２６を含む。
【００９０】
非補正、致命的又は破滅的なタイプの第１のエラーが、プロセッサＣＰＵ１０、１１、２０、２１又はモジュール１、２、３、４、５、６、７、８の通信要素１６、２６のレベルで発生した場合、それは通常２、３マイクロ秒といった超高速で、ＸＱＰＩネットワークを通る相互接続２７を介して、同じセット又はサブセットの他のモジュール１、２、３、４、５、６、７、８に伝搬し、それらのプロセッサＣＰＵ１０、１１、２０、２１及び通信要素１６、２６のレベルでエラーを引き起こす。したがって、マルチモジュールとの関連で、第１のエラーを発見してその後のエラーを診断することが必要となる。
より一般に、正確な方法で、モジュール１、２、３、４、５、６、７、８におけるあらゆるエラーの発生を特定（例えば位置、時間）することができるようにすることが必要である。
【００９１】
したがって、様々な実施形態に従い、各ＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３に対して、タイムスタンプカウンターＴＳＣを利用するが、このタイムスタンプカウンターＴＳＣは、設定可能なサイズ、例えば４０ビットのレジスタによって指示され、ＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３が属するモジュール１、２、３、４、５、６、７、８のセット又はサブセットのマスターモジュールのクロック信号１３０、２３０、３３０、４３０、５３０、６３０、７３０、８３０を介して例えば２５ＭＨｚの周波数で同期される。
【００９２】
したがって、ＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３の各々は、モジュール１、２、３、４、５、６、７、８の同じセット又はサブセットのＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３のそれらと完全に同期するタイムスタンプカウンターＴＳＣを有する。有利には、この同期時間の参照により、各ＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３は、時間を特定（「タイムスタンプ」）することができるとともに、そのモジュール１、２、３、４、５、６、７、８で生じるあらゆるエラー又はイベントに関するレポートを保存することができる。曖昧性の無いさらなるエラー又はイベントの時系列配列を、これらのそれぞれの順序で再構築することは、いつでも可能である。これを行うため、ＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３によるイベント、例えば各モジュール１、２、３、４、５、６、７、８に伝搬されるエラー、のタイムスタンプの後、ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４のセットは、これらのイベントに関連した情報を交換し共有することにより、これらのエラーの出所、すなわち最初のエラーを見出すことができるようになる。
【００９３】
エラーのあるモジュール１、２、３、４、５、６、７、８の位置及び正確な診断が、このように、促進される。様々な実施形態において、モジュール１、２、３、４、５、６、７、８の見込まれる区分化の後、ＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３のタイムスタンプカウンターＴＳＣの同期、ならびに、最初のエラーの検出は、以下の通りに遂行される
−モジュール１、２、３、４、５、６、７、８のセット又はサブセットの各マスターモジュールの各ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４は、全ての同期信号のルーティングが、同じセット又はサブセットのスレーブモジュールに限定される方法で、マスターモジュールのＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３の構成を実行する。
−スレーブモジュールが段階の初期化又はリセットを経た（ＴＳＣが調整するタイムスタンプの初期化に対応する）時に、各スレーブモジュールの各ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４は、ＬＡＮネットワーク上のＰＭＰＩを通る相互接続２８を介して、マスターモジュールのＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４へ、通知メッセージを送信する。
【００９４】
また、マスターモジュールのＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４は、それ自身のモジュール１、２、３、４、５、６、７、８の初期化又はリセットの通知を介して、通知を受けることも可能である。−マスターモジュールのＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８は、それ自身を含む全てのモジュール１、２、３、４、５、６、７、８が初期化又はリセットの段階にはないと予測する。
−全てのモジュール１、２、３、４、５、６、７、８の通知を受けた時、マスターモジュールのＢＭＣ１４、２４、３４、４４、５４、６４、７４、８４は、それ自身を含むそれが属する同じセット又はサブセットの全てのモジュール１、２、３、４、５、６、７、８のＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３の一組のタイムスタンプカウンターＴＳＣのリセットを誘発する。
【００９５】
異なるＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３のタイムスタンプカウンターが、次いで完全に同期する。
−例えばプロセッサＣＰＵ１０、１１、２０、２１又は通信要素１６、２６（例えばＢＣＳ２）のレベルでモジュール１、２、３、４、５、６、７、８に生じるエラー（又はイベント）が発生する度に、このモジュール１、２、３、４、５、６、７、８のＦＰＧＡ１３、２３、３３、４３、５３、６３、７３、８３は、そのタイムスタンプカウンターＴＳＣを介して、エラーに関する情報を記憶する。
【００９６】
エラー関連情報は、例えば、そのタイプ（例えば非補正、致命的な）、その出所（例えば、モジュール番号、関係する要素のタイプ：ＣＰＵ又はＢＣＳ）を、そのタイムスタンプと共に含んでいる。−各モジュール１、２、３、４、５、６、７、８の各ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４は、次いで、ＴＳＣタイムスタンプカウンターによりＦＰＧＡ１、２、３、４、５、６、７、８に格納される情報にアクセスし、また、全ての管理者サーバ１００又はサーバ１００の管理を可能にしている外部ツールに対して、この情報が適切にアクセス可能になるようにする。
【００９７】
例えば、各ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４は、ファシリティ管理の外部アプリケーションからアクセス可能なログファイルを介して、ＦＰＧＡ１、２、３、４、５、６、７、８に読み出された情報を伝達する。
−情報間の比較のストップ、例えば各ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４によって提供される各エラーのタイムスタンプ、出所、タイプの間、の比較の段階では、異なるモジュール１、２、３、４、５、６、７、８に発生した一組のエラーの中から最初のエラーを特定することができ、ならびにその後のエラーの時系列配列を作ることができる。
【００９８】
このような比較のステップは、例えば、自動化可能であり、又は、サーバ１００の管理者によって直接実行することができる。有利には、最初のエラーの特定、例えばタイミング及び位置を決定すれば、続いて、サーバ１００で実行する１つ以上の動作、例えば特定のモジュール１、２、３、４、５、６、７、８を再開する、又は、その中のモジュール１、２、３、４、５、６、７、８にエラーがあれば区画を再構成する等、を決定することができる。
【００９９】
有利には、上に記載される実施形態は、標準的な管理インタフェース、例えば標準的なＩＰＭＩに一致するインタフェースとのプログラムの互換性があり、そして、これはサーバ１００のモジュール１、２、３、４、５、６、７、８の数には依らない。
これはとりわけ、以下により可能になる。
−ＢＭＣ要素１４、２４、３４、４４、５４、６４、７４、８４。各々はデータ通信インタフェースとして用いることができ、タイムスタンプカウンターＴＳＣのクロックの同期、ならびに、異なるモジュール１、２、３、４、５、６、７、８のならびに、高レベルの機能、すなわちコア機能、の管理、が可能になる
−ＳＭＣ要素１５、２５。それら自身のモジュール１、２、３、４、５、６、７、８の、低次の、すなわちローカルの、管理機能、例えばそれらの物理的パラメータ及びそれらの電力の測定、を担当する。したがって、ハードウェア及びソフトウエアアーキテクチャに関して大きな柔軟性を得て、サーバ１００の修正、適合又は進化等のあらゆる将来見込まれる必要性を容易にする。
【０１００】
有利なことに、前述の実施形態では、モジュールを区分化することにより、ならびにそれぞれのクロック信号２３０、３３０、４３０、５３０、６３０、７３０、８３０により、モジュール１、２、３、４、５、６、７、８のセット又はサブセットの管理を可能にする。
【０１０１】
モジュール１、２、３、４、５、６、７、８のセット又はサブセットの管理は、特に有利であり、何故なら、モジュール１、２、３、４、５、６、７、８、識別、スケジューリング及び位置によって異なるＯＳのサポートを可能にし、見込まれる診断目的でのあらゆるエラーを明確にし、ならびに、モジュール１、２、３、４、５、６、７、８の故障が生じた場合を含んだ、見込まれる区画を動的再構成するからである。実施形態の他の利点は、サーバ１００の物理実行にあり、特に、相互接続ボックス３０及びモジュール１、２、３、４、５、６、７、８が相互接続する及び電気的に駆動される方法により、サーバ１００の各要素の容易なメンテナンス及びその障害許容力の強化を可能にする。
【０１０２】
さらに、サーバ１００のための前述の実施形態は、複数のモジュール１、２、３を含む、例えばスーパーコンピュータ等、あらゆる装置又は基盤にも転用可能である。
【図１】
0006409229.tif 000002
【図２】
0006409229.tif 000003