JP2004334853A - 論理的パーティション間の自動化されたプロセッサ再割り振り及び最適化のための方法、システム及びプログラム製品 - Google Patents

論理的パーティション間の自動化されたプロセッサ再割り振り及び最適化のための方法、システム及びプログラム製品 Download PDF

Info

Publication number
JP2004334853A
JP2004334853A JP2004115029A JP2004115029A JP2004334853A JP 2004334853 A JP2004334853 A JP 2004334853A JP 2004115029 A JP2004115029 A JP 2004115029A JP 2004115029 A JP2004115029 A JP 2004115029A JP 2004334853 A JP2004334853 A JP 2004334853A
Authority
JP
Japan
Prior art keywords
processor
instructions
recipient
provider
load threshold
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.)
Granted
Application number
JP2004115029A
Other languages
English (en)
Other versions
JP4617097B2 (ja
Inventor
Ii Rick Allen Hamilton
リック・アレン・ハミルトン2世
James Wesley Seaman
ジェームス・ウェスリー・シーマン
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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004334853A publication Critical patent/JP2004334853A/ja
Application granted granted Critical
Publication of JP4617097B2 publication Critical patent/JP4617097B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B26HAND CUTTING TOOLS; CUTTING; SEVERING
    • B26DCUTTING; DETAILS COMMON TO MACHINES FOR PERFORATING, PUNCHING, CUTTING-OUT, STAMPING-OUT OR SEVERING
    • B26D7/00Details of apparatus for cutting, cutting-out, stamping-out, punching, perforating, or severing by means other than cutting
    • B26D7/27Means for performing other operations combined with cutting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B26HAND CUTTING TOOLS; CUTTING; SEVERING
    • B26DCUTTING; DETAILS COMMON TO MACHINES FOR PERFORATING, PUNCHING, CUTTING-OUT, STAMPING-OUT OR SEVERING
    • B26D5/00Arrangements for operating and controlling machines or devices for cutting, cutting-out, stamping-out, punching, perforating, or severing by means other than cutting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold

Abstract

【課題】
論理的にパーティション化された環境においてプロセッサを再割り振りする方法、システム及びプログラム製品を提供する。
【解決手段】
本発明はパフォーマンス向上プログラム(PEP)及び再割り振りプログラム(RP)を含む。PEPは、アドミニストレータがいくつものパラメータを指定すること及び提供者候補及び受領者候補を識別することを可能にする。RPは、プロセッサに対するパフォーマンス・データをコンパイルし、合成パラメータを計算する。提供者候補プールにおける各プロセッサに対して、RPは合成パラメータを提供者負荷閾値に比較することによってプロセッサが提供者であるかどうかを決定する。受領者候補プールにおける各プロセッサに対して、RPは合成パラメータを受領者負荷閾値に比較することによってプロセッサが受領者であるかどうかを決定する。次に、RPは、提供者からのプロセッサを受領者に割り振る。RPは、移動ウィンドウ又は離散ウィンドウ・サンプリング・システムに基づいてワークロード統計をモニタ及び更新する。
【選択図】 図4

Description

本発明は、概して云えば、コンピュータ・システムの効率を高めるための方法に関し、詳しく云えば、仮想システム間でプロセッサを再割り振りするためのコンピュータ・プログラムに関するものである。
コンピュータ・システムは、特定のタスクを遂行するために協働するプロセッサのようなコンピュータ・コンポーネントの集合体であり、この分野ではよく知られている。コンピュータ・システムは、サーバのような単一のコンピュータの形で、又はコンピュータ・ネットワークのような複数のコンピュータの形で設置可能である。システム・アドミニストレータ(以後、アドミニストレータという)は、コンピュータ・システムをセットアップし、管理する人である。コンピュータ・システムのパフォーマンスを高めるためにアドミニストレータによって使用されるツールの1つが物理的パーティション化(partitioning)である。アドミニストレータは、仮想システムと呼ばれる小型のパーティション化されたシステムの形成を助けるようシステム内のバス及び事前定義された物理的モジュールを専用化することによって、被管理システム(managedsystem)を物理的にパーティション化する。被管理システムにおける各仮想システムは、エンド・ユーザには完全に分離したシステムのように見える。更に、仮想システムは、管理上の柔軟性及びアプリケーション・パフォーマンスを改良する。
システム・パフォーマンスを高めるためにアドミニストレータにより使用されるもう1つの方法は、論理的パーティション化である。論理的パーティション化は、被管理システムにおいて論理的パーティションを形成するプロセスである。論理的パーティション化は、論理的にパーティション化されたシステムには物理的に分離したバス、メモリ、又はプロセッサが存在しないという点で物理的パーティション化とは異なる。その代わり、仮想システムはシステム・ソフトウェアによってのみ分離される。論理的パーティション化によって形成された各個々の仮想システムは、物理的にパーティション化されたシステムと同様に、エンド・ユーザには完全に分離したシステムのように見える。論理的なパーティション化の1つの利点は、任意のプロセッサ、メモリ、又はアダプタが容易に仮想システムに追加され、又は仮想システムから除去され得るように、仮想システムにおいてより細かい細分化を可能にすることである。論理的パーティション化は、一般に、被管理システム以外のハードウェア管理コンソールによって制御される。ハードウェア管理コンソールは、仮想システムへの被管理システムの分割を制御し、必要な場合には、種々の仮想システム間におけるリソースの再割り振りを制御する。
最近、アドミニストレータは、被管理システムにおけるシステム・ハードウェア・リソースを、柔軟性の増大と共に、移動させることができるようになった。被管理システムのリブートを必要とすることなく再割り振りが生じるときには、その論理的パーティション化は、動的な論理的パーティション化として知られている。動的な再割り振りの従来の方法は、システム・アドミニストレータが再割り振りの必要性を認識すること、及びリソースを手操作で再割り振りすることを必要とする。例えば、8個の中央処理ユニット(CPU)を有する第1論理的パーティション及び8個のCPUを有する第2論理的パーティションを含むシステムにおいて、システム・アドミニストレータは、ピーク処理期間中、第1論理的パーティションが100%のCPU使用率で稼動し、第2論理的パーティションが20%使用率で稼動していることを気付くことがあろう。CPU使用率における不均衡に気付くと、アドミニストレータは、ピーク処理期間中、システム・パフォーマンスを改良するために1つ又はそれ以上のプロセッサを第2論理的パーティションから第1論理的パーティションに手操作で移動することが可能である。従って、動的な論理的パーティション化の環境には、リソースの制御及び移動を自動化するためのシステム及び方法に対する要求が存在する。
再割り振りプロセスにおける自動化の要求は従来技術によって対処されていた。「動的バッファ再割り振り(Dynamic Buffer Reallocation)」と題した米国特許第4,603,382号は、ストレージ装置内のデータ・ストレージ・セグメントを動的に再割り振りするための方法を開示している。この米国特許は、データ・ストレージ装置の特性をモニタし、バッファ・セグメントが事前定義の閾値を越えるとき、そのバッファ・セグメントを再割り振りする。「キャッシュ内に専用パーティション及び共用パーティションを有するコンピュータ・システム(ComputerSystem with Private and Shared Partitions in Cache)」と題した米国特許第5,875,464号は、タスクの割り振りをモニタするパーティション化されたキャッシュ・メモリ・バッファを開示している。この米国特許のメモリ・バッファは、必要なときにタスクを再割り振りする。米国特許第5,978,583号は、アプリケーションの実行の過程で当該アプリケーションを再割り振りする方法を開示している。この米国特許において開示された方法は、アプリケーションをモニタし、種々の基準に基づいて必要なときにアプリケーションを再配分する。「クラスタ・コンピューティング環境におけるリソースの柔軟性ある動的パーティション化(FlexibleDynamic Partitioning of Resources in a Cluster Computing Environment)」と題した米国特許第6,366,945号は、コンピュータ・ネットワークの動的パーティション化のための方法を開示している。この米国特許の方法は、仮想ネットワークにおけるリソースをモニタし、必要なときにネットワーク間でリソースを移動させる。しかし、この米国特許は、それが被管理ネットワークの動的な論理的パーティション化のための方法を開示してないという点で限定される。従って、米国特許第4,603,382号、同5,875,464号、同5,978,583号、及び同6,366,945号において必要とされることは、非管理システムの動的な論理的パーティション化のための方法及びシステムである。更に、仮想システムにおけるコンピュータ間でリソースを再割り振りするための方法及びシステムに対する要求が存在する。
米国特許第4,603,382号 米国特許第5,875,464号 米国特許第5,978,583号 米国特許第6,366,945号
上記の要求に適合する本発明は、論理的にパーティション化された環境においてプロセッサを再割り振りするための方法、システム及びプログラム製品を提供する。
本発明のソフトウェア実施例は、パフォーマンス向上プログラム(PerformanceEnhancement Program;PEP)及び再割り振りプログラム(Reallocation Program;RP)を含む。PEPは、アドミニストレータがパフォーマンス・パラメータ、取り込み(capture)インターバル、サンプリング・インターバル、提供者候補プール、受領者候補プール、提供者負荷閾値、及び受領者負荷閾値を指定することを可能にする。RPは、プロセッサに対するパフォーマンス・データをコンパイルし、合成パラメータを計算する。提供者候補プールにおける各プロセッサに対して、RPは、当該プロセッサが提供者であるかどうかを決定するために合成パラメータを提供者負荷閾値に比較する。受領者候補プールにおける各プロセッサに対して、RPは、当該プロセッサが受領者であるかどうかを決定するために合成パラメータを受領者負荷閾値に比較する。次に、RPは、プロセッサ再割り振りが必要であるかどうかを決定する。再割り振りが必要である場合、RPは、プロセッサを提供者から受領者に割り振る。RPは、移動ウィンドウ・サンプリング・システム又は離散ウィンドウ・サンプリング・システムに基づいてワークロード統計をモニタ及び更新し続ける。本発明のパーティション・システムはプロセッサを再割り振りするためのリブートを必要としない。
本明細書で使用される「コンピュータ」という用語は、プロセッサ、メモリ、及びオペレーティング・システムを有し、ユーザ又は他のコンピュータと対話することができることを意味し、デスクトップ・コンピュータ、ノートブック・コンピュータ、パーソナル・ディジタル・アシスタント(PDA)、サーバ、ハンドヘルド・コンピュータ、及び同様の装置を何の制限もなく含む。
本明細書で使用される「被管理システム」という用語は、特定のタスクを達成するために協働するプロセッサのようなハードウェア・コンポーネントの集合体を意味する。それらのハードウェア・コンポーネントは、単一のコンピュータ又は複数のネットワーク接続されたコンピュータに設置可能である。
本明細書で使用される「プロセッサ」という用語は、コンピュータの中央処理ユニットを意味する。
本明細書で使用される「パフォーマンス・パラメータ」という用語は、プロセッサ上のワークロードを測定するために使用される1つ又はそれ以上のパラメータを意味する。パフォーマンス・パラメータは、ラン・キュー(run queue)、システム・タイム、及び(又は)ユーザ・タイムを含む。当業者には、他のパフォーマンス・パラメータが知られている。パフォーマンス・パラメータは、いくつもパフォーマンス・パラメータの結合体を含むことも可能である。
本明細書で使用される「ラン・キュー」という用語は、列をなしてプロセッサを待っている多数のアクティビティ又はアプリケーションを意味する。
本明細書で使用される「システム・タイム」という用語は、存在するプロセッサがシステム・アクティビティ又はアプリケーションの遂行に携わる時間のパーセンテージを意味する。
本明細書で使用される「ユーザ・タイム」という用語は、プロセッサがユーザ・タスク又はアプリケーションに携わる時間のパーセンテージを意味する。
本明細書で使用される「提供者候補」という用語は、他のシステムにプロセッサを提供するための適格者としてユーザによって指定されるシステムを意味する。全提供者候補のグループが提供者候補プールと呼ばれる。システムの合成パラメータが提供者負荷閾値よりも小さい場合、提供者候補が提供者となるであろう。
本明細書で使用される「提供者」という用語は、提供者負荷閾値よりも小さい合成パラメータを有するシステムを意味する。全提供者のグループが提供者プールと呼ばれる。
本明細書で使用される「受領者候補」という用語は、他のシステムからプロセッサを受けるための適格者としてユーザによって指定されるシステムを意味する。全受領者候補のグループが受領者候補プールと呼ばれる。システムの合成パラメータが受領者負荷閾値よりも大きい場合、受領者候補が受領者となるであろう。
本明細書で使用される「受領者」という用語は、受領者負荷閾値よりも大きい合成パラメータを有するシステムを意味する。全受領者のグループが受領者プールと呼ばれる。
本明細書で使用される「提供者負荷閾値」という用語は、特定のパフォーマンス・パラメータ・レベルを意味し、それ以下のレベルで提供者がプロセッサを受領者に供給することが可能である。
本明細書で使用される「受領者負荷閾値」という用語は、特定のパフォーマンス・パラメータ・レベルを意味し、それ以上のレベルで、受領者がプロセッサを提供者から受領することが可能である。
本明細書で使用される「調整(conditioning)インターバル」という用語は、プロセッサ再割り振りが生じない期間を意味する。この期間中、サンプリング統計が収集可能であるか又は収集可能でないが、調整インターバルの終了までこれらの統計に関してアクションが取られることはない。
本明細書で使用される「取り込みインターバル」という用語は、種々のシステムに対するプロセッサ・パフォーマンスに関する統計が収集されるインターバルを意味する。取り込みインターバルは、サンプリング・インターバルよりも短いか又はそれに等しい任意のインターバルである。
本明細書で使用される「サンプリング・インターバル」という用語は、サンプル統計が取り込みされる時間のウィンドウを意味する。サンプリング・インターバルは、取り込みインターバルに等しいか又はそれよりも大きい。例えば、統計は、5分のサンプリング・インターバルに対して5秒ごとに取り込みされる。その場合、サンプリング・インターバルの終了時に、60個の統計的サンプルが得られるであろう。サンプリング・インターバルは、移動ウィンドウ又は離散ウィンドウとして実装可能である。
本明細書で使用される「移動ウィンドウ」という用語は、サンプルの集合体に加えられる新たな各パフォーマンス・パラメータに対して、以前にサンプリング・インターバル内にあった最も古いパフォーマンス・パラメータ値が考慮に入れられないことを意味する。離散ウィンドウに対向する移動ウィンドウを使用する利点は、プロセッサ・リソースが必要とされるときに及びプロセッサ・リソースが必要とされる場所にプロセッサ・リソースを供給するという大きな責務を与えることである。通常、移動ウィンドウの使用は、取られる各サンプルに対して1回だけ合成パラメータの計算を必要とする。
本明細書で使用される「離散ウィンドウ」という用語は、サンプリング・ウィンドウが定期的にリセットされることを意味し、それらのサンプルは、個別の非オーバラップ時間間隔のものであると考えられる。移動ウィンドウに比べて離散ウィンドウを使用する利点は、合成パラメータがサンプリング・インターバル毎に1回計算されるだけであるので、離散ウィンドウの方が少ない処理リソースしか必要としないということである。
本明細書で使用される「合成パラメータ」という用語は、サンプリング・インターバルにわたって累積されたプロセッサ・データのアベレージ(average)を意味する。合成パラメータを計算するために使用されるアベレージは、平均値(mean)、中央値(median)、最頻値(mode)、又は水準値(norm)であってもよい。スムージング基準(smoothingcriteria)は、合成パラメータを決定するために任意選択的に使用可能である。スムージングの一例は、サンプリング・インターバル中に収集されたデータのうちの高い値及び低い値を排除することであろう。
本明細書で使用される「制御エンティティ」という用語は、被管理システムの内部又は外部にあって、プロセッサの再割り振りを管理する計算装置を意味する。UNIX(R)環境では、これは、ハードウェア管理コンソール(Hardware Management Console)として知られている。
図1は、本発明と関連したコンピュータ・ネットワーク90を図解したものである。コンピュータ・ネットワーク90は、ネットワーク96に電気的に結合されたローカル・マシン95を含む。ローカル・マシン95は、ネットワーク96を介してリモート・マシン94及びリモート・マシン93に電気的に結合される。ローカル・マシン95は、ネットワーク96を介してサーバ91及びデータベース92にも電気的に結合される。ネットワーク96は、ローカル・エリア・ネットワーク(LAN)のような簡易化されたネットワーク接続であってもよく、或いは、広域ネットワーク(WAN)又はインターネットのような更に大きいネットワークであってもよい。更に、図1に示されたコンピュータ・ネットワーク90は、本発明を含み且つ体系上の制限を意味しない可能なオペレーティング・ネットワークを表すものとして考えられる。
プロセッサ、メモリ、及び入出力装置の接続及び方向付け(orientation)を含むコンピュータの内部構成は当業者には周知である。本発明は、コンピュータ・プログラムに組み込み可能な方法論でもある。図2を参照すると、本発明の方法論がパフォーマンス向上プログラム(PEP)200によってソフトウェアとして実装される。PEP200は、再割り振りプログラム(RP)300を含む。本願において開示されるPEP200及びRP300は、図1に示されたいずれのコンピュータのメモリにもストア可能である。代替えとして、PEP200及びRP300は、取り外し可能ディスク又はCD−ROMのような外部ストレージ装置にもストア可能である。メモリ100は、図1のコンピュータの1つにおけるメモリを表す。メモリ100は、プロセッサ・データ102も含む。本発明は、メモリ100を介してプロセッサ・データ102とインターフェースし得る。本発明の一部として、メモリ100はPEP200及び(又は)RP300と共に構成可能である。
別の実施例では、PEP200及びRP300は、他のコンピュータのメモリにストアされてもよい。他のコンピュータのメモリにPEP200及び(又は)RP300をストアするということは、プロセッサ・ワークロードが単一プロセッサの代わりに複数のプロセッサにまたがって分散されることを可能にする。種々のメモリにまたがるPEP200及び(又は)RP300の更なる構成は当業者には周知である。
図3を参照すると、PEP200のロジックのフローチャートが示される。PEP200は、ユーザがパフォーマンス向上の基準を指定することを可能にするプログラムである。本明細書において示されるユーザは、例えば、システム・アドミニストレータである。PEP200が始動し(ステップ202)、ユーザが少なくとも1つのパフォーマンス・パラメータを選択する(ステップ204)。パフォーマンス・パラメータは、プロセッサ上のワークロードを測定するためにRP300によって使用される。そこで、ユーザが取り込みインターバル及びサンプリング・インターバルを定義する(ステップ206)。取り込みインターバル及びサンプリング・インターバルは、プロセッサ再割り振りのためのプロセッサ・データを生成するためにRP300によって使用される。次に、ユーザが提供者候補プールを指定する(ステップ208)。提供者候補プールを指定するとき、ユーザは、提供者になるのに適格なプロセッサを選択する。提供者候補は、一般に、他のコンピュータ又はシステムに比べて重要性が相対的に低いパフォーマンスを有するコンピュータ又はシステムである。提供者候補は、テスト・コンピュータ又はシステム、或いは開発コンピュータ又はシステムであってもよく、或いは、受領者候補の重要度(criticality)に比べて二次的な重要度のアプリケーションであってもよい。ユーザが或るプロセッサを特定的に排除することを望まない場合、一般に、すべてのプロセッサが潜在的な提供者として選択されるであろう。そこで、ユーザが受領者候補プールを指定する(ステップ210)。受領者候補プールを指定するとき、ユーザは受領者になるのに適格なプロセッサを選択する。受領者候補は、相対的に高い優先順位又は重要性を有するコンピュータ又はシステムである。一般に、ユーザが或るプロセッサを特定的に排除することを望まない場合、一般に、すべてのプロセッサが潜在的な受領者として選択されるであろう。
次に、ユーザが提供者負荷閾値を定義する(ステップ212)。提供者負荷閾値は、いつ提供者候補が提供者になるかを決定するためにRP300によって使用される。重く負荷された提供者は、それの閾値が非常に高くセットされない場合、プロセッサを提供しないであろう。負荷閾値は、低い負荷(即ち、相対的に高いパフォーマンス)を有する提供者だけがプロセッサを提供し得るように、システム・パフォーマンスが低下するにつれて増加する。閾値は、どの程度の柔軟性がユーザによって望まれようとも提供するようにセット可能である。例えば、パフォーマンス・パラメータがラン・キューである場合、パフォーマンス・パラメータ限界はラン・キューにおいて3つの待機アイテムにセット可能である。従って、プロセッサがラン・キューにおいて3つよりも少ないアイテムを有するとき、プロセッサは潜在的な提供者として識別されるであろう。
次に、ユーザが受領者負荷閾値を定義する(ステップ214)。受領者負荷閾値は、いつ受領者候補が受領者になるかを決定するためにRP300によって使用される。軽く負荷された受領者は、それの閾値が非常に低くセットされない場合、プロセッサを受け取らないであろう。受領者システムにおける負荷が増加するにつれて、受領者システムのパフォーマンスは低下し、従って、ゆっくり稼動する受領者候補をプロセッサ追加に対して準備させる。例えば、パフォーマンス・パラメータがラン・キューである場合、パフォーマンス・パラメータ限界がラン・キューにおける4個の待機アイテムにおいてセット可能である。従って、プロセッサがラン・キューにおいて4個よりも多くのアイテムを有するとき、そのプロセッサは潜在的受領者として識別されるであろう。
次に、PEP200が調整レベルに入る(ステップ216)。その調整レベルの間、提供者と受領者との間のプロセッサ再割り振りが一時的に中断される。調整期間中、PEP200が提供者プールにおけるプロセッサ及び受領者プールにおけるプロセッサに対してワークロード統計を任意選択的にコンパイルする(ステップ218)。ワークロード統計がコンパイルされる場合、ワークロード統計におけるデータとサンプリング・インターバルにおけるデータとの間に何らかのオーバラップが存在することがある。そこで、PEP200がRP300を稼動させる(ステップ220)。次にPEPが、プロセッサ再割り振りを継続すべきかどうかの決定を行う(ステップ222)。ユーザがプロセッサ再割り振りを継続することを望んでいる場合、PEP200はステップ216に戻る。ユーザがプロセッサ再割り振りを継続することを望まない場合、PEP200は終了する(ステップ224)。
図4を参照すると、RP300のロジックのフローチャートが示される。RP300は、プロセッサを再割り振りするプログラムである。RP300が、PEP200によってプロンプト指示されるときに始動する(ステップ302)。RP300が取り込みインターバルにおいてプロセッサ・データのサンプルを収集し(ステップ304)、そのプロセッサ・データをキャッシュ・メモリ又はハード・ディスクに保存する。例えば、パフォーマンス・パラメータがラン・キューであり、取り込みインターバルは5秒であり且つサンプリング・インターバルは5分である場合、RP300は、合計5分の間、毎5秒の終了時に、各プロセッサに対するラン・キューにおいて待機しているアイテムの数を記録する。サンプリング・インターバルが経過した後、RP300が合成パラメータを計算する(ステップ306)。RP300は、プロセッサ・データを平均することによって合成パラメータを計算する。
次に、RP300が受領者候補を分析し、合成パラメータが受領者負荷閾値よりも大きいかどうかの決定を行う(ステップ308)。合成パラメータが受領者負荷閾値よりも大きくない場合、RP300はステップ312に進む。合成パラメータが受領者負荷閾値よりも大きい場合、RP300はそのプロセッサを受領者として指定し(ステップ310)、ステップ312に進む。そこで、RP300が受領者候補を分析し、合成パラメータが提供者負荷閾値よりも小さいかどうかの決定を行う(ステップ312)。合成パラメータが提供者負荷閾値よりも小さくない場合、RP300はステップ316に進む。合成パラメータが提供者負荷閾値よりも小さい場合、RP300はそのプロセッサを提供者として指定し(ステップ314)、ステップ316に進む。そこで、RP300は、プロセッサ再割り振りが必要であるどうかの決定を行う(ステップ316)。再割り振りが必要であるかどうかを決定するために、RP300は合成パラメータを制御エンティティに任意選択的に送ることが可能である。少なくとも1つの提供者及び少なくとも1つの受領者が存在する場合、再割り振りが必要であろう。再割り振りが必要でない場合、RP300はステップ320に進む。再割り振りが必要である場合、RP300は、当業者にとって周知の方法に従って提供者プロセッサを受領者プロセッサに再割り振りする(ステップ318)。受領者プロセッサに提供者プロセッサを割り振るための数多くの方法を当業者は知っているであろう。プロセッサが最割り振りされるとき、受領者プロセッサに対してキューされたタスク又はアプリケーションが提供者プロセッサに移動するであろう。1つのプロセッサから他のプロセッサにタスク又はアプリケーションを移動させる方法は当業者には周知である。そこで、RP300はステップ320に進む。
次に、ステップ320において、RP300は、サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかの決定を行う(ステップ320)。サンプリング・ウィンドウが移動ウィンドウである場合、RP300は最も古いデータ・サンプルを廃棄し、最も古いデータ・サンプルを最も新しいデータ・サンプルでもって置換する(ステップ322)。そこで、RP300が終了する(ステップ326)。ステップ320においてサンプリング・ウィンドウが離散ウィンドウである場合、RP300は、すべてのデータ・サンプルを廃棄し、新しいデータ・サンプルを収集する(ステップ324)。そこで、RP300は終了する(ステップ326)。
PEP200及びRP300は、複数のプロセッサを有するサーバのような単一のコンピュータである被管理システム上に実装可能である。図5を参照すると、サーバ400は、他のコンピュータ・コンポーネントに電気的に結合された6個のプロセッサを含む。当業者は他のコンピュータ・コンポーネントの構成を知っているであろう。そのような他のコンピュータ・コンポーネントは、例えば、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、デバイス、デバイス・コントローラ、ハード・ディスク・ドライブ、フロッピ・ディスク・ドライブ、CD−ROMドライブ、DVDドライブ、システム接続機構、システム・コントローラ、I/Oポート、モニタ、ユーザ入力装置等であってもよい。
サーバ400のプロセッサは、論理的パーティション化によって第1仮想システム402及び第2仮想システム404に分けられる。第1仮想システム402のプロセッサの少なくとも1つが受領者負荷閾値を超え、第2仮想システム404のプロセッサの少なくとも1つが提供者負荷閾値よりも小さい場合、第2仮想システム404はプロセッサを第1仮想システム402に提供するに適格であろう。プロセッサ406のようなプロセッサを第1仮想システム402に移動することによって、プロセッサ406は第1仮想システム402に提供され得る。
図6を参照すると、サーバ400が図5において示されたものから変更されている。図6では、プロセッサ406が本発明のPEP200によって第2仮想システム404から第1仮想システム402に移動している。
本発明はコンピュータに対するアプリケーションに限定されない。PEP200及び(又は)RP300が、個別のコンピュータのネットワークである被管理システムにおいて実装可能である。図7を参照すると、被管理ネットワーク500が論理的パーティション化によって第1仮想ネットワーク502及び第2仮想ネットワーク504に分けられる。第1仮想ネットワーク502のコンピュータの少なくとも1つが受領者負荷閾値を超え、第2仮想ネットワーク504のコンピュータの少なくとも1つが提供者負荷閾値よりも小さい場合、第2仮想ネットワーク504はコンピュータを、従って、プロセッサを第1仮想ネットワーク502に提供するに適格であろう。コンピュータ506のようなコンピュータを第1仮想ネットワーク502に移動することによって、コンピュータ506のプロセッサが第1仮想ネットワーク502に提供され得る。
図8を参照すると、被管理ネットワーク500が図7に示されたものから変更されている。図8では、コンピュータ506が、本発明のPEP200によって第2仮想ネットワーク504から第1仮想ネットワーク502に移動している。
上記の説明に関連して、サイズ、材料、形状、形式、オペレーションの機能及び態様、アセンブリ、並びに、用途の変更を含むように本発明の諸部分に対する最適な寸法上の関係は当業者にとって容易に明らかであると思われるし、図面に示され及び明細書に記載された関係と同等のすべての関係が本発明によって包含されることを意図されていることは理解されるべきである。本発明の新規な精神は、本願に含まれたステップの幾つかを再順序付けること又は削除することによっても実施可能である。本発明の精神は、「特許請求の範囲」に記載されたの適正な構成による以外の任意の方法によって限定されることを意味するものではない。
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)パフォーマンス・パラメータを選択するステップと、
再割り振りプログラムを稼動するステップと
を含み、
前記再割り振りプログラムが、前記パフォーマンス・パラメータに基づいて提供者から受領者に少なくとも1つのプロセッサを再割り振りする方法。
(2)取り込みインターバルを選択するステップと、
各前記取り込みインターバルにおいてプロセッサ・データを収集するステップと
を更に含む、上記(1)に記載の方法。
(3)サンプリング・インターバルを選択するステップと、
前記サンプリング・インターバルにわたってプロセッサ・データを収集するステップと
を更に含む、上記(1)に記載の方法。
(4)提供者負荷閾値を定義するステップと、
受領者負荷閾値を定義するステップと、
前記提供者負荷閾値及び前記受領者負荷閾値に基づいて前記提供者から前記受領者に前記プロセッサを再割り振りするステップと
を更に含む、上記(1)に記載の方法。
(5)提供者候補を指定するステップと、
受領者候補を指定するステップと
を更に含み、
前記提供者候補は前記プロセッサを前記受領者候補に提供するに適格であり、
前記受領者候補は前記プロセッサを前記提供者候補から受領するに適格である、
上記(1)に記載の方法。
(6)調整レベルを入力するステップと、
前記調整レベルの間、前記プロセッサの再割り振りを中断するステップと、
を更に含む、上記(1)に記載の方法。
(7)前記再割り振りを継続すべきかどうかを決定するステップと、
前記決定に応答して、前記再割り振りプログラムを稼動するステップと
を更に含む、上記(1)に記載の方法。
(8)プロセッサに対する合成パラメータを計算するステップと、
前記合成パラメータに基づいて、再割り振りが必要であるかどうかを決定するステップと、
再割り振りが必要であるという決定に応答して、前記プロセッサを再割り振りするステップと
を含む、方法。
(9)サンプリング・インターバルにわたって前記プロセッサに対する複数のパフォーマンス・パラメータ・データを収集するステップと、
前記データを使用して前記プロセッサに対する合成パラメータを計算するためにステップと
を更に含む、上記(8)に記載の方法。
(10)前記合成パラメータが受領者負荷閾値よりも大きいかどうかを決定するステップと、
前記合成パラメータが前記受領者負荷閾値よりも大きいという決定に応答して、前記プロセッサを受領者として指定するステップと
を更に含む、上記(8)に記載の方法。
(11)前記合成パラメータが提供者負荷閾値よりも小さいかどうかを決定するステップと、
前記合成パラメータが提供者負荷閾値よりも小さいという決定に応答して、前記プロセッサを提供者として指定するステップと
を更に含む、上記(8)に記載の方法。
(12)サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するステップと、
前記サンプリング・ウィンドウが移動ウィンドウであるという決定に応答して、最も古いデータ・サンプルを廃棄し、最も新しいデータ・サンプルを加えるステップと
を更に含む、上記(8)に記載の方法。
(13)サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するステップと、
前記サンプリング・ウィンドウが離散ウィンドウであるという決定に応答して、データ・サンプルをすべて廃棄し、新しいデータ・サンプルを収集するステップと
更に含む、上記(8)に記載の方法。
(14)第1システムから第2システムにプロセッサを再割り振りするための方法であって、
提供者負荷閾値を指定するステップと、
受領者負荷閾値を指定するステップと、
プロセッサに対する合成パラメータを計算するステップと、
前記合成パラメータが提供者負荷閾値よりも小さいかどうかを決定するステップと、
前記合成パラメータが前記提供者負荷閾値よりも小さいという決定に応答して、前記プロセッサを提供者として指定するステップと、
前記合成パラメータが受領者負荷閾値よりも大きいかどうかを決定するステップと、
前記合成パラメータが受領者負荷閾値よりも大きいという決定に応答して、前記プロセッサを受領者として指定するステップと、
前記提供者及び受領者に基づいて、再割り振りが必要であるかどうかを決定するステップと、
前記再割り振りが必要であるという決定に応答して、前記提供者を前記受領者に再割り振りするステップと
を含む、方法。
(15)パフォーマンス・パラメータを選択するステップと、
前記パフォーマンス・パラメータに基づいて、前記プロセッサのパフォーマンスを測定するステップと
を更に含む、上記(14)に記載の方法。
(16)取り込みインターバルを選択するステップと、
各前記取り込みインターバルにおいてプロセッサ・データを収集するステップと
を更に含む、上記(14)に記載の方法。
(17)サンプリング・インターバルを選択するステップと、
前記サンプリング・インターバルにわたってプロセッサ・データを収集するステップと
を更に含む、上記(14)に記載の方法。
(18)提供者候補を指定するステップと、
受領者候補を指定するステップと
を更に含み、
前記提供者候補は前記プロセッサを前記受領者候補に提供するに適格であり、
前記受領者候補は前記プロセッサを前記提供者候補から受領するに適格である、
上記(14)に記載の方法。
(19)調整レベルを入力するステップと、
前記調整レベルの間、前記プロセッサの再割り振りを中断するステップと
を更に含む、上記(14)に記載の方法。
(20)再割り振りが継続すべきかどうかを決定するステップと、
前記決定に応答して、再割り振りプログラムを稼動するステップと、
を更に含む、上記(14)に記載の方法。
(21)サンプリング・インターバルにわたって前記プロセッサに対する複数のパフォーマンス・パラメータ・データを収集するステップと、
前記データを使用して前記プロセッサに対する前記合成パラメータを計算するステップと
を更に含む、上記(14)に記載の方法。
(22)サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するステップと、
前記サンプリング・ウィンドウが移動ウィンドウであるという決定に応答して、最も古いデータ・サンプルを廃棄し、最も新しいデータ・サンプルを加えるステップと
を更に含む、上記(14)に記載の方法。
(23)サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するステップと、
前記サンプリング・ウィンドウが離散ウィンドウであるという決定に応答して、データ・サンプルをすべて廃棄し、新しいデータ・サンプルを収集するステップと
更に含む、上記(14)に記載の方法。
(24)コンピュータ上で操作可能なプログラム製品であって、
コンピュータ使用可能媒体を含み、
前記コンピュータ使用可能媒体は、パフォーマンス・パラメータを選択するための命令と、再割り振りプログラムを稼動するための命令とを含み、
前記再割り振りプログラムは、前記パフォーマンス・パラメータに基づいて少なくとも1つのプロセッサを提供者から受領者に再割り振りする、
プログラム製品。
(25)取り込みインターバルを選択するための命令と、
各前記取り込みインターバルにおいてプロセッサ・データを収集するための命令と
を更に含む、上記(24)に記載のプログラム製品。
(26)サンプリング・インターバルを選択するための命令と、
前記サンプリング・インターバルにわたってプロセッサ・データを収集するための命令と
を更に含む、上記(24)に記載のプログラム製品。
(27)提供者負荷閾値を定義するための命令と、
受領者負荷閾値を定義するための命令と、
前記提供者負荷閾値及び前記受領者負荷閾値に基づいて、前記プロセッサを前記提供者から前記受領者に再割り振りするための命令と
を更に含む、上記(24)に記載のプログラム製品。
(28)提供者候補を指定するための命令と、
受領者候補を指定するための命令と
を更に含み、
前記提供者候補は前記プロセッサを前記受領者候補に提供するに適格であり、
前記受領者候補は前記プロセッサを前記提供者候補から受領するに適格である、
上記(24)に記載のプログラム製品。
(29)調整レベルを入力するための命令と、
前記調整レベルの間、前記プロセッサの再割り振りを中断するための命令と
を更に含む、上記(24)に記載のプログラム製品。
(30)再割り振りが継続すべきかどうかを決定するための命令を更に含み、
前記決定に応答して、前記再割り振りプログラムを稼動する、上記(24)に記載のプログラム製品。
(31)コンピュータ上で操作可能なプログラム製品であって、
コンピュータ使用可能媒体を含み、
前記コンピュータ使用可能媒体は、プロセッサに対する合成パラメータを計算するための命令と、前記合成パラメータに基づいて、再割り振りが必要であるかどうかを決定するための命令と
を含み、
前記再割り振りが必要であるという決定に応答して、前記プロセッサを再割り振りする、プログラム製品。
(32)サンプリング・インターバルにわたって前記プロセッサに対する複数のパフォーマンス・パラメータ・データを収集するための命令と、
前記データを使用して前記プロセッサに対する前記合成パラメータを計算するための命令と
を更に含む、上記(31)に記載のプログラム製品。
(33)前記合成パラメータが受領者負荷閾値よりも大きいかどうかを決定するための命令を含み、
前記合成パラメータが受領者負荷閾値よりも大きいという決定に応答して、前記プロセッサを受領者として指定する、上記(31)に記載のプログラム製品。
(34)前記合成パラメータが提供者負荷閾値よりも小さいかどうかを決定するための命令を更に含み、
前記合成パラメータが提供者負荷閾値よりも小さいという決定に応答して、前記プロセッサを提供者として指定する、上記(31)に記載のプログラム製品。
(35)サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するための命令を更に含み、
前記サンプリング・ウィンドウが移動ウィンドウであるという決定に応答して、最も古いデータ・サンプルを廃棄し、最も新しいデータ・サンプルを加える、上記(31)に記載のプログラム製品。
(36)サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するための命令を更に含み、
前記サンプリング・ウィンドウが離散ウィンドウであるという決定に応答して、データ・サンプルをすべて廃棄し、新しいデータ・サンプルを収集する、上記(31)に記載のプログラム製品。
(37)プロセッサを第1システムから第2システムに再割り振りするためのコンピュータ上で操作可能なプログラム製品であって、
コンピュータ使用可能な媒体を含み、
前記コンピュータ使用可能な媒体は、
提供者負荷閾値を指定するための命令と、
受領者負荷閾値を指定するための命令と、
プロセッサに対する合成パラメータを計算するための命令と、
前記合成パラメータが提供者負荷閾値よりも小さいかどうかを決定するための命令と、
前記合成パラメータが受領者負荷閾値よりも大きいかどうかを決定するための命令と、
前記提供者及び受領者に基づいて再割り振りが必要であるかどうかを決定するための命令と
を含み、
前記合成パラメータが前記提供者負荷閾値よりも小さいという決定に応答して、前記プロセッサを提供者として指定し、
前記合成パラメータが前記受領者負荷閾値よりも大きいという決定に応答して、前記プロセッサを受領者として指定し、
再割り振りが必要であるという決定に応答して、前記提供者を前記受領者に再割り振りする、
プログラム製品。
(38)パフォーマンス・パラメータを選択するための命令と、
前記パフォーマンス・パラメータに基づいて前記プロセッサの前記パフォーマンスを測定するための命令と
を更に含む、上記(37)に記載のプログラム製品。
(39)取り込みインターバルを選択するための命令と、
各前記取り込みインターバルにおいてプロセッサ・データを収集するための命令と
を更に含む、上記(37)に記載のプログラム製品。
(40)サンプリング・インターバルを選択するための命令と、
前記サンプリング・インターバルにわたってプロセッサ・データを収集するための命令と
を更に含む、上記(37)に記載のプログラム製品。
(41)提供者候補を指定するための命令と、
受領者候補を指定するための命令と
を更に含み、
前記提供者候補が前記プロセッサを前記受領者候補に提供するに適格であり、
前記受領者候補が前記プロセッサを前記提供者候補から受領するに適格である、
上記(37)に記載のプログラム製品。
(42)調整レベルを入力するための命令と、
前記調整レベルの間、前記プロセッサの再割り振りを中断するための命令と、
を更に含む、上記(37)に記載のプログラム製品。
(43)再割り振りが継続すべきかどうかを決定するための命令を更に含み、
前記決定に応答して前記再割り振りプログラムを稼動する、上記(37)に記載のプログラム製品。
(44)サンプリング・インターバルにわたって前記プロセッサに対する複数のパフォーマンス・パラメータ・データを収集するための命令と、
前記データを使用して前記プロセッサに対する前記合成パラメータを計算するための命令と
を更に含む、上記(37)に記載のプログラム製品。
(45)サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するための命令を含み、
前記サンプリング・ウィンドウが移動ウィンドウであるという決定に応答して、最も古いデータ・サンプルを廃棄し、最も新しいデータ・サンプルを加える、上記(37)に記載のプログラム製品。
(46)サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するための命令を含み、
前記サンプリング・ウィンドウが離散ウィンドウであるという決定に応答して、データ・サンプルをすべて廃棄し、新しいデータ・サンプルを収集する、上記(37)に記載のプログラム製品。
本発明を実施するために使用されるコンピュータ・ネットワークを示す図である。 本発明を実施するために使用されるメモリを示す図である。 本発明のパフォーマンス向上プログラム(PEP)を示す図である。 本発明の再割り振りプログラム(RP)を示す図である。 本発明を適用する前の単一コンピュータにおける論理的にパーティション化されたシステムを示す図である。 本発明を適用した後の単一コンピュータにおける論理的にパーティション化されたシステムを示す図である。 本発明を適用する前の論理的にパーティション化された仮想システムを示す図である。 本発明を適用した後の論理的にパーティション化された仮想システムを示す図である。

