(57)【要約】【課題】  従来のブレードサーバシステムのスケールアウト型の拡張性に加え、複数のブレードサーバモジュール間をＳＭＰ結合することによるスケールアップ型の拡張性を備えたサーバ装置を提供する。【解決手段】  各ブレードサーバモジュール内部のノードコントローラはＳＭＰ結合インタフェースを有しており、バックプレーンを経由して結合される。バックプレーン上で各ブレードサーバモジュール間リンクを等長配線し、各ブレードサーバモジュール内にもバックプレーン上の各ブレードサーバモジュール間リンクと等長のループ配線をすることで同期をとる。各ブレードサーバモジュールに基準クロックを分配できる基準クロック分配ユニットをバックプレーンに搭載し、各ブレードサーバモジュール内部のクロック分配回路によって基準クロックを切り換えることで、ＳＭＰ結合したブレードサーバモジュールの基準クロックの同期化を可能とする。【選択図】  図１
2010009628.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバモジュール（以下ノードと呼ぶ）から成るＳＭＰ構成のサーバ装置において、
前記複数のノードを搭載して各ノード間を相互に接続するバックプレーンを備え、
各ノードは、
自ノードを含め全ノードとの間でトランザクションの送信を行う送信部と自ノードを含め全ノードとの間でトランザクションの受信を行う受信部とを有するノードコントローラと、
自ノードの送信部から送信されたトランザクションを受信し、所定時間のディレイ後に、前記受信したトランザクションを自ノードの受信部へ送信する待ち合わせ回路とを備え、
該ノードコントローラがトランザクションの順序付けを行うことを特徴とするサーバ装置。
【請求項２】
各ノードコントローラは、トランザクションを他ノードコントローラ及び自ノードコンロトーラに転送する経路を有し、自ノード間を含め全ノード間の転送サイクル数を同一サイクル数とすることを特徴とする請求項１のサーバ装置。
【請求項３】
各ノード内の自ノード間転送経路に転送サイクル数を調整する手段を有する請求項２記載のサーバ装置。
【請求項４】
各ノードコントローラに他ノード間及び自ノード間でのトランザクションの応答時間を調整する手段を備えることを特徴とする請求項１記載のサーバ装置。
【請求項５】
前記ノードコントローラは、前記待ち合わせ回路を含有することを特徴とする請求項１記載のサーバ装置。
【請求項６】
前記待ち合わせ回路は、ラッチであることを特徴とする請求項５記載のサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のスケールアウト型サーバモジュールを密結合することで高性能なスケールアップサーバの構築を可能とするサーバシステムに関する。特に対称型マルチプロセッサシステム（ＳＭＰ）における、多ノードＳＭＰサーバ装置に関する。
【背景技術】
【０００２】
従来のサーバ装置における演算処理能力の拡張手段としては、「スケールアウト」、「スケールアップ」と呼ばれる大きく２つの方式に分類できる。スケールアウト方式とは、ブレードサーバシステムに代表されるように、複数のサーバ装置に処理を分散させることで全体の処理能力を向上する拡張手法のことであり、相互に関連の薄い処理が大量にある場合に有効である。スケールアップ方式とは、ＳＭＰ（Ｓｙｍｍｅｔｒｉｃ Ｍｕｌｔｉ Ｐｒｏｃｅｓｓｉｎｇ：対称型マルチプロセッシング）システムに代表されるように、プロセッサの高速化と増設、メモリの大容量化などによってサーバ装置単体の処理能力を向上させる拡張手法であり、高負荷の単一プロセス処理に有効である。このようにブレードサーバシステムとＳＭＰシステムはそれぞれ異なる特徴をもつことから、システム構築にあたっては、アプリケーション、業務内容に応じて適切な方式を選択するのが一般的である。実際にインターネットデータセンタ（ＩＤＣ）ではＷＥＢフロントエンド処理など比較的軽い処理を大量に実行するＷＥＢサーバとしてスケールアウトに適したブレードサーバ装置が、大規模ＤＢなどメモリを大量に必要とする処理を実行するデータベースサーバとしてはスケールアップに適したＳＭＰサーバ装置というように使い分けられている。このことは一見すると適材適所で非常に効率的であるように思われるが、目的に合わせてそれぞれ専用のサーバ装置を設置することになるために管理が煩雑になり、運用コストの面では必ずしも効率の良い状態とは言い難い。また、めまぐるしく変化するビジネス環境の中にあって急激なシステム要件の変化に対する既知の解決策として、第一にハードウェアの増設が挙げられる。これは例えばスケールアウト型のブレードサーバではブレードサーバモジュールの増設、スケールアップ型のＳＭＰサーバではプロセッサやメモリ等のハードウェアリソースの増設またはより高性能なハードウェアリソースへの増強ということになるが、これもＴＣＯの削減を妨げる要因の１つと言える。
【０００３】
多ノードＳＭＰ構成では、メモリアドレスを送信し、キャッシュコヒーレンシを維持し、データをキャッシュラインの大きさのブロック単位で転送する必要がある。プロセッサには頻繁に使用されるデータ・ブロックを保管するキャッシュメモリがある。一般的なキャッシュ・ブロック・サイズは32、64、または128バイトであり、キャッシュラインと呼ばれる。プロセッサは、必要なデータがキャッシュにないと(キャッシュ・ミス)、他のプロセッサに必要なデータを要求する。要求したブロックの修正されたコピーが何処のプロセッサにもなく、また入出力コントローラにもないと、ブロックはメモリから取り出される。ブロックを変更する許可を得るためには、メモリからブロックを取り出したプロセッサが、ブロックの所有者になる必要がある。変更許可を得たプロセッサが所有者になると、他のすべてのデバイスは保持しているコピーを無効にし、前の所有者は変更許可を得たプロセッサが要求したデータを新所有者に渡す。前の所有者が変更許可を得たプロセッサが要求したデータを新所有者に渡した後は、他のプロセッサが所有プロセッサの要求したデータの読み取り専用コピーを共有しようとすると、データは所有デバイス(メモリではなく)から提供される。所有プロセッサは、新しいデータを書き込むためにキャッシュの空き領域が必要になると、キャッシュブロックをメモリに書き込み、メモリが再び所有者になる。キャッシュブロックの最新コピーを見つけるプロセスを「キャッシュコヒーレンシ」と呼ぶ。システム設計者は、主にブロードキャストコヒーレンシとディレクトリコヒーレンシの２つの方法を使って各プロセッサから見たメモリの一貫性を維持する。
【０００４】
ブロードキャストコヒーレンシでは、すべてのアドレスがすべてのノードに送信される。各デバイスは、要求されたキャッシュラインがローカル・キャッシュでどのような状態になっているかを調べる(スヌープする)。システムは、各デバイスが要求されたキャッシュラインがローカル・キャッシュでどのような状態になっているかを調べた数サイクル後に、全体的なスヌープ結果を判定しているため、ブロードキャストコヒーレンシでは、遅延が最小限に抑えられる。
【０００５】
ディレクトリコヒーレンシでは、プロセッサからのアクセス要求に対し、特定のキャッシュブロックのアドレスを管理しているノード(ホームノード)だけにアドレスが送信される。ハードウェアは、どのノードがどのキャッシュブロックを共有または所有しているかをメモリ内のディレクトリや特殊なRAMや制御装置を使って管理している。「ディレクトリ」がメモリ内に埋め込まれているので原理的にはコントローラは毎回メモリをアクセスしてディレクトリ情報をチェックする必要があるので、プロトコルが複雑になるため、遅延は長くなり、遅延の変動も大きくなる。
【０００６】
多ノードＳＭＰ構成を実現するために、キャッシュコヒーレンシ制御を多ノード間で制御する際には、クロスバスイッチを使用するのが一般的である。しかし、クロスバスイッチをトランザクションが通過しなければならないということは、クロスバスイッチが無い場合に比べ、トランザクションが通過しなければならない経路にデバイスが1つ増えるのでレイテンシが悪くなるという問題がある。要求系トランザクションと応答系トランザクションの往復経路でみると、クロスバスイッチを使用した場合と使用しない場合ではレイテンシにかなりの差が出ることとなる。
【０００７】
現在、クロスバスイッチを持たない多ノードＳＭＰ構成もあるが、ディレクトリコヒーレンシ方式のディレクトリベースのＳＭＰ構成が一般的でありコヒーレンシの遅延が長くなる分システム性能劣化の原因の一つとなっている。
【０００８】
また、バックプレーン上でノード間を直接相互接続する方法として、特許文献４に記載の例がある。これは、ノード間を直接相互接続する方法を示しているが、キャッシュコヒーレンシの維持形態や、トランザクションの処理方式については明記されていない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−１１０７９１
【特許文献２】特開２００４−０７８９３０
【特許文献３】特開２００３−２１６５９５
【特許文献４】特開２００４−０７０９５４
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、ブレードサーバモジュール（ノードとも呼ぶ）としての機能に加え、複数のブレードサーバモジュール間を物理的にＳＭＰ結合することができるサーバ装置を提供することで、スケールアウトとスケールアップを同時に実現可能なマルチプロセッササーバ装置を実現することにある。
【００１１】
本発明の目的は、さらに、多ノードＳＭＰ構成においてレイテンシを小さくすることにある。また、装置の部品点数を削減し、コスト低下、障害率低下及びリソースの削減をすることにある。
【課題を解決するための手段】
【００１２】
本発明は、複数のサーバモジュールと装置全体を管理する管理ユニットからなるサーバ装置であって、各サーバモジュールは該サーバモジュールの動作モードを切り換えるモジュール管理部を備え、該モジュール管理部は前記管理ユニットから伝達される構成情報に従って各サーバモジュールが単独で動作するか又は他のサーバモジュールとＳＭＰ構成で協調して動作するかを切り換えることを特徴とする。
【００１３】
本発明は、さらに、複数のサーバモジュール（ノード）から成るＳＭＰ構成のサーバ装置において、前記複数のノードを搭載して各ノード間を相互に接続するバックプレーンを備え、各ノードは自ノードを含め全ノードとの間でトランザクションの送信と受信を行うノードコントローラを備え、該ノードコントローラがトランザクションの順序付けを行うことを特徴とする。
【００１４】
本発明は、さらに、バックプレーン上で各ノード間リンクを等長配線し、自ノード内でもバックプレーン上の各ノード間リンクと等長のループ配線をすることで同期をとることを特徴とする。
【００１５】
本発明は、さらに、複数のサーバモジュールと装置全体を管理する管理ユニットと該複数のサーバモジュールに対し共通の基準クロックを分配する基準クロック分配ユニットからなるサーバ装置であって、各サーバモジュールは自身の基準クロックを発生させる基準クロック発生回路と、該基準クロック発生回路から発生した自身の基準クロックと前記基準クロック分配ユニットから分配された共通の基準クロックとを切り換えていずれか一方の基準クロックを当該サーバモジュール内に分配するクロック分配器と、前記管理ユニットから伝達される構成情報に従って該サーバモジュール内に分配する基準クロックの切り換えを前記クロック分配器に指示するモジュール管理部とを備えることを特徴とする。
【００１６】
本発明は、さらに、複数のサーバモジュール、装置全体を管理する管理ユニット、及び前記複数のサーバモジュールと前記管理ユニットを搭載して相互に信号伝達を可能とするバックプレーンとからなるサーバ装置であって、各サーバモジュールは基準クロックを出力する基準クロック発生回路と、該基準クロック発生回路から出力された基準クロック信号を入力して自サーバモジュールの第２のクロック分配器に出力すると供に前記バックプレーンを経由して自サーバモジュール及び他のサーバモジュールの第２のクロック分配器に出力する第１のクロック分配器と、当該自サーバモジュールの第１のクロック分配器から出力された基準クロック信号と前記バックプレーンを経由して入力された自サーバモジュール及び他のサーバモジュールからの基準クロック信号の中からいずれか１つの基準クロック信号を選択して当該サーバモジュール内に分配する前記第２のクロック分配器と、前記管理ユニットから伝達される構成情報に従って該サーバモジュール内に分配する基準クロックの切り換えを前記第２のクロック分配器に指示するモジュール管理部とを備えることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、従来のブレードサーバシステムのスケールアウト型の拡張性に加え、複数のブレードサーバモジュール間をＳＭＰ結合することによるスケールアップ型の拡張性を有するサーバ装置及びブレードサーバモジュールを提供することが可能となることから、システム導入後のビジネス要件の変化に応じて、これらアプリケーションを実行するサーバが柔軟にそのリソースを拡大または縮小し最適化することで、結果的に運用コスト低減、ＴＣＯの削減が可能となる。
【００１８】
また、本発明によれば、多ノード構成マルチプロセッサのサーバ装置におけるノード間リンク接続にクロスバスイッチを必要とせず、多ノードＳＭＰ構成において、レイテンシが小さくなりシステムの性能を向上することができる。また、クロスバスイッチを不要とすることで、部品点数の削減による障害率の低減、コスト低下、及びリソースの削減が実現できる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一つの実施形態のシステム構成図である。
【図２】４ノードＳＭＰ構成の各ノード間リンクを示す図である。
【図３】４ノードＳＭＰ構成の各ノードの構成例である。
【図４】４ノードＳＭＰ構成の各ノードの他の構成例である。
【図５】４ノードＳＭＰ構成の各ノードの他の構成例である。
【図６】４ノードＳＭＰ構成の各ノード間リンクを示す図である。
【図７】４ノードＳＭＰ構成の各ノードの他の構成例である。
【図８】４ノードＳＭＰ構成におけるブロードキャストとコヒーレンシ応答を説明する図である。
【図９】トランザクションの追い越しの例を説明する図である。
【図１０】待ち合わせ回路を使用したトランザクション応答の同期を説明する図である。
【図１１】ノードコントローラの構成例である。
【図１２】ノードコントローラの構成例である。
【図１３】ノードコントローラの処理フロー図である。
【図１４】図１の具体的な動作を説明するためのシステム構成図である。
【図１５】本発明の他の実施形態のシステム構成図である。
【図１６】一般的なブレードサーバシステムの構成図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施例について図面を用いて説明する。
【００２１】
図１６は一般的なブレードサーバシステムの構成図である。少なくとも２台以上のブレードサーバモジュール１１０（＃０〜＃ｎ）、サーバ装置全体を管理するサービスプロセッサユニット１１１、そしてこれらユニットを装着することでユニット間の信号伝達を実現するバックプレーン１１３により構成されている。ブレードサーバモジュール１１０には少なくとも１台以上のＣＰＵ２２を搭載でき、このＣＰＵ２２とメモリ２３を制御するノードコントローラ２０とＩ／Ｏ回路２４、そしてブレードサーバモジュール１１０内部の電源制御、構成管理、環境監視などの機能を有するモジュール管理部２５を備えることで、１台のサーバ装置としての機能を有している。また各ブレードサーバモジュール１１０内部には基準クロック発生器２６とクロック分配器２７からなる基準クロック分配回路１２１を備えており、ブレードサーバモジュール１１０内の同期動作する各ＬＳＩに基準クロックＳ２１が分配されているが、前述のように１台のブレードサーバモジュール１１０は１台のサーバ装置として独立しており、このクロックは他のブレードサーバモジュール内の基準クロックとは同期している必要は無い。
【００２２】
図１は本発明に係るマルチプロセッササーバ装置の一実施例を示したものである。複数のブレードサーバモジュール１０（＃０〜＃ｎ）、サーバ装置全体を管理するサービスプロセッサユニット１１、そしてこれらユニットを装着することでユニット間の信号伝達を実現するバックプレーン１３により構成され、各ブレードサーバモジュール１０内部のノードコントローラ２０はＳＭＰ結合インタフェースＳ２０を有しており、バックプレーン１３を経由して多ノードＳＭＰ構成を実現する機能を有している。
【００２３】
図２は、本発明に係るクロスバスイッチを持たないブロードキャスト方式よる多ノードＳＭＰサーバの構成例であり、本図では４ノードの場合を例にあげている。
【００２４】
ブロードキャストコヒーレンシでは、図８に示すようにすべてのアドレスがすべてのノードにブロードキャストされ、各ノードはコヒーレンシ応答をする。各ノードは、要求されたキャッシュラインがローカル・キャッシュでどのような状態になっているかを調べた数サイクル後に、全体的なスヌープ結果を判定してコヒーレンシ応答をする。
【００２５】
図９に示すように、アドレスのブロードキャストからコヒーレンシ応答までに要する時間は、アドレスをブロードキャストしたノードから近いノードと遠いノード、つまり、ノード間の配線が短いノードと長いノードがある場合にトランザクションの追い越しが発生してしまう。この、ノード間の配線の長さが違うことにより発生するトランザクションの追い越しを制御するために、一般的にはクロスバスイッチの実装をすることで回避するが、本手法では、クロスバスイッチを持たない為、トランザクションの順序づけをどの様にして行うかが問題となる。そこで、図２では、各ノード間リンクをバックプレーン201内で等長配線することで同サイクルとし、レイテンシを一定に保つことでノード間の同期をとるようにした。
【００２６】
また、図１０に示すようにアドレスをブロードキャストしたノード自身へのコヒーレンシ応答は、ノード間の配線と通る必要が無いためノード渡りの時間が無く、トランザクション要求を出した他ノードからのコヒーレンシ応答よりもはやくなるために、トランザクションの追い越しが発生してしまう。この、ノード渡りの時間が無いことで発生してしまうトランザクションの追い越しを制御する為に、ノードコントローラ内に待ち合わせ回路を実装した。
【００２７】
図１１はノードコントローラ1002の構成を示しており、図１３に示すように、CPU1101から発行されたトランザクションはHOSTi/f1106によりシーケンサ1107に渡される（ステップ１３０１、１３０２）。次に、シーケンサ1107の制御により、トランザクションはタグ制御回路1104へ渡される。タグ制御回路1104がタグ情報1103を確認し（ステップ１３０６）、キャッシュ上でModifyまたは、Shared readの場合はシーケンサ1107へとかえり（ステップ１３０７、１３０３）、メモリi/f1109の制御により、メモリ1111にアクセスする（ステップ１３０４，１３０５）。ここで、キャッシュ上でModifyまたは、Shared readでなかった場合は、スヌープ問い合わせのために、コヒーレンシ送信部1105より、他ノードへとトランザクションを発行する（ステップ１３０８、１３１０）。この時、自ノードへのコヒーレンシ応答待ち合わせ回路1110へと送られる（ステップ１３０９）。
【００２８】
図１２はノードコントローラ1201上に待ち合わせ回路1204を実装した例である。他ノードでのスヌープ処理が終わった後でかえってきたコヒーレンシ応答は、ノードコントローラ1201上のコヒーレンシ受信部1205で受ける。同期を取ることにより同タイミングでかえってきたコヒーレンシ応答と、待ち合わせ回路1204によるディレイでタイミングを合わせた自ノードへのコヒーレンシ応答のタイミングは全て一致する。コヒーレンシ受信部1105で受け取ったトランザクションは、シーケンサ1203に渡され、メモリi/f1109の制御によりメモリ1111にアクセスする。
【００２９】
図１２に示す回路ように、サーバ起動時にCPUが起動前にファームウェア1206により、トランザクション要求先の各ノードからの応答時間と、自ノードでの待ち合わせ回路を経た応答時間に要した時間を一度計算する。この応答にかかった時間の計算から、ファームウェア1206により調整を行う。各ノード間の配線を等長にすることと、ノードコントローラ内に待ち合わせ回路(ループ配線)を実装することと、ファームウェア1206による応答時間の調整により、ノード間の同期をとっている。ノード間の同期をとることで、ブロードキャストされた該当アドレスに対するスヌープ結果の判定後の応答が一定となり、トランザクションの選択順序が必ず同じになることを保証している。尚、それぞれのノードを独立のサーバ増設の形としている場合は、図８に示すブロードキャストは生じない。
【００３０】
図３は多ノードＳＭＰサーバの４ノード構成における各ノードの構成例を示している。ノード 301上では、複数のノードを結合して1つのＳＭＰを構成するためのノード間結合インタフェース307を持たせている。さらに、ノードコントローラ 302上にノードリンクコントローラ 303を実装した。ノードコントローラ 302上にノードリンクコントローラインタフェース306を持たせ、各ノードのノードリンクコントローラインタフェース306によってノードコントローラ同士を１対１接続することで、ＳＭＰ構成を実現している。ノードリンクコントローラインタフェース306はノードコントローラ内部のノードリンクコントローラ303と共にクロスバスイッチの役割を行う。ノードリンクコントローラ 303からノードリンクコントローラ 303への、ラッチ304をはさんだローカルループ配線をすることで、各ノードからの応答とのタイミングを合わせこみ、全ノード間の同期をとることで同サイクルとし、レイテンシを一定に保つことで、トランザクション応答のタイミングと一致させる機能を実現している。トランザクション応答のタイミングと一致させる機能の実現により、トランザクションの順序付けを保証している。
【００３１】
ノードコントローラ 302のトランザクション送信機能と受信機能は独立しておりノードコントローラ 302はトランザクションの送信と受信を並行して処理することが可能である。ノードリンクコントローラ 303は、コヒーレントトランザクションをすべてのノードへ同一の順序でブロードキャストする。ノードリンクコントローラインタフェース306を持ったノードコントローラ302は、各ノードから受け取ったコヒーレントトランザクションを同一の順序でノードコントローラ内部へ転送する。ノードリンクコントローラインタフェース306は、ブロードキャストトランザクションのノード間転送、コヒーレンシ応答トランザクションのノード間転送、1 to 1トランザクションのノード間転送の機能を持つ。ノードリンクを流れるトランザクションは、ECC(Error Correction Coding)によって保護される。
【００３２】
ブロードキャストトランザクションは要求系トランザクションと応答系トランザクションに分類される。ノードリンクコントローラインタフェース 306とノードリンクコントローラ303を持ったノードコントローラ 302内部は要求系トランザクションと応答系トランザクションに対して二重化されているが、ノードリンク上では要求系トランザクションと応答系トランザクションは区別なく転送される。また、1 to 1トランザクションはアドレストランザクションとデータトランザクションに分類される。1 to 1トランザクションはアドレストランザクションとデータトランザクションに対して二重化されているが、ノードリンク上ではアドレストランザクションと対応データトランザクションに含まれるデータが連続して転送される。
【００３３】
各ノードでリンクの転送に何サイクルかかったかを計算する計算回路をノードコントローラ内に持たせ、計算させることで、リンク間のずれを各ノードのファームウェアに通知し各ノード間のサイクル数の同期をファームウェアの補正で行う。等長配線に加え、リンク間のずれを一切無くしているので、ブロードキャストされた該当アドレスに対するスヌープが一定となることが保証され、トランザクション応答のタイミングと一致させる機能の実現がなされ、トランザクションの順序付けを保証している。ノード間の同期をとっていたとしても、ノードコントローラ内のキューの状態により応答のタイミングがずれてしまわないように、ファームウェアの制御により余裕のあるノードが応答に時間のかかるノードの処理を待つことでトランザクションの選択順序が必ず同じになることを保証している。
【００３４】
図４は4ノード構成における各ノードの他の構成例を示す。図２に示す各ノード間を等長配線したバックプレーン201と図４の404に示すように、ノードコントローラ402内部のローカルループ404の長さを図１に示すバックプレーン201内の各ノード間の等長配線と等長のループ配線を施すことで各ノードからのトランザクション応答とのタイミングをそろえる機能を実現することができるため、クロスバスイッチを不要とする「ブロードキャスト(スヌーピー)コヒーレンシ」方式のスヌープベースのＳＭＰ構成を実現できる。
【００３５】
図５は4ノード構成における各ノードのさらに他の構成例を示す。図２に示す各ノードリンク間を等長配線したバックプレーン201と図５に示すノードリンクインタフェースを使用することでも、クロスバスイッチを不要とする「ブロードキャスト(スヌーピー)コヒーレンシ」方式のスヌープベースのＳＭＰ構成を実現できる。図５に示すノードコントローラ502上には他ノードへのデータ転送トランザクションの送信機能を持つリンクポート（ノード数-１）個と他ノードへのデータ転送トランザクションの受信機能を持つリンクポート（ノード数-１）個のノード間結合インタフェース506に加え、トランザクション要求を出す自身のノードへのローカルループ用のデータ転送トランザクションの送信リンクポートとデータ転送トランザクションの受信リンクポートを持ったノードリンクコントローラインタフェース505を実装している。ノードコントローラ502のトランザクション送信機能と受信機能は独立しているため、ノードコントローラはトランザクションの送信と受信を並行して処理することが可能である。図４に示すように、ノードリンクコントローラインタフェース404を出たあとのノード上の経路405に、各ノードリンク間と等長の配線をすることでディレイの役割を持たせ、各ノードからのトランザクション応答とのタイミングをそろえる機能を実現している。
【００３６】
図６は4ノード構成における各ノードのさらに他の構成例を示す。図２に示すバックプレーン201内での各ノード間の等長配線に加え、図６に示すようにバックプレーン601内に各ノードへのループ配線606-609を各ノード間リンクの等長配線と同じ長さで配線することでトランザクション応答のタイミングをそろえている。この場合、ノード間結合インタフェース705は、図７に示すように、ノードコントローラ702内にデータ要求トランザクションの送信部と受信部のノードリンクポートをノード数用意するのみで、ノードコントローラ内でのラッチをはさんだループ配線、及び各ノード間と等長のループ配線を施す必要はない。
【００３７】
又、本発明は、多ノード構成マルチプロセッサのサーバ装置において、各ノードをサーバブレードとするブレードサーバであって、データ転送トランザクションの順序付けをノードコントローラ内部で行うことにより、外部にクロスバスイッチを必要としないノード間リンク接続方式を採っており、対象型マルチプロセッサ構成へのプロセッサ増設の形でも、独立のサーバの増設の形でも可能である。
【００３８】
図１において、ブレードサーバモジュール１０間ＳＭＰ結合をより高性能とするためにはサーバモジュール間で基準クロックが同期していることが不可欠であるため、全てのブレードサーバモジュール１０に基準クロックを分配できる基準クロック分配ユニット１４をバックプレーン１３に装着し、分配された基準クロックをバックプレーン１３内で等長配線し、各ブレードサーバモジュール１０内部の基準クロック分配回路２１内のクロック分配器２７によって基準クロックを切り換えることで、全ブレードサーバモジュール１０の基準クロックの同期化を実現可能としている。
【００３９】
図１４を用いて前述のクロック切り換え動作について、代表的なシステム構成例を示し具体的に説明する。本システム構成例では４台のブレードサーバモジュール１０（＃０〜＃３）がバックプレーン１３に装着されており、＃０、＃１を協調した１台のＳＭＰサーバとし、＃２、＃３を独立したブレードサーバとして使用する構成とする場合、まずユーザが管理ソフトウェアを介してサービスプロセッサユニット１１に対し、このシステム構成情報を設定する。ここで設定された構成情報は、サービスプロセッサユニット１１内にもつメモリ２８に格納され、電源が遮断されても消去されないものとし、システム起動毎にサービスプロセッサユニット１１から各ブレードサーバモジュール１０内のモジュール管理部２５に伝達される。各モジュール管理部２５は基準クロック分配回路２１に対し、サービスプロセッサユニット１１から伝達された構成情報に応じて使用する基準クロックを切り換える指示をする。本図構成例では、ブレードサーバモジュール＃０、＃１の基準クロックを外部基準クロックに切り換えることで＃０、＃１の基準クロックを同期化しＳＭＰサーバを構成しており、ブレードサーバモジュール＃２、＃３の基準クロックを内部基準クロックに切り換えることでそれぞれ独立したサーバとして稼動できる。各ブレードサーバモジュール１０のクロック切り換えに関するシステム構成情報をサービスプロセッサユニット１１内のメモリ２８に持たせることによって、ブレードサーバモジュール１０に障害が発生して保守交換される場合においても、構成情報を引き継ぐ一切の手順が不要となる効果がある。また、本図のようにシステム構成情報を一元管理するサービスプロセッサユニット１１を二重化することによってシステム全体の信頼性向上を図ることも可能となる。
【００４０】
図１５では図１、図１４で説明した実施例とは異なる他の実施の形態について説明する。尚、図１５ではクロック分配に関わる機能以外は図１、図１４に示す実施の形態と同じであるため、図示及び説明を省略する。これまで説明した実施例では、図１、図１４のように基準クロック分配ユニット１４から各ブレードサーバモジュール１０に対し基準クロックを分配していたが、図１５の実施例ではこの基準クロック分配ユニットの機能をブレードサーバモジュール１０内部に取り込んでいる。まず基準クロック発生器２６の出力クロック信号が第１のクロック分配器３０に入力され、このクロック分配器の出力は第２のクロック分配器２９、及びバックプレーン１３を経由して、自身を含み一緒にＳＭＰサーバを構成し得る全てのブレードサーバモジュール１０内部のクロック分配器２９に等長配線にて接続されている。第２のクロック分配器２９の出力はモジュール管理部２５によって切り換えられる。例えば図１５の構成において、ブレードサーバモジュール＃０上の第２のクロック分配器２９はクロック信号Ｓ２２を選択し、ブレードサーバモジュール＃１上の第２のクロック分配器２９はクロック信号Ｓ２３を選択し、ブレードサーバモジュール＃２上の第２のクロック分配器２９はクロック信号Ｓ２４を選択し、ブレードサーバモジュール＃３上の第２のクロック分配器２９はクロック信号Ｓ２５を選択したとする。こうすることによってブレードサーバモジュール＃０と＃１で１台のＳＭＰサーバＡ１５００を構成し、＃２と＃３で１台のＳＭＰサーバＢ１５０１を構成することが可能である。このようにこの実施の形態によれば２台のＳＭＰサーバの基準クロックは完全に独立していることから、ブレードサーバモジュール＃０、＃１の組と＃２、＃３の組で基準クロックの周波数が異なるブレードサーバモジュール、例えば異種あるいは次世代ブレードサーバモジュールにより構成されるＳＭＰサーバの同一サーバシャーシ内混載が実現可能となる。
【符号の説明】
【００４１】
１０    ブレードサーバモジュール
１１    サービスプロセッサユニット
１３    バックプレーン
１４    基準クロック分配ユニット
２０    ノードコントローラ
２１    基準クロック分配回路
２２    ＣＰＵ
２３    メモリ
２４    Ｉ／Ｏ回路
２５    モジュール管理部
２６    基準クロック発生部
２７    クロック分配器
２８    サービスプロセッサユニット内メモリ
２９    第２のクロック分配器
３０    第１のクロック分配器
１５００  ＳＭＰサーバＡ
１５０１  ＳＭＰサーバＢ
Ｓ２０  ＳＭＰ結合インタフェース
Ｓ２１〜Ｓ２５  基準クロック
２０１  バックプレーン
２０２〜２０５  ノード(ブレードサーバモジュール)
３０１  ノード(ブレードサーバモジュール)
３０２  ノードコントローラ
３０３  ノードリンクコントローラ
３０４  ラッチ
３０５  ノードコントローラ内のローカルループ配線
３０６  ノードリンクコントローラインタフェース
３０７  ノード間結合インタフェース
４０１  ノード(ブレードサーバモジュール)
４０２  ノードコントローラ
４０３  ノードリンクコントローラ
４０４  ノードコントローラ上のローカルループ配線
４０５  ノードリンクコントローラインタフェース
４０６  ノード間結合インタフェース
５０１  ノード(ブレードサーバモジュール)
５０２  ノードコントローラ
５０３  ノードリンクコントローラ
５０４  ノードリンクコントローラインタフェース
５０５  ノード上のローカルループ配線
５０６  ノード間結合インタフェース
６０１  ノードリンク間を等長配線したバックプレーン
６０２〜６０５  ノード(ブレードサーバモジュール)
６０６〜６０９  自ノードへのローカルループ配線
７０１  ノード(ブレードサーバモジュール)
７０２ノードコントローラ
７０３  ノードリンクコントローラ
７０４  ノードリンクコントローラインタフェース
７０５  ノード間結合インタフェース
８０１〜８０４  ノード(ブレードサーバモジュール)
１１０１  ＣＰＵ
１１０２  ノードコントローラ
１１０３  タグ
１１０４  タグ制御回路
１１０５  コヒーレンシ送信部
１１０６  ＨＯＳＴｉ／ｆ
１１０７  シーケンサ
１１０８  コヒーレンシ受信部
１１０９  メモリｉ／ｆ
１１１０  待ち合わせ回路
１１１１  メモリ
１２０１  ノードコントローラ
１２０２  コヒーレンシ送信部
１２０３  シーケンサ
１２０４  待ち合わせ回路
１２０５  コヒーレンシ受信部
１２０６  ファームウェア
【図１】
2010009628.tif 000003
【図２】
2010009628.tif 000004
【図３】
2010009628.tif 000005
【図４】
2010009628.tif 000006
【図５】
2010009628.tif 000007
【図６】
2010009628.tif 000008
【図７】
2010009628.tif 000009
【図８】
2010009628.tif 000010
【図９】
2010009628.tif 000011
【図１０】
2010009628.tif 000012
【図１１】
2010009628.tif 000013
【図１２】
2010009628.tif 000014
【図１３】
2010009628.tif 000015
【図１４】
2010009628.tif 000016
【図１５】
2010009628.tif 000017
【図１６】
2010009628.tif 000018