(57)【要約】【課題】  コンピュータ・システムにおける共用処理リソースの動的再割り振りを行うための方法及び装置を提供する。【解決手段】  この方法及び装置は、２以上の論理区画の各々に対する共用処理リソースの現行使用率及びコンピュータ・システム全体に対する共用処理リソースの現行使用率に基づいて、共用処理リソースをコンピュータ・システムにおける２以上の論理区画に割り振るように作用する。更に詳しく言えば、共用処理リソースは、その共用処理リソースにおける自己所有部分の相対的に低い現行使用率を持つ論理区画から、その共用処理リソースにおける自己所有部分の相対的に高い現行使用率を持つ論理区画に再割り振りされる。【選択図】  図１
2004252988.tif 000002
【特許請求の範囲】
【請求項１】
装置であって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリと、
該装置で定義され、各々が共用処理リソースの一部分を所有する２以上の論理区画と、
前記メモリ内に存在し、前記少なくとも１つのプロセッサによって実行される動的プロセッサ割り振り機構とを含み、
前記動的プロセッサ割り振り機構は、前記２以上の論理区画の各々に対する前記共用処理リソースの現行使用率及び該装置全体に対する前記共用処理リソースの現行使用率に基づいて、前記２以上の論理区画に前記共用処理リソースを割り振るように動作する、
装置。
【請求項２】
前記動的プロセッサ割り振り機構は、前記２以上の論理区画の各々に対する前記共用処理リソースの現行使用率と前記装置全体に対する前記共用処理リソースの現行使用率とを決定し、前記２以上の論理区画の各々に対する前記共用処理リソースの現行使用率と前記装置全体に対する前記共用処理リソースの現行使用率とを比較し、前記共用処理リソースにおける自己所有部分の相対的に低い現行使用率を有する論理区画から、前記共用処理リソースにおける自己所有部分の相対的に高い現行使用率を有する論理区画に、前記共用処理リソースを再割り振りする機能を実行する、請求項１に記載の装置。
【請求項３】
前記機能の実行が周期的な所定のタイム・インターバルで生じる、請求項２に記載の装置。
【請求項４】
前記機能の連続した実行の相互間のタイム・インターバルが動的に調整される、請求項２に記載の装置。
【請求項５】
前記共用処理リソースが前記少なくとも１つのプロセッサを含む、請求項１に記載の装置。
【請求項６】
前記２以上の論理区画の少なくとも２つを含む再割り振りグループが定義され、前記動的プロセッサ割り振り機構が、前記再割り振りグループに存在するものとして定義された論理区画のみを操作するように制限される、請求項１に記載の装置。
【請求項７】
前記装置には複数の再割り振りグループが存在する、請求項６に記載の装置。
【請求項８】
装置であって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリと、
該装置で定義され、各々が共用処理リソースの一部分を所有する２以上の論理区画と、
前記メモリ内に存在し、前記少なくとも１つのプロセッサによって実行される動的プロセッサ割り振り機構とを含み、
前記動的プロセッサ割り振り機構は、
（１）前記２以上の論理区画の各々に対する前記共用処理リソースの現行使用率及び前記装置全体に対する前記共用処理リソースの現行使用率を決定するステップと、
（２）前記２以上の論理区画の各々に対する前記共用処理リソースの現行使用率と前記装置全体に対する前記共用処理リソースの現行使用率とを比較するステップと、
（３）前記共用処理リソースにおける自己所有部分の相対的に低い現行使用率を有する論理区画から、前記共用処理リソースにおける自己所有部分の相対的に高い現行使用率を有する論理区画に前記共用処理リソースを再割り振りするステップと、
を実行する、装置。
【請求項９】
前記共用処理リソースが前記少なくとも１つのプロセッサを含む、請求項８に記載の装置。
【請求項１０】
各々が共用処理リソースの一部分を所有する２以上の論理区画を含むコンピュータ・システムにおいて前記共用処理リソースを管理するための、コンピュータで実行される方法であって、
前記２以上の論理区画の各々に対する前記共用処理リソースの現行使用率及び前記コンピュータ・システム全体に対する前記共用処理リソースの現行使用率を決定するステップと、
前記２以上の論理区画の各々に対する前記共用処理リソースの現行使用率と前記コンピュータ・システム全体に対する前記共用処理リソースの現行使用率とを比較するステップと、
前記共用処理リソースにおける自己所有部分の相対的に低い現行使用率を有する論理区画から、前記共用処理リソースにおける自己所有部分の相対的に高い現行使用率を有する論理区画に、前記共用処理リソースを再割り振りするステップと、
を含む、方法。
【請求項１１】
前記共用処理リソースが前記少なくとも１つのプロセッサを含む、請求項１０に記載の方法。
【請求項１２】
コンピュータ可読信号保持媒体に保持され、コンピュータ・システムにおける２以上の論理区画の各々に対する前記共用処理リソースの現行使用率及び前記コンピュータ・システム全体に対する前記共用処理リソースの現行使用率に基づいて、前記２以上の論理区画に前記共用処理リソースを割り振るように動作する動的プロセッサ割り振り機構、
を含む、コンピュータ・プログラム。
【請求項１３】
前記コンピュータ可読信号保持媒体が記録可能な媒体を含む、請求項１２に記載のコンピュータ・プログラム。
【請求項１４】
前記コンピュータ可読信号保持媒体が伝送媒体を含む、請求項１２に記載のコンピュータ・プログラム。
【請求項１５】
前記動的プロセッサ割り振り機構は、前記２以上の論理区画の各々に対する前記共用処理リソースの現行使用率及び前記コンピュータ・システム全体に対する前記共用処理リソースの現行使用率を決定し、前記２以上の論理区画の各々に対する前記共用処理リソースの現行使用率と前記コンピュータ・システム全体に対する前記共用処理リソースの現行使用率とを比較し、前記共用処理リソースにおける自己所有部分の現行使用率が相対的に低い論理区画から、前記共用処理リソースにおける自己所有部分の現行使用率が相対的に高い論理区画に、前記共用処理リソースを再割り振りする機能を実行する、請求項１２に記載のコンピュータ・プログラム。
【請求項１６】
前記共用処理リソースが少なくとも１つのプロセッサを含む、請求項１５に記載のコンピュータ・プログラム。
【請求項１７】
コンピュータ可読信号保持媒体に保持され、
（１）コンピュータ・システムにおける２以上の論理区画の各々に対する共用処理リソースの現行使用率及び前記コンピュータ・システム全体に対する前記共用処理リソースの現行使用率を決定するステップと、
（２）前記２以上の論理区画の各々に対する前記共用処理リソースの現行使用率と前記コンピュータ・システム全体に対する前記共用処理リソースの現行使用率とを比較するステップと、
（３）前記共用処理リソースにおける自己所有部分の相対的に低い現行使用率を有する論理区画から、前記共用処理リソースにおける自己所有部分の相対的に高い現行使用率を有する論理区画に、前記共用処理リソースを再割り振りするステップと、
を実行する動的プロセッサ割り振り機構を含む、コンピュータ・プログラム。
【請求項１８】
前記コンピュータ可読信号保持媒体が記録可能な媒体を含む、請求項１７に記載のコンピュータ・プログラム。
【請求項１９】
前記コンピュータ可読信号保持媒体が伝送媒体を含む、請求項１７に記載のコンピュータ・プログラム。
【請求項２０】
前記共用処理リソースが少なくとも１つのプロセッサを含む、請求項１７に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して云えば、コンピュータ・システムにおける論理区画（ロジカル・パーティション）に関し、更に詳しく言えば、プロセッサ使用率に基づいて、コンピュータ・システムにおける複数の論理区画に共用処理リソースを再配分する装置及び方法に関するものである。
【背景技術】
【０００２】
論理区画化（ＬＰＡＲ）は、オペレーティング・システムの複数のコピーが単一のコンピュータ・システム内で実行されるというマシン・オペレーションの１つのモードである。論理区画は、オペレーティング・システムを稼動させることができるマシン・リソースの集合体である。それらのリソースは、プロセッサ（及び関連のキャッシュ）、メイン・ストレージ、及びＩ／Ｏ装置を含む。換言すれば、各論理区画は、あたかもそれが個別のコンピュータ・システムであるかの如く動作することができる。各論理区画は独立的にリセット可能であり、各論理区画にとって異なることがあり得るオペレーティング・システムをロード可能であり、しかも、種々の入出力（Ｉ／Ｏ）装置を使用して種々のソフトウェア・プログラムにより操作可能である。この環境において、インストール、初期プログラム・ロード（ＩＰＬ）、パワー・ダウン、及び区画障害はすべて、そのシステムにおける他の区画にインパクトを与えることなく生じる。
【０００３】
ＩＢＭ社は、１９７６年にＳ／３７０アーキテクチャに関する論理区画化の研究を始めた。そのプロジェクトは、論理区画化が実施可能なコンセプトであることを証明した。１９８８年に、ＬＰＡＲが始めてＩＢＭ社のＳ／３９０システムに実装され、１０年間以上もＩＢＭメインフレームにおいて利用可能であった。論理的に区画化されたコンピューティング・システムの例が、例えば、１９８６年１月１４日に発行された米国特許第４,５６４,９０３号、１９８０年６月２７日に発行された米国特許第４,８４３,５４１号、及び１９９６年１０月８日に発行された米国特許第５,５６４,０４０号に記載されている。
【０００４】
その期間にわたって、ＬＰＡＲは、負荷平準化機能によって、ハードウェア境界に基づいた準物理的な区画化方式から、仮想及び共用リソースを考慮に入れた方式に発展した。今日では、すべての主要なコンピュータ製造業者が何らかの形式の区画化を提案している。
【０００５】
過去１０年にわたってメインフレーム区画化の発展を推進してきた要素が、今や、サーバ・システム分野において活動している。そこでは、区画化は急速に必要不可欠なものになりつつある。２００１年中に、サーバ市場におけるすべての主要な参加者たちが何らかの区画化を提案することが予測されている。
【０００６】
例えば、ＩＢＭ社のｉＳｅｒｉｅｓサーバ及びその前システムであるＡＳ／４００は、１９９９年以来ＬＰＡＲテクノロジをＯＳ／４００を通して提案してきた。ｉＳｅｒｉｅｓ及びＡＳ／４００サーバにおける論理区画化の実装は、システム・リソースの柔軟性及び細分性のある割り振りを伴うＳ／３９０論理区画コンセプトを適合させたものである。それは、区画間の高速の内部コミュニケーションを伴う対話的パフォーマンスを割り振るという柔軟性も提供する。
【０００７】
論理区画化は、いくつもの有利な特徴を提供する。例えば、論理システム区画は、管理されなければならない物理システムの数を少なくする。それらの利点は、単一のシステム・コンソールによる容易な管理及び１つの区画から他の区画にリソースをシフトするという柔軟性を含む。これは、アプリケーションが成長するときの利点であり、或いは、更なるリソースを必要とする要求がピーク・レベルに達するときの利点である。更に、（例えば、競合のために）大規模システムを十分には使用し得ないワークロードは、そのワークロードが区画を使用して複数のイメージとして実行されるとき、より良好に機能することができる。
【０００８】
区画化されたシステムは、複数のプロジェクト又は部門による共用が可能であり、それによりコストの正当化及びコストの算定の要件を簡素化する。更に、単一のマシンにおいて一緒にはうまく実行され得ない幾つかのワークロードを、区画の使用を通して相互に隔離することができる。例えば、他のワークロードが在庫管理を処理しているとき、給与計算、予測及び計画策定を含む汎用の対話式及びバッチ・ワークロードが存在可能である。
【０００９】
更に、１つのシステムにおける幾つかの区画が異なるシステムにおける区画によってバックアップされるという状況において、論理区画化がフェイルオーバ状況を緩和させることができる。フェイルオーバは、メイン・システムが問題点に遭遇して、バックアップ・システムがメイン・システムに代わって制御するときに生じる。ある区画に限定されたソフトウェア障害の場合、その区画のワークロードだけが第２の物理システムにおけるバックアップ区画に移行する。区画化されてない状況では、システム全体がフェイルオーバしなければならないであろう。
【００１０】
更に、論理区画化は、個別の生産及びテスト環境を持つ複数の顧客が、生産作業に負のインパクトを与えることなく自分のテスト及び開発作業を継続することを可能にする。最後に、論理区画は、オペレーティング・システム又はアプリケーション・ソフトウェアをアップデートするために使用可能である。新しいソフトウェアは、生産環境に配備される前に分離してテストすることが可能である。
【００１１】
論理的に区画化されたシステムの１つの重要な点は、そのシステムの区画内で実行されるワークロードの管理である。例えば、Ｓ／３９０システムでは、区画内及び区画間でワークロードを管理するために、ワークロード・マネージャが使用される。ＡＳ／４００及びｉＳｅｒｉｅｓプラットフォームでは、この機能がハイパーバイザによって遂行される。ワークロード・マネージャ／ハイパーバイザは、作業をシステムの物理リソースに移行させることによって区画のワークロードを平準化しようとするものである。
【００１２】
１９９９年９月２８日に出願された「コンピューティング環境の論理プロセッサを管理するための方法、システム、及びプログラム製品（Method, System and Program Products for Managing Logical Processorsof A Computing Environment）」と題した米国特許出願第０９／４０７,５９４号は、コンピューティング環境における論理区画間での論理プロセッサの動的管理及び調整を提供する。この動的調整は、論理区画のワークロードに応答するものである。この出願第０９／４０４,５９４号では、論理区画のリソースが調整されるかどうかに関する決定が、区画に対する事前定義された式の結果と１以上の事前定義された閾値とを比較することによって行われる。このリソース調整は、区画が受けなければならない処理ユニットの量を決定するときにその区画自身のプロセッサ使用率を考慮するだけである。
【００１３】
単一の区画のプロセッサ使用率を、コンピューティング・システムにおける残りの区画から分離して考慮することのみならず、コンピューティング・システムにおけるすべての区画のプロセッサ使用率を考慮することによって、コンピューティング・システムにおける複数の論理区画間でのプロセッサ・リソースの動的調整を向上させることが望ましい。このようにして、１つの区画に割り当てられたリソースがそれらリソースをもっと必要とする別の区画に再割り振りされるように、コンピューティング・システムの全体的なシステム状態が考慮される。
【特許文献１】米国特許第４,５６４,９０３号
【特許文献２】米国特許第４,８４３,５４１号
【特許文献３】米国特許第５,５６４,０４０号
【特許文献４】米国特許出願番号第０９/４０４,５９４号
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明の課題は、コンピューティング環境における論理区画内でのプロセッサ使用率に基づいて、それら論理区画に処理リソースを動的に再分配する装置、方法、及びコンピュータ・プログラムを提供することである。
【課題を解決するための手段】
【００１５】
１つの実施形態では、本発明は、少なくとも１つのプロセッサ及びそのプロセッサに結合されたメモリを有する装置を提供する。更に、その装置は、２以上の論理区画を含み、それら論理区画の各々は共用処理リソースの一部分を所有する。それら区画における共用処理リソースの現行使用率及びその装置全体に対する共用処理リソースの使用率に基づいて、それら区画に共用処理リソースを割り振る動的プロセッサ割り振り機構がその装置内に存在する。更に詳しく言えば、動的プロセッサ割り振り機構は、各区画及びその装置全体に対する共用処理リソースの現行使用率を決定する機能を実行する。その機能は、次に、各区画に対する共用処理リソースの現行使用率とその装置全体に対する共用処理リソースの現行使用率とを比較し、しかる後、相対的に低い処理リソースの使用率を有する論理区画から、相対的に高い処理リソースの使用率を有する区画に、その共用処理リソースを再配分する。１つの実施形態では、その機能の実行は、周期的な所定のタイム・インターバルで生じる。別の実施形態では、その機能の連続した実行相互間のタイム・インターバルが動的に調整される。
【００１６】
もう１つの実施形態は、本発明は、コンピュータ・システムにおける共用処理リソースを管理するための、コンピュータで実行される方法を提供する。この場合、コンピュータ・システムは、各々が共用処理リソースの一部分を有する２以上の論理区画を含む。その方法は、２以上の論理区画の各々に対する共用処理リソースの現行使用率及びシステム全体に対する共用処理リソースの現行使用率を決定することによって開始する。次に、その方法は、２以上の論理区画の各々に対する共用処理リソースの現行使用率とコンピュータ・システム全体に対する共用処理リソースの現行使用率とを比較する。最後に、その方法は、共用処理リソースにおける自己所有部分の相対的に低い現行使用率を有する論理区画から、その共用処理リソースにおける自己所有部分の相対的に高い現行使用率を有する論理区画に、共用処理リソースを再配分する。
【００１７】
更にもう１つの実施形態では、本発明は、コンピュータ・システムにおける２以上の論理区画に共用処理リソースを割り振ろうとする動的プロセッサ割り振り機構を含むコンピュータ・プログラムを提供する。この割り振りは、２以上の論理区画の各々における共用処理リソースの現行使用率及びコンピュータ・システム全体に対する共用処理リソースの現行使用率に基づいている。更に、そのコンピュータ・プログラムの動的リソース割り振り機構はコンピュータ可読信号保持媒体により保持される。
【００１８】
本発明に関する上記及び他の特徴及び利点は、添付図面に示されるように、本発明の望ましい実施形態に関する以下の更に詳細な説明から明らかであろう。
【発明を実施するための最良の形態】
【００１９】
本発明の望ましい実施形態によると、本発明は、複数の区画を有するコンピュータ・システムの共用処理リソースを動的に再調整することによって、そのコンピュータ・システムのパフォーマンスを改善する。この動的再調整は、現時点で所有している共用リソースに関する相対的に低い共用リソース使用率を持つ論理区画から、現時点で所有している共用リソースに関する相対的に高い共用リソース使用率を持つ区画に、リソースを提供することによってシステムを調整する。
【００２０】
図１を参照すると、コンピュータ・システム１００は、拡張ＩＢＭ ｉＳｅｒｉｅｓコンピュータ・システムであり、本発明による論理区画化及び動的リソース割り振りをサポートする適当なタイプのコンピュータ・システムを表す。本発明の機構及び装置が、論理区画をサポートする任意のコンピュータ・システムに等しく適用されることは当業者には明らかであろう。
【００２１】
図１に示されるように、コンピュータ・システム１００は、メイン・メモリ１２０、大容量ストレージ・インターフェース１３０、ディスプレイ・インターフェース１４０及びネットワーク・インターフェース１５０に接続された１以上のプロセッサ１１０を含む。これらのシステム・コンポーネントは、システム・バス１６０により相互接続される。大容量ストレージ・インターフェース１３０は、（ダイレクト・アクセス・ストレージ・デバイス（ＤＡＳＤ）１５５のような）大容量ストレージ装置をコンピュータ・システム１００に接続するために使用される。ダイレクト・アクセス・ストレージ・デバイスの１つの特定のタイプは、ＣＤＲＷディスク１９５からデータを読み取り得るＣＤ ＲＷドライブである。
【００２２】
メイン・メモリ１２０は、区画マネージャ１２１、動的プロセッサ割り振り機構１２４、及び少なくとも２つの論理区画１２５及び１２７を含む。区画マネージャ１２１は、単一の一次区画１２５、及び１以上の二次区画１２７を作成することが望ましい。なお、これらの区画はすべて論理区画である。一次区画１２５は、オペレーティング・システム１２６を含むことが望ましく、各二次区画１２７も、オペレーティング・システム１２８を含むことが望ましい。
【００２３】
オペレーティング・システム１２６は、ＯＳ／４００として知られているマルチタスク・オペレーティング・システムである。しかし、本発明の精神及び範囲が特定のオペレーティング・システムに限定されるものではないことは、当業者には明らかであろう。任意の適当なオペレーティング・システムが使用可能である。オペレーティング・システム１２６は、コンピュータ・システム１００のリソースを管理するための低レベル・コードを含む複雑なプログラムである。これらのリソースは、プロセッサ１１０、メイン・メモリ１２０、大容量ストレージ・インターフェース１３０、ディスプレイ・インターフェース１４０、ネットワーク・インターフェース１５０及びシステム・バス１６０を含む。各二次区画１２７におけるオペレーティング・システム１２８は、一次区画１２５におけるオペレーティング・システム１２６と同じものでよく、或いは、まったく異なるオペレーティング・システムであってもよい。従って、一次区画１２５は、ＯＳ／４００オペレーティング・システムを走らせることができ、一方、二次区画１２７は、ＯＳ／４００の別のインスタンス、例えば異なるリリースのもの又は異なる環境設定（例えば、タイム・ゾーン）を有するものを走らせることができる。二次区画１２７におけるオペレーティング・システムは、それがハードウェアと互換性あるものならば、ＯＳ／４００とは異なるものであってもよい。このように、これらの論理区画は、同じ物理的コンピュータ・システムにまったく異なるコンピューティング環境を提供することができる。
【００２４】
動的プロセッサ割り振り機構１２４は、共用処理リソースの各部分を、使用過少の論理区画（即ち、共用処理リソースにおける自己所有部分の相対的に低い現行使用率を有する区画）から、使用過多の論理区画（即ち、共用処理リソースにおける自己所有部分の相対的に高い現行使用率を有する区画）に再割り振りするために使用される。
【００２５】
区画１２５及び１２７は、図１では、メイン・メモリ１２０内にあるように示されている。しかし、区画がメモリ以外のリソースを含む論理構成体であるということは当業者には明らかであろう。論理区画は、一般に、プロセッサ容量及び他のシステム・リソースを割り当てると共に、メモリの一部分を指定する。従って、一次区画１２５は、先ず、大容量ストレージ・インターフェース１３０、ディスプレイ・インターフェース１４０、ネットワーク・インターフェース１５０、又は他のＩ／Ｏ装置に対するインターフェースの機能を提供することができる１以上のＩ／Ｏプロセッサに加えて、１以上のプロセッサ１１０及びメイン・メモリ１２０の一部分を含むものとして定義可能である。次に、二次区画１２７は、各々が、先ず、プロセッサ割り振り機構、メモリ１２０の異なる部分、及び１以上のＩ／Ｏプロセッサを含むものとして定義可能である。図１では、区画が、コンピュータ・システム１００におけるメイン・メモリ１２０の外にあるシステム・リソースを含む論理区画を象徴的に表すものとして示される。動的プロセッサ割り振り機構１２４は、一次区画１２５にあることが望ましいが、コンピュータ・システム１００における定義された区画のいずれにあってもよく、ネットワーク１７０を介してコンピュータ・システム１００に結合されたコンピュータ・システム１７５にあってもよいということに留意してほしい。
【００２６】
コンピュータ・システム１００は、コンピュータ・システム１００のプログラムが、メイン・メモリ１２０及びＤＡＳＤ１５５のような複数の小型ストレージ・エンティティにアクセスする代わりに、大型の単一ストレージ・エンティティのみにアクセスするように、振舞うことを可能にする周知の仮想アドレシング機構を利用する。従って、区画マネージャ１２１及び区画１２５、１２７はメイン・メモリ１２０に存在するように示されているが、これらの要素が必ずしもすべて完全にメイン・メモリ１２０に同時に含まれていなくてもよいということは当業者には明らかであろう。本明細書では、「メモリ」という用語が一般的にコンピュータ・システム１００の仮想メモリ全体を指すように使用されることも留意されるべきである。
【００２７】
プロセッサ１１０は、１以上のマイクロプロセッサ又は集積回路から構成可能である。プロセッサ１１０は、メイン・メモリ１２０にストアされたプログラム命令を実行する。メイン・メモリ１２０は、プロセッサ１１０がアクセスし得るプログラム及びデータをストアする。コンピュータ・システム１００が始動するとき、プロセッサ１１０は、先ず、区画マネージャ１２１を形成するプログラム命令を実行する。区画マネージャ１２１は、論理区画におけるオペレーティング・システムを初期化する。
【００２８】
コンピュータ・システム１００は単一のシステム・バス１６０だけを含むように示されているが、本発明が複数のバスを有するコンピュータ・システムを使用して実施可能であることは当業者には明らかであろう。更に、望ましい実施形態において使用されるインターフェース（ＡＳ／４００の用語では、入出力プロセッサと呼ばれる）は、それぞれ、計算主体の処理をプロセッサ１１０からオフロードするために使用される個別の完全にプログラムされたマイクロプロセッサを含む。しかし、本発明が、同様の機能を遂行するために単にＩ／Ｏアダプタを使用するコンピュータ・システムにも等しく適用されることは当業者には明らかであろう。
【００２９】
ディスプレイ・インターフェース１４０は、１以上のディスプレイ１６５をコンピュータ・システム１００に直接接続するために使用される。非インテリジェント（即ち、ダム）端末又は十分にプログラム可能なワークステーションであってもよいこれらのディスプレイ１６５は、システム管理者及びユーザがコンピュータ・システム１００とコミュニケーションを行うことを可能にするために使用される。しかし、ディスプレイ・インターフェース１４０は１以上のディスプレイ１６５とのコミュニケーションをサポートするために設けられるが、ユーザ及び他のプロセスとの必要な対話すべてがネットワーク・インターフェース１５０を介して生じ得るので、コンピュータ・システム１００は必ずしもディスプレイ１６５を必要としないということに留意してほしい。
【００３０】
ネットワーク・インターフェース１５０は、ネットワーク１７０を介して他のコンピュータ・システム又はワークステーション（例えば、図１における参照番号１７５）をコンピュータ・システム１００に接続するために使用される。本発明は、コンピュータ・システム１００が如何に他のコンピュータ・システム又はワークステーションに接続されようとも、ネットワーク接続１７０が現在のアナログ又はディジタル技術を使用して行われるか又は将来の何らかのネットワーキング機構を介して行われるかに関係なく、等しく適用される。更に、数多くの異なったネットワーク・プロトコルがネットワークを実装するために使用可能である。これらのプロトコルは、コンピュータがネットワーク１７０を介して通信することを可能にする特殊なコンピュータ・プログラムである。ＴＣＰ／ＩＰ（伝送制御プロトコル／インターネット・プロトコル）は好適なネットワーク・プロトコルの一例である。
【００３１】
この時点では、本発明を十分に機能的なコンピュータ・システムに関連して説明したし、更に説明を続けるが、本発明がコンピュータ・プログラムとして種々な形で配布され得ること、及び本発明が配布を実際に実行するために使用される特定のタイプのコンピュータ可読信号保持媒体に関係なく等しく適用されることは当業者には明らかであろう。適当な信号保持媒体の例は、フレキシブル・ディスク及びＣＤＲＷ（例えば、図１における参照番号１９５）のような記録可能なタイプの媒体、並びにディジタル及びアナログ通信リンクのような伝送タイプの媒体を含む。
【００３２】
図２は、複数の区画を有するコンピュータ装置の第１の例を示す。この例では、動的プロセッサ再割り振り機構が現行使用率に基づいてそれら区画に共用処理リソースを再割り振りする。図示の実施形態では、すべての使用可能なＣＰＵユニットが区画に割り当てられ、従って、所与のノード・クラスタにおけるＣＰＵユニットの合計数は一定のままとなる。
【００３３】
図示の実施形態に示されるように、コンピュータ・システムは、５つの論理区画（区画＃１−＃５）を有し、それらの区画は、それぞれ、５つのプロセッサ、４つのプロセッサ、４つのプロセッサ、２つのプロセッサ、及び１つのプロセッサの初期割り振りを有する。この例では、すべてのプロセッサが、コンピュータ・システム内のすべての区画に再配分され得る共用処理リソースを集合的に形成する。そのような再配分は幾つかの制約を受ける。図示の例では、共用処理リソースが０.０１処理ユニットの増分単位で割り振り可能である。しかし、各区画は、再割り振りされ得ない基本処理リソースを持つ必要がある。例えば、図示の実施形態では、区画＃１は、１.００処理ユニットという最小量を必要とし、一方、区画＃２−＃５は、０.１処理ユニットという最小量を必要とする。また、コンピュータ・システムは、１つの区画が持ち得る処理ユニットの最大量に関する制限を課すことも可能である。この例のために、１区画当たりの処理ユニットの最大数は１０である。更に、再割り振り自体が何らかの処理リソースを必要とするので、再割り振りは、特定区画の現行のプロセッサ使用率がシステムの平均使用率からの或る事前定義された変動よりも大きいか又は小さい場合にのみ生じる。これは、区画がシステムの平均に関してかなり使用過多であるか又は使用過少であるときにのみ再配分が生じることを保証する。図示の例では、必要な最小の変動は５％（０.０５）である。これは、コンピュータ・システム全体に対するプロセッサ使用率が３５％、即ち（０.３５）である場合、３０％（０.３０）よりも小さい使用率、又は４０％（０.４０）よりも大きい使用率を有する区画だけが再割り振りに対する候補とみなされることを意味する。
【００３４】
本発明では、コンピュータ・システム内の各区画がそれの現行プロセッサ使用率に関してポーリングされる。各区画に対して個々に及びコンピュータ・システム全体に対して、プロセッサ使用率が計算される。プロセッサ使用率がノードから収集される場合の事前定義されたパスの数及びすべてのパスの平均が計算された後、共用処理リソース（即ち、処理ユニット）をどのように再分配するかを決定するためにオークションが行われる。
【００３５】
図２はそのようなオークションを示す。図示の例では、区画＃１−＃５が、それぞれ、２０％、５０％、１０％、８０％、及び７０％のプロセッサ使用率を有する。そのオークションにおける第１ステップは、システム全体に対するプロセッサ使用率を計算することである。これは、所与の区画におけるプロセッサの数を各区画のプロセッサ利用率に乗じること、それらの結果をすべての区画について合算すること、及びその合算された値をコンピュータ・システムにおけるプロセッサの合計数により除することによって行われる。図示の例では、その計算は次のようになる：
(((5*0.2)+(4*0.5)+(4*0.1)+(2*0.8)+(1*0.7))/16)= 0.356
即ち、使用率は３５.６％である。
【００３６】
次に、本方法は、処理リソース受領者とみなされる各区画に対するビッドを形成する。図示の例では、区画＃２、＃４、及び＃５が受領者の候補とみなされる。それは、それらの現行プロセッサ使用率がシステム全体に対する平均プロセッサ使用率を越えている（即ち、それらのプロセッサが相対的に使用過多である）ためである。各区画に対するビッドが、当該区画に対するプロセッサ使用率をコンピュータ・システム全体に対するプロセッサ使用率によって除することにより決定される。従って、この例では、次のようになる：
区画＃２のビッド = ０.５/０.３５６ = １.４０
区画＃４のビッド = ０.８/０.３５６ = ２.２５
区画＃５のビッド = ０.７/０.３５６ = １.９７
【００３７】
区画は、そのビッドが１よりも大きい場合、処理リソースの受領者候補であるとみなされる。ビッドの大きさに基づいて、処理ユニットが各要求元区画に割り当てられる。要求元区画は、それらビッドの相対的な大きさ及び順序に基づいて提供ユニットからの処理リソースを割り当てられる。例えば、区画＃４は最高値のビッドを有する（その処理リソースが最高の相対使用率を有する）ので、それは、使用過少の区画によって提供された処理リソースを受領する最初の候補区画となろう。
【００３８】
すべての区画にわたって比較的平等に処理負荷を分散するためには、区画＃２は、理想的には、（０.５/０.３５６）* ４ = ５.６１処理ユニットであることを必要とする。この値は、区画に現在割り当てられている処理ユニットの数にビッドを乗じることによって得られる。区画＃２は既に４処理ユニットであるので、それは、５.６１ &#8211; ４ = １.６１処理ユニットを要求している。同様に、区画＃４は、理想的には、（０.８/０.３５６）* ４ = ４.４９処理ユニットであることを必要とする。区画＃４は既に２処理ユニットであるので、区画＃４は、４.４９ &#8211; ２ = ２.４９の更なる処理ユニットを必要とする。最後に、区画＃５は、理想的には、（０.７/０.３５６）* １ = １.９７処理ユニットであることを必要とする。区画＃５は既に１処理ユニットであるので、区画＃５は更に０.９７処理ユニットを必要とする。この例では、区画＃２、＃４、及び＃５は、それらの現行使用率（それぞれ、０.５、０.８ 及び０.７）が平均使用率（０.３５６）＋変動（０.０５）よりも大きいので、追加の処理ユニットを受領する資格がある。また、再割り振りの後に１０処理ユニットの最大プロセッサ／区画割り振りを越えるプロセッサはない。
【００３９】
次に、本方法は、どの区画が処理リソース提供者として相応しいか、及び各区画がどれほどのリソースを提供できるかを決定する。この例では、区画＃１及び＃３の処理リソース使用率（それぞれ、２０％、及び１０％）がシステム全体に対する平均プロセッサ使用率よりも低いため、区画＃１及び＃３は潜在的処理リソース提供資格者である。更に、区画＃１及び＃３は、それらの現行プロセッサ使用率（それぞれ、０.２及び０.１）が平均使用率（０.３５６）−変動（０.０５）よりも小さいので、適格提供者である。
【００４０】
再び、各区画に対するビッドが、当該区画に対するプロセッサ使用率をコンピュータ・システム全体に対するプロセッサ使用率によって除することにより決定される。従って、この例では、それらビッドは次のようになる：
区画＃１のビッド = ０.２/０.３５６ = ０.５６
区画＃３のビッド = ０.１/０.３５６ = ０.２８
【００４１】
区画は、そのビッドが１よりも小さい場合、処理リソースの提供のための候補であるとみなされる。区画を提供する場合、最低のビッドを有する区画が、リソースを提供する最初の区画となる。
【００４２】
すべての区画にわたって処理負荷を等しく分散するためには、区画＃１が（１ - (０.２/０.３５６)）* ５ = ２.１９処理ユニットを提供するのに相応しい。この計算は、１からビッドを減じること、そしてその結果と現時点でその区画に割り当てられている処理ユニットの数とを乗じることによって得られる。同様に、区画＃３が(１ - (０.１/０.３５６)) * １ = ２.８８処理ユニットを提供することができる。この場合、両方の区画候補とも、再配分後の一次区画（区画＃１）に対する少なくとも１処理ユニット及び二次区画（区画＃３）に対する０.１処理ユニットという最小要件を満たす。次の表１は、再配分可能な近似リソース量、及びこの時点におけるそのような配分の順序を表す。
【表１】
2004252988.tif 000003
【００４３】
再配分の直後、プロセッサ使用率は、図２の下半分に示されるように、すべての区画にわたってほぼ同じ（約３５.６％）にならなければならない。時間が進行し、区画内のワークロードが変化するにつれて、リソースを再び再配分することが必要になろう。本発明の実施形態では、この再配分は規則的なタイム・インターバル、例えば、１０分ごとに生じる。あるいは、再配分機能の頻度を動的に調整してもよい。例えば、現在の再配分後、調整が必要ないと決定された場合、再配分相互間のタイム・インターバルを長くする（或る一定の係数を乗じるか又は或るタイム・インターバルだけ増分する）ことができる。一方、調整が必要であることを再配分が決定した場合、再配分相互間のタイム・インターバルを短くする（同じ一定の係数によって除すか、又はタイム・インターバルだけ減分する）ことができる。プロセッサ使用率を決定してリソースを再割り振りする機能は計算コストを有するので、動的アプローチは、アクションを取る必要がないときにはこれらのコストに遭遇する回数を少なくする。この例では、すべての区画が、共用処理リソースの再配分に関係していた。次の例（図３）では、すべての処理リソースが提供／受領に使用可能であるというわけではない。
【００４４】
図３は、コンピュータ装置が複数の区画を有する第２の例を示す。この例では、動的プロセッサ再割り振り機構が、現行使用率に基づいて区画間で共用処理リソースを再割り振りする。ここでも、図示の実施形態では、すべての使用可能なＣＰＵユニットが区画に割り当てられ、従って、所与のノード・クラスタにおけるＣＰＵユニットの合計数が常に一定であると仮定する。
【００４５】
図示の実施形態に示されるように、コンピュータ・システムは５つの論理区画（区画＃１−＃５）を有し、それらの区画は、それぞれ、５つのプロセッサ、４つのプロセッサ、４つのプロセッサ、２つのプロセッサ、及び１つのプロセッサの初期割り振りを有する。この例では、すべてのプロセッサが、コンピュータ・システムにおけるすべての区画にわたって再配分可能な共用処理リソースを集合的に形成する。ここでも、そのような再配分は幾つかの制約を受ける。この例では、処理ユニットは、０.０１処理ユニットの増分単位で再割り振り可能である。更に、各区画は、再割り振りされ得ない基本処理リソースを有する必要がある。例えば、図示の実施形態では、区画＃１は、最小１.００処理ユニットを必要とし、一方、区画＃２−＃５は、最小０.１処理ユニットを必要とする。また、コンピュータ・システムは、１つの区画が持ち得るＣＰＵユニットの最大量に関する制限を課し得る。この例のために、１つの区画が持ち得る処理ユニットの最大数は１０処理ユニットであると仮定する。図示の例では、必要な最小の変動は５％（０.０５）である。
【００４６】
この図示の例では、区画＃１−＃５は、それぞれ、５０％、３０％、７０％、９０％、及び１０％のプロセッサ使用率を有する。オークションにおける最初のステップは、システム全体に対するプロセッサ使用率を計算することである。この図示の例では、その計算は次のようになる：
(((5*0.5)+(4*0.3)+(4*0.7)+(2*0.9)+(1*0.1))/16= 0.525
即ち、使用率は５２.５％である。
【００４７】
次に、本方法は、処理リソース受領者とみなされる各区画に対するビッドを形成する。図示の例では、区画＃３及び＃４が受領者候補とみなされる。それは、それらの現行プロセッサ使用率（それぞれ、０.７及び０.９）がシステム全体に対する平均プロセッサ使用率（０.５２５）を超えているためである。各区画に対するビッドは、その区画に対するプロセッサ使用率をコンピュータ・システム全体に対するプロセッサ使用率によって除することにより決定される。従って、この例では、それは次のようになる：
区画＃３のビッド = ０.７/０.５２５ = １.３３
区画＃４のビッド = ０.９/０.５２５ = １.７１
【００４８】
処理ユニットが、ビッドに基づいて各要求元区画に割り当てられる。要求元区画は、ビッドの順序に基づいて提供ユニットからの処理リソースを割り当てられる。例えば、区画＃４は、最高値のビッドを有する（その処理リソースが最高の相対使用率を有する）ので、それは、使用過少の区画によって提供された処理リソースを受領する最初の候補区画となろう。
【００４９】
すべての区画にわたって処理負荷をもっと均等に分散するために、区画＃４は、理想的には、(０.９/０.５２５) * ２ = ３.４２処理ユニットである必要がある。区画＃４は既に２処理ユニットであるので、それは ３.４３ - ２ = １.４２処理ユニットを要求する。同様に、区画＃３は、理想的には、(０.７/０.５２５) * ４ = ５.３２処理ユニットである必要がある。区画＃３は既に４処理ユニットであるので、区画＃３は、５.３２ - 4 = １.３２の更なる処理ユニットを要求する。この例では、区画＃３及び＃４は共に、それらの現行プロセッサ使用率（それぞれ、０.７及び０.９）が平均使用率（０.３５６）＋変動（０.５）よりも大きいので、更なる処理ユニットを受領する資格がある。また、再割り振り後に１０処理ユニットという最大プロセッサ／区画割り振りを越えるプロセッサはない。
【００５０】
次に、本方法は、どの区画が処理リソース提供者として相応しいか、及び各区画がどれほどのリソースを提供できるかを決定する。この例では、区画＃１、＃２、及び＃５の処理リソース使用率がシステム全体に対する平均プロセッサ使用率（５２.５％）よりも小さい（それぞれ、５０％、３０％、及び１０％である）ので、それらの区画が潜在的な処理リソース提供者候補である。しかし、区画＃２及び＃５だけが、それらの現行プロセッサ使用率（それぞれ、０.３及び０.１）が平均使用率（０.５２５）−変動（０.０５）よりも小さいので、適格提供者である。区画＃１は、その使用率（０.５）がコンピュータ・システム全体に対する平均使用率（０.５２５）−変動（０.０５）よりも小さいので、この例における処理リソース提供者としては相応しくない。
【００５１】
前と同様に、各区画に対するビッドが、その区画に対するプロセッサ使用率を、コンピュータ・システム全体に対するプロセッサ使用率によって除することにより決定される。この例では、それは次のようになる。
区画＃２のビッド = ０.３/０.５２５ = ０.５７
区画＃５のビッド = ０.１/０.５２５ = ０.１９
【００５２】
区画を提供する場合、最低のビッドを有する区画がリソースを提供するための最初の区画である。従って、この例では、区画＃５が、最低の計算されたビッドを有するので、そのリソースを提供する最初の区画となる。
【００５３】
すべての区画にわたって処理負荷を更に均等に分散するために、区画＃５は、(１ - (０.１/０.５２５)) * １ = ０.８１処理ユニットを提供するのに相応しい。これは、再配分の後でも、依然として、その区画に対する最小リソース要件（０.１）を超える０.１９処理ユニットを区画に残すであろう。同様に、区画＃２は、(１ - (０.３/０.５２５)) * １ = １.７２処理ユニットを提供することができる。区画＃２は、再割り振りの後でも、依然として２.２８処理ユニットを残したままであり、それは、二次区画当たり０.１のプロセッサ最小処理ユニット要件を超える。次の表２は、再配分可能な近似リソース量及びこの時点におけるそのような配分の順序を示す：
【表２】
2004252988.tif 000004
【００５４】
前の例とは異なり、提供区画からのリソースは受領区画に対するリソースに等しくない。従って、この例では、リソースが部分的にしか再配分され得ない。先ず、区画＃４及び＃５がそれぞれ最高及び最低のビッドを有しているので、区画＃５から提供可能な０.８１処理ユニットが区画＃４に提供される。次に、０.６１処理ユニットが区画＃２から区画＃４に配分され、再配分のために使用可能な１.１１処理ユニットが区画＃２に残る。そこで、区画＃２におけるその残りの１.１１処理ユニットが合計１.３２処理ユニットを要求していた区画＃３に配分される。従って、この例では、区画＃３の要求は部分的にしか満たされ得ない。その結果、再配分後におけるすべての区画のプロセッサ使用率は、図３の下半分に示されたように、ほぼ等しくなる。なお、区画＃１は、再割り振りに関与しなかったので、再割り振り後でも使用率がほぼ５０％のままである。同様に、再割り振り後の区画＃３の使用率は、区画＃３が要求していたすべてのリソースを得ることができなかったために、平均よりもわずかに大きいままである。
【００５５】
図４は、共用処理リソースを動的に再配分するための望ましい実施形態による方法の流れ図である。ステップ４０２において開始する本方法は、次のステップ４０４において、コンピュータ・システムにおける各区画に対する共用処理リソースの現行使用率及びそのシステム全体に対する共用処理リソースの現行使用率を計算することによって始まる。このステップは、コンピュータ・システム内の各区画を、事前定義された回数だけ、その現行プロセッサ使用率を求めて定期的にポーリングするサブステップを含む。その事前定義された回数に達すると、各区画に対する平均プロセッサ使用率、及びコンピュータ・システム全体に対する平均プロセッサ使用率が計算される。
【００５６】
次に、ステップ４０６において、各論理区画に対する共用処理リソースの現行使用率とコンピュータ・システム全体に対する共用処理リソースの現行使用率とが比較される。更に詳しく言えば、どの区画が使用過多／使用過少であるかを決定するために、各区画の現行使用率が他の区画の現行使用率と比較される。どの共用処理リソースが再配分のために使用可能であるかを決定するために、各区画の現行使用率が、コンピュータ・システム全体に対する現行使用率とも比較される。
【００５７】
最後に、ステップ４０８において、本方法は、共有処理リソースにおける自己所有部分に対する相対的に低い現行使用率を有する論理区画から、その共有処理リソースにおける自己所有部分に対する相対的に高い現行使用率を有する論理区画に、その共用処理リソースを再割り振りする。これを達成するために、共有処理リソースのオークションが行われる。この場合、各区画は、その現行使用率をコンピュータ・システム全体に対する現行使用率によって除することにより計算される「ビッド」を有する。１よりも大きいビッドを有する区画は、更なる共有処理リソースを受領するための候補とみなされる。同様に、１よりも小さいビッドを有する区画は、それらの処理リソースの幾つかを提供するための候補とみなされる。提供／受領区画は、最高のビッドを有する受領区画が再割り振りに対する第１優先順位を受けるように、及び最低のビッドを有する提供区画がそれらのリソースを最初に割り振られるように、それらのビッドによって順序付けられる。
【００５８】
図２及び図３において説明された実施形態は、すべての区画が当初は処理リソース再割り振りのための候補とみなされることを仮定している。しかし、本発明は、ユーザがコンピュータ・システムにおける区画のサブセットのみに処理リソースを再割り振りするように制限することを望む場合があるということも考慮している。従って、本発明は、処理リソース再割り振りの資格がある区画の「グループ」をユーザが作成することを可能にする。この機能は、コンピュータ・システムにおける或る重要な区画（即ち、定義された再割り振りグループの一部ではない区画）が、他の区画の使用率に関係なく、それらの処理ユニットを保持することを可能にする。一例として、対話式プロセスを実行する区画は、再割り振りの資格がある区画のグループから排除され得る。
【００５９】
一例として、コンピュータ・システムが５つの論理区画（例えば、＃１、＃２、＃３、＃４及び＃５）を有し、区画＃１の処理リソースが専用の（即ち、共用され得ない）ものである場合、区画＃２、＃３、＃４及び＃５を含む再割り振りグループ「Ａ」を定義することが可能である。この例では、プロセッサ再割り振りは、その定義された再割り振りグループ「Ａ」内の区画、即ち区画＃２、＃３、＃４及び＃５にのみ限定される。コンピュータ・システム内で複数の再割り振りグループを定義することも可能である。その場合、すべての処理リソース割り振りがその定義された再割り振りグループにおいてのみ行われる。例えば、再割り振りグループ「Ａ」が区画＃２及び＃３を含み、再割り振りグループ「Ｂ」が区画＃４及び＃５を含むものと仮定すると、処理リソースの割り振りは、それぞれ、区画＃２及び＃３のみに（即ち、グループ「Ａ」内に）、並びに区画＃４及び＃５のみに（即ち、グループ「Ｂ」内に）生じるように制限される。再割り振りグループが具体的に定義されない場合、デフォルトとして、すべての区画が、（図２及び図３に関連して前述したように）単一の再割り振りグループに含まれる。
【００６０】
種々の実施形態を挙げて本発明を説明し、更にそれらの実施形態をかなり詳細に説明したが、本発明の技術的範囲をそのような細部に限定することは出願人の意図するところではない。例えば、種々のコンピュータ環境に関連して本発明を説明したが、本発明の機構が、ＯＳ／４００を実行するＩＢＭ社のｉＳｅｒｉｅｓサーバのようなコンピュータ・システム用のプログラムのような種々な形式のプログラム製品として配布され得ること、及び本発明がその配布を実際に行うための特定なタイプの信号保持媒体に関係なく等しく適用されることは当業者には明らかであろう。信号保持媒体の例は、フレキシブル・ディスク及びＣＤＲＯＭのような記録可能なタイプの媒体、並びに無線通信リンクを含むディジタル及びアナログ通信リンクのような伝送タイプの媒体を含む。
【図面の簡単な説明】
【００６１】
【図１】望ましい実施形態に従って論理区画化及び動的リソース割り振りをサポートするコンピュータ装置のブロック図である。
【図２】複数の区画を有し、動的プロセッサ再割り振り機構が現行使用率に基づいて区画間で共用処理リソースを再割り振りするコンピュータ装置に関する第１例のブロック図である。
【図３】複数の区画を有し、動的プロセッサ再割り振り機構が現行使用率に基づいて区画間で共用処理リソースを再割り振りするコンピュータ装置に関する第２例のブロック図である。
【図４】共用処理リソースを動的に再配分するための望ましい実施形態による方法の流れ図である。
【符号の説明】
【００６２】
１００  コンピュータ・システム。
１２０  メイン・メモリ。
１６０  システム・バス。
１７５  他のコンピュータ・システム。
【図１】
2004252988.tif 000005
【図２】
2004252988.tif 000006
【図３】
2004252988.tif 000007
【図４】
2004252988.tif 000008