Claims (46)

  1. パフォーマンス・パラメータを選択するステップと、
    再割り振りプログラムを稼動するステップと
    を含み、
    前記再割り振りプログラムが、前記パフォーマンス・パラメータに基づいて提供者から受領者に少なくとも1つのプロセッサを再割り振りする方法。
  2. 取り込みインターバルを選択するステップと、
    各前記取り込みインターバルにおいてプロセッサ・データを収集するステップと
    を更に含む、請求項1に記載の方法。
  3. サンプリング・インターバルを選択するステップと、
    前記サンプリング・インターバルにわたってプロセッサ・データを収集するステップと
    を更に含む、請求項1に記載の方法。
  4. 提供者負荷閾値を定義するステップと、
    受領者負荷閾値を定義するステップと、
    前記提供者負荷閾値及び前記受領者負荷閾値に基づいて前記提供者から前記受領者に前記プロセッサを再割り振りするステップと
    を更に含む、請求項1に記載の方法。
  5. 提供者候補を指定するステップと、
    受領者候補を指定するステップと
    を更に含み、
    前記提供者候補は前記プロセッサを前記受領者候補に提供するに適格であり、
    前記受領者候補は前記プロセッサを前記提供者候補から受領するに適格である、
    請求項1に記載の方法。
  6. 調整レベルを入力するステップと、
    前記調整レベルの間、前記プロセッサの再割り振りを中断するステップと、
    を更に含む、請求項1に記載の方法。
  7. 前記再割り振りを継続すべきかどうかを決定するステップと、
    前記決定に応答して、前記再割り振りプログラムを稼動するステップと
    を更に含む、請求項1に記載の方法。
  8. プロセッサに対する合成パラメータを計算するステップと、
    前記合成パラメータに基づいて、再割り振りが必要であるかどうかを決定するステップと、
    再割り振りが必要であるという決定に応答して、前記プロセッサを再割り振りするステップと
    を含む、方法。
  9. サンプリング・インターバルにわたって前記プロセッサに対する複数のパフォーマンス・パラメータ・データを収集するステップと、
    前記データを使用して前記プロセッサに対する合成パラメータを計算するためにステップと
    を更に含む、請求項8に記載の方法。
  10. 前記合成パラメータが受領者負荷閾値よりも大きいかどうかを決定するステップと、
    前記合成パラメータが前記受領者負荷閾値よりも大きいという決定に応答して、前記プロセッサを受領者として指定するステップと
    を更に含む、請求項8に記載の方法。
  11. 前記合成パラメータが提供者負荷閾値よりも小さいかどうかを決定するステップと、
    前記合成パラメータが提供者負荷閾値よりも小さいという決定に応答して、前記プロセッサを提供者として指定するステップと
    を更に含む、請求項8に記載の方法。
  12. サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するステップと、
    前記サンプリング・ウィンドウが移動ウィンドウであるという決定に応答して、最も古いデータ・サンプルを廃棄し、最も新しいデータ・サンプルを加えるステップと
    を更に含む、請求項8に記載の方法。
  13. サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するステップと、
    前記サンプリング・ウィンドウが離散ウィンドウであるという決定に応答して、データ・サンプルをすべて廃棄し、新しいデータ・サンプルを収集するステップと
    更に含む、請求項8に記載の方法。
  14. 第1システムから第2システムにプロセッサを再割り振りするための方法であって、
    提供者負荷閾値を指定するステップと、
    受領者負荷閾値を指定するステップと、
    プロセッサに対する合成パラメータを計算するステップと、
    前記合成パラメータが提供者負荷閾値よりも小さいかどうかを決定するステップと、
    前記合成パラメータが前記提供者負荷閾値よりも小さいという決定に応答して、前記プロセッサを提供者として指定するステップと、
    前記合成パラメータが受領者負荷閾値よりも大きいかどうかを決定するステップと、
    前記合成パラメータが受領者負荷閾値よりも大きいという決定に応答して、前記プロセッサを受領者として指定するステップと、
    前記提供者及び受領者に基づいて、再割り振りが必要であるかどうかを決定するステップと、
    前記再割り振りが必要であるという決定に応答して、前記提供者を前記受領者に再割り振りするステップと
    を含む、方法。
  15. パフォーマンス・パラメータを選択するステップと、
    前記パフォーマンス・パラメータに基づいて、前記プロセッサのパフォーマンスを測定するステップと
    を更に含む、請求項14に記載の方法。
  16. 取り込みインターバルを選択するステップと、
    各前記取り込みインターバルにおいてプロセッサ・データを収集するステップと
    を更に含む、請求項14に記載の方法。
  17. サンプリング・インターバルを選択するステップと、
    前記サンプリング・インターバルにわたってプロセッサ・データを収集するステップと
    を更に含む、請求項14に記載の方法。
  18. 提供者候補を指定するステップと、
    受領者候補を指定するステップと
    を更に含み、
    前記提供者候補は前記プロセッサを前記受領者候補に提供するに適格であり、
    前記受領者候補は前記プロセッサを前記提供者候補から受領するに適格である、
    請求項14に記載の方法。
  19. 調整レベルを入力するステップと、
    前記調整レベルの間、前記プロセッサの再割り振りを中断するステップと
    を更に含む、請求項14に記載の方法。
  20. 再割り振りが継続すべきかどうかを決定するステップと、
    前記決定に応答して、再割り振りプログラムを稼動するステップと、
    を更に含む、請求項14に記載の方法。
  21. サンプリング・インターバルにわたって前記プロセッサに対する複数のパフォーマンス・パラメータ・データを収集するステップと、
    前記データを使用して前記プロセッサに対する前記合成パラメータを計算するステップと
    を更に含む、請求項14に記載の方法。
  22. サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するステップと、
    前記サンプリング・ウィンドウが移動ウィンドウであるという決定に応答して、最も古いデータ・サンプルを廃棄し、最も新しいデータ・サンプルを加えるステップと
    を更に含む、請求項14に記載の方法。
  23. サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するステップと、
    前記サンプリング・ウィンドウが離散ウィンドウであるという決定に応答して、データ・サンプルをすべて廃棄し、新しいデータ・サンプルを収集するステップと
    更に含む、請求項14に記載の方法。
  24. コンピュータ上で操作可能なプログラム製品であって、
    コンピュータ使用可能媒体を含み、
    前記コンピュータ使用可能媒体は、パフォーマンス・パラメータを選択するための命令と、再割り振りプログラムを稼動するための命令とを含み、
    前記再割り振りプログラムは、前記パフォーマンス・パラメータに基づいて少なくとも1つのプロセッサを提供者から受領者に再割り振りする、
    プログラム製品。
  25. 取り込みインターバルを選択するための命令と、
    各前記取り込みインターバルにおいてプロセッサ・データを収集するための命令と
    を更に含む、請求項24に記載のプログラム製品。
  26. サンプリング・インターバルを選択するための命令と、
    前記サンプリング・インターバルにわたってプロセッサ・データを収集するための命令と
    を更に含む、請求項24に記載のプログラム製品。
  27. 提供者負荷閾値を定義するための命令と、
    受領者負荷閾値を定義するための命令と、
    前記提供者負荷閾値及び前記受領者負荷閾値に基づいて、前記プロセッサを前記提供者から前記受領者に再割り振りするための命令と
    を更に含む、請求項24に記載のプログラム製品。
  28. 提供者候補を指定するための命令と、
    受領者候補を指定するための命令と
    を更に含み、
    前記提供者候補は前記プロセッサを前記受領者候補に提供するに適格であり、
    前記受領者候補は前記プロセッサを前記提供者候補から受領するに適格である、
    請求項24に記載のプログラム製品。
  29. 調整レベルを入力するための命令と、
    前記調整レベルの間、前記プロセッサの再割り振りを中断するための命令と
    を更に含む、請求項24に記載のプログラム製品。
  30. 再割り振りが継続すべきかどうかを決定するための命令を更に含み、
    前記決定に応答して、前記再割り振りプログラムを稼動する、請求項24に記載のプログラム製品。
  31. コンピュータ上で操作可能なプログラム製品であって、
    コンピュータ使用可能媒体を含み、
    前記コンピュータ使用可能媒体は、プロセッサに対する合成パラメータを計算するための命令と、前記合成パラメータに基づいて、再割り振りが必要であるかどうかを決定するための命令と
    を含み、
    前記再割り振りが必要であるという決定に応答して、前記プロセッサを再割り振りする、プログラム製品。
  32. サンプリング・インターバルにわたって前記プロセッサに対する複数のパフォーマンス・パラメータ・データを収集するための命令と、
    前記データを使用して前記プロセッサに対する前記合成パラメータを計算するための命令と
    を更に含む、請求項31に記載のプログラム製品。
  33. 前記合成パラメータが受領者負荷閾値よりも大きいかどうかを決定するための命令を含み、
    前記合成パラメータが受領者負荷閾値よりも大きいという決定に応答して、前記プロセッサを受領者として指定する、請求項31に記載のプログラム製品。
  34. 前記合成パラメータが提供者負荷閾値よりも小さいかどうかを決定するための命令を更に含み、
    前記合成パラメータが提供者負荷閾値よりも小さいという決定に応答して、前記プロセッサを提供者として指定する、請求項31に記載のプログラム製品。
  35. サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するための命令を更に含み、
    前記サンプリング・ウィンドウが移動ウィンドウであるという決定に応答して、最も古いデータ・サンプルを廃棄し、最も新しいデータ・サンプルを加える、請求項31に記載のプログラム製品。
  36. サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するための命令を更に含み、
    前記サンプリング・ウィンドウが離散ウィンドウであるという決定に応答して、データ・サンプルをすべて廃棄し、新しいデータ・サンプルを収集する、請求項31に記載のプログラム製品。
  37. プロセッサを第1システムから第2システムに再割り振りするためのコンピュータ上で操作可能なプログラム製品であって、
    コンピュータ使用可能な媒体を含み、
    前記コンピュータ使用可能な媒体は、
    提供者負荷閾値を指定するための命令と、
    受領者負荷閾値を指定するための命令と、
    プロセッサに対する合成パラメータを計算するための命令と、
    前記合成パラメータが提供者負荷閾値よりも小さいかどうかを決定するための命令と、
    前記合成パラメータが受領者負荷閾値よりも大きいかどうかを決定するための命令と、
    前記提供者及び受領者に基づいて再割り振りが必要であるかどうかを決定するための命令と
    を含み、
    前記合成パラメータが前記提供者負荷閾値よりも小さいという決定に応答して、前記プロセッサを提供者として指定し、
    前記合成パラメータが前記受領者負荷閾値よりも大きいという決定に応答して、前記プロセッサを受領者として指定し、
    再割り振りが必要であるという決定に応答して、前記提供者を前記受領者に再割り振りする、
    プログラム製品。
  38. パフォーマンス・パラメータを選択するための命令と、
    前記パフォーマンス・パラメータに基づいて前記プロセッサの前記パフォーマンスを測定するための命令と
    を更に含む、請求項37に記載のプログラム製品。
  39. 取り込みインターバルを選択するための命令と、
    各前記取り込みインターバルにおいてプロセッサ・データを収集するための命令と
    を更に含む、請求項37に記載のプログラム製品。
  40. サンプリング・インターバルを選択するための命令と、
    前記サンプリング・インターバルにわたってプロセッサ・データを収集するための命令と
    を更に含む、請求項37に記載のプログラム製品。
  41. 提供者候補を指定するための命令と、
    受領者候補を指定するための命令と
    を更に含み、
    前記提供者候補が前記プロセッサを前記受領者候補に提供するに適格であり、
    前記受領者候補が前記プロセッサを前記提供者候補から受領するに適格である、
    請求項37に記載のプログラム製品。
  42. 調整レベルを入力するための命令と、
    前記調整レベルの間、前記プロセッサの再割り振りを中断するための命令と、
    を更に含む、請求項37に記載のプログラム製品。
  43. 再割り振りが継続すべきかどうかを決定するための命令を更に含み、
    前記決定に応答して前記再割り振りプログラムを稼動する、請求項37に記載のプログラム製品。
  44. サンプリング・インターバルにわたって前記プロセッサに対する複数のパフォーマンス・パラメータ・データを収集するための命令と、
    前記データを使用して前記プロセッサに対する前記合成パラメータを計算するための命令と
    を更に含む、請求項37に記載のプログラム製品。
  45. サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するための命令を含み、
    前記サンプリング・ウィンドウが移動ウィンドウであるという決定に応答して、最も古いデータ・サンプルを廃棄し、最も新しいデータ・サンプルを加える、請求項37に記載のプログラム製品。
  46. サンプリング・ウィンドウが移動ウィンドウであるか又は離散ウィンドウであるかを決定するための命令を含み、
    前記サンプリング・ウィンドウが離散ウィンドウであるという決定に応答して、データ・サンプルをすべて廃棄し、新しいデータ・サンプルを収集する、請求項37に記載のプログラム製品。
