(57)【要約】【課題】論理区画化データ処理システムでの電力消費を削減するような１組のプロセッサを管理する方法、装置、およびコンピュータ命令を提供する。【解決手段】オペレーティング・システムからの呼出しが受け取られる。この呼出しは、１組のプロセッサ中の選択されたプロセッサがある期間不要とされることを示す。この呼出しを受け取ったことに応答して、選択されたプロセッサの動作が、その期間中の電力使用を削減するように変更される。【選択図】図２
2005209198.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムにおいて１組のプロセッサを管理する方法であって、
オペレーティング・システムから、前記１組のプロセッサ中の選択されたプロセッサがある期間不要とされることを示す呼出しを受け取るステップと、
前記期間中の電力使用を削減するように前記選択されたプロセッサの動作を変更するステップと
を含む方法。
【請求項２】
前記呼出しがサブプロセッサ区画化呼出しである請求項１に記載の方法。
【請求項３】
前記期間が、前記選択されたプロセッサにアイドル・サイクルが存在する時間である請求項１に記載の方法。
【請求項４】
前記選択されたプロセッサが、前記選択されたプロセッサの動作を変更する前に最初の状態にあり、
前記期間が経過した後で前記選択されたプロセッサを前記最初の状態に復帰させるステップ
をさらに含む請求項１に記載の方法。
【請求項５】
前記期間が経過しておらず、前記選択されたプロセッサに作業が存在することを指示する外部割り込みが受け取られた場合には、前記選択されたプロセッサを前記最初の状態に復帰させるステップ
をさらに含む請求項４に記載の方法。
【請求項６】
前記受け取るステップおよび前記変更するステップが実行時抽象化層により実行される請求項１に記載の方法。
【請求項７】
前記変更するステップが、
前記選択されたプロセッサのクロック速度を低減するステップ
を含む請求項１に記載の方法。
【請求項８】
前記変更するステップが、
前記選択されたプロセッサをスリープ・モードに設定するステップ
を含む請求項１に記載の方法。
【請求項９】
１組のプロセッサを管理するデータ処理システムであって、
オペレーティング・システムから、前記１組のプロセッサ中の選択されたプロセッサがある期間不要とされることを示す呼出しを受け取る受け取り手段と、
前記期間中の電力使用を削減するように前記選択されたプロセッサの動作を変更する変更手段と
を含むデータ処理システム。
【請求項１０】
前記呼出しがサブプロセッサ区画化呼出しである請求項９に記載のデータ処理システム。
【請求項１１】
前記期間が、前記選択されたプロセッサにアイドル・サイクルが存在する時間である請求項９に記載のデータ処理システム。
【請求項１２】
前記選択されたプロセッサが、前記選択されたプロセッサの動作を変更する前に最初の状態にあり、
前記期間が経過した後で前記選択されたプロセッサを前記最初の状態に復帰させる復帰手段
をさらに含む請求項９に記載のデータ処理システム。
【請求項１３】
前記復帰手段が第１の復帰手段であり、
前記期間が経過しておらず、前記選択されたプロセッサに作業が存在することを指示する外部割り込みが受け取られた場合には、前記選択されたプロセッサを前記最初の状態に復帰させる第２の復帰手段
をさらに含む請求項１２に記載のデータ処理システム。
【請求項１４】
前記受け取り手段および前記変更手段が実行時抽象化層に位置する請求項９に記載のデータ処理システム。
【請求項１５】
前記変更する手段が、
前記選択されたプロセッサのクロック速度を低減する低減手段
を含む請求項９に記載のデータ処理システム。
【請求項１６】
前記変更手段が、
前記選択されたプロセッサをスリープ・モードに設定する設定手段
を含む請求項９に記載のデータ処理システム。
【請求項１７】
１組のプロセッサを管理するコンピュータを、
前記１組のプロセッサ中の選択されたプロセッサがある期間不要とされることを示す呼出しをオペレーティング・システムから受け取る手段と、
前記期間中の電力使用を削減するように前記選択されたプロセッサの動作を変更する手段と
して実行させるためのプログラム。
【請求項１８】
前記呼出しがサブプロセッサ区画化呼出しである請求項１７に記載のプログラム。
【請求項１９】
前記期間が、前記選択されたプロセッサにアイドル・サイクルが存在する時間である請求項１７に記載のプログラム。
【請求項２０】
前記選択されたプロセッサが、前記選択されたプロセッサの動作を変更する前に最初の状態にあり、
前記期間が経過した後で前記選択されたプロセッサを前記最初の状態に復帰させる手段
をさらに実行させる請求項１７に記載のプログラム。
【請求項２１】
前記期間が経過しておらず、前記選択されたプロセッサに作業が存在することを指示する外部割り込みが受け取られた場合には、前記選択されたプロセッサを前記最初の状態に復帰させる手段
をさらに実行させる請求項２０に記載のプログラム。
【請求項２２】
前記呼出しを受け取る手段および前記動作を変更する手段が実行時抽象化層に実装される請求項１７に記載のプログラム。
【請求項２３】
前記動作を変更する手段が、
前記選択されたプロセッサのクロック速度を低減させる手段
を含む請求項１７に記載のプログラム。
【請求項２４】
前記動作を変更する手段が、
前記選択されたプロセッサをスリープ・モードに設定する手段
を含む請求項１７に記載のプログラム。
【請求項２５】
バス・システムと、
前記バス・システムに接続された、１組の命令を含むメモリと、
前記バス・システムに接続された処理装置であって、オペレーティング・システムから、前記１組のプロセッサ中の選択されたプロセッサがある期間不要とされることを示す呼出しを受け取り、前記期間中の電力使用を削減するように前記選択されたプロセッサの動作を変更するための１組の命令を実行する処理装置と
を含むデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、改善されたデータ処理システムに関し、詳細には、データを処理する方法およびシステムに関する。より詳細には、本発明は、論理区画化データ処理システムでの電力消費を削減する方法、装置およびコンピュータ命令を提供する。
【背景技術】
【０００２】
本発明は、本出願と同日に出願され、同じ譲受人に譲渡され、参照により本明細書に組み込まれている、「電力使用および熱発生の低減に際して高い精度でデータ処理システムにおけるオペレーティング・システムに対して透過的に電力および熱警告を管理する方法および装置（Method and Apparatus for Managing Power and Thermal AlertsTransparently to an Operating System in a Data Processing System with IncreasedGranularity in Reducing Power Usage and Thermal Generation）」という名称の米国特許出願第１０／７６３０９５号（整理番号第ＡＵＳ９２００３１０２９ＵＳ１号）に関連するものである。
【０００３】
データ処理システムは、ユーザに提供される処理能力量と共にますます強力になってきている。１つの処理能力増大はより高速なプロセッサの使用によるものである。別の処理能力増大は、複数のプロセッサを備えるデータ処理システムによって提供される。
【０００４】
このような種類のシステムでは、複数のプロセッサを用いて異なるタスクが実行される。複数のタスクを処理する際には、異なるタスクのスレッドの処理時間が各プロセッサに分割され得る。対称型多重処理システム（ＳＭＰ）では、複数のプロセスを任意の使用可能なプロセッサ上で走らせることができ、単一プロセスの複数のスレッドを同時に異なるプロセッサ上で走らせることもできる。プロセッサのすべてを自動的に使用してシステムに存在するスレッドのいずれかを走らせることもできる。さらに、スレッドは異なるプロセッサにより並列に実行され得る。その結果、マルチスレッド・アプリケーションは、より多くのタスクがより短時間に完了されるように複数のスレッドを同時に走らせることができる。
【０００５】
プロセッサの数が増大し、この種の多重プロセッサ・データ処理システムの速度が増大するにつれて、電力消費および熱発生がより一般的な問題になる。例えば、プロセッサにより発生する熱量は、プロセッサにより使用されるクロック周波数が増大するにつれて増大する。また、この熱量は、多重プロセッサ・データ処理システムにより多くのプロセッサが付加され、あるいは含まれるにしたがってやはり増大する。
【０００６】
上記の問題に対処する際に、現在使用されている技法は、システムの冷却、およびプロセッサが動作する周波数の低減である。システムの冷却は、しばしば、高くつき、障害を引き起こすことがある。この種のシステムは、熱問題に対処するだけで、電力消費の問題には対処しない。データ処理システム中のプロセッサのクロック・サイクル周波数の低減は、特定のインターフェイスがオペレーティング・システムから見えるようにすることを必要とし、これは、電力削減方法が透過的ではなく、オペレーティング・システムの変更なしでは適用され得ないことを示唆するものである。
【特許文献１】米国特許出願第１０／７６３０９５号（整理番号第ＡＵＳ９２００３１０２９ＵＳ１号）
【非特許文献１】ＩＥＥＥ１１４９．１
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、データ処理システムでの電力消費を削減する改善された方法、装置、およびコンピュータ命令があれば有利なはずである。
【課題を解決するための手段】
【０００８】
本発明は、１組のプロセッサを管理する方法、装置、およびコンピュータ命令を提供する。オペレーティング・システムからの呼出しが受け取られる。この呼出しは、１組のプロセッサ中の選択されたプロセッサがある期間不要とされることを示す。この呼出しを受け取ったことに応答して、選択されたプロセッサの動作は、その期間中の電力使用を削減するように変更される。
【０００９】
本発明の新規の特徴と思われる特性は、添付の特許請求の範囲に記載されている。ただし、本発明自体、ならびに本発明の好ましい利用形態、その他の目的および利点は、以下の例示的実施形態の詳細な説明を添付の図面と併せて読めば、最もよく理解されるであろう。
【発明を実施するための最良の形態】
【００１０】
ますます大規模な対称型多重プロセッサ・データ処理システム、例えば、インターナショナル・ビジネス・マシーンズ・コーポレーション（International Business Machines Corporation）から市販されているＩＢＭ  ｅＳｅｒｖｅｒ  Ｐ６９０、ヒューレットパッカード・カンパニー（Hewlett-PackardCompany）から市販されているＤＨＰ９０００スーパードーム・エンタープライズ・サーバ（DHP9000 Superdome EnterpriseServer）、サン・マクロシステムズ・インク（Sun Microsystems, Inc.）から市販されているＳｕｎｆｉｒｅ  １５Ｋサーバなどが、しばしば、区画に分割され、論理区画化（ＬＰＡＲ）データ処理システムとして使用されるようになっている。データ処理システム内の論理区画化機能は、単一のオペレーティング・システムの複数のコピーまたは複数の異種混合のオペレーティング・システムを、単一のデータ処理システム・プラットフォーム上で同時に走らせることを可能にする。本発明は、この種のＬＰＡＲデータ処理システムで実装され、特定のインターフェイスがオペレーティング・システムから見えるようにすることを必要とせずに電力使用を削減することができる。
【００１１】
オペレーティング・システム・イメージがそこで実行される区画には、プラットフォーム・リソースの非オーバーラップ部分が割り当てられる。プラットフォームの割り振り可能なリソースには、それぞれの割り込み管理区域、システム・メモリの領域、および入出力（Ｉ／Ｏ）アダプタ・バス・スロットと共に、１つまたは複数のアーキテクチャ上互いに異なるプロセッサが含まれる。区画のリソースは、プラットフォームのファームウェアによってオペレーティング・システム・イメージに対して表される。
【００１２】
プラットフォーム内で実行されるそれぞれ別個のオペレーティング・システムまたはオペレーティング・システムのイメージは、１つの論理区画でのソフトウェア・エラーがその他の区画のいずれの正しい動作にも影響を及ぼさないように相互に保護される。この保護は、各オペレーティング・システム・イメージによって直接管理される互いに独立のプラットフォーム・リソースのセットを割り振り、様々なイメージが、そのイメージに割り振られていないどんなリソースも制御できないことを保証するための機構を提供することにより実現される。さらに、あるオペレーティング・システムに割り振られたリソースの制御でのソフトウェア・エラーが、他のどんなイメージのリソースにも影響を及ぼさないようにする。したがって、オペレーティング・システムのそれぞれのイメージ、またはそれぞれの異なるオペレーティング・システムが、プラットフォーム内の割り振り可能なリソースの別個のセットを直接に制御する。論理区画化データ処理システム中のハード・リソースに関しては、これらのリソースは様々な区画間で相互に独立に共用される。これらのリソースには、例えば、入出力（Ｉ／Ｏ）アダプタ、メモリＤＩＭＭ、不揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ）、およびハード・ディスク・ドライブなどが含まれ得る。ＬＰＡＲデータ処理システム内の各区画は、そのデータ処理システム全体の電源オンオフを必要とせずに何度も繰り返し起動され、停止され得る。
【００１３】
本発明は、ＬＰＡＲデータ処理システムなど、複数の区画を管理するソフトウェアを含む多重プロセッサ・システムでの電力消費を管理する方法、装置、およびコンピュータ命令を提供する。ＬＰＡＲデータ処理システム内の選択されたプロセッサの電力使用を削減するために、各区画を管理するのに使用されるソフトウェア内に呼出しが実装され得る。説明のための例では、複数の区画を管理するソフトウェアが、プロセッサがある期間シードされ（ceded）、あるいは不要とされるという指示を受け取ると、プロセッサの電力使用が削減される。この指示は、オペレーティング・システムから受け取られた呼出しまたはメッセージにより識別され得る。
【００１４】
次に図を参照し、具体的には図１を参照すると、本発明が実装され得るデータ処理システムの構成図が示されている。データ処理システム１００は、システム・バス１０６に接続された複数のプロセッサ１０１、１０２、１０３、１０４を含む対称型多重プロセッサ（ＳＭＰ）システムとすることができる。例えば、データ処理システム１００は、ネットワーク内でサーバとして実装された、ニューヨーク州アーモンク（Armonk, New York）にあるインターナショナル・ビジネス・マシーンズ・コーポレーションの製品であるＩＢＭ  ｅＳｅｒｖｅｒとすることができる。あるいは、単一プロセッサ・システムを用いることもできる。システム・バス１０６には、メモリ制御装置／キャッシュ１０８も接続され、複数のローカル・メモリ１６０〜１６３へのインターフェイスを提供する。入出力バス・ブリッジ１１０はシステム・バス１０６に接続され、入出力バス１１２へのインターフェイスを提供する。メモリ制御装置／キャッシュ１０８および入出力バス・ブリッジ１１０は、図示のように統合され得る。
【００１５】
データ処理システム１００は、論理区画化（ＬＰＡＲ）データ処理システムである。したがって、データ処理システム１００は、同時に実行される複数の異種混合オペレーティング・システム（または単一のオペレーティング・システムの複数のインスタンス）を含み得る。これら複数のオペレーティング・システムのそれぞれは、その内部で実行される任意の数のソフトウェア・プログラムを含み得る。データ処理システム１００は、異なるＰＣＩ入出力アダプタ１２０〜１２１、１２８〜１２９、１３６、グラフィックス・アダプタ１４８、およびハード・ディスク・アダプタ１４９が異なる論理区画に割り当てられ得るように、論理的に分割される。この場合、グラフィックス・アダプタ１４８は表示装置（図示せず）のための接続を提供し、ハード・ディスク・アダプタ１４９はハード・ディスク１５０を制御するための接続を提供する。
【００１６】
そこで、例えば、データ処理システム１００が３つの論理区画Ｐ１、Ｐ２、Ｐ３に分けられると想定する。ＰＣＩ入出力アダプタ１２０〜１２１、１２８〜１２９、１３６のそれぞれ、グラフィックス・アダプタ１４８、ハード・ディスク・アダプタ１４９、ホスト・プロセッサ１０１〜１０４のそれぞれ、およびローカル・メモリ１６０〜１６３からなるメモリが、それら３つの区画のそれぞれに割り当てられる。これらの例では、メモリ１６０〜１６３はデュアル・インライン・メモリ・モジュール（ＤＩＭＭ）の形をとり得る。ＤＩＭＭは、通常、各区画にＤＩＭＭベースごとには割り当てられない。そうではなく、１区画はプラットフォームから見たメモリ全体の一部分を取得する。例えば、プロセッサ１０１、ローカル・メモリ１６０〜１６３からなるメモリの一部分、および入出力アダプタ１２０、１２８、１２９が論理区画Ｐ１に割り当てられ、プロセッサ１０２〜１０３、ローカル・メモリ１６０〜１６３からなるメモリの一部分、およびＰＣＩ入出力アダプタ１２１、１３６が区画Ｐ２に割り当てられ、プロセッサ１０４、ローカル・メモリ１６０〜１６３からのメモリの一部分、グラフィックス・アダプタ１４８およびハード・ディスク・アダプタ１４９が論理区画Ｐ３に割り当てられる。
【００１７】
データ処理システム１００内で実行される各オペレーティング・システムは、異なる論理区画に割り当てられる。そのため、データ処理システム１００内で実行される各オペレーティング・システムは、その論理区画内にある入出力ユニットだけにアクセスすることができる。そのため、例えば、拡張対話式エグゼクティブ（ＡＩＸ）オペレーティング・システムの１つのインスタンスが区画Ｐ１内で実行されており、ＡＩＸオペレーティング・システムの第２のインスタンス（イメージ）が区画Ｐ２内で実行されており、Ｗｉｎｄｏｗｓ  ＸＰオペレーティング・システムが論理区画Ｐ３内で実行されることができる。Ｗｉｎｄｏｗｓ  ＸＰはワシントン州レッドモンド（Redmond, Washington）のマイクロソフト・コーポレーション（Microsoft Corporation）の製品および商標である。
【００１８】
入出力バス１１２に接続された周辺装置相互接続（ＰＣＩ）ホスト・ブリッジ１１４は、ＰＣＩローカル・バス１１５へのインターフェイスを提供する。ＰＣＩ−ｔｏ−ＰＣＩブリッジ１１６、ＰＣＩバス１１８、ＰＣＩバス１１９、入出力スロット１７０、および入出力スロット１７１を介して、いくつかのＰＣＩ入出力アダプタ１２０〜１２１がＰＣＩバス１１５に接続され得る。ＰＣＩ−ｔｏ−ＰＣＩブリッジ１１６は、ＰＣＩバス１１８とＰＣＩバス１１９とのインターフェイスを提供する。ＰＣＩ入出力アダプタ１２０、１２１は、それぞれ、入出力スロット１７０、１７１の中に配置される。典型的なＰＣＩバス実装形態は、４つから８つまでの入出力アダプタ（アドイン・コネクタのための拡張スロット）をサポートする。各ＰＣＩ入出力アダプタ１２０〜１２１は、データ処理システム１００と入出力機器、例えば、データ処理システム１００から見てクライアントである他のネットワーク・コンピュータとの間のインターフェイスを提供する。
【００１９】
別のＰＣＩホスト・ブリッジ１２２は、別のＰＣＩバス１２３のためのインターフェイスを提供する。ＰＣＩバス１２３は、複数のＰＣＩ入出力アダプタ１２８〜１２９に接続される。ＰＣＩ入出力アダプタ１２８〜１２９は、ＰＣＩ−ｔｏ−ＰＣＩブリッジ１２４、ＰＣＩバス１２６、ＰＣＩバス１２７、入出力スロット１７２、入出力スロット１７３を介してＰＣＩバス１２３に接続され得る。ＰＣＩ−ｔｏ−ＰＣＩブリッジ１２４は、ＰＣＩバス１２６とＰＣＩバス１２７へのインターフェイスを提供する。ＰＣＩ入出力アダプタ１２８、１２９は、それぞれ、入出力スロット１７２、１７３の中に配置される。このように、別の入出力機器、例えば、モデムやネットワーク・アダプタなどが、ＰＣＩ入出力アダプタ１２８〜１２９のそれぞれを介してサポートされ得る。このように、データ処理システム１００は、複数のネットワーク・コンピュータへの接続を可能にする。
【００２０】
入出力スロット１７４に挿入されたメモリ・マップ・グラフィックス・アダプタ１４８は、ＰＣＩバス１４４、ＰＣＩ−ｔｏ−ＰＣＩブリッジ１４２、ＰＣＩバス１４１およびＰＣＩホスト・ブリッジ１４０を介して入出力バス１１２に接続され得る。ハード・ディスク・アダプタ１４９は入出力スロット１７５の中に配置することができ、それがＰＣＩバス１４５に接続される。次に、このバスが、ＰＣＩ−ｔｏ−ＰＣＩブリッジ１４２に接続され、それがＰＣＩバス１４１によりＰＣＩホスト・ブリッジ１４０に接続される。
【００２１】
ＰＣＩホスト・ブリッジ１３０は、ＰＣＩバス１３１を入出力バス１１２に接続するためのインターフェイスを提供する。ＰＣＩ入出力アダプタ１３６は入出力スロット１７６に接続され、それがＰＣＩバス１３３によりＰＣＩ−ｔｏ−ＰＣＩブリッジ１３２に接続される。ＰＣＩ−ｔｏ−ＰＣＩブリッジ１３２は、ＰＣＩバス１３１に接続される。このＰＣＩバスは、ＰＣＩホスト・ブリッジ１３０を、サービス・プロセッサ・メールボックス・インターフェイスおよびＩＳＡバス・アクセス・パススルー論理１９４とＰＣＩ−ｔｏ−ＰＣＩブリッジ１３２にも接続する。サービス・プロセッサ・メールボックス・インターフェイスおよびＩＳＡバス・アクセス・パススルー論理１９４は、ＰＣＩ／ＩＳＡブリッジ１９３向けのＰＣＩアクセスを転送する。ＮＶＲＡＭ記憶１９２はＩＳＡバス１９６に接続される。サービス・プロセッサ１３５は、そのローカルＰＣＩバス１９５を介してサービス・プロセッサ・メールボックス・インターフェイスおよびＩＳＡバス・アクセス・パススルー論理１９４に結合される。サービス・プロセッサ１３５は、複数のＪＴＡＧ／Ｉ２Ｃバス１３４を介してプロセッサ１０１〜１０４にも接続される。ＪＴＡＧ／Ｉ２Ｃバス１３４は、ＪＴＡＧ／スキャン・バス（ＩＥＥＥ１１４９．１参照）とフィリップスＩ２Ｃバスとの組み合わせである。しかしながら、代替として、ＪＴＡＧ／Ｉ２Ｃバス１３４は、フィリップスＩ２Ｃバスだけ、またはＪＴＡＧ／スキャン・バスだけで置き換えることもできる。ホスト・プロセッサ１０１、１０２、１０３、１０４のすべてのＳＰ−ＡＴＴＮ信号は、併せてサービス・プロセッサの割り込み入力信号に接続される。サービス・プロセッサ１３５は、それ自体のローカル・メモリ１９１を有し、ハードウェアＯＰパネル１９０にアクセスすることができる。
【００２２】
データ処理システム１００が最初に電源投入されると、サービス・プロセッサ１３５は、ＪＴＡＧ／Ｉ２Ｃバス１３４を使用して、システム（ホスト）プロセッサ１０１〜１０４、メモリ制御装置／キャッシュ１０８、および入出力ブリッジ１１０に応答させる。このステップの完了時に、サービス・プロセッサ１３５は、データ処理システム１００のインベントリおよびトポロジの知識（understanding）を有する。また、サービス・プロセッサ１３５は、ホスト・プロセッサ１０１〜１０４、メモリ制御装置／キャッシュ１０８、および入出力ブリッジ１１０に応答させることにより見つかったすべての要素上で組込み自己診断テスト（ＢＩＳＴ）、基本検証テスト（ＢＡＴ）、およびメモリ・テストも実行する。ＢＩＳＴ、ＢＡＴ、およびメモリ・テスト時に検出された障害のエラー情報があれば、それらがサービス・プロセッサ１３５により一括されて報告される。
【００２３】
ＢＩＳＴ、ＢＡＴ、およびメモリ・テスト時に障害があることがわかった要素を取り除いた後でもシステム・リソースの有意／有効な構成が依然として可能である場合には、データ処理システム１００は続けて実行可能なコードをローカル（ホスト）メモリ１６０〜１６３にロードすることができる。次いで、サービス・プロセッサ１３５は、ローカル・メモリ１６０〜１６３にロードされたコードの実行のためにホスト・プロセッサ１０１〜１０４を解放する。ホスト・プロセッサ１０１〜１０４がデータ処理システム１００内でそれぞれのオペレーティング・システムからのコードを実行している間、サービス・プロセッサ１３５は、エラーを監視し、報告するモードに入る。サービス・プロセッサ１３５により監視される種類の項目には、例えば、冷却ファン速度および動作、熱センサ、電源供給調整器、プロセッサ１０１〜１０４、ローカル・メモリ１６０〜１６３、および入出力ブリッジ１１０により報告された回復可能および回復不能なエラーが含まれる。
【００２４】
サービス・プロセッサ１３５は、データ処理システム１００中のすべての監視対象項目に関連するエラー情報の保存と報告を行う。また、サービス・プロセッサ１３５は、エラーの種類および定義された閾値に基づいた措置も講じる。例えば、サービス・プロセッサ１３５が、あるプロセッサのキャッシュ・メモリ上に過剰な回復可能エラーがあることに気付き、それがハード障害の前兆であると判断することが考えられる。この判断に基づき、サービス・プロセッサ１３５は、現在実行中のセッションおよび将来の初期プログラム・ロード（ＩＰＬ）の間の設定解除のためにそのリソースをマークすることができる。ＩＰＬは、「ブート」または「ブートストラップ」と呼ばれることもある。
【００２５】
データ処理システム１００は、様々な市販のコンピュータ・システムを用いて実装され得る。例えば、データ処理システム１００は、インターナショナル・ビジネス・マシーンズ・コーポレーションから市販されているＩＢＭ  ｅＳｅｒｖｅｒ  ｉＳｅｒｉｅｓモデル８４０システムを用いて実装され得る。そのようなシステムは、やはりインターナショナル・ビジネス・マシーンズ・コーポレーションから市販されているＯＳ／４００オペレーティング・システムを用いて論理区画化をサポートすることができる。
【００２６】
図１に示すハードウェアが様々であることを当業者は理解するであろう。例えば、図示のハードウェアに加えて、あるいはそれの代わりに光ディスク・ドライブなど他の周辺機器を用いることもできる。図示の例は、本発明に関するアーキテクチャ上の制限を示唆するためのものではない。
【００２７】
次に図２を参照すると、本発明が実装され得る例示的論理区画化プラットフォームの構成図が示されている。論理区画化プラットフォーム２００でのハードウェアは、例えば、図１のデータ処理システム１００として実装され得る。論理区画化プラットフォーム２００は、区画化ハードウェア２３０、オペレーティング・システム２０２、および区画管理ファームウェア２１０を含む。通常、論理区画化プラットフォーム２００は、オペレーティング・システム２０２以外にもいくつかのオペレーティング・システムを含む。これらの説明のための例では、本発明の機構を、単一区画中の単一オペレーティング・システムについて記述する。もちろん、本発明は、複数の区画に複数のオペレーティング・システムを含む論理区画化プラットフォームでも実装され得る。複数のオペレーティング・システムが使用されるとき、それらのオペレーティング・システムは、論理区画化プラットフォーム２００上で同時に実行される単一のオペレーティング・システムの複数のコピーとすることも、複数の異種混合オペレーティング・システムとすることもできる。
【００２８】
これらの説明のための例では、オペレーティング・システム２０２は、インターナショナル・ビジネス・マシーンズ・コーポレーションから市販されている、ハイパーバイザなどのオープン・ファームウェアとのインターフェイスを提供するように設計されたＯＳ／４００を用いて実装され得る。オペレーティング・システム２０２は単一の区画である、区画２０３に位置する。また、区画２０３はファームウェア・ローダ２１１を含む。ファームウェア・ローダ２１１は、インターナショナル・ビジネス・マシーンズ・コーポレーションから市販されているＩＥＥＥ−１２７５標準オープン・ファームウェアおよび実行時抽象化ソフトウェア（ＲＴＡＳ）を用いて実装され得る。区画２０３がインスタンス化されると、ハイパーバイザの区画マネージャにより区画２０３にオープン・ファームウェアのコピーがロードされる。次いで、区画２０３に関連付けられ、または割り当てられたプロセッサが、区画ファームウェアを実行するためにこの区画のメモリにディスパッチされる。
【００２９】
区画化ハードウェア２３０は、複数のプロセッサ２３２〜２３８、複数のシステム・メモリ・ユニット２４０〜２４６、複数の入出力（Ｉ／Ｏ）アダプタ２４８〜２６２、および記憶ユニット２７０を含む。区画化ハードウェア２３０はサービス・プロセッサ２９０も含み、これは各区画でのエラーの処理など、様々なサービスを提供するために使用され得る。プロセッサ２３２〜２３８、メモリ・ユニット２４０〜２４６、ＮＶＲＡＭ記憶２９８、および入出力アダプタ２４８〜２６２のそれぞれは、論理区画化プラットフォーム２００内の区画２０３に割り当てられる。複数の区画が存在する場合には、区画化ハードウェア２３０内の異なる構成要素は異なる区画に割り当てられ得る。
【００３０】
区画管理ファームウェア（ハイパーバイザ）２１０は、論理区画化プラットフォーム２００での区画２０３のためにいくつかの機能およびサービスを実行する。区画管理ファームウェア２１０は、基底にあるハードウェアと同一のファームウェア実装仮想マシンである。ハイパーバイザ・ソフトウェアは、インターナショナル・ビジネス・マシーンズ・コーポレーションから市販されている、区画管理ファームウェアの１種である。ファームウェアは、例えば、読取り専用メモリ（ＲＯＭ）、プログラム可能ＲＯＭ（ＰＲＯＭ）、消去可能書込み可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能書込み可能ＲＯＭ（ＥＥＰＲＯＭ）、および不揮発性ランダム・アクセス・メモリ（不揮発性ＲＡＭ）など、電力なしでその内容を保持するメモリ・チップに格納された「ソフトウェア」である。そのため、区画管理ファームウェア２１０は、論理区画化プラットフォーム２００のすべてのハードウェア・リソースを仮想化することにより、独立のＯＳイメージの同時実行を可能にする。
【００３１】
異なる区画の動作は、ハードウェア管理コンソール２８０などのハードウェア管理コンソールを介して制御され得る。ハードウェア管理コンソール２８０は、システム管理者が、異なる区画へのリソースの再割り振りを含む様々な機能をそこから実行することのできる別個のデータ処理システムである。この種のシステムを用いると、サブプロセッサ区画化が適用され得る。この種の区画化は、１つの物理プロセッサを複数の論理プロセッサにマップさせて、物理プロセッサよりも多数の論理プロセッサをサポートできるようにする。このようにして、物理プロセッサよりも多数の区画がサポートされ得る。
【００３２】
これらの説明のための例では、単一の区画だけを使用する。本発明の機構は、オペレーティング・システム２０２から区画管理ファームウェア２１０に対して行われた呼出しに応答してプロセッサの電力消費を管理する。オペレーティング・システム２０２は、論理プロセッサがある期間不要とされるときに、区画管理ファームウェア２１０にメッセージまたは呼出しを送る。これらの呼出しは、通常、論理プロセッサの使用を要求またはシード（cede）するための論理区画化プラットフォームでサブプロセッサ区画化と共に使用されるものである。サブプロセッサ区画化を用いると、区画管理ファームウェア２１０は、異なる区画のために個々のプロセッサの割り振りまたは使用を制御することができる。この種の区画化を用いると、１つのプロセッサを複数の区画に割り振ることができる。換言すると、この種の構成は、システム中の物理プロセッサより多数の区画の実装を可能にする。
【００３３】
本発明の機構は、この呼出しまたはメッセージング・システムを使用して、区画２０３で実行中のプログラムに対して透過的な方式で電力消費および熱発生を低減させる。プロセッサが不要とされる期間そのプロセッサを別の区画に使用させるのではなく、そのプロセッサが省電力モードに設定される。本発明の機構は、いかなる特定の種類の省電力モードを必要とはせず、どんな種類の省電力機構でも使用することができる。
【００３４】
具体的には、オペレーティング・システム２０２が区画管理ファームウェア２１０へのアイドル呼出しを生成することができる。この呼出しは、論理プロセッサに関連付けられた物理プロセッサの使用権が譲渡され、または不要とされる時間量を含むメッセージである。区画管理ファームウェア２１０は、オペレーティング・システム２０２からアイドル呼出しを受け取ったことに応答して物理プロセッサを省電力モードに設定し得る。この省電力モードには、例えば、クロック速度周波数を低減することや、プロセッサをスリープ・モードに設定することなどが含まれ得る。プロセッサがスリープ・モードにあるときには、そのプロセッサの状態だけが急速回復のために動的ランダム・アクセス・メモリ（ＤＲＡＭ）の状態に記憶され、そのプロセッサ全体が完全に停止される。このモードでは、外部プロセッサ・バス・クロックが停止される。
【００３５】
このようにして、本発明の機構は、プロセッサがある期間不要とされたときにそれらのプロセッサを省電力モードに設定することにより、多重プロセッサ・データ処理システムでの電力使用の削減を可能にする。本発明の機構は、区画化をサポートするどんなオペレーティング・システムを用いても実装され得る。というのは、この機構が電力使用を削減するためのどんなオペレーティング・システム・サポートからも独立だからである。さらに、本発明の機構は、性能に最小限の影響しか与えない。というのは、プロセッサは、アイドル時間が存在するときにだけ省電力モードに設定されるからである。
【００３６】
次に図３を見ると、本発明の好ましい実施形態による論理区画化データ処理システムでプロセッサを管理するプロセスの流れ図が示されている。図３に示すプロセスは、図２の区画管理ファームウェアなどの制御プロセスに実装され得る。これらの説明のための例では、このプロセスが、図２の論理区画化プラットフォーム２００など、単一の区画だけを有する論理区画化データ処理システムに比較されている。もちろん、この機構は、複数の区画を有するシステムにも適用され得る。
【００３７】
プロセスは、論理プロセッサをシード（cede）するよう求める呼出しを受け取ることから開始する（ステップ３００）。この呼出しはオペレーティング・システムから受け取られ、通常、オペレーティング・システムが論理プロセッサを必要としないときに生成される。この呼出しは、アイドル呼出しとも呼ばれ、シードされるプロセッサの識別、ならびにそのプロセッサがシードされる時間量を含む。これらの例では、プロセッサのマッピングは、１論理プロセッサ対１物理プロセッサである。その結果、オペレーティング・システムから呼出しが受け取られたとき、論理プロセッサに関連付けられた物理プロセッサが省電力モードに設定され得ることが明らかである。
【００３８】
次に、プロセッサが不要とされる待機時間が閾値より小さいかどうかが判断される（ステップ３０２）。この閾値は、プロセッサを省電力モードに設定し、またはプロセッサを通常動作モードに復帰させるあるいはその両方に必要とされる時間に基づくものとし得る。待機時間が閾値以上である場合には、その論理プロセッサにマップされた物理プロセッサが省電力モードに設定される（ステップ３０４）。この省電力モードは様々な形をとることができ、例えば、プロセッサをスリープ・モードに設定したり、クロック速度を低減したり、あるいは他の任意の電力削減方法または機構を用いることもできる。省電力モードにある間にそのプロセッサがアクセスされないように他のタスクを実行することもできる。例えば、そのプロセッサでの割り込みを無効にすることができる。
【００３９】
その後、プロセッサはイベントの発生を待つ（ステップ３０６）。このイベントは、プロセッサがオペレーティング・システムによって不要とされ、またはその使用権が譲渡される期間の満了とすることができる。また、このイベントは、例えば、オペレーティング・システムによる論理プロセッサを求める指示または要求とすることもできる。イベントを受け取った後で、後処理が実行され（ステップ３０８）、次いで、制御が呼出し元に戻る。後処理には、物理プロセッサを以前の動作モードに戻すこと、ならびにプロセッサに作業またはタスクを実行させるのに必要とされる任意のタスクを実行することが含まれる。ステップ３０２に戻ると、待機閾値条件が満たされなかった場合には、プロセスは、プロセッサを省電力モードに設定せずに、やはり制御を呼出し元に戻す。
【００４０】
したがって、本発明の機構は、多重処理データ処理システムでの電力消費を削減する方法、装置、およびコンピュータ命令を提供する。本発明の機構は、１つまたは複数の区画を管理するための制御プログラムが存在する単一または多重プロセッサ・データ処理システムにおいて、これらの説明のための例として実装される。この種のシステムでは、論理プロセッサがオペレーティング・システムによりある選択された期間不要とされたときに、オペレーティング・システムが制御プログラムへの呼出しを生成する。この呼出しに応答して、論理プロセッサにマップされた物理プロセッサが、選択された期間の満了などなんらかの選択されたイベントが発生するまで省電力モードに設定される。このようにして、プロセッサのアイドル時間中に電力使用が削減される。この機構は、アイドル時間だけを使用するため、性能劣化を回避し、または最小限に抑える。
【００４１】
説明のための例は単一の区画だけを有する論理区画化データ処理システムを対象としているが、本発明の機構は、プロセッサがスリープ・モードにあり、したがって、そのプロセッサを完全動作モードに復元するためのイベントが受け取られるまでアクティブなプロセッサとして関与することができないことを記録することによって、複数の区画にも適用され得る。
【００４２】
本発明を、完全に機能するデータ処理システムの状況で説明しているが、本発明の各プロセスがコンピュータ可読命令媒体の形や様々な形で配布され得るものであること、および本発明がその配布を実行するために実際に使用される信号搬送媒体の具体的な種類に関わりなく等しく適用され得ることを当業者は理解するであろうことに留意することは重要である。コンピュータ可読媒体の例には、フロッピー（登録商標）・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの記録可能型媒体、ならびに、例えば、無線周波数伝送や光波伝送といった伝送形式を使用するディジタルおよびアナログ通信リンク、有線または無線通信リンクなどの伝送型媒体が含まれる。コンピュータ可読媒体は、個々のデータ処理システムでの実際の使用のために復号化される符号化フォーマットの形をとり得る。
【００４３】
以上の本発明の説明は図示と説明のために提示したものであり、網羅的であることも、本発明を開示の形に限定することも意図されていない。多くの改変形態および変形形態が、当分野の技術者には明らかであろう。各実施形態は、本発明の原理、実際の適用を最も適切に説明し、当分野の他の技術者が、考えられる具体的な用途に適した様々な改変を伴う様々な実施形態のために本発明を理解できるようにするために選択され、説明されている。
【図面の簡単な説明】
【００４４】
【図１】本発明が実装され得るデータ処理システムを示す構成図である。
【図２】本発明が実装され得る例示的論理区画化プラットフォームを示す構成図である。
【図３】本発明の好ましい実施形態による論理区画化データ処理システムでプロセッサを管理するプロセスを示す流れ図である。
【符号の説明】
【００４５】
１００  データ処理システム
１０１〜１０４  プロセッサ
１０６  システム・バス
１０８  メモリ制御装置／キャッシュ
１１０  入出力バス・ブリッジ
１１２  入出力バス
１１４、１２２、１３０、１４０  ＰＣＩホスト・ブリッジ
１１５、１１８〜１１９、１２３、１２６〜１２７、１３１、１３３、１４１、１４４〜１４５、１９５  ＰＣＩバス
１１６、１２４、１３２、１４２  ＰＣＩ−ｔｏ−ＰＣＩブリッジ
１２０〜１２１、１２８〜１２９、１３６  ＰＣＩ入出力アダプタ
１３４  ＪＴＡＧ／Ｉ２Ｃバス
１３５  サービス・プロセッサ
１４８  グラフィックス・アダプタ
１４９  ハード・ディスク・アダプタ
１５０  ハード・ディスク
１６０〜１６３  ローカル・メモリ
１７０〜１７６  入出力スロット
１９０  ハードウェアＯＰパネル
１９１  ローカル・メモリ
１９２  ＮＶＲＡＭ
１９３  ＰＣＩ／ＩＳＡブリッジ
１９４  サービス・プロセッサ・メールボックス・インターフェイスおよびＩＳＡバス・アクセス・パススルー論理
１９６  ＩＳＡバス
２００  論理区画化プラットフォーム
２０２  オペレーティング・システム
２０３  区画
２１０  区画管理ファームウェア
２１１  ファームウェア・ローダ
２３０  区画化ハードウェア
２３２〜２３８  プロセッサ
２４０〜２４６  システム・メモリ・ユニット
２４８〜２６２  入出力アダプタ
２７０  記憶ユニット
２８０  ハードウェア管理コンソール
２９０  サービス・プロセッサ
２９８  ＮＶＲＡＭ
【図１】
2005209198.tif 000003
【図２】
2005209198.tif 000004
【図３】
2005209198.tif 000005