(57)【要約】【課題】　ブレード型コンピュータシステムにおいて、より最適なプロセッサまたはブレードの動作周波数管理システムを提供する。【解決手段】　ブレードベースのコンピュータシステム内の動作周波数を管理するシステムおよび方法の一実施形態では、回路は、この回路へのユーザの入力に基づいて、制御信号を発生させる。次に、この制御信号と入力周波数を、周波数シンセサイザで処理する。次に、この周波数シンセサイザは、コンピュータシステム内のプロセッサまたはブレードで用いられる周波数信号を出力する。【選択図】図１
2004078931.tif 000002
【特許請求の範囲】
【請求項１】
　ブレード・ベースのコンピュータシステム内のプロセッサの動作周波数を管理する方法であって、
　前記ブレード・ベースのコンピュータシステム内の周波数シンセサイザを制御するために回路を用いるステップと、
　前記ブレード・ベースのコンピュータシステムのユーザの、前記回路への入力に基づいて、制御信号を前記回路により発生させるステップと、
　入力周波数信号と、前記回路からの前記制御信号を、前記周波数シンセサイザにより処理するステップと、
　前記ブレード・ベースのコンピュータシステム内の前記個々のプロセッサで用いられる出力周波数を、前記周波数シンセサイザにより出力するステップと、
を有する方法。
【請求項２】
　前記方法は、プロセッサ・レベルにて、少なくとも１つのブレード内の周波数を調整するよう、個々のプロセッサの周波数レベルを調整する請求項１記載の方法。
【請求項３】
　前記方法は、ブレード・レベルにて、少なくとも１つのブレード内の周波数を調整するよう、少なくとも１つのプロセッサの周波数レベルを調整する請求項１記載の方法。
【請求項４】
　ブレード・ベースのコンピュータシステム内のプロセッサの動作周波数を管理する方法であって、
　前記動作周波数に関係した命令を含む信号を、前記ブレード・ベースのコンピュータシステム内の回路により受け取るステップと、
　ユーザが指定した特定の周波数に基づいて、制御信号を、前記回路により発生させるステップと、
　入力周波数信号と前記制御信号を、前記ブレード・ベースのコンピュータシステム内の周波数シンセサイザにより処理するステップと、
　前記ブレード・ベースのコンピュータシステム内の前記個々のプロセッサで用いられる出力周波数を、前記周波数シンセサイザにより出力するステップと、
を有する方法。
【請求項５】
　前記回路により受け取られる前記信号は、Ｉ２Ｃバスを介して受け取られる請求項４記載の方法。
【請求項６】
　前記回路はマイクロコントローラである請求項４記載の方法。
【請求項７】
　前記回路はマイクロプロセッサである請求項４記載の方法。
【請求項８】
　前記回路はＦＰＧＡである請求項４記載の方法。
【請求項９】
　ブレード・ベースのコンピュータシステム内のプロセッサの動作周波数を管理する方法であって、
　前記動作周波数に関係した命令を含む信号を、前記ブレード・ベースのコンピュータシステム内の回路により受け取るステップと、
　前記ブレード・ベースのコンピュータシステムのバス周波数と、ユーザが指定した特定の周波数に基づいて、制御信号を前記回路により発生させるステップと、
　前記制御信号を、前記ブレード・ベースのコンピュータシステム内の周波数シンセサイザにより処理するステップと、
　少なくとも１基のプロセッサで用いられ、前記バス周波数の倍数に基づいた、出力周波数を、前記周波数シンセサイザにより出力するステップと、
を有する方法。
【請求項１０】
　ブレード・ベースのコンピュータシステム内のプロセッサの動作周波数を管理するシステムであって、
　前記動作周波数に関係した命令を含む信号を受け取る、前記ブレード・ベースのコンピュータシステム内のＩ２Ｃ装置と、
　前記動作周波数に関係した前記命令に基づいて、前記ブレード・ベースのコンピュータシステム内で制御信号を発生させる手段と、
　前記制御信号を受け取る、前記ブレード・ベースのコンピュータシステム内のクロック・ジェネレータと、
　前記ブレード・ベースのコンピュータシステム内で、入力周波数信号と、前記Ｉ２Ｃ装置からの前記制御信号を処理する手段と、を備え、
　前記クロック・ジェネレータは、前記ブレード・ベースのコンピュータシステム内の少なくとも１基のプロセッサで用いられる出力周波数を出力するようにした、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、ブレード型コンピュータシステムの動作周波数管理に関する。
【背景技術】
【０００２】
（関連出願）
　本願は、Ａｎｄｒｅｗ　Ｈ．ＢＡＲＲ氏らによってなされた「性能要件に基づく、ブレード型アーキテクチャにおけるブレードの周波数管理のためのシステム、方法、装置」と称する米国特許出願第１０／２１６，４３７号、Ａｎｄｒｅｗ　Ｈ．ＢＡＲＲ氏らによってなされた「キャパシティ・オン・デマンドを可能にするコンピュータシステムの周波数管理のためのシステムおよび方法」と称する米国特許出願第１０／２１６，４３８号、Ｒｉｃａｒｄｏ　ＥＳＰＩＮＯＺＡ−ＩＢＡＲＲＡ氏らによってなされた「プロセッサ・レベルにて性能を最適化するシステム、方法、装置」と称する米国特許出願第１０／２１６，２８３号、Ｒｉｃａｒｄｏ　ＥＳＰＩＮＯＺＡ−ＩＢＡＲＲＡ氏らによってなされた「ブレード型システムにおいて、ロードにより周波数および性能を調整するシステムおよび方法」と称する米国特許出願第１０／２１６，２３４号、Ａｎｄｒｅｗ　Ｈ．ＢＡＲＲ氏らによってなされた「性能要件に基づく、ブレード型アーキテクチャにおけるブレードの電圧管理」と称する米国特許出願第１０／２１６，２８４号、Ａｎｄｒｅｗ　Ｈ．ＢＡＲＲ氏らによってなされた「プロセッサ・レベルでの性能最適化と共同する電圧調整」と称する米国特許出願第１０／２１６，２８６号、Ｒｉｃａｒｄｏ　ＥＳＰＩＮＯＺＡ−ＩＢＡＲＲＡ氏らによってなされた「ブレード型システム内のブレードの動作周波数を管理するシステムおよび方法」と称する米国特許出願第１０／２１６，２２９号、Ａｎｄｒｅｗ　Ｈ．ＢＡＲＲ氏らによってなされた「ローディングに基づく、ブレード型システム内のプロセッサの電圧管理」と称する米国特許出願第１０／２１６，２３３号、Ａｎｄｒｅｗ　Ｈ．ＢＡＲＲ氏らによってなされた「性能と電力消費を最適化するプロセッサの電圧管理のためのシステムおよび方法」と称する米国特許出願第１０／２１６，２３２号、および、Ａｎｄｒｅｗ　Ｈ．ＢＡＲＲ氏らによってなされた「メモリ・サブシステムの管理」と称する米国特許出願第１０／２１６，４３５号に関係がある。以上の米国特許出願はすべて、２００２年８月１２日に出願されたものである。
【０００３】
　ブレード型サーバー（Bladed Server）、またはブレード型コンピュータシステムは、個々のカードまたはブレード上にサーバーまたは他のコンピュータ・リソースを提供するコンピューティング・システムである。プロセッサ・ブレード、サーバー・ブレード、ストレージ・ブレード、ネットワーク・ブレードなど、多くのタイプのブレードがあり、また、通常、単一構造体の中に、それぞれのタイプのブレードの１つまたは複数が、いっしょに収納され、したがって、モジューラ・アーキテクチャを用いて高密度のコンピューティング・システムを作り出し、それにより、システムのフレキシビリティ（柔軟性）およびスケーラビリティが保証され、かつ、スペース要件が削減される。サーバー・ブレードは、通常、ストレージ・ブレード、ネットワーキング・ブレード、および他のブレードといっしょに、複数のブレードをホストする（host）ラック搭載可能なエンクロージャまたはシャーシ内にインストールされる。これらの複数のブレードは、ケーブル、電源、冷却ファンなどの共通リソースを共有する。
【０００４】
　テレコミュニケーションの業界は、何年間も、ブレード・サーバー技術を利用してきた。さらに一般的には、この凝縮されたブレード・サーバー・アーキテクチャは、（１）インターネットを利用して収入をもたらし、またサービスをカスタマに提供している、（２）事業プロセスの一部をＷｅｂに移している、かつ／または、（３）自身のデータセンターで、インターネット・エッジのアプリケーションを展開する融通性を必要としている、人々および企業に役立つ。最近の技術の発展のために、ブレード・サーバーは、現在、Ｗｅｂホスティング（ホームページ・サービス）、Ｗｅｂキャッシング、コンテンツ・ストリーミングなどの用途に用いられている。
【０００５】
　Ｗｅｂキャッシングの用途では、頻繁に要求されるＷｅｂコンテンツを、ユーザのより近くに格納し、したがって、ユーザがオブジェクトをより速く検索することができ、インターネットへのアクセスに必要な時間および帯域幅が削減される。会社や個人は、現在、メディア（例えば、映像や音声）のストリーミングを行って、内部でも外部でも、さらに効果的なやり取りを行っているから、インターネット上でのリッチ・メディア・コンテンツ配信が著しく成長してきた。ブレード型サーバーは、このような成長の結果として生み出される新たな需要に応じるために利用されている。
【０００６】
　ブレード型サーバーは、多くの利点を提供するとはいえ、ブレード型サーバーを利用しているときに、いくつかの技術課題が発生する。これらの課題の中には、ブレード型システムをホストするシャーシ内で利用できる限られたスペースにおいて、充分な熱を放散させるように、ブレード型システムを設計し、動作させるという課題がある。いくつかの公知の電力制限戦略には、ＣＰＵ機能ユニット、例えば、浮動小数点ユニットまたはオンダイ（on-die）・キャッシュを停止するか、あるいは、ハードディスク・ドライブにおいて、速度と引き換えに、電力消費を削減する方策がある。放熱の課題に取り組むために、ブレード型サーバーシステムは、基本的な電力・熱包絡線の範囲内に設計される。例えば、ブレード型システムをホストするシャーシに、ブレードの冷却に利用できるエアフローが限られた量しかないとき（すなわち、このシステムが、限られた量の熱しか放散させることができないとき）には、このシャーシは、限られた量の電力消費、および、ブレードの対応する限られた性能を得るように設計される。
【０００７】
　性能要件と、熱・電力要件との間のトレードオフ（tradeoff）を最適化するときに、技術課題が発生する。ブレード型アーキテクチャでは、それぞれ別々のシステムを表わす複数のブレードが、同一シャーシ内にある。このシャーシに関連するものは、特定の一組の電力・熱要件である。具体的に言えば、これらの要件は、それぞれのブレードが消費できる電力量に制限を加える。
【０００８】
　この電力制限は、ブレード上のプロセッサが動作できる周波数を制限し、したがって、その性能を制限する。さらに、システム内のプロセッサは、通例、すべて同一周波数で動作するように設定されている。これは、個々のプロセッサが、最適な性能およびキャパシティで動作できる能力をさらに制限する。
【０００９】
　以前のソリューションには、このシステムを、製造者またはカスタマイズ・ハウス（customization　house）に物理的に戻して、これらのプロセッサをアップグレードしてもらうか、あるいは、このシステムを設定し直してもらって、さらに高い周波数でこれらのプロセッサを動作させる方策があった。したがって、以前のソリューションでは、エンドユーザ側で調整することができず、また、システム要件のトレードオフを行ってシステム内の周波数を高める手段も与えられなかった。すなわち、システムは、一方的に設計されて、融通がきかなかった。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
　本発明の目的は、ブレードベースのコンピュータシステムにおいて、より最適なプロセッサまたはブレードの動作周波数管理システムを提供することである。
【課題を解決するための手段】
【００１１】
　ブレードベースのコンピュータシステム内の動作周波数を管理するシステムおよび方法の一実施形態では、回路は、この回路へのユーザの入力に基づいて、制御信号を発生させる。次に、この制御信号と入力周波数を、周波数シンセサイザで処理する。次に、この周波数シンセサイザは、コンピュータシステム内のプロセッサまたはブレードで用いられる周波数信号を出力する。
【００１２】
　ブレードベースのコンピュータシステム内の動作周波数を管理するシステムおよび方法の他の実施形態では、回路は、このコンピュータシステムの動作周波数に関係した命令を有する信号を受け取る。この回路は、このような命令が指定した特定の周波数に基づいて、制御信号を発生する。次に、周波数シンセサイザは、入力周波数信号と、前述の制御信号を処理して、このコンピュータシステム内のプロセッサまたはブレードで用いられる出力周波数を出力する。
【００１３】
　ブレードベースのコンピュータシステム内の動作周波数を管理するシステムおよび方法の他の実施形態では、回路は、このコンピュータシステムの動作周波数に関係した命令を有する信号を受け取る。この回路は、このコンピュータシステムのバス周波数と、ユーザが指定した特定の周波数に基づいて、制御信号を発生する。次に、周波数シンセサイザは、この制御信号を処理して、バス周波数の倍数に基づいて、出力周波数を出力する。
【００１４】
　ブレードベースのコンピュータシステム内の動作周波数を管理するシステムおよび方法の他の実施形態では、Ｉ２Ｃ装置は、このコンピュータシステムの動作周波数に関係した命令を含む信号を受け取って、制御信号を発生させる。次に、クロック・ジェネレータは、入力周波数信号と、Ｉ２Ｃ装置からの制御信号を処理して、出力周波数を出力する。
【発明を実施するための最良の形態】
【００１５】
　次に、同じ要素に同じ番号を付した以下の図を参照して、ブレードベースのコンピュータシステム内の個々のブレードの動作周波数を管理する方法の好ましい実施形態を詳しく説明する。添付図面のうちの図１を参照すると、ブレード型アーキテクチャ・システムの基本モジュラー構成要素の一実施形態を描いたブロック図１００が示されている。管理ブレード１１０は、このシャーシの機能を監視して、インストールされたあらゆるサーバーのコンソールとの単一インターフェースを提供する。図１に示されるように、サーバー・ブレード１２０は、管理ブレード１１０とやり取りしている。次に、サーバー・ブレード１２０が、特定の機能を果たす他のブレードとやり取りしている。例えば、図１に見られるように、サーバー・ブレード１２０は、ファイバ・チャネル・ブレード１３０およびネットワーク・ブレード１４０とやり取りしている。ブレード型アーキテクチャ・システム内の様々なブレードは、プロセッサ・ブレード、サーバー・ブレード、ネットワーク・ブレード、ストレージ・ブレード、またはストレージ相互接続ブレードなどである場合もあると理解されよう。
【００１６】
　上で論じられるように、個々にプロセッサまたはブレードの周波数を調整することのできるブレード型アーキテクチャ・システムを作り出すことが望ましい。図２〜図７は、このシステム内の様々なプロセッサまたはブレードの動作周波数を管理する様々な方法を示している。いくつかのブレード型アーキテクチャでは、ＣＰＵのプロセッサ・コア周波数は、バス動作周波数と非同期であり、それゆえ、システムバス周波数とは無関係に、プロセッサ・コア周波数に変更を加えることができる。現在、ヒューレット・パッカード社は、ＰＡ−ＲＩＳＣシステムのプロセッサ・クロックを発生させる周波数シンセサイザとして、ＳＰＨＹＲ−Ｔ　ＡＳＩＣを使用している。しかしながら、当業者であれば、他の周波数シンセサイザも利用できることがすぐ理解されよう。プロセッサ・アーキテクチャの他の実施形態、例えばＩＡ−３２やＩＡ−６４では、ＣＰＵのプロセッサ・コア周波数は、必ずしも、バス動作周波数と非同期であるとは限らない。ＩＡのプロセッサでは、プロセッサ・コア周波数は、バス動作周波数の設定可能な倍数で動作する。このクロック・チップの出力を変更し、したがって、それに応じてプロセッサ周波数をセットすれば、個々のプロセッサまたはブレードの動作周波数の管理を、双方のアーキテクチャに適用することができる。
【００１７】
　一般に、プロセッサのクロックを発生させるのに用いられる周波数シンセサイザ・チップは、パラレルの、あるいは、シリアルの構成ビット（configuration　bit）を持ち、それらの構成ビットにより、出力クロック（合成周波数）に対する入力クロックの比率を選択することができる。このことから、ブレードのリブートのときに、プロセッサを異なる周波数で動作させることができる。この周波数シンセサイザは、通常、コア・クリスタルからの入力周波数を備えている。シリアル・ピンまたはパラレル・ピンの制御を通じて、この周波数シンセサイザは、プロセッサに送られる出力周波数比率を提供する。
【００１８】
　当業者であれば、複数、すなわち２個（２方向システム用）、またはＮ個（Ｎ方向システム用）の周波数シンセサイザを利用して、プロセッサのクロックを発生させる場合に、それらのプロセッサは、プロセッサでサポートされている周波数の範囲内の異なる周波数で動作できることも理解されよう。さらに、下記の周波数を調整する方法は、ブレード・システムのレベルと、プロセッサ・レベルの双方において、周波数を調整できるものと理解されよう。図２〜図７は、異なる周波数シンセサイザの比率ピン（ratio pin）をどのように制御できるのか、異なる手法を示している。
【００１９】
　次に、添付図面のうちの図２を参照すると、手動設定装置２１０を用いて個々のプロセッサまたはブレードの動作周波数を管理する一手法を描いたブロック図２００が示されている。図２に見られるように、このシステムの容易に手が届く部分に、手動設定装置２１０が付け加えられている。したがって、所定の性能要件に基づいて、このユニットのリブートのときに、これらのプロセッサの周波数を操作者にセットさせる。当業者であれば、所望の機能を果たすことのできる多くの共通手動設定装置、例えばディップ・スイッチ、ピン・ヘッダの上に設けられるジャンパ、回転設定スイッチ、はんだブリッジなどがあることが理解されよう。入力周波数２３０と、手動設定装置２１０からの信号２２０を使用して、クロック・ジェネレータまたは周波数シンセサイザ２４０で出力周波数２５０を発生させ、その出力周波数２５０を、プロセッサ２６０で使用する。手動設定装置を用いてプロセッサまたはブレードの周波数を変更する前述の方法、および、本明細書中の下記の他の方法は、ＤＥＣ　Ａｌｐｈａ、ＭＩＰＳ、ＰｏｗｅｒＰＣ、ＳＰＡＲＣ、ＰＡ−ＲＩＳＣ、ＩＡ−３２、ＩＡ−６４を含め、様々なタイプのプロセッサ・アーキテクチャに適用できるものと理解されよう。
【００２０】
　次に、添付図面のうちの図３を参照すると、個々のプロセッサまたはブレードの動作周波数を管理する他の方法を描いたブロック図３００が示されている。方法３００は、抵抗器３１０を用いて、個々のプロセッサまたはブレードの動作周波数を管理している。当技術分野で知られているように、抵抗器３１０は、設定用抵抗器であることもある。図３に見られるように、このシステムの容易に手が届く部分に、抵抗器３１０が付け加えられている。したがって、所定の性能要件に基づいて、このユニットのリブートのときに、プロセッサの周波数を操作者にセットさせる。入力周波数３３０と、抵抗器３１０からの信号３２０を使用して、クロック・ジェネレータ３４０で出力周波数３５０を発生させ、その出力周波数３５０を、プロセッサ３６０で使用する。
【００２１】
　次に、添付図面のうちの図４を参照すると、マイクロコントローラまたはマイクロプロセッサ４２０を用いて個々のプロセッサまたはブレードの動作周波数を管理する方法を描いたブロック図４００が示されている。マイクロコントローラまたはマイクロプロセッサ４２０は、このシステムのユーザと対話して、それぞれのブレードまたはプロセッサが動作すべき特定の周波数を求めるために用いられる。図４に見られるように、マイクロコントローラまたはマイクロプロセッサ４２０は、ＧＳＰ（ガーディアン・サービス・プロセッサ）または他のコントローラからのＩ２Ｃ（Ｉｎｔｅｒ−ＩＣ）バス４１０で信号を受け取る。当技術分野で知られているように、Ｉ２Ｃバスは、集積回路間に通信リンクを提供する双方向の２線式シリアル・バスである。さらに、通常の当業者であれば、他の制御バスであっても、同一機能を果たして、本明細書に述べられるＩ２Ｃバスに置き換えられることも、すぐ理解されよう。マイクロコントローラまたはマイクロプロセッサ４２０は、ユーザが指定した特定の周波数に基づいて、パラレルまたはシリアルの制御信号４３０を出力する。クロック・ジェネレータ４５０は、入力周波数４４０と、パラレルまたはシリアルの制御信号４３０を利用して、指定したプロセッサまたはブレード４７０で用いられる出力周波数４６０を発生させる。マイクロコントローラまたはマイクロプロセッサ４２０を使えば、ユーザは、上述のレジスタと手動設定装置の方法よりも透過的なやり方で、周波数シンセサイザを制御することができる。すなわち、ユーザは、構成ビットのセッティングが、どのように、その出力に影響を及ぼすのか、必ずしも知る必要はない。
【００２２】
　次に、添付図面のうちの図５を参照すると、ＦＰＧＡ（field-programmable gate array、書替え可能ゲートアレイ）またはＰＬＤ（programmable logic device、プログラム可能論理素子）５２０を用いて個々のプロセッサまたはブレードの動作周波数を管理する方法を描いたブロック図５００が示されている。当業者に知られているように、ＦＰＧＡは、製造後に、現場でプログラムできるチップである。ＦＰＧＡまたはＰＬＤ５２０は、Ｉ２Ｃバス５１０を通じて、さらに高いレベルの装置（例えば、ＧＳＰ）からコマンドを受け取って、その周波数シンセサイザ（または、それぞれのシンセサイザ）に対するコンフィグレーション・ビットを制御するために用いられる。図５に見られるように、クロック・ジェネレータ５５０は、入力周波数５４０と、ＦＰＧＡ／ＰＬＤからの制御信号５３０を利用して、プロセッサまたはブレード５７０で用いられる出力周波数５６０を発生させる。図４で説明されるマイクロコントローラ／マイクロプロセッサ４２０の利用と同様に、ＦＰＧＡ／ＰＬＤ５２０を用いれば、ユーザは、さらに透過的なやり方で、周波数シンセサイザを制御することができる。すなわち、ユーザは、構成ビットのセッティングが、どのように、その出力に影響を及ぼすのか、必ずしも知る必要はない。
【００２３】
　次に、添付図面のうちの図６を参照すると、Ｉ／Ｏエキスパンダ・チップ（Ｉ／ＯＸ）６２０を用いて個々のプロセッサまたはブレードの動作周波数を管理する方法を描いたブロック図６００が示されている。Ｉ２ＣベースのＩ／ＯＸ６２０は、それぞれの周波数シンセサイザを透過的に制御するのに使用できる安価で、かつ単純なソリューションである。Ｉ／ＯＸチップ６２０は、Ｉ２Ｃコマンドを通じてＩ／ＯＸに書き込めば、特定の状態に強制できるＩ／Ｏポートを持っている。Ｉ／ＯＸは、通常、複数のＩ／Ｏポートを持っているから、１つのＩ／ＯＸを使用すれば、複数の周波数シンセサイザを個々に制御できるものと理解されよう。
【００２４】
　Ｉ／ＯＸチップはＩ２Ｃベースのものであるから、Ｉ／ＯＸチップは、Ｉ２Ｃインターフェースをサポートする装置であれば、どんなものによっても制御できる。ヒューレット・パッカード社のＰＡ−ＲＩＳＣブレードでは、このような論理装置は、このＰＡブレードのサービス・プロセッサすなわちＧＳＰであろう。ＧＳＰというユーザ・フレンドリなインターフェースを使用すれば、カスタマは、どんな低レベルの情報（例えば、ビット・セッティング）も必要とせずに、透過的に、プロセッサの周波数を制御することができる。ＧＳＰからの入力は、図６に、参照数字６１０で示されている。ユーザは、ＧＳＰにて、コマンドを入力して、プロセッサの周波数を高める。次に、ＧＳＰは、プロセッサが所望のレベルで動作するように、所要のビットを受け渡して周波数発生器の比率を変更する。ビット・ストリーム６１０が、Ｉ／ＯＸ６２０で受け取られる。次に、クロック・ジェネレータ６５０は、入力周波数６４０と制御信号６３０を使用して、プロセッサまたはブレード６７０で用いられる出力周波数６６０を発生させる。
【００２５】
　次に、添付図面のうちの図７を参照すると、ＩＡベースのアーキテクチャ・システム内の個々のプロセッサまたはブレードの動作周波数を管理する方法を描いたブロック図７００が示されている。上に示されるように、ＰＡベースのアーキテクチャは、プロセッサに取り入れられる２つの周波数入力、すなわちプロセッサ・コア入力とバス入力を持っている。ＩＡベースのアーキテクチャでは、シリアルまたはパラレルの制御信号は調整されない。ＩＡベースのアーキテクチャは、バス周波数の倍数を発生させるように、プロセッサ・コア周波数をプログラムする。このようにプロセッサ・コア周波数をプログラムする作業は、多目的バス・ライン７３０を用いて、当初のバス初期設定の間に行われる。これは、通常、プロセッサ・バス（ＣＥＣ）７２０上にある主コア・チップセットによって制御される。一般に、ユーザ・インターフェース、例えばＧＳＰ７１０を使用して、当初のシステムおよびバスの初期設定の間に、適切な制御信号を発生させるようにＣＥＣ７２０をプログラムする。特定のブレードまたはプロセッサ７６０におけるアプリケーションに応じて、さらに大きい比率をバス周波数に掛けて、さらに高い周波数、性能、電力を発生させるか、あるいは、さらに小さい比率をバス周波数に掛けて、さらに低い周波数、性能、電力を発生させる。
【００２６】
　論じられるように、上述の手法は、ブレード・システムのレベルまたはプロセッサ・レベルにおいて周波数を調整するために用いられることがある。例えば、上記の図に示されるように、クロック・イン周波数は、Ｐｒｏｃｅｓｓｏｒ／Ｂｌａｄｅと標記されたそれぞれのブロックに送られる。この周波数は、ブレード上のすべてのプロセッサの周波数を変更するつもりで、すなわちブレードの周波数を変更するつもりで、送られることがある。あるいは、別法として、この周波数は、個々にプロセッサの周波数を変更するつもりで、例えば、マスタ・プロセッサとスレーブ・プロセッサとの間のトレードオフを調整するために、送られることがある。周波数シンセサイザから発生した周波数を用いて、ブレード上のプロセッサを調整する。
【００２７】
　次に、添付図面のうちの図８を参照すると、同一周波数で動作するブレード型アーキテクチャにおける一連のプロセッサを描いたブロック図８００が示されている。個々のプロセッサの陰影は、個々のブレードが、それぞれ同じ周波数レベルで動作していることを示している。同一周波数でプロセッサを動作させることが、現行のブレード型アーキテクチャ・システムでは代表的なものである。さらに、この陰影は、このシステム全体に割り当てられた最大電力未満にとどまるように、最高レベルよりも低いレベルで動作していることを示している。論じられるように、ブレード型サーバー・システムは、基本的な電力・熱包絡線によって制限される。これは、ブレード中で生じた熱や、シャーシ内の限られた寸法による。シャーシが、所与の電力量を消費するときには、このシャーシは、通常、ブレードを冷却するのに利用できるエアフローの量が制限される。その結果、このような電力制限は、ブレード上のプロセッサが動作できる周波数を制限し、したがって、その性能を制限する。したがって、これらのプロセッサは、最適な性能およびキャパシティで動作できる能力が制限される。なぜなら、これらのプロセッサは、同一周波数、すなわち、それらの最高レベルよりも低い周波数で動作するように設定されているからである。
【００２８】
　次に、添付図面のうちの図９を参照すると、異なる周波数で動作するブレード型アーキテクチャにおける一連のプロセッサを描いたブロック図９００が示されている。図９のシステムは、ユーザが、シャーシ内の様々なプロセッサの周波数レベルを調整できるようになっているシステムを表わしている。その結果、このシステム全体は、はるかに効率的なレベルで動作する。ここで、図９に見られるように、それぞれのプロセッサは、その特定の機能に求められる所要の周波数レベルしか用いていない。ここで、個々のプロセッサに使える周波数レベルが様々であるために、平均周波数よりも高い周波数を要求するプロセッサは、さらに最適なレベルで動作することができる。同様に、さらに低い電力を要求するプロセッサは、もう、他のプロセッサと同じ周波数レベルで動作する必要はない。その結果、さらに効率的なシステムが作り出される。
【００２９】
　本明細書に開示される原理は、共通シャーシを共有するプロセッサまたはブレードから成るシステムに、あるいは、複数のシャーシにまたがるアーキテクチャ・システムに応用できるものと理解されよう。すなわち、このような原理は、物理パーティションまたは論理パーティションで分割されたシステムに応用できる。例えば、物理的に、システムは、それぞれ８基のプロセッサを有する３つのシャーシを含むことがある。論理的に、同一システムが、５人の異なるカスタマに対して、５つの異なるｗｅｂサーバーに区分されることもある。シャーシ内の電力制約は、通常、このシステムの物理パーティションに関係する。複数のシャーシ内に位置づけられるカスタマまたはアプリケーションに課せられる電力制約は、通常、論理パーティションに関係する。通常の当業者であれば、上述の技術革新は、物理的にも論理的にも区分されたアーキテクチャに適用できることがすぐ理解されよう。
【００３０】
　ブレードベースのコンピュータシステム内の個々のプロセッサまたはブレードの動作周波数を管理するシステムおよび方法が、模範的な実施形態に関連して述べられてきたが、当業者であれば、以上の教示に照らして多くの変更が可能であり、また、本願が、そのどんな変形例もカバーするように意図されていることが理解されよう。
【００３１】
　例えば、この開示されたシステムおよび方法は、Ｉ２Ｃバスから信号を受け取るのに用いられる特定のＩ２Ｃ装置を利用している。他のＩ２Ｃ装置も、同じように用いられることがある。したがって、この開示全体を通じて、図示され、参照されるＩ２Ｃ装置は、特記しない限り、所望の機能を果たすのに適した一切の装置／技術を表わすことになっている。同様に、様々な動作を行うプロセッサおよびブレードもいくつか開示されている。この特定のプロセッサまたはブレードは、その開示にとって重要ではない。したがって、この開示を、任意の特定の形態のプロセッサ、ブレード、または特定のブレード・アーキテクチャに限定することは、出願者の意図ではない。
【００３２】
　この開示全体を通じて、さらに他の例証があり、本明細書にはっきりと特定されてはいないが、それでも、クレーム記載の機能を果たすことのできる構造、材料、または動作の利用を、この開示の範囲から除外することは、出願者の意図ではない。
【図面の簡単な説明】
【００３３】
【図１】ブレード型アーキテクチャ・システムの基本モジュラー構成要素の一実施形態を描いたブロック図。
【図２】手動設定装置を用いて、動作周波数を管理する一手法を描いたブロック図。
【図３】抵抗器を用いて、動作周波数を管理する他の方法を描いたブロック図。
【図４】マイクロコントローラまたはマイクロプロセッサを用いて、動作周波数を管理する他の方法を描いたブロック図。
【図５】ＦＰＧＡまたはＰＬＤを用いて、動作周波数を管理する他の方法を描いたブロック図。
【図６】Ｉ／Ｏエキスパンダ・チップ（Ｉ／ＯＸ）を用いて、動作周波数を管理する他の方法を描いたブロック図。
【図７】ＩＡベースのアーキテクチャ・システム内の動作周波数を管理する方法を描いたブロック図。
【図８】同一周波数レベルで動作するブレード型システム内の一連のプロセッサを描いたブロック図。
【図９】異なる周波数レベルで動作するブレード型システム内の一連のプロセッサを描いたブロック図。
【符号の説明】
【００３４】
１００　ブレード・ベースのコンピュータシステム
２１０　回路（手動設定装置）
２２０　制御信号
２３０　入力周波数
２４０　周波数シンセサイザ（クロック・ジェネレータ）
２５０　出力周波数（クロック・イン）
２６０　プロセッサ
４２０　マイクロプロセッサ／マイクロコントローラ
４３０　制御信号
４４０　入力周波数
４５０　周波数シンセサイザ（クロック・ジェネレータ）
４６０　出力周波数（クロック・イン）
４７０　プロセッサ
５２０　ＦＰＧＡ
【図１】
2004078931.tif 000003
【図２】
2004078931.tif 000004
【図３】
2004078931.tif 000005
【図４】
2004078931.tif 000006
【図５】
2004078931.tif 000007
【図６】
2004078931.tif 000008
【図７】
2004078931.tif 000009
【図８】
2004078931.tif 000010
【図９】
2004078931.tif 000011