JP2004115029A 2003-04-30 2004-04-09 論理的にパーティション化された環境においてプロセッサを再割振りするための方法、コンピュータ・システム及びコンピュータ・プログラム Expired - Fee Related JP4617097B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/427,098 US7478393B2 (en) 2003-04-30 2003-04-30 Method for marketing to instant messaging service users

Publications (2)

Publication Number Publication Date
JP2004334853A true JP2004334853A (ja) 2004-11-25
JP4617097B2 JP4617097B2 (ja) 2011-01-19

Family

ID=33415947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004115029A Expired - Fee Related JP4617097B2 (ja) 2003-04-30 2004-04-09 論理的にパーティション化された環境においてプロセッサを再割振りするための方法、コンピュータ・システム及びコンピュータ・プログラム

Country Status (5)

Country Link
US (2) US7478393B2 (ja)
JP (1) JP4617097B2 (ja)
KR (1) KR100634180B1 (ja)
CN (1) CN100361085C (ja)
TW (1) TWI288881B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110195A (ja) * 2007-10-29 2009-05-21 Nec Corp 情報処理装置、システム、情報処理引継ぎ制御方法、及び、プログラム
JP2009537894A (ja) * 2006-05-18 2009-10-29 マイクロソフト コーポレーション 作業負荷特性に基づいたホストへの仮想マシンのデプロイ

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472246B2 (en) * 2003-04-30 2008-12-30 International Business Machines Corporation Method and system for automated memory reallocating and optimization between logical partitions
US7478393B2 (en) * 2003-04-30 2009-01-13 International Business Machines Corporation Method for marketing to instant messaging service users
US7509646B1 (en) * 2003-09-23 2009-03-24 Unisys Corporation Method of managing workloads in a distributed processing system
US20060123111A1 (en) * 2004-12-02 2006-06-08 Frank Dea Method, system and computer program product for transitioning network traffic between logical partitions in one or more data processing systems
US7613897B2 (en) * 2005-03-30 2009-11-03 International Business Machines Corporation Allocating entitled processor cycles for preempted virtual processors
JP4519098B2 (ja) * 2006-03-30 2010-08-04 株式会社日立製作所 計算機の管理方法、計算機システム、及び管理プログラム
US7444459B2 (en) * 2006-12-12 2008-10-28 Lsi Logic Corporation Methods and systems for load balancing of virtual machines in clustered processors using storage related load information
US8219994B2 (en) * 2008-10-23 2012-07-10 Globalfoundries Inc. Work balancing scheduler for processor cores and methods thereof
US9158553B2 (en) 2013-04-09 2015-10-13 International Business Machines Corporation System and method for expediting virtual I/O server (VIOS) boot time in a virtual computing environment
US10033603B2 (en) 2015-12-10 2018-07-24 Accenture Global Solutions Limited System monitoring device

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4603382A (en) 1984-02-27 1986-07-29 International Business Machines Corporation Dynamic buffer reallocation
US5875464A (en) 1991-12-10 1999-02-23 International Business Machines Corporation Computer system with private and shared partitions in cache
JP3186244B2 (ja) 1992-09-18 2001-07-11 株式会社日立製作所 仮想計算機システム
KR200150506Y1 (ko) 1992-12-31 1999-07-01 김영환 세라믹 패키지
US5504670A (en) 1993-03-31 1996-04-02 Intel Corporation Method and apparatus for allocating resources in a multiprocessor system
JP3345626B2 (ja) * 1994-09-29 2002-11-18 富士通株式会社 マルチプロセッサシステムにおけるプロセッサ異常対策装置およびマルチプロセッサシステムにおけるプロセッサ異常対策方法
US5978583A (en) 1995-08-07 1999-11-02 International Business Machines Corp. Method for resource control in parallel environments using program organization and run-time support
US5550829A (en) * 1995-10-24 1996-08-27 Motorola, Inc. Method for reallocation frame assignments of receives in a communication system
JPH1027167A (ja) 1996-07-12 1998-01-27 Hitachi Ltd 並列計算機の負荷分散方法
US5889989A (en) 1996-09-16 1999-03-30 The Research Foundation Of State University Of New York Load sharing controller for optimizing monetary cost
US6366945B1 (en) 1997-05-23 2002-04-02 Ibm Corporation Flexible dynamic partitioning of resources in a cluster computing environment
US6199075B1 (en) 1997-05-30 2001-03-06 Sun Microsystems, Inc. Method and apparatus for generational garbage collection of a heap memory shared by multiple processors
JPH1165862A (ja) 1997-08-14 1999-03-09 Nec Corp マルチプロセッサ資源分割管理方式
US6061761A (en) 1997-10-06 2000-05-09 Emc Corporation Method for exchanging logical volumes in a disk array storage device in response to statistical analyses and preliminary testing
US6230183B1 (en) * 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
JP3726484B2 (ja) 1998-04-10 2005-12-14 株式会社日立製作所 記憶サブシステム
US6327587B1 (en) 1998-10-05 2001-12-04 Digital Archaeology, Inc. Caching optimization with disk and/or memory cache management
US6986137B1 (en) 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
JP3601393B2 (ja) 2000-01-11 2004-12-15 日本電気株式会社 データグラム中継装置及びその方法
US7140020B2 (en) 2000-01-28 2006-11-21 Hewlett-Packard Development Company, L.P. Dynamic management of virtual partition computer workloads through service level optimization
US6980511B1 (en) * 2000-07-26 2005-12-27 Santera Systems Inc. Method of active dynamic resource assignment in a telecommunications network
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US20020099759A1 (en) * 2001-01-24 2002-07-25 Gootherts Paul David Load balancer with starvation avoidance
JP4214682B2 (ja) 2001-01-24 2009-01-28 株式会社日立製作所 計算機およびその入出力手段
JP2002259236A (ja) 2001-02-28 2002-09-13 Hitachi Ltd 分散型制御システムと、かかるシステムにおける異常時データ収集方法
US20020178262A1 (en) * 2001-05-22 2002-11-28 David Bonnell System and method for dynamic load balancing
US6915402B2 (en) 2001-05-23 2005-07-05 Hewlett-Packard Development Company, L.P. Method and system for creating secure address space using hardware memory router
US6678814B2 (en) 2001-06-29 2004-01-13 International Business Machines Corporation Method and apparatus for allocating data usages within an embedded dynamic random access memory device
JP2003067351A (ja) 2001-08-28 2003-03-07 Nec System Technologies Ltd 分散型コンピュータの構成制御システム
JP4018900B2 (ja) * 2001-11-22 2007-12-05 株式会社日立製作所 仮想計算機システム及びプログラム
JP3950720B2 (ja) 2002-03-18 2007-08-01 株式会社日立製作所 ディスクアレイサブシステム
US6694419B1 (en) 2002-04-12 2004-02-17 Barsa Consulting Group, Llc Method and system for automatically measuring partition memory needs in a partitioned computer system
US6968441B1 (en) * 2002-04-12 2005-11-22 Barsa Consulting Group, Llc Method and system for managing interdependent resources of a computer system
CA2408481C (en) 2002-10-17 2009-10-06 Ibm Canada Limited-Ibm Canada Limitee Autonomic reallocation of memory among buffer pools
US7472246B2 (en) 2003-04-30 2008-12-30 International Business Machines Corporation Method and system for automated memory reallocating and optimization between logical partitions
US7478393B2 (en) 2003-04-30 2009-01-13 International Business Machines Corporation Method for marketing to instant messaging service users
US7325062B2 (en) * 2003-04-30 2008-01-29 International Business Machines Corporation Method and system for automated adapter reallocation and optimization between logical partitions
US7299469B2 (en) * 2003-04-30 2007-11-20 International Business Machines Corporation Hierarchical weighting of donor and recipient pools for optimal reallocation in logically partitioned computer systems
US7313796B2 (en) 2003-06-05 2007-12-25 International Business Machines Corporation Reciprocity and stabilization in dynamic resource reallocation among logically partitioned systems
US7003597B2 (en) 2003-07-09 2006-02-21 International Business Machines Corporation Dynamic reallocation of data stored in buffers based on packet size

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009537894A (ja) * 2006-05-18 2009-10-29 マイクロソフト コーポレーション 作業負荷特性に基づいたホストへの仮想マシンのデプロイ
JP2009110195A (ja) * 2007-10-29 2009-05-21 Nec Corp 情報処理装置、システム、情報処理引継ぎ制御方法、及び、プログラム

