JP5243822B2 - 仮想化されたデータ処理環境におけるワークロード管理 - Google Patents

仮想化されたデータ処理環境におけるワークロード管理 Download PDF

Info

Publication number
JP5243822B2
JP5243822B2 JP2008071099A JP2008071099A JP5243822B2 JP 5243822 B2 JP5243822 B2 JP 5243822B2 JP 2008071099 A JP2008071099 A JP 2008071099A JP 2008071099 A JP2008071099 A JP 2008071099A JP 5243822 B2 JP5243822 B2 JP 5243822B2
Authority
JP
Japan
Prior art keywords
partition
logical
value
logical partitions
dispatched
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008071099A
Other languages
English (en)
Other versions
JP2008243203A (ja
Inventor
ダイアン・ガルザ・フレミング
マイソール・サシャナラヤーナ・シュリニバス
ウィリアム・エー・マローン
オクタビアン・フローリン・ヘレスキュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/692,346 external-priority patent/US7698530B2/en
Priority claimed from US11/692,338 external-priority patent/US7617375B2/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008243203A publication Critical patent/JP2008243203A/ja
Application granted granted Critical
Publication of JP5243822B2 publication Critical patent/JP5243822B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、一般に、データ処理システムにおけるワークロードを管理することに関する。より具体的には、本発明は、論理パーティション・システムなどのパーティション・システムにおいて、ワークロードを管理することに関する。
コンピュータ・リソースの論理パーティショニングによって、単一の物理マシン又はプロセッサ複合体内で数のシステム・イメージを確立できるようになる。仮想化とは、仮想マシン(VM)としても知られる各々のシステム・イメージが、その物理コンピュータ・システムの共有リソースを用いる他のVMから論理的に独立して作動する、システムのイメージ化を指す用語である。このような形で、VMに対応する各々の論理パーティションは、独立にリセットし、各々のパーティションで異なるものとすることができるオペレーティング・システムをロードし、異なる入出力(I/O)デバイスを用いる異なるソフトウェア・プログラムで作動させることができる。論理パーティション・システムの市販の形態として、例えば、IBM社のPOWER5マルチプロセッサ・アーキテクチャが挙げられる。
論理パーティショニングの1つの重要な側面が、それぞれのパーティションのワークロードの管理である。例えばPOWER5においては、ハイパーバイザと呼ばれるワークロード・マネージャがパーティション間のワークロードを管理する。このタイプの共有リソース環境においては、ハイパーバイザは、広義には一般的なマルチタスク・コンピュータ・スケジューリングに類似の交互タイム・スロット・スケジューリング技術を用いて、メモリ、中央処理ユニット(CPU)、I/Oといった物理システム・リソースを論理パーティションに割り当てる。ハイパーバイザは、必要に応じて、及び/又は、予め割り当てられた形で、論理プロセッサとしてのパーティションの仕事を物理システム・リソースにディスパッチすることによって、パーティションのワークロードをバランスさせようとする。
パーティション・スケジューリングの1つの態様は、具体的には、プロセッサ・リソースの使用及び共有に関する。即ち、共有プロセッサ・プールのプロセッサ容量を用いるパーティションは、スケジューリング目的について上限付きのもの又は上限なしのもののいずれかとして定義される。上限付きパーティションは、設定されたプロセッサの使用資格(entitlement)を超えることができない。論理パーティションについての上限なしサポ
ートは、共有プロセッサ・プールに未使用の容量が存在する場合には、上限なしパーティションがその設定された容量を超えられるようにするものである。このような未使用の容量は、他のパーティションがその設定された容量の全てを十分に使用していないか、そうでなければ共有プールの容量が完全に割り当てられていないことによってもたらされる。
ディスパッチされると、論理パーティションは、割り当てられた物理プロセッサ・リソースを論理プロセッサとして組み込む。論理プロセッサ(仮想プロセッサと呼ばれることもある)のスケジューリングは、所与のディパッチ・ウィンドウの間にパーティションが使用するために処理サイクル、メモリ、及び物理システム・リソースが割り当てられる期間である、予め指定された期間、即ちタイム・スライスを割り当てることを必要とする。例えばPOWER5上で動作するAIXオペレーティング・システムは、デフォルトで10ミリ秒のディスパッチ・ウィンドウ期間を有する。割り当てられたディスパッチ・ウィンドウ期間のいずれかの未使用部分は、システムの上限なしパーティションの1つ又は複数に割り当てることができる。ディスパッチ・ウィンドウ期間の未使用部分についてどの上限なしパーティションが元のスケジューリングされたパーティションを代替するかを決定するために、上限なしパーティションの優先順位レベルに基づくくじ引き機構(lottery mechanism)が用いられることが多い。
上記の代替ディスパッチ技術は、比較的単純であり計算コストが低いが、パーティションの論理構造及び機能特性に関連する潜在的な非効率性には適切に対処していない。スケジューリングの非効率性の重大な原因は、いわゆるインタラクティブ・パーティションをそのそれぞれのディスパッチ・ウィンドウ期間に代替するときに生じる。パーティションは、外部処理イベントへの依存性と、それに対応する所与のディスパッチ・ウィンドウ期間の割り込み可能性とに基づいて、「インタラクティブ」あるいは「バッチ」として特徴付けられる。バッチ・パーティションは、外部イベントからの応答とはほぼ無関係であり、したがって通常はディスパッチ・ウィンドウ期間全体を使用する。インタラクティブ・パーティションは、対照的に、ディスパッチ・ウィンドウ期間内に活動を中断して、外部イベント応答を待つのが普通である。
インタラクティブ・パーティションが作業を中断しているディスパッチ・ウィンドウ期間の他の未使用サイクルを有効に利用するために、ハイパーバイザは、上述の優先順位付けされたくじ引き機構を用いて、中断されたパーティションの代替を試みることができる。しかしながら多くの場合においては、中断されたパーティションは、緊急の外部イベント応答を待っており、したがって、パーティションの現在の中断状態にかかわらず、パーティションを代替することなく現在のディスパッチ・ウィンドウ期間内で終了することになっているタスクを終了させるためには、付加的なサイクルを必要とする可能性が高い。
ディスパッチ・ウィンドウ期間のサイクルは、中断されたパーティションがパーティションの非アクティブの期間に代替されない場合には、無駄になる。一方、従来のパーティション代替技術は、代替されなければ無駄になるディスパッチ・ウィンドウ期間のサイクルを有効に利用できるようにするものであるが、代替されるインタラクティブ・パーティションのインタラクティブ処理に割り込むことの計算コストに対処できない。こうした割り込みは、代替されるインタラクティブ・パーティションを再キューイングし、パーティションを再びディスパッチするためにキューを通してサイクル・バックすることを必要とする。専用システムとは異なり、仮想システムは、各々のディスパッチについてメモリ・フットプリントを再び規定する(establish)ことを必要とする。したがって、代替されるインタラクティブ・パーティションは、再キューイングを必要とすることに加えて、メモリ・フットプリントを回復するために付加的なサイクルを費やさなければならず、このことが仮想化されたシステムにおけるワークロード管理の非効率性の重大な原因となる。
従来の論理パーティション管理は、パーティション・スケジューリング及び実行時のワークロード・バランシングに関する上述の問題点及び多くの他の問題に対処できない。したがって、論理パーティションの間でスケジューリングとワークロード・バランシングとを管理するための方法、システム、及びコンピュータ・プログラムの必要性が存在することが理解できる。本発明は、従来技術によって未解決のこれらの必要性及び他の必要性に対処するものである。
システム仮想化を用いるコンピュータ・システムの物理システム・リソースへのアクセスを数の論理パーティション間でバランスさせるためのシステム、方法、及びコンピュータ可読媒体が、本明細書に開示される。論理パーティションの各々は、起動時に、割り当てられたディスパッチ・ウィンドウ期間の使用レベルに従って分類される。物理システム・リソースの1つ又は複数についての性能評価指標(performance metrics)が、論理パーティションの1つ又は複数と関連付けて決定される。性能評価指標の決定は、プログラミング割り込みから独立したハードウェア検出及び追跡論理を用いて、パーティションのディスパッチの間に実施される。論理パーティションの1つに割り当てるために物理システム・リソースの所与の組が構成されているディスパッチ・ウィンドウ期間内に、物理システム・リソースの所与の組は、他の論理パーティション(以下、代替論理パーティションともいう)に関連付けられた決定済み性能評価指標と代替論理パーティションのディスパッチ・ウィンドウ期間の使用分類とに従って、代替論理パーティションに再割り当てされる。
別の態様においては、物理システム・リソースを共有する数の論理パーティションの間でワークロードをバランスさせるための方法、システム、及びコンピュータ・プログラムが、メモリ・フットプリント統計を使用してパーティション代替の適格性及び優先順位を決定する。本方法は、物理システム・リソースの1つ又は複数についての性能評価指標を論理パーティションと関連付けて決定するステップと、メモリ・フットプリント値を求めるために性能評価指標を用いるステップとを含む。物理システム・リソースの所与の組が論理パーティションの1つに割り当てられるディスパッチ・ウィンドウ期間内に、物理システム・リソースの所与の組は、求められたメモリ・フットプリント値に従って論理パーティション論理パーティションに再割り当てされる。
別の態様においては、所与のディスパッチ・ウィンドウ期間内に、物理システム・リソースを共有する数の論理パーティションをスケジューリングするスケジューラを動的にチューニングするための方法、システム、及びコンピュータ・プログラムが開示される。本方法は、システムの起動時に、予め設定されたディスパッチ・ウィンドウ期間を用いて論理パーティションをディスパッチするステップを含む。論理パーティションのディスパッチの間に、物理システム・リソースの1つ又は複数についての性能評価指標が論理パーティションと関連付けて決定される。パーティション関連付けられた性能評価指標を使用して、ディスパッチ・ウィンドウ期間に他のスケジューリング経験則(ヒューリスティクス)の中からパーティションのスケジューリングを動的に決めるのに使用される、論理パーティションのメモリ・フットプリント値が求められる。
本発明の上記の並びに付加的な目的、特徴、及び利点は、以下の詳細な説明において明らかとなる。
本発明の特性と考えられる新規な特徴が、特許請求の範囲に記載される。しかしながら、本発明自体、並びに、その好ましい使用形態、更なる目的、及び利点は、添付図面と併せて読むときに、例示的な実施形態に関する以下の詳細な説明を参照することによって最も良く理解される。
本発明のシステム及び方法は、仮想化されたコンピュータ環境内において、より効率的なリソース割り当て及びワークロード・バランシングを可能にする。例示的な仮想化されたコンピュータ環境は、パーティションの2つ又はそれ以上の間でワークロードが管理された状態で、数の論理パーティションを含む。本明細書において用いられるパーティションという用語は、一般に、オペレーティング・システムに割り当てられるデータ処理ハードウェア・リソースのサブセットを指す。パーティションは、スレッド又は他のいずれかの計算ユニットを指すこともある。本発明のシステム及び方法を実装するための好ましい実施形態は、全てにわたり同一の参照符号が同一の対応する部分を指している図面を参照して、以下で図示され説明される。
本発明は、ワークロード・マネージャの指揮の下で、論理パーティション間における共有可能リソースの動的な再分配を可能にする。1つの態様においては、本発明は、動的に調整可能なパーティション・スケジューリング機構を用いることによって、ワークロード管理及びシステム効率の改善を達成する。パーティション・スケジューリング機構は、1つの実施形態においてはパーティション・スケジューリングの評価指標としてメモリ・フットプリントを規定することに関連するパーティション性能評価指標を決定する、ハードウェア追跡機構を特徴とする。別の態様においては、本発明は、ハードウェアにより追跡されたメモリ・フットプリント評価指標を使用して、ディスパッチ・ウィンドウ期間内におけるそれぞれの論理パーティションのスケジューリングを動的に調整する。
本発明は、1つの実施形態においてはハイパーバイザとすることができるワークロード・マネージャの指揮の下で、論理パーティション間における共有可能リソースの動的な再分配を可能にする。これらのリソースは、例えば、CPUリソース、論理プロセッサ・リソース、I/Oリソース、コプロセッサ、チャネル・リソースなどを含むことができる。1つの実施形態においては、リソース割り当ての動的な調整は、ワークロード・バランシングと全体的なシステム効率の増大とを達成するための性能調整フィードバック・ループにおいて、ハイパーバイザ機能とハードウェア及びファームウェアのパーティション監視機構とを統合することによって達成される。
1つの態様においては、本発明は、メモリ・アクセス待ち時間によってもたらされるシステム・スループットの制限に対応する。本発明は、パーティション・スケジューリングについてのメモリ・アクセス統計を決定して使用することによって、メモリ待ち時間の影響を軽減する。こうしたメモリ依存のパーティション・スケジューリングは、パーティション・スケジューリング決定を改善すると共に、より大きなディスパッチ・ウィンドウ期間のスケジューリングの自由度を与える。1つの実施形態においては、本発明は、元のディスパッチされたパーティションを横取りする(preempt)か又はそうでなければそれを代替するパーティションを選択する際のメモリ・フットプリント設定コストを明らかにするものである。本発明は、さらに続いて、代替されたパーティションがその元のディスパッチ・ウィンドウ期間の一部を取り戻すために再ディスパッチされる場合のメモリ・フットプリント設定コストを明らかにするものである。
ここで、全てにわたり同一の参照符号が同一の対応する部分を指す図面を参照すると、本発明のワークロード管理機能を実装する仮想化されたコンピュータ環境の1つの実施形態が、図1に示される。ニューヨーク州アーモンクのInternational Business Machines Corporation(登録商標)によって提供されるPOWERS5サーバに含まれる機能の多くを含む仮想コンピュータ・システム100が図示される。仮想コンピュータ・システム100は、一般に、ハイパーバイザ115を含むファームウェア層リソース120と、共有プロセッサ・プール117並びにメモリ・デバイス121及び125を含むハードウェア層リソース122とを含む。共有プロセッサ・プール117は、好ましくは、それぞれCPU1〜CPU4と表示される数のプロセッサ108、110、112、及び114を含み、それぞれのプロセッサ関連付けられたキャッシュ・メモリM1〜M4 121を有する、マルチプロセッサ複合体を備える。仮想コンピュータ・システム100は、それぞれLP1〜LP4と表示される数の論理パーティション105A〜105Dをさらに含む。ハイパーバイザ115は、数の論理パーティション105A〜105Dの間におけるハードウェア層リソース122の割り当てを管理し、調整する。
CPU1〜CPU4及びそれら関連付けられたキャッシュ・メモリM1〜M4は、リソース仮想化となるようにハイパーバイザ115によって論理パーティションLP1〜LP4に割り当てられる物理システム・リソースの一部を表す。物理システム・リソースは、一般に、プログラム階層化組織などの非物理的で抽象的なシステム・リソース及びオペレーティング・システムと関連付けられるようなプログラム・プロトコルとは区別される、メモリ・デバイス、プロセッサ、ドライバ、バス、プロセッサ/バス・サイクルといった、有形のシステム・デバイス、コンポーネント、及び関連する物理的現象である。物理システム・リソースは、さらに、仮想マシンのような論理的又は仮想的に定義可能なエンティティとも区別可能である。論理パーティションLP1〜LP4の各々は、1つ又は複数の論理プロセッサ(明示的に図示されない)を含み、論理プロセッサの各々は、パーティションに割り当てられた物理プロセッサCPU1〜CPU4のうちの1つの全体又は一部を表す。パーティション105A〜105Dのうちの所与の1つの論理プロセッサは、下のプロセッサ・リソースをそのパーティションのために確保するようにそのパーティション専用とするか、又は、下のプロセッサ・リソースを他のパーティションにも利用可能とするように共有にすることができる。
図示される実施形態においては、論理パーティションLP1〜LP4の各々は、パーティション間で異なっていてもよい常駐のオペレーティング・システム104と、1つ又は複数のアプリケーション102とを有する個別のシステムとして機能する。1つの実施形態においては、オペレーティング・システム104A〜104Dの1つ又は複数は、Linuxオペレーティング・システムとしてもよく、IBM社によって提供されるi5/OS(商標)オペレーティング・システムとしてもよい。さらに、オペレーティング・システム104A〜104D(又はそのサブセット)は、それぞれのパーティションの各々の内部におけるアプリケーション・ワークロードを管理するために、それぞれのOSワークロード・マネージャ106A〜106Dを含む。
1つの実施形態においては、ハイパーバイザ115は、使用資格のある(entitled)容量を持たない隠しパーティションとして作動する。論理パーティションLP1〜LP4へのシステム・リソースの割り当ては、プロセッサCPU1〜CPU4上で稼働するマイクロコードによって実装することができるハイパーバイザ115により管理される。ハイパーバイザ呼び出しは、オペレーティング・システム104A〜104Dのいずれかが、ハイパーバイザ115と通信して、以下でより詳細に説明される技術を用いてパーティションのアイドル時間を最小にするスケジューリング経験則をサポートすることによって物理プロセッサ容量をより効率的に使用できるようにするための手段を提供する。論理パーティションLP1〜LP4及びハイパーバイザ115は、典型的には、プロセッサCPU1〜CPU4関連付けられた中央メモリのそれぞれの部分にある1つ又は複数の有形のプログラム・モジュールを含む。
図2は、本発明の1つの実施形態に係る、パーティション・スケジューリングを容易にするように適合された例示的なアーキテクチャ200を示す高レベル概念図である。パーティション・スケジューリング・アーキテクチャ200は、パーティション管理ユニット(PMU)204と、共有プロセッサ・プール117、ハイパーバイザ115、及びキャッシュ・メモリ206といった他のシステム・コンポーネントとを統合する。図2においてPMU204は別個のモジュールとして示されているが、PMU204のハードウェア、ファームウェア、及びソフトウェアのコンポーネントのうちの幾つか又は全てをハイパーバイザ115内に統合してもよいことに留意すべきである。さらに、キャッシュのブロック206は、共有プロセッサ・プール117内に含まれるCPU108、110、112、114の1つ又は複数によって使用されるキャッシュ・メモリ・リソースM1〜M4の集まりのうちの幾つか又は全てを代表するものであることに留意すべきである。
PMU204は、パーティションLP1〜LP4に割り当てられるリソースについての、例えばメモリ使用に関する評価指標のような物理システム・リソース性能評価指標を監視する、論理、プログラム・モジュール、並びに、他のハードウェア・モジュール、ファームウェア・モジュール及び/又はソフトウェア・モジュールを含む。こうした性能評価指標は、好ましくは、キャッシュの使用を含み、具体的には、パーティションLP1〜LP4の各々のキャッシュ・フットプリントに関する評価指標を含む。図2の高レベル概念図は、PMU204と、論理パーティション関連付けられた物理システム・リソースのこうした監視を可能にする他のシステム・コンポーネントとの間の統合及び対話のインターフェースを示す。
現在ディスパッチされている論理パーティションが、共有プロセッサ・プール117のCPUを用いてその命令ストリームを実行し、ロード操作又はストア操作を介してメモリ位置の内容にアクセスしたとき、CPUは、これらの要求をCPU−キャッシュ・インターフェース212を通してその関連付けられたキャッシュ206に発行する。そのときのキャッシュ206のタスクは、キャッシュのストレージにそのメモリ内容が存在するか否かを判定し、(a)存在する場合には、キャッシュされたデータをCPUに戻し、(b)存在しない場合には、ロード又はストアを実施する前に共有メモリ125などのメイン・メモリからそのメモリ内容をフェッチすることである。要求されたメモリ内容が既にキャッシュ206にある場合には、キャッシュ−メモリ・インターフェース210などを介して共有メモリ125にアクセスすることなく、そのデータがCPUに戻される。この時点では、PMU204との対話は必要ない。しかしながら、要求されたデータがキャッシュ206において利用可能ではない場合には、キャッシュ−メモリ・インターフェース210を通してメイン共有メモリ125からデータをフェッチしなければならない。
図3を参照すると、図2に示されるアーキテクチャ内に実装することができるパーティション監視ユニット204、ハイパーバイザ115、及びパーティション履歴テーブル305の内部アーキテクチャを示す高レベル概念図が示される。入力側はPMU204を含み、PMU204は、CPUインターフェース208及びキャッシュ・インターフェース214からの入力を処理してパーティション・ベクトル308、310、及び312を生成する追跡論理モジュール302を含むものとして示される。出力側においては、アーキテクチャは、ハイパーバイザ115とパーティション履歴テーブル305とを含む。図示される実施形態においては、ハイパーバイザ115は、パーティション・ベクトル308、310、及び312を処理してパーティション履歴テーブル305の内容を生成及び更新する優先順位値計算モジュール304を含む。パーティション履歴テーブル305は、仮想コンピュータ・システム100内のN個の論理パーティション全てについての項目(エントリ)を含む。図示される実施形態においては、パーティション履歴テーブル305は、各々がシステムにおけるN個の論理パーティションの1つに対応する行レコードを含むものとして示されており、各々のパーティションのレコードは、数の列データ・フィールドを含む。列フィールドの中には、それぞれの論理パーティションの各々について、論理パーティション(LP)識別子フィールドと、1命令を実行するのに必要なクロック数(CPI)のためのフィールド、キャッシュ・ライン・カウント(CLC)値のためのフィールド、及びキャッシュ・ミス・カウント(CMC)値のためのフィールドとがあり、これらは以下でより詳細に説明される。各々のパーティション履歴テーブル項目についての列フィールドは、ハードウェア検出されるCPI値、CLC値、及びCMC値に加えて、メモリ・フットプリントfpのためのフィールドと、メモリ・フットプリント値の変動VARのためのフィールドと、上述のCPI値、CLC値、及びCMC値のうちの1つ又は複数から導出することができるキャッシュ・アフィニティ(CA)値のためのフィールドと、を含む。
PMU204内において、追跡論理モジュール302は、図1及び図2に示される処理リソース及びメモリ・リソースのような物理システム・リソースの性能評価指標を検出し、処理し、一時的に格納するための論理及びデータ・ストレージ・ハードウェア・デバイスを含む。性能評価指標は、検出時にメモリ及びCPUなどの物理システム・リソースが割り当てられている論理パーティションに関連付けて検出される。検出され処理された性能評価指標は、物理リソースが現在割り当てられている論理パーティションの識別情報と関連付けて格納される。性能評価指標の所与の組と論理パーティションとの間の関連付けは、1つ又は複数の現在ディスパッチされているパーティションの識別情報を含むCPUインターフェース・レジスタ314によって与えることができる。レジスタ314内のパーティションID値は、ディスパッチ決定時に設定されることが好ましい。
追跡論理モジュール302によって収集される例示的な性能評価指標は、CPUインターフェース208及び/又はキャッシュ・インターフェース214上で検出される信号から直接的に又は計算で求めることが可能な、CPIカウント、キャッシュ・ライン・カウント、キャッシュ・ミス・カウント、及び他のメモリ・アクセス又は処理効率に関連する評価指標を含むものとすることができる。プロセッサ使用リソース・レジスタ322を使用して、パーティションが物理プロセッサ上にディスパッチされるタイム・スライスの間の活動を測定するサイクル・カウントを与えることができる。図示される実施形態においては、追跡論理302によって検出された、現在ディスパッチされているパーティションa〜mの各々についてのCPIカウントは、ディスパッチされたパーティション・ベクトル308内に格納される。同様に、追跡論理302によって検出された、ディスパッチされている論理パーティションa〜mについてのキャッシュ・ライン・カウント及びキャッシュ・ミス・カウントは、それぞれ、ディスパッチされたパーティション・ベクトル310及び312に格納される。
好ましい実施形態においては、追跡論理モジュール302内の検出論理及びデータ・ストレージ・デバイスは、オペレーティング・システム割り込みのようなプログラム割り込み機構とは独立に、CPUインターフェース208及びキャッシュ・インターフェース214上の信号を収集して処理するハードウェア・デバイス及びファームウェア・デバイスを含む。このような追跡デバイス及びストレージ・デバイスは、論理ゲート、レジスタなどといったハードウェアと、システム・バス・スヌーパによって用いられるようなファームウェア・エンコードとを含むものとすることができる。追跡論理モジュール302は、ソフトウェア・プログラム割り込みとは独立に、ハードウェア及び/又はファームウェア・レベルで、その検出機能、処理機能、及びストレージ機能を実施する。したがって、このような検出機能、処理機能、及びストレージ機能は、オペレーティング・システム・カーネルの管理上の制約とは独立して実施される。こうすることで、追跡論理モジュール302が性能評価指標を収集するサンプリング・レートは、以下でより詳細に説明されるようにパーティションのスケジューリング及び代替に用いられる基準データを求めるのに必要な、例えば0.1ミリ秒といった十分に細かい粒度(sufficiently fine granularity)を持つものとすることができる。
ディスパッチされたパーティション・ベクトル308、310、及び312内のシステム性能評価指標は、現在ディスパッチされている又は以前にディスパッチされた論理パーティションの番号a〜mの各々について、それぞれ、CPIカウント、キャッシュ・ライン・カウント、及びキャッシュ・ミス・カウントを含む。図3においては、各々の記録されたパーティション・ベクトル値と、対応する論理パーティションとの間の関連付けは、各々が特定の論理パーティションを表す下付き文字a〜mによって視覚的に表されている。パーティション・ベクトル308、310、及び312を格納する追跡論理302内のストレージ・デバイスは、専用のレジスタであることが好ましい。
追跡論理302によって検出され、パーティション・ベクトル308、310、及び312に収集された性能評価指標は、パーティション履歴テーブル305を更新するためにハイパーバイザ115によって処理される。ハイパーバイザ115が生成するか又は受信する割り込み信号によって、ディスパッチされたパーティション・ベクトル308、310、及び312内に収集されたシステム・データを用いてパーティション履歴テーブル305がいつ更新されるべきかが決定される。割り込みは、ディスパッチされたパーティションa〜mのうちの少なくとも1つについてのディスパッチ・ウィンドウ期間の終了を示すか、そうでなければこれと同時に起こる。割り込みを受信すると、優先順位値計算モジュール304は、パーティション履歴テーブル305内の項目を追加又は更新するために、パーティション・ベクトル308、310、及び312を取得して処理する。図示される実施形態においては、ディスパッチされたベクトル308、310、及び312内のCPI、CLC、及びMC評価指標は、更新割り込み信号に応答して、対応する論理パーティションのレコードについてのそれぞれの列の評価指標項目と比較されるか、そうでなければ処理される。図3は、論理パーティションa〜mが最初にディスパッチされる初期のシステム起動時を示していると仮定すると、優先順位値計算モジュール304は、パーティション履歴テーブル305にパーティションa〜mの各々についてのレコード項目を追加し、パーティション・ベクトル・データをベクトル308、310、及び312から対応するレコード項目に入力する。レコード生成プロセスは、システム初期化の際に、N個の論理パーティション全てについてパーティション履歴テーブル305内にレコードが格納されるまで続く。
初期のディスパッチと、その後の各々の論理パーティションについてのパーティション・レコード生成とに続いて、優先順位値計算モジュール304は、信号が送信される各々の更新間隔ごとに、ディスパッチされたベクトル308、310、及び312を処理して、以下でより詳細に説明されるように、パーティション履歴テーブル305内の性能評価指標及び/又は代替優先順位値の項目を追加するか、置換するか、そうでなければ修正し続ける。
図4は、本発明に係る、論理パーティションについてのスケジューリング優先順位を求めるためのシーケンスの高レベル・ブロック図である。具体的には、図4は、現在ディスパッチされているパーティションを代替又は横取りするなどといったディスパッチ決定を行う際にハイパーバイザ115が利用できるような、例示的な時間及びイベントに基づく優先順位因子を示す。
動的に調整可能な因子として優先順位をパーティション・ディスパッチ・スケジューリング全体の中に組み込むために、ハイパーバイザ115は、各々の論理パーティションの相対的な又は絶対的な優先順位をキャッシュ・フットプリントに関連する評価指標の関数として求めるので、ハードウェアにより検出された性能評価指標をPMU204から取得しなければならない。
上述のように、メモリ・インターフェース及びCPUバス・インターフェースから直接求められる物理システム性能評価指標は、追跡論理モジュール302内のハードウェア・レベルの論理及びレジスタを用いて検出され、最初に登録及び処理される。追跡論理モジュール302によって検出又は生成されるキャッシュ・フットプリント評価指標は、好ましくは、各々のディスパッチされたパーティションについてのCPIカウント、キャッシュ・ライン・カウント、及びキャッシュ・ミス・カウントを含み、全体的なディスパッチ優先順位を導くために他のスケジューリング優先順位因子と組み合わせることができるパーティション・ベクトル308、310、及び312として収集される。
図5〜図9は、図4と併せて、具体的に、最小のパーティション使用資格が割り当てられた後にディスパッチされたパーティション即ちスケジューリング・パーティションを代替又は横取りすることに関連する、パーティション監視機能を論理パーティション・スケジューリングに組み込む方法の例示的な実施形態を示す。第1に、図4に示されるパーティションの優先順位付けシーケンスは、パーティションについて優先順位値を設定及び調整するために使用される、ハードウェアにより検出される物理システム性能評価指標を含む数の優先順位因子の蓄積及び使用を示す。図6は、コンピュータにより実施されるプロセスをさらに詳細に示すものであり、このプロセスによって、ハードウェア検出される物理システムの性能評価指標、特にメモリ・アクセス性能に関連する評価指標が求められ、各々のパーティションについて1つ又は複数のパーティション・スケジューリング優先順位因子を特性化するために具体的に使用される。図7〜図9は、パーティション関連付けられたメモリ・フットプリント評価指標を用いて優先順位を決定し、ディスパッチ・ウィンドウ期間をチューニングするための、コンピュータにより実施されるプロセスを示す。図5及び図6に示される、優先順位付けの特性化及び/又はスケジューラのチューニングは、ハイパーバイザ115内に組み込まれるディスパッチャのようなハイパーバイザ・ディスパッチャと共に用いることができる。しかしながら、本明細書において説明される本発明の特徴及び技術は、示される実施形態のいずれか1つ又は複数に必ずしも限定されないことに留意すべきである。当業者であれば、パーティションの優先順位を決定して使用するプロセスの様々な態様は、本発明の趣旨及び範囲から逸脱することなく変更することができ、さらに、本明細書において説明される機構及びプロセスの基本的な1つ又は複数の態様は、他のスケジューリング・アルゴリズムと共に使用できることを容易に認識し理解するであろう。
図4を続けると、パーティション・スケジューリング/代替の決定に影響を及ぼさないように最初はゼロか、そうでなければ中間値とすることができるベース優先順位値bp(Pi)402を有するパーティションPiが生成される。ベース優先順位値bp(Pi)は、ハイパーバイザ115がパーティションの横取り及び/又は代替の決定を行うために使用することができる数値若しくは数的な印又は他の量的な値若しくは印とすることができる。パーティションPiの全体優先順位値425は、ベース優先順位値bp(Pi)402を動的に調整する時間フェアネス成分(temporal fairness component)を含むことが好ましい。図4に示されるように、時間tにおける現在の優先順位cp(Pi,t)406は、パーティションのベース優先順位値bp(Pi)を優先順位総和dΣtj404として累積的に表されるなんらかの時間依存増分dだけ増加させることによって、各々の時間量で計算される。したがって、現在の優先順位cp(P,t)406は、現在の時間間隔jに応じた優先順位総和dΣtj404内のどこかに入る増分フェアネス成分をベース優先順位に加えたものを含む。性能評価指標に基づかないパーティション・ディスパッチの場合は、論理パーティションの優先順位は、現在の優先順位cp(P,t)406に等しい。
本発明は、パーティションPのスケジューリング優先順位425を求めるために、パーティション関連付けられた物理システム性能評価指標をさらに与えて、組み入れる、パーティション・スケジューリング機構を提供する。このことは、物理処理リソース(プロセッサ、メモリなど)の共有される組を用いて仮想化システム内で実行されている数の論理パーティションについて、異なるパーティションの優先順位を同時に計算することによって、異なる値が生じる場合があることを意味する。具体的には、性能に依存しないパーティションの優先順位cp(P,t)406は、性能に基づく因子Δp418によってスケジューリング間隔ごとに調整される420。性能に基づく因子Δp418は、可能な特定値の範囲のうちの1つを表し、これにより、当該パーティション関連付けられたシステム性能評価指標を用いてパーティションの優先順位レベルを増減させることができる。1つの実施形態においては、因子Δp418は、パーティションのキャッシュ・フットプリント値CFP(P)を処理する信頼性因子計算モジュールζ416を用いることによって計算される。CFP(P)自体は、キャッシュ・フットプリント計算モジュールΘ412によって表される1つ又は複数の論理機能を介して、本発明の機構によって数量化されるパーティションPのキャッシュ・フットプリント値として計算される。即ち、1つ又は複数のパーティションに関連付けられた物理リソース評価指標PRM(P)の組は、パーティション・スケジューリング優先順位を決定するのに役立つCFP(P)のような特定のメモリ・フットプリント値を求めるために、キャッシュ・フットプリント計算モジュールΘ412によって処理される。フットプリント計算モジュールΘ412及び信頼性因子計算モジュールζ416は、性能に基づく因子Δp418を定める。したがって、図4に示されるように、時間tにおけるパーティションPの全体優先順位値は、ベース・パーティション優先順位と、時間フェアネス調整と、パーティションと関連して測定される物理システム評価指標との複合関数である。
図5は、本発明に係る、ディスパッチされたが中断されているパーティションを代替するための、ハイパーバイザ115内に実装することができるパーティション・ディスパッチャ状態の高レベル・ブロック図である。代替パーティション・ベクトル又は代替キュー505が生成され、本明細書において開示される方法に従ってハイパーバイザ115によって動的に調整される。代替キュー505は、例えば、現在実行中のパーティションが、現在のディスパッチ・ウィンドウ期間内にそのディスパッチ・ウィンドウ期間の時間が終了する前に処理を中断したときに、絶対的な代替優先順位又は相対的な代替優先順位を決定するためにアクセスされる。代替キュー505は、優先される代替オブジェクトLPa〜LPnのキューとして編成され、各々のオブジェクトは、パーティション固有のデータの中でもパーティションの設定及び調整されたディスパッチ・スケジューリング状態及び代替優先順位状態などのパーティション状態情報を各々が保持している、対応するパーティション制御ブロック(PCB)502a〜502nを含むか、又はそうでなければこれらとリンクする。図5に示されるように、代替オブジェクトLPa〜LPnは、「最大」(即ち、利用可能な代替パーティションの中で最も高い優先順位)から、「最小」(即ち、利用可能な代替パーティションの中で最も低い優先順位)まで、優先順位付けすることができる。代替キュー505のコンポーネントは、ここで図6を参照して説明されるように、スケジューリングの優先順位を決定するために利用することができるという利点がある。
図6を参照すると、本発明に係る、パーティション・スケジューリング優先順位値を求めるためにパーティション監視ユニット204及びハイパーバイザ115によって実施されるステップを示す高レベル・フロー図が示される。プロセスは、ステップ602及び604において示されるように、各々の論理パーティションについて、図5において示されるような対応するパーティション制御ブロックを生成することなどによって、論理パーティションを初期化し、特定することで開始する。ステップ606及び608において示されるように、ベース代替優先順位がパーティションの各々について設定され、値が増加される。ハイパーバイザ115は、好ましくは、何らかの正規化された形でパーティションの優先順位値を動的に調整するために時間フェアネス・スケジューリング関数を用いる図4に示される方法で、パーティションについて代替優先順位を設定し、値を増加させる。
ステップ610に示されるように進むと、論理パーティションは、一例においては、ハイパーバイザ115によって特定される設定されたディスパッチ・ウィンドウ期間の割り当てに従って、ディスパッチされる。パーティション・ディスパッチ・ウィンドウ期間内に、追跡論理モジュール302内にあるもののようなハードウェア・ベースの追跡デバイス及びモジュールを用いて、ディスパッチ・ウィンドウ期間内にリソースが割り当てられるそれぞれの論理パーティション関連付けられた物理システム・リソースの1つ又は複数についての性能評価指標を追跡する(ステップ615)。性能評価指標の追跡は、オペレーティング・システム割り込みなどのプログラミング割り込みとは独立にハードウェア・レベルで実施され、好ましくは、CPI及び他の物理リソース処理評価指標を追跡することを含む。
図6に示されるように、物理リソース評価指標の追跡は、ディスパッチされたパーティション関連付けられた評価指標を追跡するサブステップと、ハードウェア検出された評価指標を用いて、ハイパーバイザ115がパーティションの代替又は他のディスパッチ決定に用いることができるスケジューリング優先順位値を計算するか、又はそうでなければ決定するサブステップとを含む。ステップ612において示されるように、パーティション関連付けられた物理リソース評価指標は、ディスパッチ・ウィンドウ期間によって定められるパーティション・ディスパッチ・ウィンドウ期間TDPを1より大きい増分因子で割った比より短い記録時間増分Δtrecを有する記録速度で、ハードウェア・レベルの論理及びレジスタを用いて収集され、格納される。ハードウェア検出による物理リソース評価指標の収集に続いて及び/又はこれと併せて、パーティション関連付けられた優先順位値が計算される(ステップ614)。パーティション関連付けられた優先順位値は、ハードウェア検出された/格納された物理システム評価指標から計算されるか、又は、検出された/格納された評価指標自体であってもよい。例えば、図3に示される実施形態を参照すると、ステップ612において収集される物理リソース評価指標は、ディスパッチされたパーティション・ベクトル308に収集されたCPI値を含み、ステップ614において計算される優先順位値は、図8A及び図8Bを参照して以下でより詳細に示され説明されるプロセスにおいてCPI値から計算されるメモリ・フットプリント値を含む。ステップ615における性能評価指標の決定と同時に、ステップ616に示されるように、パーティションについての各々のディスパッチ・ウィンドウ期間においてパーティション履歴テーブル305内に示されるVAR値のような信頼性因子が計算され、更新されることが好ましい。
図8Aを参照すると、ステップ615に組み入れられる処理ステップのより詳細な表現が提供される。具体的には、図8Aは、ディスパッチ決定に利用されるメモリ・フットプリント性能値を求めるためにPMU204及びハイパーバイザ115などによって実施されるステップを示す、高レベル・フロー図を示す。このプロセスは、パーティション・ディスパッチのステップ610で開始し、ディスパッチされたパーティションのディスパッチ・ウィンドウ期間内の時間間隔点tにおいてCPIデータが求められ、記録されることを示すステップ806へ進む。tにおいて収集されたCPI値は、同じパーティションについて以前に記録されたCPI値と比較される。以前に記録されたCPI値は、同じパーティションのディスパッチ・ウィンドウ期間内における、より前の時点で求められたCPI値を表す。ディスパッチ・ウィンドウ期間サイクルにおける種々の時点で収集されるCPIデータの例示的なグラフが図8Bに示される。図8Bにおいては、TDPによって示されるディスパッチ・ウィンドウ期間にわたり、ディスパッチ・ウィンドウ期間が開始する時点はtと表され、終了する時点はtDPと表される。このような同じパーティションについてのこうした1つ又は数のディスパッチにおいて、CPIデータが求められ記録される時点は、Δtrec0、Δtrec1、Δtrec2、Δtrec3、などと表される。図8Aのステップ808に戻ると、CPIデータ値の間の比較は、例えば、時間Δtrec2において記録されたCPI値と、Δtrec1において記録されたCPI値との比較を含むものとすることができる。好ましい実施形態においては、異なる時間増分におけるCPIデータの決定は、所与の論理パーティションについての異なるディスパッチ・ウィンドウ期間全体にわたって実施される。
本発明は、各々のパーティション・ディスパッチに関してメモリ・フットプリントを再び規定する必要性に関連する、ディスパッチの実質的なコストを明らかにするものである。ステップ808において実施される比較の目的は、パーティションがメモリ・フットプリントを求めることである。メモリ・フットプリントを決定することは、図8BのΔtrec3において示されるような端点(corner point)を求めることを含み、この端点においては、CPI値が、以前のディスパッチ・ウィンドウ期間の以前の時間増分において記録されたCPI値から、特定の閾値より小さい分だけ変化する。図8Bにおいて、時間Δtrec3は、Δtrec3において記録されたCPI値とΔtrec2において記録されたCPI値との差が閾値ΔCPITHRSHLDより小さい、こうした端点を表す。したがって、メモリ・フットプリントfpは、tからΔtrec3までの期間である。CPI値の間の差が特定の閾値より小さいかどうかの判定は、ステップ810において示される。
CPI値の差が閾値以上であることに応答して、ステップ806において記録されたCPI値(即ち、最後のCPI値)が記録され(ステップ812)、ステップ610における同じパーティションの次のディスパッチに戻る前に、次のディスパッチ・ウィンドウ期間のために記録間隔の値を増加させる(ステップ814)。Δtrec3において収集されたCPI値とΔtrec2において以前に収集されたCPI値との間の比較のような所与の比較が、閾値基準を満たす結果となったときには、そのパーティションについてのフットプリント規定期間は、パーティション履歴テーブル305内のようにパーティション識別情報と関連付けて記録される(ステップ816)。
図6に戻り、ステップ618において示されるように進むと、ハイパーバイザ115及び/又はPMU204は、論理パーティションの各々のディスパッチ・ウィンドウ期間の使用を判定することができる。ステップ618における判定を使用して、各々の論理パーティションは、設定されたディスパッチ・ウィンドウ期間の割り当てを実質的に全て用いるバッチ・パーティションか、又は、ディスパッチ・ウィンドウ期間にパーティションが外部イベントを待たなければならない割り込み処理を受けるインタラクティブ・パーティションのどちらかとして分類される。バッチ・パーティションとして分類された、ディスパッチされたパーティションは、実質的にディスパッチ・ウィンドウ期間全体を使用するが、インタラクティブ・パーティションは、処理が中断したときなどに割り込み処理を受けて、別のプロセスからの応答を待たなければならない。所与のパーティションについてのディスパッチ・ウィンドウ期間の使用が、1つの実施形態においては95%である特定の閾値を上回る場合には、パーティションは、バッチ・パーティションとして分類される(ステップ618及び622)。そうでなければ、ステップ618及び620に示されるように、パーティションはインタラクティブ・パーティションとして分類される。
ディスパッチ・ウィンドウ期間の使用の分類は、図5において先に示されたように、各々のパーティションのパーティション制御ブロック内にフィールドとして含まれ、ハイパーバイザ115がスケジューリング優先順位基準として使用することができる。例えば、ハイパーバイザ115は、インタラクティブであると特定されたパーティションを、代替キュー505(図5を参照されたい)内の代替パーティションとしての適格性から除外することができる。さらに、図7を参照して以下で説明されるように、ディスパッチ・ウィンドウ期間の使用の分類は、ハイパーバイザ115が、ディスパッチ・ウィンドウ期間の残りの部分を横取り又は代替された元のパーティションに再割り当てするかどうかを判断するのに用いることができる。
パーティション・スケジューリング優先順位値を決定するプロセスは、パーティション履歴テーブル305及びPCB502a〜502nに格納される優先順位値のような優先順位値を入力又は更新して、ステップ624及び626において示されるように終了する。図3〜図5を参照して上で示され説明されたように、ハードウェア検出された性能評価指標は、パーティション履歴テーブル305内などで論理パーティションに関連付けられ、ハイパーバイザ115により、代替キュー505によって確立されるような優先順位を決定するのに用いられる。好ましい実施形態においては、ディスパッチ・ウィンドウ期間の使用の分類と性能評価指標の決定は、時間的に(例えば5分)測定するか又はパーティション・ディスパッチ・キューを通る特定のローテーション回数によって測定することができるシステム起動時に、実施することができる。優先順位データの少なくとも初期の組の収集後に、ハイパーバイザ115は、ディスパッチされたパーティションの代替及び場合によっては横取り、並びに、他のスケジューリング決定のために、そのデータを使用する。
図7は、本発明に係る、論理パーティション間のワークロードをバランスさせるためにハイパーバイザ115内のディスパッチャのようなディスパッチャによって実施されるステップを示す高レベル・フロー図である。プロセスは、ステップ702及び710において示されるように、ハイパーバイザ115が、システムによって設定されたパーティション・スケジューリングに従って次の1つ又は複数のパーティションの組をディスパッチすることで開始する。現在のディスパッチ・サイクルの間に、ディスパッチされたパーティションのCPI及びCLCを含む物理システム・リソース評価指標が記録及び更新され(ステップ712)、図6のステップ614において計算された代替優先順位値のような代替優先順位値が更新される(ステップ713)。
ステップ714において示されるように、ハイパーバイザ115は、パーティション代替優先順位データに従って、所与のディスパッチされたパーティションを横取りすることができるかどうかを判定することができる。ここで用いられるときには、パーティションの横取りは、ディスパッチ・ウィンドウ期間に譲ったディスパッチされたパーティションを代替するのに用いられるものと同じ機構の多くに類似しており、その多くを含む。違いは、パーティションの横取りは、ここで説明される代替ステップを開始させる条件として、代替されるパーティションが処理を中断している必要がないことである。ステップ714及び720において示されるように、所与のディスパッチされたパーティションについて、パーティション履歴テーブル305に含まれる優先順位のような優先順位値の観点から、予め指定された横取り基準を満たすと判定されたことに応答して、ハイパーバイザ115は、ディスパッチされたパーティションを中断し、ディスパッチ・ウィンドウ期間の残り(場合によってはその全体)に対してシステム・リソースを選択されたパーティションに割り当てる。代替パーティションは、ステップ718及び図9を参照して以下で説明されるスケジューリング優先順位付けステップと同一又は類似した形で、代替優先順位データに従って選択される。ハイパーバイザ115は、代替キュー505及びパーティション制御ブロック502a〜502n内の優先順位データを用いて、次にディスパッチされるパーティションか、そうでなければ現在ディスパッチされているパーティションが、選択された代替パーティションによって横取りされるかどうかを判定する。
横取り基準を満たさず(ステップ714)、元のスケジューリングされたパーティションがディスパッチ割り当て期間の全体を使用する(即ち、パーティションが処理を中断しない)場合には、ハイパーバイザのディスパッチ/ロード・バランシングのプロセスは、ステップ710における次のディスパッチで続行される。
ディスパッチされており、かつ、横取りされていないパーティションが、ディスパッチ・ウィンドウ期間に処理を中断した場合には(ステップ716)、ハイパーバイザ115は、利用可能なパーティションについて代替キュー505及び/又はパーティション制御ブロック502a〜502nによって提供される代替優先順位データを処理して、予め指定されたパーティション代替基準を満たしているかどうかを判定する(ステップ718)。
ステップ718において示される代替の判定は、好ましくは、現在アイドル状態の論理パーティションの代替優先順位値を評価して、その中のどのパーティションが、現在中断されているパーティションを代替する適格性があるかを判定することを含む。代替適格性の判定は、ディスパッチ・ウィンドウ期間の残りの部分が限られていることなどといった課せられた制限の観点から、パーティション制御ブロック502a〜502nに含まれるメモリ・フットプリント値などのパーティション代替優先順位値の1つ又は複数を評価する。例えば、元のディスパッチされたパーティションは、IBM社のPOWER5アーキテクチャの場合は10ミリ秒であるパーティション・ウィンドウ期間TDWを有する。ディスパッチ・ウィンドウ期間TDWは、パーティションについての設定された最小の実行時増分であり、かつ、その結果としてハイパーバイザ115がディスパッチされたパーティションの代替又は横取りを行うことができる最小の増分である、ディスパッチ増分TDPSTCHに有効に分割される。このような状況下で、ステップ718における代替基準の判定は、TDPSTCHと、中断されたパーティションについてのディスパッチ・ウィンドウ期間DWの残りの部分とによって課せられた制限の観点から、利用可能な代替パーティションのうちのどれが適格であるかを判定することを含む。
本発明は、特定のレベルのスケジューリング効率を保証するディスパッチ選択機能を含む。即ち、図9を参照すると、代替基準を満たしているかどうかを判定する(ステップ718)際に、及び、特定のレベルの処理効率を保証するように代替パーティションを選択する際に、パーティション・スケジューラによって実施されるステップを示す高レベル・フロー図が示される。プロセスは、ステップ902及び904において示されるように、横取り基準を満たしていること又はディスパッチされたパーティションが中断することといった代替イベントによって代替基準の判定が促されることによって開始する。ステップ718に示される代替基準の判定は、利用可能なパーティションについてのメモリ・フットプリント優先順位値とディスパッチ・ウィンドウ期間の残りの利用可能な部分との両方を用いて代替パーティションを選択するためのサブステップ906及び908を含む。
ステップ906は、パーティション制御ブロック及び/又はパーティション履歴テーブル305に記録することができる、利用可能な代替パーティションについてのフットプリントfpが、ディスパッチ・ウィンドウ期間の残りの部分Tremainingより小さいかどうかの判定を示す。さらに、ステップ906に示される判定は、あるパーティションについてのフットプリント値fpが、利用可能なディスパッチ・ウィンドウ期間Tremaining内において代替パーティションが特定のレベルの処理効率を達成できるほど十分に小さいものであるかどうかを判定するために、1より大きい値に設定することができるチューニング可能な因子xを使用する。例えば、1つの実施形態においては、ハイパーバイザ115は、xが1より大きく、好ましくは少なくとも10である場合に、代替論理パーティションがxTfp≦Tremainingの関係を満足する所定のメモリ・フットプリント値Tfpを有するかどうかに従って、ステップ718において代替の決定を行う。
ステップ906及び908において示されるように、代替優先順位値の評価基準を満たさない場合には、そのパーティションは、代替可能なものから除外される。ステップ906は、代替基準が満たされるまでパーティションの1つ又は複数について実施され、プロセスは、ステップ910において示されるように終了する。
図7に戻ると、代替パーティションの選択に応答して、ハイパーバイザ115は、代替済みのパーティションからディスパッチ・ウィンドウ期間のリソースの割り当てを解除し、そのリソースを選択された代替パーティションに割り当てる(ステップ720)。代替されたパーティションが、図5及び図6を参照して示され説明されるように、非インタラクティブ(即ちバッチ)として分類されている場合には、代替パーティションは残りのディスパッチ・ウィンドウ期間を消費し、プロセスは次のディスパッチ・サイクルに戻る(ステップ722及び710)。しかしながら、代替されたパーティションがインタラクティブなパーティションである場合には(ステップ722)、代替パーティションは、残りのディスパッチ・ウィンドウ期間のサブセット期間にわたってディスパッチされる(ステップ723)。代替ディスパッチ・ウィンドウ期間の終了に続いて、ディスパッチ・ウィンドウ期間のリソースは元の代替済みのパーティションに再割り当てされ(ステップ724)、プロセスは続行するか(ステップ726)、又は終了する(ステップ728)。
図10は、本発明に係るディスパッチ・ウィンドウ期間内のパーティション・スケジューリングを示す。図10に示されるディスパッチ・ウィンドウ期間は、tstartで開始しtfinishで終了する設定されたディスパッチ・ウィンドウ期間TDWを有するものとして一部が定められ、これは、特定のディスパッチ・ウィンドウ期間の間隔にわたるパーティション活動の時限割り込みをハイパーバイザ115に与える、ハイパーバイザ115内の(図面には明示されない)カウンタ機能によって実装される。示される実施形態においては、P1、P2、及びP3として表されるパーティションは、それぞれディスパッチ・ウィンドウ期間内の時間tstart、t、及びtで開始する交互に配置される時間間隔で、ハイパーバイザ115によってディスパッチされる。論理パーティション・スケジューリング規則によれば、パーティションP1、P2、及びP3の各々は、パーティションがそのそれぞれの最小使用資格を受け取ることを保証するために、ハイパーバイザ115がスケジューリングに用いる予め設定されたディスパッチ・ウィンドウ期間の使用資格を有する。
示される実施形態においては、パーティションP1、P2、及びP3についての最小使用資格は、それぞれtstart〜t、t〜t、及びt〜tの期間として図10において示される。使用資格期間の後に、フェアネス及びスケジューリング優先順位因子に従ってハイパーバイザ115によってパーティションP1、P2、及びP3がディスパッチされることがある残りの期間t〜tfinishが存在する。さらに、上で説明されたように、パーティションは、パーティションP2について示されるように、使用資格のあるディスパッチ・ウィンドウ期間内に処理を中断することがある。
図11は、本発明に係る、図10に示されるディスパッチ・ウィンドウ期間などの間のパーティション・スケジューリングのチューニングを示す高レベル・フロー図である。プロセスは、ステップ1102において示されるように、次のディスパッチ・ウィンドウ期間の開始のためのハードによる(即ち、パーティション活動とは独立した)割り込み信号を受信することによって開始する。ステップ1104において示されるように進むと、パーティションP1、P2、及びP3のうちの1つなどの論理パーティションが、パーティションの設定されたサイクル使用資格に対応する期間にわたってディスパッチされる。図10を参照すると、第1のディスパッチ・ウィンドウ期間は、特定のサイクル数のためにtstartにおいてディスパッチされたパーティションP1についての期間である。
ディスパッチされたパーティションに属する論理プロセッサが、例えばtstart〜tにディスパッチされたパーティションP1ついての処理を中断せず(ステップ1106)、さらに使用資格の割り当てが必要な場合には(ステップ1108)、次のスケジューリングされたパーティション(例えばパーティションP2)がディスパッチされる(ステップ1104)。最小の使用資格の割り当て後にディスパッチ・ウィンドウ期間全体が消費された場合には(ステップ1110)、プロセスは、次のディスパッチ・ウィンドウ期間のためにステップ1102に戻る。
パーティションの使用資格を満たすようにディスパッチすることに加えて、ハイパーバイザ115は、スケジューリング経験則の中から、パーティションに関連付けられた性能評価指標から導かれるメモリ・フットプリント値のような優先順位因子を使用して、パーティションを動的にスケジューリングすることが好ましい。ハイパーバイザ115が、スケジューリングのために性能評価指標から導かれた優先順位を使用する1つの状況が、パーティションP2が処理を中断した時点である時間tsusにおける、図10に示される中断された論理プロセッサ状態(ステップ1106)として、図11に示される。図11に示される他のこうした状況は、付加的なサイクルがディスパッチ・ウィンドウ期間内に残っているtにおいて開始する使用資格後のスケジューリングである(ステップ1108及び1110)。
パーティションの処理の中断(ステップ1106)又はディスパッチ・ウィンドウ期間における追加サイクルの利用可能性に応じて、ハイパーバイザ115は、以下のサブステップを含むステップ720においてディスパッチを開始する。パーティションのディスパッチ適格性は、パーティションの各々についてメモリ・フットプリントをディスパッチ・ウィンドウ期間の残りの時間と比較することによって、判定される(ステップ1112)。次いで、ステップ1112を通じて適格であるパーティションは、ステップ1114に示されるように、それぞれのメモリ・フットプリント規定コストに従って優先順位付けされる。例えば、格納された統計値は、各々のパーティションについてのメモリ・フットプリントを示す。図9を参照して上で説明されたように、メモリ・フットプリントを用いて、限られたディスパッチ・ウィンドウ期間が残っている状態で特定のパーティションをディスパッチすることについての相対的な効率を判定することができる。したがって、ステップ1114において実施される優先順位付けは、図4及び図9に示されるステップを含むものとすることができる。ステップ1114における優先順位付けに従って選択されたパーティションは、ステップ1116において示されるように、ディスパッチされる。
開示された方法は、オブジェクトを用いて、又は、様々なコンピュータ若しくはワークステーション・ハードウェア・プラットフォーム上で用いることが可能なポータブル・ソース・コードを提供するオブジェクト指向ソフトウェア開発環境を用いて、ソフトウェアとして容易に実装することができる。この場合においては、本発明の方法及びシステムは、Java(登録商標)又はCGIのスクリプトといった、パーソナル・コンピュータに埋め込まれるルーチン、サーバ又はグラフィックス・ワークステーションに常駐するリソース、専用のソースコード・エディタ管理システムに埋め込まれるルーチンなどとして、実装することができる。
本発明は、好ましい実施形態を参照して具体的に示され説明されたが、当業者であれば、本発明の趣旨及び範囲から逸脱することなく、形態及び細部において種々の変更を行うことができることを理解すべきである。このような代替的な実施形態は全て、発明の範囲内にある。
本発明に係るワークロード・バランシング及びディスパッチ・ウィンドウ期間のチューニングを実施するように適合された、仮想化されたコンピュータ・システムの図である。 本発明の1つの実施形態に係る、パーティション・ケジューリングを容易にするように適合された例示的なアーキテクチャを示す高レベル概念図である。 図2に示されるアーキテクチャ内に実装することができるパーティション監視ユニット、ハイパーバイザ、及びパーティション履歴テーブルの内部アーキテクチャを示す高レベル概念図である。 本発明に係る、論理パーティションの代替優先順位を求めるためのシーケンスの高レベル・ブロック図である。 本発明に従って実装されるパーティション・ディスパッチャ状態の高レベル・ブロック図である。 本発明に係る、代替優先順位を求めるためにパーティション監視ユニット及びディスパッチャによって実施されるステップを示す高レベル・フロー図である。 本発明に係る、代替優先順位を用いて論理パーティション間のワークロードをバランスさせるパーティション・ディスパッチ・プロセスの間に実施されるステップを示す高レベル・フロー図である。 (A)本発明の1つの実施形態に係る、ディスパッチ代替決定に利用されるメモリ・フットプリント性能評価指標を求めるためにパーティション監視ユニットによって実施されるステップを示す高レベル・フロー図である。(B)本発明に係る、ディスパッチ・ウィンドウ期間のサイクルにわたって収集される1命令あたりサイクルのデータのグラフである。 代替パーティションの選択の際にパーティション・スケジューラによって実施されるステップを示す高レベル・フロー図である。 本発明に係るディスパッチ・ウィンドウ期間内のパーティション・スケジューリングを示す。 本発明に係る、ディスパッチ・ウィンドウ期間にパーティション・スケジューラを動的にチューニングするためにパーティション監視ユニットによって実施されるステップを示す高レベル・フロー図である。

Claims (18)

  1. 複数の論理パーティションの各々がコンピュータ・システムの共有物理システム・リソースを用いる他の論理パーティションから論理的に独立して作動する、システム仮想化パーティショニングを用いるコンピュータ・システムにおいて、前記複数の論理パーティション間で物理システム・リソースへのアクセスをバランスさせるための方法であって、
    前記コンピュータ・システムが、
    前記物理システム・リソースのうちの1つ又は複数についての性能評価指標を前記複数の論理パーティションのうちの1つ又は複数と関連付けて収集するためにハードウェア検出論理を使用するステップであって、前記性能評価指標は1命令を実行するのに必要なクロック数(CPI)値、キャッシュ・ライン・カウント値、又はキャッシュ・ミス・カウント値である、前記使用するステップと、
    前記複数の論理パーティションの各々に割り当てられたディスパッチ・ウィンドウ期間の使用レベルが特定の閾値を上回るかどうかに従って前記複数の論理パーティションの各々をバッチ・パーティション又はインタラクティブ・パーティションのどちらかとして分類するステップであって、前記特定の閾値を上回る場合には前記バッチ・パーティションに分類し、それ以外の場合には前記インタラクティブ・パーティションに分類し、前記バッチ・パーティションが、設定されたディスパッチ・ウィンドウ期間の割り当てを全て用いる論理パーティションであり、前記インタラクティブ・パーティションが、ディスパッチ・ウィンドウ期間内外部イベントを待たなければならず且つ割り込み処理を受ける論理パーティションである、前記分類するステップと、
    前記物理システム・リソースの所与の組を前記複数の論理パーティションのうちの1つに割り当てるために予め構成されている前記ディスパッチ・ウィンドウ期間内にディスパッチされた他のパーティションであって前記複数の論理パーティションのうちの当該他の論理パーティションについて収集された前記性能評価指標に従って、前記物理システム・リソースの前記所与の組を前記ディスパッチされた他の論理パーティションに割り当てるステップであって、
    前記収集された性能評価指標を優先順位値とするステップ又は前記収集された性能評価指標から優先順位値を計算するステップと、
    前記計算された優先順位値で更新されたパーティション代替優先順データに従って、前記ディスパッチされた他の論理パーティションを横取りすることができるかどうか判定するステップであって、前記ディスパッチされた他の論理パーティションが、
    xT fp ≦T unutilized
    但し、xは1より大きい効率乗数であり、T fp は前記ディスパッチされた他の論理パーティションについてのメモリ・フットプリント値であり、T unutilized が前記ディスパッチ・ウィンドウ期間の未使用部分を表す、
    という関係を満たす求められたメモリ・フットプリント値T fp を有することに応じて前記横取りが可能であると判定する、前記判定するステップと、
    前記横取りが可能であることに応じて、前記横取りすることが可能であると判断された前記ディスパッチされた他の論理パーティションを中断して、前記物理システム・リソースの前記所与の組を前記中断された他の論理パーティションに割り当てるステップと、
    前記割り当てられた他の論理パーティションが前記バッチ・パーティションに分類されている場合には、当該割り当てられた他の論理パーティションを残りのディスパッチ・ウィンドウ期間にわたってディスパッチするステップと、
    前記割り当てられた他の論理パーティションが前記インタラクティブ・パーティションに分類されている場合には、当該割り当てられた他の論理パーティションを残りのディスパッチ・ウィンドウ期間のサブセット期間にわたってディスパッチするステップと
    を含む、前記割り当てるステップと
    を実行することを含む、前記方法。
  2. 前記コンピュータ・システムが、
    前記性能評価指標をそれぞれの関連付けられた論理パーティションの各々と関連付けて格納するステップ
    をさらに実行することを含む、請求項1に記載の方法。
  3. 前記コンピュータ・システムが、
    前記ディスパッチ・ウィンドウ期間内に前記論理パーティションの1つの論理プロセッサをディスパッチするステップであって、前記論理パーティションの前記1つによって用いられるように前記物理システム・リソースが割り当てられる予め指定された期間を割り当てることを含む、前記ディスパッチするステップと、
    前記ディスパッチされた論理プロセッサが前記予め指定された期間の処理を中断することに応じて、前記物理システム・リソースを前記予め指定された期間の残りの部分に再割り当てするために前記複数の論理パーティションのうちの他の論理パーティションを当該他の論理パーティションについての前記優先順位値に従って選択するステップと
    をさらに実行することを含む、請求項1又は2に記載の方法。
  4. 複数の論理パーティションの各々がコンピュータ・システムの共有物理リソースを用いて他の論理パーティションから論理的に独立して作動する、システム仮想化パーティショニングを用いるコンピュータ・システムにおいて、前記複数の論理パーティション間で物理システム・リソースへのアクセスをバランスさせるためのシステムであって、
    前記物理システム・リソースのうちの1つ又は複数についての性能評価指標を前記論理パーティションの1つ又は複数と関連付けて収集するためのハードウェア検出論理であって、前記性能評価指標は1命令を実行するのに必要なクロック数(CPI)値、キャッシュ・ライン・カウント値、又はキャッシュ・ミス・カウント値である、前記ハードウェア検出論理と、
    前記複数の論理パーティションの各々に割り当てられたディスパッチ・ウィンドウ期間の使用レベルが特定の閾値を上まるかどうかに従って前記複数の論理パーティションの各々をバッチ・パーティション又はインタラクティブ・パーティションのどちらかとして分類するための第1のパーティション・スケジューリング論理であって、前記特定の閾値を上回る場合には前記バッチ・パーティションに分類し、それ以外の場合には前記インタラクティブ・パーティションに分類し、前記バッチ・パーティションが、設定されたディスパッチ・ウィンドウ期間の割り当てを全て用いる論理パーティションであり、前記インタラクティブ・パーティションが、ディスパッチ・ウィンドウ期間内外部イベントを待たなければならず且つ割り込み処理を受ける論理パーティションである、前記第1のパーティション・スケジューリング論理と、
    前記物理システム・リソースの所与の組が前記複数の論理パーティションのうちの1つに割り当てるために予め構成されている前記ディスパッチ・ウィンドウ期間内にディスパッチされた他のパーティションであって前記複数の論理パーティションのうちの当該他の論理パーティションについて収集された前記性能評価指標と前記ディスパッチされた他の論理パーティションの前記分類とに従って、前記物理システム・リソースの前記所与の組を前記ディスパッチされた他の論理パーティションに割り当てるための第2のパーティション・スケジューリング論理であって、
    前記収集された性能評価指標を優先順位値とするステップ又は前記収集された性能評価指標から優先順位値を計算し、
    前記計算された優先順位値で更新されたパーティション代替優先順データに従って、前記ディスパッチされた他の論理パーティションを横取りすることができるかどうか判定し、ここで、前記ディスパッチされた他の論理パーティションが、
    xT fp ≦T unutilized
    但し、xは1より大きい効率乗数であり、T fp は前記ディスパッチされた他の論理パーティションについてのメモリ・フットプリント値であり、T unutilized が前記ディスパッチ・ウィンドウ期間の未使用部分を表す、
    という関係を満たす求められたメモリ・フットプリント値T fp を有することに応じて前記横取りが可能であると判定し、
    前記横取りが可能であることに応じて、前記横取りすることが可能であると判断された前記ディスパッチされた他の論理パーティションを中断して、前記物理システム・リソースの前記所与の組を前記中断された他の論理パーティションに割り当て、
    前記割り当てられた他の論理パーティションが前記バッチ・パーティションに分類されている場合には、当該割り当てられた他の論理パーティションを残りのディスパッチ・ウィンドウ期間にわたってディスパッチし、
    前記割り当てられた他の論理パーティションが前記インタラクティブ・パーティションに分類されている場合には、当該割り当てられた他の論理パーティションを残りのディスパッチ・ウィンドウ期間のサブセット期間にわたってディスパッチする、
    前記第2のパーティション・スケジューリング論理と
    を含む、前記システム。
  5. 前記性能評価指標をそれぞれの関連付けられた論理パーティションの各々と関連付けて格納するための手段をさらに含む、請求項4に記載のシステム。
  6. 前記ディスパッチ・ウィンドウ期間内に前記論理パーティションの1つの論理プロセッサをディスパッチするための第1のパーティション・スケジューリング論理であって、前記ディスパッチすることは、前記論理パーティションの前記1つによって用いられるように前記物理システム・リソースが割り当てられる予め指定された期間を割り当てることを含む、前記第1のパーティション・スケジューリング論理と、
    前記ディスパッチされた論理プロセッサが前記予め指定された期間の処理を中断することに応じて、前記物理システム・リソースを前記予め指定された期間の残りの部分に再割り当てするために前記複数の論理パーティションのうちの他の論理パーティションを当該他の論理パーティションについての前記優先順位値に従って選択するための第2のパーティション・スケジューリング論理と
    をさらに含む、請求項4又は5に記載のシステム。
  7. 複数の論理パーティションの各々がコンピュータ・システムの共有物理システム・リソースを用いる他の論理パーティションから論理的に独立して作動する、システム仮想化パーティショニングを用いるコンピュータ・システムにおいて、前記複数の論理パーティション間で物理システム・リソースへのアクセスをバランスさせるための処理を実行させるコンピュータ・プログラムであって、前記コンピュータ・システムに、請求項1〜3のいずれか一項に記載の方法の各ステップを実行させる前記コンピュータ・プログラム。
  8. 複数の論理パーティションの各々がコンピュータ・システムの共有物理システム・リソースを用いる他の論理パーティションから論理的に独立して作動する、システム仮想化パーティショニングを用いるコンピュータ・システムにおいて、前記複数の論理パーティション間で物理システム・リソースへのアクセスをバランスさせるための方法であって、
    前記コンピュータ・システムが、
    前記物理システム・リソースのうちの1つ又は複数についての性能評価指標を前記複数の論理パーティションのうちの1つ又は複数と関連付けて収集するステップであって、前記性能評価指標は1命令を実行するのに必要なクロック数(CPI)値、キャッシュ・ライン・カウント値、又はキャッシュ・ミス・カウント値である、前記収集するステップと、
    前記性能評価指標を用いて、前記1又は複数の論理パーティションについてのメモリ・フットプリント値を求めるステップと、
    前記求められたメモリ・フットプリント値に従って、前記物理システム・リソースが前記1又は複数の論理パーティションの各々に割り当てられたディスパッチ・ウィンドウ期間内にディスパッチされた他のパーティションであって前記複数の論理パーティションのうちの当該他の論理パーティションに、前記物理システム・リソースのうちの前記所与の組を割り当てるステップであって、
    前記求められたメモリ・フットプリント値を用いてパーティションの優先順位を決定するステップと、
    前記決定された優先順位値で更新されたパーティション代替優先順データに従って、前記ディスパッチされた他の論理パーティションを横取りすることができるかどうか判定するステップであって、前記ディスパッチされた他の論理パーティションが、
    xT fp ≦T unutilized
    但し、xは1より大きい効率乗数であり、T fp は前記ディスパッチされた他の論理パーティションについてのメモリ・フットプリント値であり、T unutilized が前記ディスパッチ・ウィンドウ期間の未使用部分を表す、
    という関係を満たす求められたメモリ・フットプリント値T fp を有することに応じて前記横取りが可能であると判定する、前記判定するステップと、
    前記横取りが可能でないことに応じて、前記ディスパッチされた論理プロセッサが予め指定された期間の処理を中断するかどうか判定するステップと、
    前記処理を中断することに応じて、前記物理システム・リソースを前記予め指定された期間の残りの部分に再割り当てするステップと
    を含む、前記割り当てるステップと
    を実行することを含む、前記方法。
  9. 前記コンピュータ・システムが、
    前記メモリ・フットプリント値を、あるパーティションについてのディスパッチ・ウィンドウ期間内のある時点における1命令を実行するのに必要なクロック数(CPI)値が、同じあるパーティションについてのディスパッチ・ウィンドウ期間内の前記ある時点よりも前の時点における1命令を実行するのに必要なクロック数(CPI)値から特定の閾値より小さい分だけシフトする端点を検出することによって求めるステップ
    をさらに実行することを含む、請求項8に記載の方法。
  10. 前記コンピュータ・システムが、
    前記論理パーティションの所与の1つについて、1命令を実行するのに必要なクロック数(CPI)値を連続的なディスパッチ・ウィンドウ期間において収集するステップ
    をさらに実行するステップを含む、請求項8又は9に記載の方法。
  11. 前記コンピュータ・システムが、
    前記所与の論理パーティションについてm番目のディスパッチ・ウィンドウ期間のn番目の時間増分で1命令を実行するのに必要なクロック数(CPI)値を収集するステップと、
    前記所与の論理パーティションについて(m+q)番目のディスパッチ・ウィンドウ期間の(n+p)番目の時間増分で1命令を実行するのに必要なクロック数(CPI)値を収集するステップと
    をさらに実行することを含み、前記m、前記n、前記p、及び前記qは、1より大きい整数又は1と等しい整数である、請求項8〜10のいずれか一項に記載の方法。
  12. 前記コンピュータ・システムが、
    前記論理パーティションのうちの前記他の論理パーティションが、
    xTfp≦Tunutilized
    但し、xは1より大きい効率乗数であり、Tfpはメモリ・フットプリント値であり、Tunutilizedがディスパッチ・ウィンドウ期間の未使用部分を表す、
    という関係を満たす求められたメモリ・フットプリント値Tfpを有するかどうかに従って、前記物理システム・リソースの前記所与の組を前記論理パーティションのうちの前記他の論理パーティションに割り当てるステップ
    をさらに実行することを含む、請求項8〜11のいずれか一項に記載の方法。
  13. 複数の論理パーティションの各々がコンピュータ・システムの共有物理システム・リソースを用いる他の論理パーティションから論理的に独立して作動する、システム仮想化パーティショニングを用いるコンピュータ・システムにおいて、前記複数の論理パーティション間で物理システム・リソースへのアクセスをバランスさせるためのシステムであって、
    前記物理システム・リソースの1つ又は複数についての性能評価指標を前記論理パーティションの1つ又は複数と関連付けて収集するためのハードウェア検出論理であって、前記性能評価指標は1命令を実行するのに必要なクロック数(CPI)値、キャッシュ・ライン・カウント値、又はキャッシュ・ミス・カウント値である、前記ハードウェア検出論理と、
    前記性能評価指標を用いて、前記1又は複数の論理パーティションについてのメモリ・フットプリント値を求めるためパーティション監視論理と、
    前記求められたメモリ・フットプリント値に従って、前記物理システム・リソースの所与の組が前記1又は複数の論理パーティションの各々に割り当てられディスパッチ・ウィンドウ期間内にディスパッチされた他のパーティションであって前記複数の論理パーティションのうちの当該他の論理パーティションに、前記物理システム・リソースのうちの前記所与の組を割り当てるための第1のパーティション・スケジューリング論理であって、
    前記収集されたメモリ・フットプリント値を優先順位値とするステップ又は前記収集されたメモリ・フットプリント値から優先順位値を計算し、
    前記計算された優先順位値で更新されたパーティション代替優先順データに従って、前記ディスパッチされた他の論理パーティションを横取りすることができるかどうか判定し、ここで、前記ディスパッチされた他の論理パーティションが、
    xT fp ≦T unutilized
    但し、xは1より大きい効率乗数であり、T fp は前記ディスパッチされた他の論理パーティションについてのメモリ・フットプリント値であり、T unutilized が前記ディスパッチ・ウィンドウ期間の未使用部分を表す、
    という関係を満たす求められたメモリ・フットプリント値T fp を有することに応じて前記横取りが可能であると判定し、
    前記横取りが可能でないことに応じて、前記ディスパッチされた論理プロセッサが予め指定された期間の処理を中断するかどうか判定し、
    前記処理を中断することに応じて、前記物理システム・リソースを前記予め指定された期間の残りの部分に再割り当てする、
    前記第1のパーティション・スケジューリング論理と
    を含む、前記システム。
  14. 前記メモリ・フットプリント値を、あるパーティションについてのディスパッチ・ウィンドウ期間内のある時点における1命令を実行するのに必要なクロック数(CPI)値が、同じあるパーティションについてのディスパッチ・ウィンドウ期間内の前記ある時点よりも前の時点での1命令を実行するのに必要なクロック数(CPI)値から特定の閾値より小さい分だけシフトする端点を検出することによって求める、
    請求項13に記載のシステム。
  15. 前記ハードウェア検出論理は、前記論理パーティションの所与の1つについて、1命令を実行するのに必要なクロック数(CPI)値を連続的なディスパッチ・ウィンドウ期間において収集するためのハードウェア回路手段を含む、請求項13又は14に記載のシステム。
  16. 前記ハードウェア検出論理は、
    前記所与の論理パーティションについてm番目のディスパッチ・ウィンドウ期間のn番目の時間増分で1命令を実行するのに必要なクロック数(CPI)値を収集する手段と、
    前記所与の論理パーティションについて(m+q)番目のディスパッチ・ウィンドウ期間の(n+p)番目の時間増分で1命令を実行するのに必要なクロック数(CPI)値を収集する手段と
    をさらに含み、前記m、前記n、前記p、及び前記qは、1より大きい整数又は1と等しい整数である、請求項13〜15のいずれか一項に記載のシステム。
  17. 前記論理パーティションのうちの前記他の論理パーティションが、
    xTfp≦Tunutilized
    但し、xは1より大きい効率乗数であり、Tfpはメモリ・フットプリント値であり、Tunutilizedがディスパッチ・ウィンドウ期間の未使用部分を表す、
    という関係を満たす求められたメモリ・フットプリント値Tfpを有するかどうかに従って、前記物理システム・リソースの前記所与の組を前記論理パーティションのうちの前記他の論理パーティションに割り当てるための第2のパーティション・スケジューリング論理をさらに含む、請求項13〜16のいずれか一項に記載のシステム。
  18. 複数の論理パーティションの各々がコンピュータ・システムの共有物理システム・リソースを用いる他の論理パーティションから論理的に独立して作動する、システム仮想化パーティショニングを用いるコンピュータ・システムにおいて、前記複数の論理パーティション間で物理システム・リソースへのアクセスをバランスさせるための処理を実行させるコンピュータ・プログラムであって、前記コンピュータ・システムに、請求項8〜12のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
JP2008071099A 2007-03-28 2008-03-19 仮想化されたデータ処理環境におけるワークロード管理 Active JP5243822B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11/692338 2007-03-28
US11/692,346 US7698530B2 (en) 2007-03-28 2007-03-28 Workload management in virtualized data processing environment
US11/692346 2007-03-28
US11/692,338 US7617375B2 (en) 2007-03-28 2007-03-28 Workload management in virtualized data processing environment

Publications (2)

Publication Number Publication Date
JP2008243203A JP2008243203A (ja) 2008-10-09
JP5243822B2 true JP5243822B2 (ja) 2013-07-24

Family

ID=39914392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008071099A Active JP5243822B2 (ja) 2007-03-28 2008-03-19 仮想化されたデータ処理環境におけるワークロード管理

Country Status (1)

Country Link
JP (1) JP5243822B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8869160B2 (en) * 2009-12-24 2014-10-21 International Business Machines Corporation Goal oriented performance management of workload utilizing accelerators
US9614779B2 (en) 2013-12-24 2017-04-04 Intel Corporation Cloud compute scheduling using a heuristic contention model

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829697B1 (en) * 2000-09-06 2004-12-07 International Business Machines Corporation Multiple logical interfaces to a shared coprocessor resource
JP2003256221A (ja) * 2002-02-28 2003-09-10 Fujitsu Ltd 並列プロセス実行方法、及びマルチプロセッサ型コンピュータ

Also Published As

Publication number Publication date
JP2008243203A (ja) 2008-10-09

Similar Documents

Publication Publication Date Title
US7617375B2 (en) Workload management in virtualized data processing environment
US7698531B2 (en) Workload management in virtualized data processing environment
US7448037B2 (en) Method and data processing system having dynamic profile-directed feedback at runtime
US7222343B2 (en) Dynamic allocation of computer resources based on thread type
US6871264B2 (en) System and method for dynamic processor core and cache partitioning on large-scale multithreaded, multiprocessor integrated circuits
US7475399B2 (en) Method and data processing system optimizing performance through reporting of thread-level hardware resource utilization
Black Scheduling support for concurrency and parallelism in the Mach operating system
US8719831B2 (en) Dynamically change allocation of resources to schedulers based on feedback and policies from the schedulers and availability of the resources
US8219995B2 (en) Capturing hardware statistics for partitions to enable dispatching and scheduling efficiency
US8959515B2 (en) Task scheduling policy for limited memory systems
JP4949157B2 (ja) Numaコンピュータシステムにおけるローカリティドメインおよびスレッドアフィニティに基づいてコードを再コンパイルするためのシステムおよび方法
US6587865B1 (en) Locally made, globally coordinated resource allocation decisions based on information provided by the second-price auction model
US7698530B2 (en) Workload management in virtualized data processing environment
US20090165007A1 (en) Task-level thread scheduling and resource allocation
CN108549574B (zh) 线程调度管理方法、装置、计算机设备和存储介质
EP2446357A1 (en) High-throughput computing in a hybrid computing environment
WO2012028213A1 (en) Re-scheduling workload in a hybrid computing environment
US8332850B2 (en) Thread starvation profiler by utilizing a set of counters
Yu et al. Collaborative heterogeneity-aware os scheduler for asymmetric multicore processors
Gifford et al. Dna: Dynamic resource allocation for soft real-time multicore systems
Yu et al. Colab: a collaborative multi-factor scheduler for asymmetric multicore processors
Xiong et al. Energy Efficient Data Intensive Distributed Computing.
JP5243822B2 (ja) 仮想化されたデータ処理環境におけるワークロード管理
Sodan Loosely coordinated coscheduling in the context of other approaches for dynamic job scheduling: a survey
TWI435213B (zh) 於虛擬資料處理環境中多個邏輯分割間平衡存取各實體系統資源及動態調諧一判定調度排程之排程器的方法、系統及電腦可讀媒體

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121022

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121022

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20121022

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130219

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130219

TRDD Decision of grant or rejection written
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130319

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130319

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130405

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5243822

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150