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