Also Published As

Publication number Publication date
CN100361085C (zh) 2008-01-09
US20040230981A1 (en) 2004-11-18
US8381225B2 (en) 2013-02-19
CN1542617A (zh) 2004-11-03
US7478393B2 (en) 2009-01-13
TW200506736A (en) 2005-02-16
TWI288881B (en) 2007-10-21
US20090094612A1 (en) 2009-04-09
KR20040094363A (ko) 2004-11-09
KR100634180B1 (ko) 2006-10-16
JP4617097B2 (ja) 2011-01-19

Similar Documents

Publication Publication Date Title
US8381225B2 (en) Automated processor reallocation and optimization between logical partitions
US8051269B2 (en) Automated memory reallocation and optimization between logical partitions
US9977689B2 (en) Dynamic scaling of management infrastructure in virtual environments
Zhang et al. Improving distributed workload performance by sharing both CPU and memory resources
JP4205066B2 (ja) マルチノード型コンピュータ・システムにおいてリソースを管理する装置、方法、およびプログラム
US7313796B2 (en) Reciprocity and stabilization in dynamic resource reallocation among logically partitioned systems
US8838801B2 (en) Cloud optimization using workload analysis
US8020164B2 (en) System for determining and reporting benefits of borrowed computing resources in a partitioned environment
JP2006048680A (ja) 複数のインスタンスアプリケーションに対し負荷分散装置を動作させるシステムおよび方法
US7237139B2 (en) Services heuristics for computer adapter placement in logical partitioning operations
Spring et al. Application level scheduling of gene sequence comparison on metacomputers
Armstrong et al. Scheduling many-task workloads on supercomputers: Dealing with trailing tasks
Kondo et al. Performance evaluation of scheduling policies for volunteer computing
US7299469B2 (en) Hierarchical weighting of donor and recipient pools for optimal reallocation in logically partitioned computer systems
Niu et al. Employing checkpoint to improve job scheduling in large-scale systems
US7325062B2 (en) Method and system for automated adapter reallocation and optimization between logical partitions
Chacko et al. Integration of apache spark with invasive resource manager
Diaz et al. A quadratic self-scheduling algorithm for heterogeneous distributed computing systems
Sodan et al. Time and space adaptation for computational grids with the ATOP-Grid middleware
JPH09160890A (ja) マルチプロセッサシステム
Sodan et al. LOMARC: lookahead matchmaking for multiresource coscheduling on hyperthreaded CPUs
Monisha et al. Heterogeneous map reduce scheduling using first order logic
Banicescu et al. Experiences from integrating algorithmic and systemic load balancing strategies
Karatza A simulation model of backfilling and I/O scheduling in a partitionable parallel system
WO2016203647A1 (ja) 計算機及び処理のスケジューリング方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060623

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060623

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20060623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060626

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070308

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20081219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100921

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20101015

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101025

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees