(57)【要約】 【課題】  システム仮想化を用いるコンピュータ・システムの物理システム・リソースへのアクセスを多数の論理パーティションの間でバランスさせるためのシステム、方法、及びコンピュータ可読媒体を提供する。【解決手段】  論理パーティションの各々は、最初に起動時に、割り当てられたディスパッチ・ウィンドウの使用のレベルに従って分類される。物理システム・リソースの１つ又は複数についての性能評価指標が、論理パーティションの１つ又は複数と関連付けて決定される。性能評価指標の決定は、プログラミング割り込みとは独立したハードウェア・レベルで実施される。論理パーティションの１つに割り当てるために物理システム・リソースの所与の組が構成されるディスパッチ・ウィンドウ中に、物理システム・リソースの所与の組は、代替論理パーティションと関連付けて決定された性能評価指標と、代替論理パーティションのディスパッチ・ウィンドウ使用分類とに従って、代替論理パーティションに再割り当てされる。【選択図】      図１
2008243203.tif 000002
【特許請求の範囲】
【請求項１】
多数の論理パーティションの各々がコンピュータ・システムの共有物理リソースを用いる他のパーティションから論理的に独立して作動する、システム仮想化パーティショニングを用いるコンピュータ・システムにおいて、前記多数の論理パーティション間で物理システム・リソースへのアクセスをバランスさせるための方法であって、
前記物理システム・リソースの１つ又は複数についての性能評価指標を前記論理パーティションの１つ又は複数と関連付けて収集するためにハードウェア検出論理を使用するステップと、
割り当てられたディスパッチ・ウィンドウの使用のレベルに従って前記論理パーティションの各々を分類するステップと、
前記論理パーティションの１つに割り当てるために前記物理システム・リソースの所与の組が予め構成されているディスパッチ・ウィンドウの間に、代替論理パーティションと関連付けられた収集済み性能評価指標と前記代替論理パーティションのディスパッチ・ウィンドウ使用分類とに従って、前記物理システム・リソースの前記所与の組を前記代替論理パーティションに割り当てるステップと、
を含む方法。
【請求項２】
前記性能評価指標をそれぞれの関連付けられた論理パーティションの各々と関連付けて格納するステップをさらに含み、
前記物理システム・リソースの前記所与の組を前記代替論理パーティションに割り当てる前記ステップは、前記格納された性能評価指標に従って前記代替論理パーティションを選択するステップをさらに含む、
請求項１に記載の方法。
【請求項３】
ディスパッチ・ウィンドウの間に前記論理パーティションの１つの論理プロセッサをディスパッチするステップであって、前記ディスパッチするステップは、前記論理パーティションの前記１つによって用いられるように前記物理システム・リソースが割り当てられる予め指定された期間を割り当てることを含む、ステップと、
前記ディスパッチされた論理プロセッサが前記予め指定された期間の間の処理を中断することに応答して、前記物理システム・リソースを前記予め指定された期間の残りの部分に再割り当てするために前記論理パーティションのうちの別の論理パーティションを選択するステップであって、前記選択するステップは前記論理パーティションのうちの前記別の論理パーティションと関連付けられた前記収集済み性能評価指標に従って実施される、ステップと、
をさらに含む、請求項１に記載の方法。
【請求項４】
多数の論理パーティションの各々がコンピュータ・システムの共有物理リソースを用いる他のパーティションから論理的に独立して作動する、システム仮想化パーティショニングを用いるコンピュータ・システムにおいて、前記多数の論理パーティション間で物理システム・リソースへのアクセスをバランスさせるためのシステムであって、
前記物理システム・リソースの１つ又は複数についての性能評価指標を前記論理パーティションの１つ又は複数と関連付けて収集するためのハードウェア検出論理と、
割り当てられたディスパッチ・ウィンドウの使用のレベルに従って前記論理パーティションの各々を分類するためのパーティション・スケジューリング論理と、
前記論理パーティションの１つに割り当てるために前記物理システム・リソースの所与の組が予め構成されているディスパッチ・ウィンドウの間に、代替論理パーティションと関連付けられた収集済み性能評価指標と前記代替論理パーティションのディスパッチ・ウィンドウ使用分類とに従って、前記物理システム・リソースの前記所与の組を前記代替論理パーティションに割り当てるためのパーティション・スケジューリング論理と、
を含むシステム。
【請求項５】
前記性能評価指標をそれぞれの関連付けられた論理パーティションの各々と関連付けて格納するための手段をさらに含み、
前記物理システム・リソースの前記所与の組を前記代替論理パーティションに割り当てるための前記パーティション・スケジューリング論理は、前記格納された性能評価指標に従って前記代替論理パーティションを選択するためのパーティション・スケジューリング論理をさらに含む、
請求項４に記載のシステム。
【請求項６】
ディスパッチ・ウィンドウの間に前記論理パーティションの１つの論理プロセッサをディスパッチするためのパーティション・スケジューリング論理であって、前記ディスパッチすることは、前記論理パーティションの前記１つによって用いられるように前記物理システム・リソースが割り当てられる予め指定された期間を割り当てることを含む、パーティション・スケジューリング論理と、
前記ディスパッチされた論理プロセッサが前記予め指定された期間の間の処理を中断することに応答して、前記物理システム・リソースを前記予め指定された期間の残りの部分に再割り当てするために前記論理パーティションのうちの別の論理パーティションを選択するためのパーティション・スケジューリング論理であって、前記選択は前記論理パーティションのうちの前記別の論理パーティションと関連付けられた前記収集済み性能評価指標に従って実施される、パーティション・スケジューリング論理と、
をさらに含む、請求項４に記載のシステム。
【請求項７】
多数の論理パーティションの各々がコンピュータ・システムの共有物理リソースを用いる他のパーティションから論理的に独立して作動する、システム仮想化パーティショニングを用いるコンピュータ・システムにおいて、該コンピュータ・システムに、前記多数の論理パーティション間で物理システム・リソースへのアクセスをバランスさせるための処理を実行させるプログラムであって、前記プログラムは、
前記物理システム・リソースの１つ又は複数についての性能評価指標を前記論理パーティションの１つ又は複数と関連付けて収集するためにハードウェア検出論理を使用するステップと、
割り当てられたディスパッチ・ウィンドウの使用のレベルに従って前記論理パーティションの各々を分類するステップと、
前記論理パーティションの１つに割り当てるために前記物理システム・リソースの所与の組が予め構成されているディスパッチ・ウィンドウの間に、代替論理パーティションと関連付けられた収集済み性能評価指標と前記代替論理パーティションのディスパッチ・ウィンドウ使用分類とに従って、前記物理システム・リソースの前記所与の組を前記代替論理パーティションに割り当てるステップと、
を含む方法を実行するように適合された、プログラム。
【請求項８】
前記方法は、前記性能評価指標をそれぞれの関連付けられた論理パーティションの各々と関連付けて格納するステップをさらに含み、
前記物理システム・リソースの前記所与の組を前記代替論理パーティションに割り当てる前記ステップは、前記格納された性能評価指標に従って前記代替論理パーティションを選択するステップをさらに含む、
請求項７に記載のプログラム。
【請求項９】
前記方法は、
ディスパッチ・ウィンドウの間に前記論理パーティションの１つの論理プロセッサをディスパッチするステップであって、前記ディスパッチするステップは、前記論理パーティションの前記１つによって用いられるように前記物理システム・リソースが割り当てられる予め指定された期間を割り当てることを含む、ステップと、
前記ディスパッチされた論理プロセッサが前記予め指定された期間の間の処理を中断することに応答して、前記物理システム・リソースを前記予め指定された期間の残りの部分に再割り当てするために前記論理パーティションのうちの別の論理パーティションを選択するステップであって、前記選択するステップは前記論理パーティションのうちの前記別の論理パーティションと関連付けられた前記収集済み性能評価指標に従って実施される、ステップと、
をさらに含む、請求項７に記載のプログラム。
【請求項１０】
多数の論理パーティションの各々がコンピュータ・システムの共有物理リソースを用いる他のパーティションから論理的に独立して作動する、システム仮想化パーティショニングを用いるコンピュータ・システムにおいて、前記多数の論理パーティション間で物理システム・リソースへのアクセスをバランスさせるための方法であって、
前記物理システム・リソースの１つ又は複数についての性能評価指標を前記論理パーティションの１つ又は複数と関連付けて収集するためにハードウェア検出論理を使用するステップと、
前記論理パーティションについてのメモリ・フットプリント値を求めるために前記性能評価指標を処理するステップと、
前記物理システム・リソースの所与の組が前記論理パーティションの１つに割り当てられているディスパッチ・ウィンドウの間に、前記求められたメモリ・フットプリント値に従って、前記物理システム・リソースの前記所与の組を前記論理パーティションのうちの別の論理パーティションに割り当てるステップと、
を含む方法。
【請求項１１】
前記性能評価指標は、１命令あたりのサイクルのデータを含み、前記メモリ・フットプリント値は、論理パーティションがメモリ・フットプリントを規定するための期間を含む、請求項１０に記載の方法。
【請求項１２】
メモリ・フットプリントを規定するための前記期間は、あるパーティションについてのディスパッチ期間内のある時点における１命令あたりのサイクル値が、同じパーティションについてのディスパッチ期間内の以前の時点における１命令あたりのサイクル値から特定の閾値より小さい分だけ変化する端点を検出することによって求められる、請求項１１に記載の方法。
【請求項１３】
多数の論理パーティションの各々がコンピュータ・システムの共有物理リソースを用いる他のパーティションから論理的に独立して作動する、システム仮想化パーティショニングを用いるコンピュータ・システムにおいて、前記多数の論理パーティション間で物理システム・リソースへのアクセスをバランスさせるためのシステムであって、
前記物理システム・リソースの１つ又は複数についての性能評価指標を前記論理パーティションの１つ又は複数と関連付けて収集するためのハードウェア検出論理と、
前記論理パーティションについてのメモリ・フットプリント値を求めるために前記性能評価指標を処理するためのパーティション監視論理と、
前記物理システム・リソースの所与の組が前記論理パーティションの１つに割り当てられているディスパッチ・ウィンドウの間に、前記求められたメモリ・フットプリント値に従って、前記物理システム・リソースの前記所与の組を前記論理パーティションのうちの別の論理パーティションに割り当てるためのパーティション・スケジューリング論理と、
を含むシステム。
【請求項１４】
前記性能評価指標は、１命令あたりのサイクルのデータを含み、前記メモリ・フットプリント値は、論理パーティションがメモリ・フットプリントを規定するための期間を含む、請求項１３に記載のシステム。
【請求項１５】
前記ハードウェア検出論理は、前記論理パーティションの所与の１つについて連続的なディスパッチにわたる１命令あたりのサイクルのデータを収集するためのハードウェア回路手段を含む、請求項１４に記載のシステム。
【請求項１６】
前記論理パーティションの所与の１つについて連続的なディスパッチにわたる１命令あたりのサイクルのデータを収集する前記ステップは、
前記所与の論理パーティションについてｍ番目のディスパッチ・ウィンドウ内のｎ番目の時間増分における１命令あたりのサイクルのデータを収集するステップと、
ｍ、ｎ、ｐ、及びｑを１より大きい整数又は１と等しい整数とすると、前記所与の論理パーティションについて（ｍ＋ｑ）番目のディスパッチ・ウィンドウ内の（ｎ＋ｐ）番目の時間増分における１命令あたりのサイクルのデータを収集するステップと、
をさらに含む、請求項１５に記載のシステム。
【請求項１７】
前記物理システム・リソースの前記所与の組を前記論理パーティションのうちの別の論理パーティションに割り当てるための前記パーティション・スケジューリング論理は、Ｔｕｎｕｔｉｌｉｚｅｄがディスパッチ・ウィンドウ期間の未使用部分を表し、ｘが１より大きい効率乗数であるとすると、前記論理パーティションのうちの前記別の論理パーティションが、ｘＴｆｐ≦Ｔｕｎｕｔｉｌｉｚｅｄの関係を満たす求められたメモリ・フットプリント値Ｔｆｐを有するかどうかに従って、前記物理システム・リソースの前記所与の組を前記論理パーティションのうちの前記別の論理パーティションに割り当てるためのパーティション・スケジューリング論理をさらに含む、請求項１３に記載のシステム。
【請求項１８】
多数の論理パーティションの各々がコンピュータ・システムの共有物理リソースを用いる他のパーティションから論理的に独立して作動する、システム仮想化パーティショニングを用いるコンピュータ・システムにおいて、該コンピュータ・システムに、前記多数の論理パーティション間で物理システム・リソースへのアクセスをバランスさせるための処理を実行させるプログラムであって、前記プログラムは、
前記物理システム・リソースの１つ又は複数についての性能評価指標を前記論理パーティションの１つ又は複数と関連付けて収集するためにハードウェア検出論理を使用するステップと、
前記論理パーティションについてのメモリ・フットプリント値を求めるために前記性能評価指標を処理するステップと、
前記物理システム・リソースの所与の組が前記論理パーティションの１つに割り当てられているディスパッチ・ウィンドウの間に、前記求められたメモリ・フットプリント値に従って、前記物理システム・リソースの前記所与の組を前記論理パーティションのうちの別の論理パーティションに割り当てるステップと、
を含む方法を実行するように適合された、プログラム。
【請求項１９】
前記性能評価指標は、１命令あたりのサイクルのデータを含み、前記メモリ・フットプリント値は、論理パーティションがメモリ・フットプリントを規定するための期間を含む、請求項１８に記載のプログラム。
【請求項２０】
メモリ・フットプリントを規定するための前記期間は、あるパーティションについてのディスパッチ期間内のある時点における１命令あたりのサイクル値が、同じパーティションについてのディスパッチ期間内の以前の時点における１命令あたりのサイクル値から特定の閾値より小さい分だけ変化する端点を検出することによって求められる、請求項１９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、データ処理システムにおけるワークロードを管理することに関する。より具体的には、本発明は、論理パーティション・システムなどのパーティション・システムにおいて、ワークロードを管理することに関する。
【背景技術】
【０００２】
コンピュータ・リソースの論理パーティショニングによって、単一の物理マシン又はプロセッサ複合体内で多数のシステム・イメージを確立できるようになる。仮想化とは、仮想マシン（ＶＭ）としても知られる各々のシステム・イメージが、その物理コンピュータ・システムの共有リソースを用いる他のＶＭから論理的に独立して作動する、システムのイメージ化を指す用語である。このような形で、ＶＭに対応する各々の論理パーティションは、独立にリセットし、各々のパーティションで異なるものとすることができるオペレーティング・システムをロードし、異なる入出力（Ｉ／Ｏ）デバイスを用いる異なるソフトウェア・プログラムで作動させることができる。論理パーティション・システムの市販の形態として、例えば、ＩＢＭ社のＰＯＷＥＲ５マルチプロセッサ・アーキテクチャが挙げられる。
【０００３】
論理パーティショニングの１つの重要な側面が、それぞれのパーティションのワークロードの管理である。例えばＰＯＷＥＲ５においては、ハイパーバイザと呼ばれるワークロード・マネージャがパーティション間のワークロードを管理する。このタイプの共有リソース環境においては、ハイパーバイザは、広義には一般的なマルチタスク・コンピュータ・スケジューリングに類似の交互タイム・スロット・スケジューリング技術を用いて、メモリ、中央処理ユニット（ＣＰＵ）、Ｉ／Ｏといった物理システム・リソースを論理パーティションに割り当てる。ハイパーバイザは、必要に応じて、及び／又は、予め割り当てられた形で、論理プロセッサとしてのパーティションの仕事を物理システム・リソースにディスパッチすることによって、パーティションのワークロードをバランスさせようとする。
【０００４】
パーティション・スケジューリングの１つの態様は、具体的には、プロセッサ・リソースの使用及び共有に関する。即ち、共有プロセッサ・プールのプロセッサ容量を用いるパーティションは、スケジューリング目的について上限付きのもの又は上限なしのもののいずれかとして定義される。上限付きパーティションは、設定されたプロセッサの使用資格（entitlement）を超えることができない。論理パーティションについての上限なしサポートは、共有プロセッサ・プールに未使用の容量が存在する場合には、上限なしパーティションがその設定された容量を超えられるようにするものである。このような未使用の容量は、他のパーティションがその設定された容量の全てを十分に使用していないか、そうでなければ共有プールの容量が完全に割り当てられていないことによってもたらされる。
【０００５】
ディスパッチされると、論理パーティションは、割り当てられた物理プロセッサ・リソースを論理プロセッサとして組み込む。論理プロセッサ（仮想プロセッサと呼ばれることもある）のスケジューリングは、所与のディパッチ・ウィンドウの間にパーティションが使用するために処理サイクル、メモリ、及び物理システム・リソースが割り当てられる期間である、予め指定された期間、即ちタイム・スライスを割り当てることを必要とする。例えばＰＯＷＥＲ５上で動作するＡＩＸオペレーティング・システムは、デフォルトで１０ミリ秒のディスパッチ・ウィンドウを有する。割り当てられたディスパッチ・ウィンドウのいずれかの未使用部分は、システムの上限なしパーティションの１つ又は複数に割り当てることができる。ディスパッチ・ウィンドウの未使用部分についてどの上限なしパーティションが元のスケジューリングされたパーティションを代替するかを決定するために、上限なしパーティションの優先順位レベルに基づくくじ引き機構（lottery mechanism）が用いられることが多い。
【０００６】
上記の代替ディスパッチ技術は、比較的単純であり計算コストが低いが、パーティションの論理構造及び機能特性に関連する潜在的な非効率性には適切に対処していない。スケジューリングの非効率性の重大な原因は、いわゆるインタラクティブ・パーティションをそのそれぞれのディスパッチ・ウィンドウの間に代替するときに生じる。パーティションは、外部処理イベントへの依存性と、それに対応する所与のディスパッチ・ウィンドウの間の割り込み可能性とに基づいて、「インタラクティブ」あるいは「バッチ」として特徴付けられる。バッチ・パーティションは、外部イベントからの応答とはほぼ無関係であり、したがって通常はディスパッチ・ウィンドウ全体を使用する。インタラクティブ・パーティションは、対照的に、ディスパッチ・ウィンドウの間に活動を中断して、外部イベント応答を待つのが普通である。
【０００７】
インタラクティブ・パーティションが作業を中断しているディスパッチ・ウィンドウの他の未使用サイクルを有効に利用するために、ハイパーバイザは、上述の優先順位付けされたくじ引き機構を用いて、中断されたパーティションの代替を試みることができる。しかしながら多くの場合においては、中断されたパーティションは、緊急の外部イベント応答を待っており、したがって、パーティションの現在の中断状態にかかわらず、パーティションを代替することなく現在のディスパッチ・ウィンドウ内で終了することになっているタスクを終了させるためには、付加的なサイクルを必要とする可能性が高い。
【０００８】
ディスパッチ・ウィンドウ・サイクルは、中断されたパーティションがパーティションの非アクティブの期間中に代替されない場合には、無駄になる。一方、従来のパーティション代替技術は、代替されなければ無駄になるディスパッチ・ウィンドウ・サイクルを有効に利用できるようにするものであるが、代替されるインタラクティブ・パーティションのインタラクティブ処理に割り込むことの計算コストに対処できない。こうした割り込みは、代替されるインタラクティブ・パーティションを再キューイングし、パーティションを再びディスパッチするためにキューを通してサイクル・バックすることを必要とする。専用システムとは異なり、仮想システムは、各々のディスパッチについてメモリ・フットプリントを再び規定する（establish）ことを必要とする。したがって、代替されるインタラクティブ・パーティションは、再キューイングを必要とすることに加えて、メモリ・フットプリントを回復するために付加的なサイクルを費やさなければならず、このことが仮想化されたシステムにおけるワークロード管理の非効率性の重大な原因となる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来の論理パーティション管理は、パーティション・スケジューリング及び実行時のワークロード・バランシングに関する上述の問題点及び多くの他の問題に対処できない。したがって、論理パーティションの間でスケジューリングとワークロード・バランシングとを管理するための方法、システム、及びコンピュータ・プログラムの必要性が存在することが理解できる。本発明は、従来技術によって未解決のこれらの必要性及び他の必要性に対処するものである。
【課題を解決するための手段】
【００１０】
システム仮想化を用いるコンピュータ・システムの物理システム・リソースへのアクセスを多数の論理パーティション間でバランスさせるためのシステム、方法、及びコンピュータ可読媒体が、本明細書に開示される。論理パーティションの各々は、起動時に、割り当てられたディスパッチ・ウィンドウの使用のレベルに従って分類される。物理システム・リソースの１つ又は複数についての性能評価指標（performance metrics）が、論理パーティションの１つ又は複数と関連付けて決定される。性能評価指標の決定は、プログラミング割り込みから独立したハードウェア検出及び追跡論理を用いて、パーティションのディスパッチの間に実施される。論理パーティションの１つに割り当てるために物理システム・リソースの所与の組が構成されているディスパッチ・ウィンドウの間に、物理システム・リソースの所与の組は、代替論理パーティションと関連付けられた決定済み性能評価指標と代替論理パーティションのディスパッチ・ウィンドウ使用分類とに従って、代替論理パーティションに再割り当てされる。
【００１１】
別の態様においては、物理システム・リソースを共有する多数の論理パーティションの間でワークロードをバランスさせるための方法、システム、及びコンピュータ・プログラムが、メモリ・フットプリント統計を使用してパーティション代替の適格性及び優先順位を決定する。本方法は、物理システム・リソースの１つ又は複数についての性能評価指標を論理パーティションと関連付けて決定するステップと、メモリ・フットプリント値を求めるために性能評価指標を用いるステップとを含む。物理システム・リソースの所与の組が論理パーティションの１つに割り当てられるディスパッチ・ウィンドウの間に、物理システム・リソースの所与の組は、求められたメモリ・フットプリント値に従って別の論理パーティションに再割り当てされる。
【００１２】
別の態様においては、所与のディスパッチ・ウィンドウの間に、物理システム・リソースを共有する多数の論理パーティションをスケジューリングするスケジューラを動的にチューニングするための方法、システム、及びコンピュータ・プログラムが開示される。本方法は、システムの起動時に、予め設定されたディスパッチ・ウィンドウ期間を用いて論理パーティションをディスパッチするステップを含む。論理パーティションのディスパッチの間に、物理システム・リソースの１つ又は複数についての性能評価指標が論理パーティションと関連付けて決定される。パーティションと関連付けられた性能評価指標を使用して、ディスパッチ・ウィンドウ期間中に他のスケジューリング経験則（ヒューリスティクス）の中からパーティションのスケジューリングを動的に決めるのに使用される、論理パーティションのメモリ・フットプリント値が求められる。
【００１３】
本発明の上記の並びに付加的な目的、特徴、及び利点は、以下の詳細な説明において明らかとなる。
【発明を実施するための最良の形態】
【００１４】
本発明の特性と考えられる新規な特徴が、特許請求の範囲に記載される。しかしながら、本発明自体、並びに、その好ましい使用形態、更なる目的、及び利点は、添付図面と併せて読むときに、例示的な実施形態に関する以下の詳細な説明を参照することによって最も良く理解される。
【００１５】
本発明のシステム及び方法は、仮想化されたコンピュータ環境内において、より効率的なリソース割り当て及びワークロード・バランシングを可能にする。例示的な仮想化されたコンピュータ環境は、パーティションの２つ又はそれ以上の間でワークロードが管理された状態で、多数の論理パーティションを含む。本明細書において用いられるパーティションという用語は、一般に、オペレーティング・システムに割り当てられるデータ処理ハードウェア・リソースのサブセットを指す。パーティションは、スレッド又は他のいずれかの計算ユニットを指すこともある。本発明のシステム及び方法を実装するための好ましい実施形態は、全てにわたり同一の参照符号が同一の対応する部分を指している図面を参照して、以下で図示され説明される。
【００１６】
本発明は、ワークロード・マネージャの指揮の下で、論理パーティション間における共有可能リソースの動的な再分配を可能にする。１つの態様においては、本発明は、動的に調整可能なパーティション・スケジューリング機構を用いることによって、ワークロード管理及びシステム効率の改善を達成する。パーティション・スケジューリング機構は、１つの実施形態においてはパーティション・スケジューリングの評価指標としてメモリ・フットプリントを規定することに関連するパーティション性能評価指標を決定する、ハードウェア追跡機構を特徴とする。別の態様においては、本発明は、ハードウェアにより追跡されたメモリ・フットプリント評価指標を使用して、ディスパッチ・ウィンドウ内におけるそれぞれの論理パーティションのスケジューリングを動的に調整する。
【００１７】
本発明は、１つの実施形態においてはハイパーバイザとすることができるワークロード・マネージャの指揮の下で、論理パーティション間における共有可能リソースの動的な再分配を可能にする。これらのリソースは、例えば、ＣＰＵリソース、論理プロセッサ・リソース、Ｉ／Ｏリソース、コプロセッサ、チャネル・リソースなどを含むことができる。１つの実施形態においては、リソース割り当ての動的な調整は、ワークロード・バランシングと全体的なシステム効率の増大とを達成するための性能調整フィードバック・ループにおいて、ハイパーバイザ機能とハードウェア及びファームウェアのパーティション監視機構とを統合することによって達成される。
【００１８】
１つの態様においては、本発明は、メモリ・アクセス待ち時間によってもたらされるシステム・スループットの制限に対応する。本発明は、パーティション・スケジューリングについてのメモリ・アクセス統計を決定して使用することによって、メモリ待ち時間の影響を軽減する。こうしたメモリ依存のパーティション・スケジューリングは、パーティション・スケジューリング決定を改善すると共に、より大きなディスパッチ・ウィンドウ・スケジューリングの自由度を与える。１つの実施形態においては、本発明は、元のディスパッチされたパーティションを横取りする（preempt）か又はそうでなければそれを代替するパーティションを選択する際のメモリ・フットプリント設定コストを明らかにするものである。本発明は、さらに続いて、代替されたパーティションがその元のディスパッチ・ウィンドウの一部を取り戻すために再ディスパッチされる場合のフットプリント設定コストを明らかにするものである。
【００１９】
ここで、全てにわたり同一の参照符号が同一の対応する部分を指す図面を参照すると、本発明のワークロード管理機能を実装する仮想化されたコンピュータ環境の１つの実施形態が、図１に示される。ニューヨーク州アーモンクのＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎによって提供されるＰＯＷＥＲＳ５サーバに含まれる機能の多くを含む仮想コンピュータ・システム１００が図示される。仮想コンピュータ・システム１００は、一般に、ハイパーバイザ１１５を含むファームウェア層リソース１２０と、共有プロセッサ・プール１１７並びにメモリ・デバイス１２１及び１２５を含むハードウェア層リソース１２２とを含む。共有プロセッサ・プール１１７は、好ましくは、それぞれＣＰＵ１−ＣＰＵ４と表示される多数のプロセッサ１０８、１１０、１１２、及び１１４を含み、それぞれのプロセッサと関連付けられたキャッシュ・メモリＭ１−Ｍ４  １２１を有する、マルチプロセッサ複合体を備える。仮想コンピュータ・システム１００は、それぞれＬＰ１−ＬＰ４と表示される多数の論理パーティション１０５Ａ−１０５Ｄをさらに含む。ハイパーバイザ１１５は、多数の論理パーティション１０５Ａ−１０５Ｄの間におけるハードウェア層リソース１２２の割り当てを管理し、調整する。
【００２０】
ＣＰＵ１−ＣＰＵ４及びそれらと関連付けられたキャッシュ・メモリＭ１−Ｍ４は、リソース仮想化となるようにハイパーバイザ１１５によって論理パーティションＬＰ１−ＬＰ４に割り当てられる物理システム・リソースの一部を表す。物理システム・リソースは、一般に、プログラム階層化組織などの非物理的で抽象的なシステム・リソース及びオペレーティング・システムと関連付けられるようなプログラム・プロトコルとは区別される、メモリ・デバイス、プロセッサ、ドライバ、バス、プロセッサ／バス・サイクルといった、有形のシステム・デバイス、コンポーネント、及び関連する物理的現象である。物理システム・リソースは、さらに、仮想マシンのような論理的又は仮想的に定義可能なエンティティとも区別可能である。論理パーティションＬＰ１−ＬＰ４の各々は、１つ又は複数の論理プロセッサ（明示的に図示されない）を含み、論理プロセッサの各々は、パーティションに割り当てられた物理プロセッサＣＰＵ１−ＣＰＵ４のうちの１つの全体又は一部を表す。パーティション１０５Ａ−１０５Ｄのうちの所与の１つの論理プロセッサは、下のプロセッサ・リソースをそのパーティションのために確保するようにそのパーティション専用とするか、又は、下のプロセッサ・リソースを他のパーティションにも利用可能とするように共有にすることができる。
【００２１】
図示される実施形態においては、論理パーティションＬＰ１−ＬＰ４の各々は、パーティション間で異なっていてもよい常駐のオペレーティング・システム１０４と、１つ又は複数のアプリケーション１０２とを有する個別のシステムとして機能する。１つの実施形態においては、オペレーティング・システム１０４Ａ−１０４Ｄの１つ又は複数は、Ｌｉｎｕｘオペレーティング・システムとしてもよく、ＩＢＭ社によって提供されるｉ５／ＯＳ（商標）オペレーティング・システムとしてもよい。さらに、オペレーティング・システム１０４Ａ−１０４Ｄ（又はそのサブセット）は、それぞれのパーティションの各々の内部におけるアプリケーション・ワークロードを管理するために、それぞれのＯＳワークロード・マネージャ１０６Ａ−１０６Ｄを含む。
【００２２】
１つの実施形態においては、ハイパーバイザ１１５は、使用資格のある（entitled）容量を持たない隠しパーティションとして作動する。論理パーティションＬＰ１−ＬＰ４へのシステム・リソースの割り当ては、プロセッサＣＰＵ１−ＣＰＵ４上で稼働するマイクロコードによって実装することができるハイパーバイザ１１５により管理される。ハイパーバイザ呼び出しは、オペレーティング・システム１０４Ａ−１０４Ｄのいずれかが、ハイパーバイザ１１５と通信して、以下でより詳細に説明される技術を用いてパーティションのアイドル時間を最小にするスケジューリング経験則をサポートすることによって物理プロセッサ容量をより効率的に使用できるようにするための手段を提供する。論理パーティションＬＰ１−ＬＰ４及びハイパーバイザ１１５は、典型的には、プロセッサＣＰＵ１−ＣＰＵ４と関連付けられた中央メモリのそれぞれの部分にある１つ又は複数の有形のプログラム・モジュールを含む。
【００２３】
図２は、本発明の１つの実施形態に係る、パーティション・スケジューリングを容易にするように適合された例示的なアーキテクチャ２００を示す高レベル概念図である。パーティション・スケジューリング・アーキテクチャ２００は、パーティション管理ユニット（ＰＭＵ）２０４と、共有プロセッサ・プール１１７、ハイパーバイザ１１５、及びキャッシュ・メモリ２０６といった他のシステム・コンポーネントとを統合する。図２においてＰＭＵ２０４は別個のモジュールとして示されているが、ＰＭＵ２０４のハードウェア、ファームウェア、及びソフトウェアのコンポーネントのうちの幾つか又は全てをハイパーバイザ１１５内に統合してもよいことに留意すべきである。さらに、キャッシュのブロック２０６は、共有プロセッサ・プール１１７内に含まれるＣＰＵ１０８、１１０、１１２、１１４の１つ又は複数によって使用されるキャッシュ・メモリ・リソースＭ１−Ｍ４の集まりのうちの幾つか又は全てを代表するものであることに留意すべきである。
【００２４】
ＰＭＵ２０４は、パーティションＬＰ１−ＬＰ４に割り当てられるリソースについての、例えばメモリ使用に関する評価指標のような物理システム・リソース性能評価指標を監視する、論理、プログラム・モジュール、並びに、他のハードウェア・モジュール、ファームウェア・モジュール及び／又はソフトウェア・モジュールを含む。こうした性能評価指標は、好ましくは、キャッシュの使用を含み、具体的には、パーティションＬＰ１−ＬＰ４の各々のキャッシュ・フットプリントに関する評価指標を含む。図２の高レベル概念図は、ＰＭＵ２０４と、論理パーティションと関連付けられた物理システム・リソースのこうした監視を可能にする他のシステム・コンポーネントとの間の統合及び対話のインターフェースを示す。
【００２５】
現在ディスパッチされている論理パーティションが、共有プロセッサ・プール１１７のＣＰＵを用いてその命令ストリームを実行し、ロード操作又はストア操作を介してメモリ位置の内容にアクセスしたとき、ＣＰＵは、これらの要求をＣＰＵ−キャッシュ・インターフェース２１２を通してその関連付けられたキャッシュ２０６に発行する。そのときのキャッシュ２０６のタスクは、キャッシュのストレージにそのメモリ内容が存在するか否かを判定し、（ａ）存在する場合には、キャッシュされたデータをＣＰＵに戻し、（ｂ）存在しない場合には、ロード又はストアを実施する前に共有メモリ１２５などのメイン・メモリからそのメモリ内容をフェッチすることである。要求されたメモリ内容が既にキャッシュ２０６にある場合には、キャッシュ−メモリ・インターフェース２１０などを介して共有メモリ１２５にアクセスすることなく、そのデータがＣＰＵに戻される。この時点では、ＰＭＵ２０４との対話は必要ない。しかしながら、要求されたデータがキャッシュ２０６において利用可能ではない場合には、キャッシュ−メモリ・インターフェース２１０を通してメイン共有メモリ１２５からデータをフェッチしなければならない。
【００２６】
図３を参照すると、図２に示されるアーキテクチャ内に実装することができるパーティション監視ユニット２０４、ハイパーバイザ１１５、及びパーティション履歴テーブル３０５の内部アーキテクチャを示す高レベル概念図が示される。入力側はＰＭＵ２０４を含み、ＰＭＵ２０４は、ＣＰＵインターフェース２０８及びキャッシュ・インターフェース２１４からの入力を処理してパーティション・ベクトル３０８、３１０、及び３１２を生成する追跡論理モジュール３０２を含むものとして示される。出力側においては、アーキテクチャは、ハイパーバイザ１１５とパーティション履歴テーブル３０５とを含む。図示される実施形態においては、ハイパーバイザ１１５は、パーティション・ベクトル３０８、３１０、及び３１２を処理してパーティション履歴テーブル３０５の内容を生成及び更新する優先順位値計算モジュール３０４を含む。パーティション履歴テーブル３０５は、仮想コンピュータ・システム１００内のＮ個の論理パーティション全てについての項目（エントリ）を含む。図示される実施形態においては、パーティション履歴テーブル３０５は、各々がシステムにおけるＮ個の論理パーティションの１つに対応する行レコードを含むものとして示されており、各々のパーティションのレコードは、多数の列データ・フィールドを含む。列フィールドの中には、それぞれの論理パーティションの各々について、論理パーティション（ＬＰ）識別子フィールドと、１命令あたりのサイクル（ＣＰＩ）値のためのフィールド、キャッシュ・ライン・カウント（ＣＬＣ）値のためのフィールド、及びキャッシュ・ミス・カウント（ＣＭＣ）値のためのフィールドとがあり、これらは以下でより詳細に説明される。各々のパーティション履歴テーブル項目についての列フィールドは、ハードウェア検出されるＣＰＩ値、ＣＬＣ値、及びＣＭＣ値に加えて、メモリ・フットプリント期間値ＴＦＰのためのフィールドと、フットプリント値の変動ＶＡＲのためのフィールドと、上述のＣＰＩ値、ＣＬＣ値、及びＣＭＣ値のうちの１つ又は複数から導出することができるキャッシュ・アフィニティ（ＣＡ）値のためのフィールドと、を含む。
【００２７】
ＰＭＵ２０４内において、追跡論理モジュール３０２は、図１及び図２に示される処理リソース及びメモリ・リソースのような物理システム・リソースの性能評価指標を検出し、処理し、一時的に格納するための論理及びデータ・ストレージ・ハードウェア・デバイスを含む。性能評価指標は、検出時にメモリ及びＣＰＵなどの物理システム・リソースが割り当てられている論理パーティションに関連付けて検出される。検出され処理された性能評価指標は、物理リソースが現在割り当てられている論理パーティションの識別情報と関連付けて格納される。性能評価指標の所与の組と論理パーティションとの間の関連付けは、１つ又は複数の現在ディスパッチされているパーティションの識別情報を含むＣＰＵインターフェース・レジスタ３１４によって与えることができる。レジスタ３１４内のパーティションＩＤ値は、ディスパッチ決定時に設定されることが好ましい。
【００２８】
追跡論理モジュール３０２によって収集される例示的な性能評価指標は、ＣＰＵインターフェース２０８及び／又はキャッシュ・インターフェース２１４上で検出される信号から直接的に又は計算で求めることが可能な、ＣＰＩカウント、キャッシュ・ライン・カウント、キャッシュ・ミス・カウント、及び他のメモリ・アクセス又は処理効率に関連する評価指標を含むものとすることができる。プロセッサ使用リソース・レジスタ３２２を使用して、パーティションが物理プロセッサ上にディスパッチされるタイム・スライスの間の活動を測定するサイクル・カウントを与えることができる。図示される実施形態においては、追跡論理３０２によって検出された、現在ディスパッチされているパーティションａ−ｍの各々についてのＣＰＩカウントは、ディスパッチされたパーティション・ベクトル３０８内に格納される。同様に、追跡論理３０２によって検出された、ディスパッチされている論理パーティションａ−ｍについてのキャッシュ・ライン・カウント及びキャッシュ・ミス・カウントは、それぞれ、ディスパッチされたパーティション・ベクトル３１０及び３１２に格納される。
【００２９】
好ましい実施形態においては、追跡論理モジュール３０２内の検出論理及びデータ・ストレージ・デバイスは、オペレーティング・システム割り込みのようなプログラム割り込み機構とは独立に、ＣＰＵインターフェース２０８及びキャッシュ・インターフェース２１４上の信号を収集して処理するハードウェア・デバイス及びファームウェア・デバイスを含む。このような追跡デバイス及びストレージ・デバイスは、論理ゲート、レジスタなどといったハードウェアと、システム・バス・スヌーパによって用いられるようなファームウェア・エンコードとを含むものとすることができる。追跡論理モジュール３０２は、ソフトウェア・プログラム割り込みとは独立に、ハードウェア及び／又はファームウェア・レベルで、その検出機能、処理機能、及びストレージ機能を実施する。したがって、このような検出機能、処理機能、及びストレージ機能は、オペレーティング・システム・カーネルの管理上の制約とは独立して実施される。こうすることで、追跡論理モジュール３０２が性能評価指標を収集するサンプリング・レートは、以下でより詳細に説明されるようにパーティションのスケジューリング及び代替に用いられる基準データを求めるのに必要な、例えば０．１ミリ秒といった十分に細かい粒度（sufficiently fine granularity）を持つものとすることができる。
【００３０】
ディスパッチされたパーティション・ベクトル３０８、３１０、及び３１２内のシステム性能評価指標は、現在ディスパッチされている又は以前にディスパッチされた論理パーティションの番号ａ−ｍの各々について、それぞれ、ＣＰＩカウント、キャッシュ・ライン・カウント、及びキャッシュ・ミス・カウントを含む。図３においては、各々の記録されたパーティション・ベクトル値と、対応する論理パーティションとの間の関連付けは、各々が特定の論理パーティションを表す下付き文字ａ−ｍによって視覚的に表されている。パーティション・ベクトル３０８、３１０、及び３１２を格納する追跡論理３０２内のストレージ・デバイスは、専用のレジスタであることが好ましい。
【００３１】
追跡論理３０２によって検出され、パーティション・ベクトル３０８、３１０、及び３１２に収集された性能評価指標は、パーティション履歴テーブル３０５を更新するためにハイパーバイザ１１５によって処理される。ハイパーバイザ１１５が生成するか又は受信する割り込み信号によって、ディスパッチされたパーティション・ベクトル３０８、３１０、及び３１２内に収集されたシステム・データを用いてパーティション履歴テーブル３０５がいつ更新されるべきかが決定される。割り込みは、ディスパッチされたパーティションａ−ｍのうちの少なくとも１つについてのディスパッチ・ウィンドウの終了を示すか、そうでなければこれと同時に起こる。割り込みを受信すると、優先順位値計算モジュール３０４は、パーティション履歴テーブル３０５内の項目を追加又は更新するために、パーティション・ベクトル３０８、３１０、及び３１２を取得して処理する。図示される実施形態においては、ディスパッチされたベクトル３０８、３１０、及び３１２内のＣＰＩ、ＣＬＣ、及びＭＣ評価指標は、更新割り込み信号に応答して、対応する論理パーティションのレコードについてのそれぞれの列の評価指標項目と比較されるか、そうでなければ処理される。図３は、論理パーティションａ−ｍが最初にディスパッチされる初期のシステム起動時を示していると仮定すると、優先順位値計算モジュール３０４は、パーティション履歴テーブル３０５にパーティションａ−ｍの各々についてのレコード項目を追加し、パーティション・ベクトル・データをベクトル３０８、３１０、及び３１２から対応するレコード項目に入力する。レコード生成プロセスは、システム初期化の際に、Ｎ個の論理パーティション全てについてパーティション履歴テーブル３０５内にレコードが格納されるまで続く。
【００３２】
初期のディスパッチと、その後の各々の論理パーティションについてのパーティション・レコード生成とに続いて、優先順位値計算モジュール３０４は、信号が送信される各々の更新間隔ごとに、ディスパッチされたベクトル３０８、３１０、及び３１２を処理して、以下でより詳細に説明されるように、パーティション履歴テーブル３０５内の性能評価指標及び／又は代替優先順位値の項目を追加するか、置換するか、そうでなければ修正し続ける。
【００３３】
図４は、本発明に係る、論理パーティションについてのスケジューリング優先順位を求めるためのシーケンスの高レベル・ブロック図である。具体的には、図４は、現在ディスパッチされているパーティションを代替又は横取りするなどといったディスパッチ決定を行う際にハイパーバイザ１１５が利用できるような、例示的な時間及びイベントに基づく優先順位因子を示す。
【００３４】
動的に調整可能な因子として優先順位をパーティション・ディスパッチ・スケジューリング全体の中に組み込むために、ハイパーバイザ１１５は、各々の論理パーティションの相対的な又は絶対的な優先順位をキャッシュ・フットプリントに関連する評価指標の関数として求めるので、ハードウェアにより検出された性能評価指標をＰＭＵ２０４から取得しなければならない。
【００３５】
上述のように、メモリ・インターフェース及びＣＰＵバス・インターフェースから直接求められる物理システム性能評価指標は、追跡論理モジュール３０２内のハードウェア・レベルの論理及びレジスタを用いて検出され、最初に登録及び処理される。追跡論理モジュール３０２によって検出又は生成されるキャッシュ・フットプリント評価指標は、好ましくは、各々のディスパッチされたパーティションについてのＣＰＩカウント、キャッシュ・ライン・カウント、及びキャッシュ・ミス・カウントを含み、全体的なディスパッチ優先順位を導くために他のスケジューリング優先順位因子と組み合わせることができるパーティション・ベクトル３０８、３１０、及び３１２として収集される。
【００３６】
図５−図９は、図４と併せて、具体的に、最小のパーティション使用資格が割り当てられた後にディスパッチされたパーティション即ちスケジューリング・パーティションを代替又は横取りすることに関連する、パーティション監視機能を論理パーティション・スケジューリングに組み込む方法の例示的な実施形態を示す。第１に、図４に示されるパーティションの優先順位付けシーケンスは、パーティションについて優先順位値を設定及び調整するために使用される、ハードウェアにより検出される物理システム性能評価指標を含む多数の優先順位因子の蓄積及び使用を示す。図６は、コンピュータにより実施されるプロセスをさらに詳細に示すものであり、このプロセスによって、ハードウェア検出される物理システムの性能評価指標、特にメモリ・アクセス性能に関連する評価指標が求められ、各々のパーティションについて１つ又は複数のパーティション・スケジューリング優先順位因子を特性化するために具体的に使用される。図７−図９は、パーティションと関連付けられたメモリ・フットプリント評価指標を用いて優先順位を決定し、ディスパッチ・ウィンドウをチューニングするための、コンピュータにより実施されるプロセスを示す。図５及び図６に示される、優先順位付けの特性化及び／又はスケジューラのチューニングは、ハイパーバイザ１１５内に組み込まれるディスパッチャのようなハイパーバイザ・ディスパッチャと共に用いることができる。しかしながら、本明細書において説明される本発明の特徴及び技術は、示される実施形態のいずれか１つ又は複数に必ずしも限定されないことに留意すべきである。当業者であれば、パーティションの優先順位を決定して使用するプロセスの様々な態様は、本発明の趣旨及び範囲から逸脱することなく変更することができ、さらに、本明細書において説明される機構及びプロセスの基本的な１つ又は複数の態様は、他のスケジューリング・アルゴリズムと共に使用できることを容易に認識し理解するであろう。
【００３７】
図４を続けると、パーティション・スケジューリング／代替の決定に影響を及ぼさないように最初はゼロか、そうでなければ中間値とすることができるベース優先順位値ｂｐ（Ｐｉ）４０２を有するパーティションＰｉが生成される。ベース優先順位値ｂｐ（Ｐｉ）は、ハイパーバイザ１１５がパーティションの横取り及び／又は代替の決定を行うために使用することができる数値若しくは数的な印又は他の量的な値若しくは印とすることができる。パーティションＰｉの全体優先順位値４２５は、ベース優先順位値ｂｐ（Ｐｉ）４０２を動的に調整する時間フェアネス成分（temporalfairness component）を含むことが好ましい。図４に示されるように、時間ｔにおける現在の優先順位ｃｐ（Ｐｉ，ｔ）４０６は、パーティションのベース優先順位値ｂｐ（Ｐｉ）を優先順位総和ｄΣｔｊ４０４として累積的に表されるなんらかの時間依存増分ｄだけ増加させることによって、各々の時間量で計算される。したがって、現在の優先順位ｃｐ（Ｐｉ，ｔ）４０６は、現在の時間間隔ｊに応じた優先順位総和ｄΣｔｊ４０４内のどこかに入る増分フェアネス成分をベース優先順位に加えたものを含む。性能評価指標に基づかないパーティション・ディスパッチの場合は、論理パーティションの優先順位は、現在の優先順位ｃｐ（Ｐｉ，ｔ）４０６に等しい。
【００３８】
本発明は、パーティションＰｉのスケジューリング優先順位４２５を求めるために、パーティションと関連付けられた物理システム性能評価指標をさらに与えて、組み入れる、パーティション・スケジューリング機構を提供する。このことは、物理処理リソース（プロセッサ、メモリなど）の共有される組を用いて仮想化システム内で実行されている多数の論理パーティションについて、異なるパーティションの優先順位を同時に計算することによって、異なる値が生じる場合があることを意味する。具体的には、性能に依存しないパーティションの優先順位ｃｐ（Ｐｉ，ｔ）４０６は、性能に基づく因子Δｐ４１８によってスケジューリング間隔ごとに調整される４２０。性能に基づく因子Δｐ４１８は、可能な特定値の範囲のうちの１つを表し、これにより、当該パーティションと関連付けられたシステム性能評価指標を用いてパーティションの優先順位レベルを増減させることができる。１つの実施形態においては、因子Δｐ４１８は、パーティションのキャッシュ・フットプリント値ＣＦＰ（Ｐｉ）を処理する信頼性因子計算モジュールζ４１６を用いることによって計算される。ＣＦＰ（Ｐｉ）自体は、キャッシュ・フットプリント計算モジュールΘ４１２によって表される１つ又は複数の論理機能を介して、本発明の機構によって数量化されるパーティションＰｉのキャッシュ・フットプリント値として計算される。即ち、１つ又は複数のパーティションに関連付けられた物理リソース評価指標ＰＲＭ（Ｐｉ）の組は、パーティション・スケジューリング優先順位を決定するのに役立つＣＦＰ（Ｐｉ）のような特定のメモリ・フットプリント値を求めるために、キャッシュ・フットプリント計算モジュールΘ４１２によって処理される。フットプリント計算モジュールΘ４１２及び信頼性因子計算モジュールζ４１６は、性能に基づく因子Δｐ４１８を定める。したがって、図４に示されるように、時間ｔにおけるパーティションＰｉの全体優先順位値は、ベース・パーティション優先順位と、時間フェアネス調整と、パーティションと関連して測定される物理システム評価指標との複合関数である。
【００３９】
図５は、本発明に係る、ディスパッチされたが中断されているパーティションを代替するための、ハイパーバイザ１１５内に実装することができるパーティション・ディスパッチャ状態の高レベル・ブロック図である。代替パーティション・ベクトル又は代替キュー５０５が生成され、本明細書において開示される方法に従ってハイパーバイザ１１５によって動的に調整される。代替キュー５０５は、例えば、現在実行中のパーティションが、現在のディスパッチ・ウィンドウの間にそのディスパッチ・ウィンドウ時間が終了する前に処理を中断したときに、絶対的な代替優先順位又は相対的な代替優先順位を決定するためにアクセスされる。代替キュー５０５は、優先される代替オブジェクトＬＰａ−ＬＰｎのキューとして編成され、各々のオブジェクトは、パーティション固有のデータの中でもパーティションの設定及び調整されたディスパッチ・スケジューリング状態及び代替優先順位状態などのパーティション状態情報を各々が保持している、対応するパーティション制御ブロック（ＰＣＢ）５０２ａ−５０２ｎを含むか、又はそうでなければこれらとリンクする。図５に示されるように、代替オブジェクトＬＰａ−ＬＰｎは、「最大」（即ち、利用可能な代替パーティションの中で最も高い優先順位）から、「最小」（即ち、利用可能な代替パーティションの中で最も低い優先順位）まで、優先順位付けすることができる。代替キュー５０５のコンポーネントは、ここで図６を参照して説明されるように、スケジューリングの優先順位を決定するために利用することができるという利点がある。
【００４０】
図６を参照すると、本発明に係る、パーティション・スケジューリング優先順位値を求めるためにパーティション監視ユニット２０４及びハイパーバイザ１１５によって実施されるステップを示す高レベル・フロー図が示される。プロセスは、ステップ６０２及び６０４において示されるように、各々の論理パーティションについて、図５において示されるような対応するパーティション制御ブロックを生成することなどによって、論理パーティションを初期化し、特定することで開始する。ステップ６０６及び６０８において示されるように、ベース代替優先順位がパーティションの各々について設定され、値が増加される。ハイパーバイザ１１５は、好ましくは、何らかの正規化された形でパーティションの優先順位値を動的に調整するために時間フェアネス・スケジューリング関数を用いる図４に示される方法で、パーティションについて代替優先順位を設定し、値を増加させる。
【００４１】
ステップ６１０に示されるように進むと、論理パーティションは、一例においては、ハイパーバイザ１１５によって特定される設定されたディスパッチ・ウィンドウの割り当てに従って、ディスパッチされる。パーティション・ディスパッチ・ウィンドウの間に、追跡論理モジュール３０２内にあるもののようなハードウェア・ベースの追跡デバイス及びモジュールを用いて、ディスパッチ・ウィンドウの間にリソースが割り当てられるそれぞれの論理パーティションと関連付けられた物理システム・リソースの１つ又は複数についての性能評価指標を追跡する（ステップ６１５）。性能評価指標の追跡は、オペレーティング・システム割り込みなどのプログラミング割り込みとは独立にハードウェア・レベルで実施され、好ましくは、ＣＰＩ及び他の物理リソース処理評価指標を追跡することを含む。
【００４２】
図６に示されるように、物理リソース評価指標の追跡は、ディスパッチされたパーティションと関連付けられた評価指標を追跡するサブステップと、ハードウェア検出された評価指標を用いて、ハイパーバイザ１１５がパーティションの代替又は他のディスパッチ決定に用いることができるスケジューリング優先順位値を計算するか、又はそうでなければ決定するサブステップとを含む。ステップ６１２において示されるように、パーティションと関連付けられた物理リソース評価指標は、ディスパッチ期間によって定められるパーティション・ディスパッチ期間ＴＤＰを１より大きい増分因子で割った比より短い記録時間増分Δｔｒｅｃを有する記録速度で、ハードウェア・レベルの論理及びレジスタを用いて収集され、格納される。ハードウェア検出による物理リソース評価指標の収集に続いて及び／又はこれと併せて、パーティションと関連付けられた優先順位値が計算される（ステップ６１４）。パーティションと関連付けられた優先順位値は、ハードウェア検出された／格納された物理システム評価指標から計算されるか、又は、検出された／格納された評価指標自体であってもよい。例えば、図３に示される実施形態を参照すると、ステップ６１２において収集される物理リソース評価指標は、ディスパッチされたパーティション・ベクトル３０８に収集されたＣＰＩ値を含み、ステップ６１４において計算される優先順位値は、図８Ａ及び図８Ｂを参照して以下でより詳細に示され説明されるプロセスにおいてＣＰＩ値から計算されるメモリ・フットプリント値を含む。ステップ６１５における性能評価指標の決定と同時に、ステップ６１６に示されるように、パーティションについての各々のディスパッチ・ウィンドウにおいてパーティション履歴テーブル３０５内に示されるＶＡＲ値のような信頼性因子が計算され、更新されることが好ましい。
【００４３】
図８Ａを参照すると、ステップ６１５に組み入れられる処理ステップのより詳細な表現が提供される。具体的には、図８Ａは、ディスパッチ決定に利用されるメモリ・フットプリント性能値を求めるためにＰＭＵ２０４及びハイパーバイザ１１５などによって実施されるステップを示す、高レベル・フロー図を示す。このプロセスは、パーティション・ディスパッチのステップ６１０で開始し、ディスパッチされたパーティションのディスパッチ期間内の時間間隔点ｔｎにおいてＣＰＩデータが求められ、記録されることを示すステップ８０６へ進む。ｔｎにおいて収集されたＣＰＩ値は、同じパーティションについて以前に記録されたＣＰＩ値と比較される。以前に記録されたＣＰＩ値は、同じパーティションのディスパッチ期間内における、より前の時点で求められたＣＰＩ値を表す。ディスパッチ期間サイクルにおける種々の時点で収集されるＣＰＩデータの例示的なグラフが図８Ｂに示される。図８Ｂにおいては、ＴＤＰによって示されるディスパッチ期間にわたり、ディスパッチ期間が開始する時点はｔ０と表され、終了する時点はｔＤＰと表される。このような同じパーティションについてのこうした１つ又は多数のディスパッチにおいて、ＣＰＩデータが求められ記録される時点は、ｔｒｅｃ０、ｔｒｅｃ１、ｔｒｅｃ２、ｔｒｅｃ３、などと表される。図８Ａのステップ８０８に戻ると、ＣＰＩデータ値の間の比較は、例えば、時間ｔｒｅｃ２において記録されたＣＰＩ値と、ｔｒｅｃ１において記録されたＣＰＩ値との比較を含むものとすることができる。好ましい実施形態においては、異なる時間増分におけるＣＰＩデータの決定は、所与の論理パーティションについての異なるディスパッチ期間全体にわたって実施される。
【００４４】
本発明は、各々のパーティション・ディスパッチに関してメモリ・フットプリントを再び規定する必要性に関連する、ディスパッチの実質的なコストを明らかにするものである。ステップ８０８において実施される比較の目的は、パーティションがメモリ・フットプリントを規定するのに必要な期間を求めることである。メモリ・フットプリントの規定を決定することは、図８Ｂのｔｒｅｃ３において示されるような端点（cornerpoint）を求めることを含み、この端点においては、ＣＰＩ値が、以前のディスパッチ期間の以前の時間増分において記録されたＣＰＩ値から、特定の閾値より小さい分だけ変化する。図８Ｂにおいて、時間ｔｒｅｃ３は、ｔｒｅｃ３において記録されたＣＰＩ値とｔｒｅｃ２において記録されたＣＰＩ値との差が閾値ΔＣＰＩＴＨＲＳＨＬＤより小さい、こうした端点を表す。したがって、フットプリント期間Ｔｆｐは、ｔ０からｔｒｅｃ３までの期間である。ＣＰＩ値の間の差が特定の閾値より小さいかどうかの判定は、ステップ８１０において示される。
【００４５】
ＣＰＩ値の差が閾値以上であることに応答して、ステップ８０６において記録されたＣＰＩ値（即ち、最後のＣＰＩ値）が記録され（ステップ８１２）、ステップ６１０における同じパーティションの次のディスパッチに戻る前に、次のディスパッチ期間のために記録間隔の値を増加させる（ステップ８１４）。ｔｒｅｃ３において収集されたＣＰＩ値とｔｒｅｃ２において以前に収集されたＣＰＩ値との間の比較のような所与の比較が、閾値基準を満たす結果となったときには、そのパーティションについてのフットプリント規定期間は、パーティション履歴テーブル３０５内のようにパーティション識別情報と関連付けて記録される（ステップ８１６）。
【００４６】
図６に戻り、ステップ６１８において示されるように進むと、ハイパーバイザ１１５及び／又はＰＭＵ２０４は、論理パーティションの各々のディスパッチ期間の使用を判定することができる。ステップ６１８における判定を使用して、各々の論理パーティションは、設定されたディスパッチ期間の割り当てを実質的に全て用いるバッチ・パーティションか、又は、ディスパッチ期間中にパーティションが外部イベントを待たなければならない割り込み処理を受けるインタラクティブ・パーティションのどちらかとして分類される。バッチ・パーティションとして分類された、ディスパッチされたパーティションは、実質的にディスパッチ期間全体を使用するが、インタラクティブ・パーティションは、処理が中断したときなどに割り込み処理を受けて、別のプロセスからの応答を待たなければならない。所与のパーティションについてのディスパッチ期間の使用が、１つの実施形態においては９５％である特定の閾値を上回る場合には、パーティションは、バッチ・パーティションとして分類される（ステップ６１８及び６２２）。そうでなければ、ステップ６１８及び６２０に示されるように、パーティションはインタラクティブとして分類される。
【００４７】
ディスパッチ期間の使用の分類は、図５において先に示されたように、各々のパーティションのパーティション制御ブロック内にフィールドとして含まれ、ハイパーバイザ１１５がスケジューリング優先順位基準として使用することができる。例えば、ハイパーバイザ１１５は、インタラクティブであると特定されたパーティションを、代替キュー５０５（図５を参照されたい）内の代替パーティションとしての適格性から除外することができる。さらに、図７を参照して以下で説明されるように、ディスパッチ期間の使用の分類は、ハイパーバイザ１１５が、ディスパッチ・ウィンドウの残りの部分を横取り又は代替された元のパーティションに再割り当てするかどうかを判断するのに用いることができる。
【００４８】
パーティション・スケジューリング優先順位値を決定するプロセスは、パーティション履歴テーブル３０５及びＰＣＢ５０２ａ−５０２ｎに格納される優先順位値のような優先順位値を入力又は更新して、ステップ６２４及び６２６において示されるように終了する。図３−図５を参照して上で示され説明されたように、ハードウェア検出された性能評価指標は、パーティション履歴テーブル３０５内などで論理パーティションに関連付けられ、ハイパーバイザ１１５により、代替キュー５０５によって確立されるような優先順位を決定するのに用いられる。好ましい実施形態においては、ディスパッチ期間の使用の分類と性能評価指標の決定は、時間的に（例えば５分）測定するか又はパーティション・ディスパッチ・キューを通る特定のローテーション回数によって測定することができるシステム起動時に、実施することができる。優先順位データの少なくとも初期の組の収集後に、ハイパーバイザ１１５は、ディスパッチされたパーティションの代替及び場合によっては横取り、並びに、他のスケジューリング決定のために、そのデータを使用する。
【００４９】
図７は、本発明に係る、論理パーティション間のワークロードをバランスさせるためにハイパーバイザ１１５内のディスパッチャのようなディスパッチャによって実施されるステップを示す高レベル・フロー図である。プロセスは、ステップ７０２及び７１０において示されるように、ハイパーバイザ１１５が、システムによって設定されたパーティション・スケジューリングに従って次の１つ又は複数のパーティションの組をディスパッチすることで開始する。現在のディスパッチ・サイクルの間に、ディスパッチされたパーティションのＣＰＩ及びＣＬＣを含む物理システム・リソース評価指標が記録及び更新され（ステップ７１２）、図６のステップ６１４において計算された代替優先順位値のような代替優先順位値が更新される（ステップ７１３）。
【００５０】
ステップ７１４において示されるように、ハイパーバイザ１１５は、パーティション代替優先順位データに従って、所与のディスパッチされたパーティションを横取りすることができるかどうかを判定することができる。ここで用いられるときには、パーティションの横取りは、ディスパッチ・ウィンドウの間に譲ったディスパッチされたパーティションを代替するのに用いられるものと同じ機構の多くに類似しており、その多くを含む。違いは、パーティションの横取りは、ここで説明される代替ステップを開始させる条件として、代替されるパーティションが処理を中断している必要がないことである。ステップ７１４及び７２０において示されるように、所与のディスパッチされたパーティションについて、パーティション履歴テーブル３０５に含まれる優先順位のような優先順位値の観点から、予め指定された横取り基準を満たすと判定されたことに応答して、ハイパーバイザ１１５は、ディスパッチされたパーティションを中断し、ディスパッチ・ウィンドウの残り（場合によってはその全体）に対してシステム・リソースを選択されたパーティションに割り当てる。代替パーティションは、ステップ７１８及び図９を参照して以下で説明されるスケジューリング優先順位付けステップと同一又は類似した形で、代替優先順位データに従って選択される。ハイパーバイザ１１５は、代替キュー５０５及びパーティション制御ブロック５０２ａ−５０２ｎ内の優先順位データを用いて、次にディスパッチされるパーティションか、そうでなければ現在ディスパッチされているパーティションが、選択された代替パーティションによって横取りされるかどうかを判定する。
【００５１】
横取り基準を満たさず（ステップ７１４）、元のスケジューリングされたパーティションがディスパッチ割り当て期間の全体を使用する（即ち、パーティションが処理を中断しない）場合には、ハイパーバイザのディスパッチ／ロード・バランシングのプロセスは、ステップ７１０における次のディスパッチで続行される。
【００５２】
ディスパッチされており、かつ、横取りされていないパーティションが、ディスパッチ・ウィンドウ期間中に処理を中断した場合には（ステップ７１６）、ハイパーバイザ１１５は、利用可能なパーティションについて代替キュー５０５及び／又はパーティション制御ブロック５０２ａ−５０２ｎによって提供される代替優先順位データを処理して、予め指定されたパーティション代替基準を満たしているかどうかを判定する（ステップ７１８）。
【００５３】
ステップ７１８において示される代替の判定は、好ましくは、現在アイドル状態の論理パーティションの代替優先順位値を評価して、その中のどのパーティションが、現在中断されているパーティションを代替する適格性があるかを判定することを含む。代替適格性の判定は、ディスパッチ・ウィンドウの残りの部分が限られていることなどといった課せられた制限の観点から、パーティション制御ブロック５０２ａ−５０２ｎに含まれるメモリ・フットプリント値などのパーティション代替優先順位値の１つ又は複数を評価する。例えば、元のディスパッチされたパーティションは、ＩＢＭ社のＰＯＷＥＲ５アーキテクチャの場合は１０ミリ秒であるパーティション・ウィンドウ期間ＴＤＷを有する。ディスパッチ・ウィンドウ期間ＴＤＷは、パーティションについての設定された最小の実行時増分であり、かつ、その結果としてハイパーバイザ１１５がディスパッチされたパーティションの代替又は横取りを行うことができる最小の増分である、ディスパッチ増分ＴＤＰＳＴＣＨに有効に分割される。このような状況下で、ステップ７１８における代替基準の判定は、ＴＤＰＳＴＣＨと、中断されたパーティションについてのＴＤＷの残りの部分とによって課せられた制限の観点から、利用可能な代替パーティションのうちのどれが適格であるかを判定することを含む。
【００５４】
本発明は、特定のレベルのスケジューリング効率を保証するディスパッチ選択機能を含む。即ち、図９を参照すると、代替基準を満たしているかどうかを判定する（ステップ７１８）際に、及び、特定のレベルの処理効率を保証するように代替パーティションを選択する際に、パーティション・スケジューラによって実施されるステップを示す高レベル・フロー図が示される。プロセスは、ステップ９０２及び９０４において示されるように、横取り基準を満たしていること又はディスパッチされたパーティションが中断することといった代替イベントによって代替基準の判定が促されることによって開始する。ステップ７１８に示される代替基準の判定は、利用可能なパーティションについてのメモリ・フットプリント優先順位値とディスパッチ・ウィンドウの残りの利用可能な部分との両方を用いて代替パーティションを選択するためのサブステップ９０６及び９０８を含む。
【００５５】
ステップ９０６は、パーティション制御ブロック及び／又はパーティション履歴テーブル３０５に記録することができる、利用可能な代替パーティションについてのフットプリント規定期間Ｔｆｐが、ディスパッチ・ウィンドウの残りの部分Ｔｒｅｍａｉｎｉｎｇより小さいかどうかの判定を示す。さらに、ステップ９０６に示される判定は、あるパーティションについてのＴｆｐ値が、利用可能なディスパッチ・ウィンドウ期間Ｔｒｅｍａｉｎｉｎｇ内において代替パーティションが特定のレベルの処理効率を達成できるほど十分に小さいものであるかどうかを判定するために、１より大きい値に設定することができるチューニング可能な因子ｘを使用する。例えば、１つの実施形態においては、ハイパーバイザ１１５は、ｘが１より大きく、好ましくは少なくとも１０である場合に、代替論理パーティションがｘＴｆｐ≦Ｔｒｅｍａｉｎｉｎｇの関係を満足する所定のメモリ・フットプリント値Ｔｆｐを有するかどうかに従って、ステップ７１８において代替の決定を行う。
【００５６】
ステップ９０６及び９０８において示されるように、代替優先順位値の評価基準を満たさない場合には、そのパーティションは、代替可能なものから除外される。ステップ９０６は、代替基準が満たされるまでパーティションの１つ又は複数について実施され、プロセスは、ステップ９１０において示されるように終了する。
【００５７】
図７に戻ると、代替パーティションの選択に応答して、ハイパーバイザ１１５は、代替済みのパーティションからディスパッチ・ウィンドウ・リソースの割り当てを解除し、そのリソースを選択された代替パーティションに割り当てる（ステップ７２０）。代替されたパーティションが、図５及び図６を参照して示され説明されるように、非インタラクティブ（即ちバッチ）として分類されている場合には、代替パーティションは残りのディスパッチ・ウィンドウ期間を消費し、プロセスは次のディスパッチ・サイクルに戻る（ステップ７２２及び７１０）。しかしながら、代替されたパーティションがインタラクティブなパーティションである場合には（ステップ７２２）、代替パーティションは、残りのディスパッチ・ウィンドウ期間のサブセットにわたってディスパッチされる（ステップ７２３）。代替ディスパッチ期間の終了に続いて、ディスパッチ・ウィンドウ・リソースは元の代替済みのパーティションに再割り当てされ（ステップ７２４）、プロセスは続行するか（ステップ７２６）、又は終了する（ステップ７２８）。
【００５８】
図１０は、本発明に係るディスパッチ・ウィンドウ内のパーティション・スケジューリングを示す。図１０に示されるディスパッチ・ウィンドウは、ｔｓｔａｒｔで開始しｔｆｉｎｉｓｈで終了する設定されたディスパッチ・ウィンドウ期間ＴＤＷを有するものとして一部が定められ、これは、特定のディスパッチ・ウィンドウ間隔にわたるパーティション活動の時限割り込みをハイパーバイザ１１５に与える、ハイパーバイザ１１５内の（図面には明示されない）カウンタ機能によって実装される。示される実施形態においては、Ｐ１、Ｐ２、及びＰ３として表されるパーティションは、それぞれディスパッチ・ウィンドウ内の時間ｔｓｔａｒｔ、ｔ１、及びｔ２で開始する交互に配置される時間間隔で、ハイパーバイザ１１５によってディスパッチされる。論理パーティション・スケジューリング規則によれば、パーティションＰ１、Ｐ２、及びＰ３の各々は、パーティションがそのそれぞれの最小使用資格を受け取ることを保証するために、ハイパーバイザ１１５がスケジューリングに用いる予め設定されたディスパッチ期間の使用資格を有する。
【００５９】
示される実施形態においては、パーティションＰ１、Ｐ２、及びＰ３についての最小使用資格は、それぞれｔｓｔａｒｔ−ｔ１、ｔ１−ｔ２、及びｔ２−ｔ３の期間として図１０において示される。使用資格期間の後に、フェアネス及びスケジューリング優先順位因子に従ってハイパーバイザ１１５によってパーティションＰ１、Ｐ２、及びＰ３がディスパッチされることがある残りの期間ｔ３−ｔｆｉｎｉｓｈが存在する。さらに、上で説明されたように、パーティションは、パーティションＰ２について示されるように、使用資格のあるディスパッチ期間内に処理を中断することがある。
【００６０】
図１１は、本発明に係る、図１０に示されるディスパッチ・ウィンドウなどの間のパーティション・スケジューリングのチューニングを示す高レベル・フロー図である。プロセスは、ステップ１１０２において示されるように、次のディスパッチ・ウィンドウの開始のためのハードによる（即ち、パーティション活動とは独立した）割り込み信号を受信することによって開始する。ステップ１１０４において示されるように進むと、パーティションＰ１、Ｐ２、及びＰ３のうちの１つなどの論理パーティションが、パーティションの設定されたサイクル使用資格に対応する期間にわたってディスパッチされる。図１０を参照すると、第１のディスパッチ期間は、特定のサイクル数のためにｔｓｔａｒｔにおいてディスパッチされたパーティションＰ１についての期間である。
【００６１】
ディスパッチされたパーティションに属する論理プロセッサが、例えばｔｓｔａｒｔ−ｔ１にディスパッチされたパーティションＰ１ついての処理を中断せず（ステップ１１０６）、さらに使用資格の割り当てが必要な場合には（ステップ１１０８）、次のスケジューリングされたパーティション（例えばパーティションＰ２）がディスパッチされる（ステップ１１０４）。最小の使用資格の割り当て後にディスパッチ・ウィンドウ期間全体が消費された場合には（ステップ１１１０）、プロセスは、次のディスパッチ・ウィンドウ期間のためにステップ１１０２に戻る。
【００６２】
パーティションの使用資格を満たすようにディスパッチすることに加えて、ハイパーバイザ１１５は、スケジューリング経験則の中から、パーティションに関連付けられた性能評価指標から導かれるメモリ・フットプリント値のような優先順位因子を使用して、パーティションを動的にスケジューリングすることが好ましい。ハイパーバイザ１１５が、スケジューリングのために性能評価指標から導かれた優先順位を使用する１つの状況が、パーティションＰ２が処理を中断した時点である時間ｔｓｕｓにおける、図１０に示される中断された論理プロセッサ状態（ステップ１１０６）として、図１１に示される。図１１に示される他のこうした状況は、付加的なサイクルがディスパッチ・ウィンドウ内に残っているｔ３において開始する使用資格後のスケジューリングである（ステップ１１０８及び１１１０）。
【００６３】
パーティションの処理の中断（ステップ１１０６）又はディスパッチ・ウィンドウにおける追加サイクルの利用可能性に応じて、ハイパーバイザ１１５は、以下のサブステップを含むステップ７２０においてディスパッチを開始する。パーティションのディスパッチ適格性は、パーティションの各々についてメモリ・フットプリントを規定する時間をディスパッチ・ウィンドウの残りの時間と比較することによって、判定される（ステップ１１１２）。次いで、ステップ１１１２を通じて適格であるパーティションは、ステップ１１１４に示されるように、それぞれのフットプリント規定コストに従って優先順位付けされる。例えば、格納された統計値は、各々のパーティションがメモリ・フットプリントを規定するのに必要な時間を示す。図９を参照して上で説明されたように、メモリ・フットプリント規定期間を用いて、限られたディスパッチ・ウィンドウ期間が残っている状態で特定のパーティションをディスパッチすることについての相対的な効率を判定することができる。したがって、ステップ１１１４において実施される優先順位付けは、図４及び図９に示されるステップを含むものとすることができる。ステップ１１１４における優先順位付けに従って選択されたパーティションは、ステップ１１１６において示されるように、ディスパッチされる。
【００６４】
開示された方法は、オブジェクトを用いて、又は、様々なコンピュータ若しくはワークステーション・ハードウェア・プラットフォーム上で用いることが可能なポータブル・ソース・コードを提供するオブジェクト指向ソフトウェア開発環境を用いて、ソフトウェアとして容易に実装することができる。この場合においては、本発明の方法及びシステムは、Ｊａｖａ（登録商標）又はＣＧＩのスクリプトといった、パーソナル・コンピュータに埋め込まれるルーチン、サーバ又はグラフィックス・ワークステーションに常駐するリソース、専用のソースコード・エディタ管理システムに埋め込まれるルーチンなどとして、実装することができる。
【００６５】
本発明は、好ましい実施形態を参照して具体的に示され説明されたが、当業者であれば、本発明の趣旨及び範囲から逸脱することなく、形態及び細部において種々の変更を行うことができることを理解すべきである。このような代替的な実施形態は全て、発明の範囲内にある。
【図面の簡単な説明】
【００６６】
【図１】本発明に係るワークロード・バランシング及びディスパッチ・ウィンドウ・チューニングを実施するように適合された、仮想化されたコンピュータ・システムの図である。
【図２】本発明の１つの実施形態に係る、パーティション・ケジューリングを容易にするように適合された例示的なアーキテクチャを示す高レベル概念図である。
【図３】図２に示されるアーキテクチャ内に実装することができるパーティション監視ユニット、ハイパーバイザ、及びパーティション履歴テーブルの内部アーキテクチャを示す高レベル概念図である。
【図４】本発明に係る、論理パーティションの代替優先順位を求めるためのシーケンスの高レベル・ブロック図である。
【図５】本発明に従って実装されるパーティション・ディスパッチャ状態の高レベル・ブロック図である。
【図６】本発明に係る、代替優先順位を求めるためにパーティション監視ユニット及びディスパッチャによって実施されるステップを示す高レベル・フロー図である。
【図７】本発明に係る、代替優先順位を用いて論理パーティション間のワークロードをバランスさせるパーティション・ディスパッチ・プロセスの間に実施されるステップを示す高レベル・フロー図である。
【図８】（Ａ）本発明の１つの実施形態に係る、ディスパッチ代替決定に利用されるメモリ・フットプリント性能評価指標を求めるためにパーティション監視ユニットによって実施されるステップを示す高レベル・フロー図である。（Ｂ）本発明に係る、ディスパッチ・ウィンドウ・サイクルにわたって収集される１命令あたりサイクルのデータのグラフである。
【図９】代替パーティションの選択の際にパーティション・スケジューラによって実施されるステップを示す高レベル・フロー図である。
【図１０】本発明に係るディスパッチ・ウィンドウ内のパーティション・スケジューリングを示す。
【図１１】本発明に係る、ディスパッチ・ウィンドウの間にパーティション・スケジューラを動的にチューニングするためにパーティション監視ユニットによって実施されるステップを示す高レベル・フロー図である。
【図１】
2008243203.tif 000003
【図２】
2008243203.tif 000004
【図３】
2008243203.tif 000005
【図４】
2008243203.tif 000006
【図５】
2008243203.tif 000007
【図６】
2008243203.tif 000008
【図７】
2008243203.tif 000009
【図８】
2008243203.tif 000010
【図９】
2008243203.tif 000011
【図１０】
2008243203.tif 000012
【図１１】
2008243203.tif 000013