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