JP4386410B2 - コンピュータ・システム・リソースを動的に割り当てる方法およびシステム - Google Patents
コンピュータ・システム・リソースを動的に割り当てる方法およびシステム Download PDFInfo
- Publication number
- JP4386410B2 JP4386410B2 JP2003138804A JP2003138804A JP4386410B2 JP 4386410 B2 JP4386410 B2 JP 4386410B2 JP 2003138804 A JP2003138804 A JP 2003138804A JP 2003138804 A JP2003138804 A JP 2003138804A JP 4386410 B2 JP4386410 B2 JP 4386410B2
- Authority
- JP
- Japan
- Prior art keywords
- utilization
- resources
- workload
- service level
- resource
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/504—Resource capping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の属する技術分野】
この技術分野は、一般に、コンピュータ・システムに関する。さらに詳しく言えば、この技術分野は、1つまたは複数のワークロード(workload)の間で割り当てられるコンピュータ・システム・リソースの管理に関する。
【0002】
【従来の技術】
個々のコンピュータ・ユーザだけでなく、データ・センタも、コンピュータ・システム上で動作するワークロードにコンピュータ・リソースを割り当てるユーティリティ、すなわち、PPU(Pay−Per−Use(ペイ・パー・ユース))モデルを使用することがある。本明細書に用いられるワークロードとは、システム・リソースを使用する任意のアプリケーション、プロセス、またはプロセス群をさす。ワークロードを動作させるためのサービス・レベル目標(SLO)を達成するために、ヒューレット・パッカード社製のHP−UX Workload Manager(WLM)製品などのリソース・アロケータ(resource allocator)を用いて、リソースをワークロードの間で割り当てることがある。PPUモデルにより、ユーザは、全コンピュータ・システム、およびそのリソースを全部購入するのではなく、中央演算処理装置(CPU)リソース、メモリ、ディスク帯域幅、ネットワーク帯域幅などのようなコンピュータ・リソースの一部を購入することができる。購入されるリソースは、全システム・リソースのパーセントとして表わされるかもしれない。例えば、全CPUリソースの80%しか必要としないユーザは、その量のリソースを購入するかもしれない。
【0003】
【発明が解決しようとする課題】
PPUシステムは、その購入量に確実に合わせることができるように、ユーザによるシステム・リソースの実際の利用度を測定する。このような構成に応じて、PPUシステムは、ユーザと、システム・リソースの提供者との合意により、実際の使用量に基いて、定期的にユーザに課金することがある。PPUモデルの実施に応じて、ユーザの利用度を、その購入量よりも低い値に制限することが望ましいこともある。これは、例えば、ユーザが実際の利用度の代金を支払い、かつ、このような利用度が或る限度を確実に超えないようにしたいという実施例、あるいは、ユーザが、限られた量のリソースに対して定額料金を支払い、かつ、リソース提供者が、ユーザには、ユーザ購入のリソースよりも多くのリソースを確実に受け取れないようにしたいという実施例において、望ましい場合もある。
【0004】
PPUモデルは、リソースへのユーザ・アクセスを可能にし、かつ、リソースの使用量を測定する。このようなシステムでは、利用度が、購入されたリソースの量を超えないようにするために、システム・リソースの使用量を制御することが望ましい。使用量を制限せずに、PPUモデルのもとにシステム・リソースを利用することは、サーモスタットなしで暖房炉を用いることに似ている。ユーザに対して、このようなリソースの意外に高い利用度の代金が請求されることもある。
【0005】
リソースの割当ての問題は、このリソースの使用量を正確に制限し、かつ測定することである。既存のリソース・アロケータは、利用度ブロック(utilization block)を用いて、リソースの割当てに一定の上限(cap)を課しさえすれば、このリソースの指定部分の使用を防止することができる。この利用度ブロックは、ワークロードの実際の使用量要件に関係なく、一定量のリソースへのアクセスを防止する。しかしながら、このような割当てシステムは、本来的に不正確なものであって、多くの場合、望ましくないことがある。既存のリソース・アロケータは、PPUシステムと無関係に動作し、PPUモデルのもとにユーザに負担させる可能性のある、ユーザのシステム上で動作するすべてのワークロードを制御するとは限らない。それゆえ、既存のリソース・アロケータは、正確には割当てを制限することができない。例えば、リソース・アロケータは、それ自体、CPUリソースなどのシステム・リソースを消費するオペレーティング・システムの利用を必要とすることもあり、また、既存システムを用いても、このリソース・アロケータは、オペレーティング・システムなどのいくつかのワークロードへのリソースの割当てを制限できないこともある。その結果、利用度ブロックを用いて、既存リソース・アロケータで得られる一定の権利によっても、正確な上限が課せられないであろう。
【0006】
例えば、ワークロードがこのシステム上で実行されることにより、オペレーティング・システムの使用率が、全CPUリソースの10%を占める場合には、CPUリソースの残りの90%だけが、再割当てに利用できる。利用度ブロックを用いて、利用可能CPUリソースの20%へのアクセスをブロックする場合には、利用度ブロックを課した後、ユーザのワークロードに使えるCPUリソースの実際の量は、72%(全リソースの90%のうちの80%)である。このワークロードに使える72%と、オペレーティング・システムで使用される10%を組み合わせると、ユーザが望む80%ではなくて、システム・リソースの82%という全利用度がもたらされる。その結果、ユーザは、CPUリソースの追加2%の代金を支払うか、あるいは、ユーザは、PPU装置(arrangement)のもとに購入されたものよりも2%多いリソースを受け取る。
【0007】
利用度ブロックでもたらされる一定の権利も柔軟性を欠く。使用量のパターンに応じて、ユーザのワークロードのリソース要件は、変動することがあり、また一般に、PPUシステムを通じて購入された最高限度よりもかなり小さいことがある。PPUシステムのもとでは、一定の最高限度ではなくて、平均利用度に基いて、ユーザがリソースを購入することが望ましことがある。このような平均利用度PPUモデルのもとでは、平均使用量が購入リソース量よりも少ない限り、実際の利用度は、購入上限を超えることがある。利用度ブロックを用いるシステムでも、柔軟性は与えられず、その代り、最高限度だけが課せられる。
【0008】
【課題を解決するための手段】
コンピュータ・システム・リソースを割り当てる方法が開示されている。ワークロードを実行するためのサービス・レベル目標を定めたパラメータが、ユーザ入力装置から受け取られる。サービス・レベル目標の少なくとも1つは、システム・リソースをワークロードの間で総体的に割り当てることを制限する利用度上限である。このパラメータは、利用度上限を含め、サービス・レベル目標の優先度を含む。ワークロードがシステム上で実行されるときに、システム・リソースの使用量を示す利用度データを受け取る。リソースは、サービス・レベル目標の優先度により、かつ、利用度データに基いて、ワークロードに割り当てられる。
【0009】
利用度上限を条件として、コンピュータ・システム・リソースをワークロードの間で動的に割り当てるコンピュータ・システムも開示されている。このシステムは、プロセッサ、プロセッサに接続されたメモリ、システム・リソースの利用度を測定する使用量メータ、およびリソース・アロケータを含む。リソース・アロケータは、ワークロードがシステム上で実行されるときに、使用量メータから利用度データを受け取る。リソース・アロケータは、ワークロードの実行に指定したサービス・レベル目標に指定される優先度により、システム・リソースをワークロードに割り当てる。リソースの割当ては、優先度も持つサービス・レベル目標で定められる利用度上限に従わなければならない。
【0010】
コンピュータ・システム上で実行されるワークロードの間でコンピュータ・システム・リソースを割り当てる方法を実行するコンピュータ実行命令を有するコンピュータ読取り可能媒体も開示されている。この方法は、ワークロードがシステム・リソースを利用しているときに、これらのワークロードに対して利用度データを検索する。この方法は、これらのワークロードに関連するサービス・レベル目標に指定されたパラメータに基いて、システム・リソースをワークロードに割り当てる。このパラメータは、サービス・レベル目標の優先度を含み、またさらに高い優先度のサービス・レベル目標に関連するワークロードは、さらに低い優先度のサービス・レベル目標に関連するワークロードの前に、リソースが割り当てられる。これらのサービス・レベル目標の少なくとも1つは、全システム・リソースの利用度上限であり、また優先度を持つ。
【0011】
【発明の実施の形態】
図1は、ワークロード60〜63の間でメモリまたは中央演算処理装置(CPU)リソースなどのシステム・リソースを割り当てるコンピュータ・システム10のブロック図を示している。システム10は、メモリ40に接続されたCPU20を含む。オペレーティング・システム30は、CPU20がワークロード60〜63を実行するために、メモリ40にある。使用時には、CPU20は、CPUリソース、メモリ、ディスク帯域幅、ネットワーク帯域幅などのようなシステム・リソースの利用を必要とするワークロード60〜63を実行する。例えば、CPUリソースを割り当てるときに、同時に実行されるワークロード60〜63に、CPU20へのアクセスのタイムスライスが割り当てられるか、あるいは、並列処理システムにおいて類似する割当てが行われることもある。ユーザ入力装置50を用いてCPU20に送ることができるパラメータにより、システム・リソースをワークロード60〜63に割り当てる。一実施形態では、ワークロード60〜63は、ネットワークに接続されたサーバーのCPU20で実行される。他の実施形態では、コンピュータ・システム10は、複数のサーバー、あるいは単一のコンピュータ端末を含むことがある。
【0012】
これらのパラメータは、システム10上でワークロード60〜63を実行するためのサービス・レベル目標(SLO)を定めている。本明細書中に使用されるサービス・レベル目標とは、ワークロード60〜63によるシステム・リソースの利用に関する任意のパラメータまたはパラメータ群をさす。サービス・レベル目標は、例えば、リソースへの優先度を共有するワークロード60〜63のIDを含む。
【0013】
模範的なサービス・レベル目標は、ワークロード60〜63またはソフトウェア・アプリケーション用の実行時間や、アプリケーションからの結果の出力用の実行時間を含む。例示として、ソフトウェア・アプリケーションの1つが給与支払い小切手を印刷するコンピュータ・システムは、サービス・レベル目標として、1分当たり1,000枚の小切手を印刷する目標を持ち、また、そのサービス・レベル目標は2の優先度を持つことがある。このコンピュータ・システム上で実行する他のソフトウェア・アプリケーションは、優先度といっしょに、実行に指定されたサービス・レベル目標を持つことがある。小切手印刷のソフトウェア・アプリケーション(および、そのソフトウェア・アプリケーションに関連するワークロード)は、関連目標を指定する1つまたは複数の「ストレッチ(stretch)」目標を持つことがある。例えば、このアプリケーションは、1分当たり1,500枚の小切手を印刷するストレッチ目標を持ち、また、そのストレッチ目標は、5の優先度を持つことがある。これは、1分当たり1,000枚の小切手を印刷するよりも高い優先度(例えば、1の優先度)を持つサービス・レベル目標に対して、まず最初にリソースを割り当てるべきであることを示す。次に、1分当たり1,000枚の小切手を印刷する目標を満たすために、リソースを割り当てる。次に、さらに低い優先度のサービス・レベル目標にリソースを割り当てる。優先度が5よりも高い他のサービス・レベル目標を満たした後も、リソースが残存する場合には、その小切手印刷の速度を、1分当たり1,500枚の小切手まで上げるために、リソースを割り当てる。一実施形態では、或るサービス・レベル目標に関連するあらゆるワークロードは、ただ1つのリソース群で実行され、また、そのサービス・レベル目標を満たすために、リソースを、そのリソース群に割り当てる。例えば、小切手印刷のアプリケーションに関連するあらゆるワークロードは、ただ1つのリソース群で実行されることになる。
【0014】
サービス・レベル目標はまた、システム・リソースの利用度上限を含むこともある。例えば、PPU(Pay−Per−Use)モデルでは、ユーザは、例えば利用度上限を80%に設定することで、全システム・リソースの一部だけを購入して、受け取ることもある。利用度上限を含むサービス・レベル目標には、優先度が指定されることもある。優先順位に基いて、サービス・レベル目標を満たすために、システム・リソースを割り当てる。その利用度上限が、平均利用度の最高限度であって、その平均利用度が、その利用度上限を超えさえしなければ、実際の利用度を上下に変動できるようにすることもある。一実施形態では、このシステムにより、利用度上限は、1つまたは複数の他のサービス・レベル目標よりも低い優先度を持つことができる。これにより、利用度は、高い方の優先度のサービス・レベル目標に対して利用度上限を超えることができる。一実施形態はまた、平均利用度が、確実に利用上限を超えることができないように、高優先度のワークロードに割り当てられた追加リソースを取り戻すための取戻し期間を含む。一実施形態は、高い方の優先度のサービス・レベル目標が、もう追加リソースを必要としなくなった直後に、その追加リソースを取り戻す。このシステムは、取戻し期間中に、リソースの割当てを制限する利用度上限よりも低い取戻し限度を課すことで、追加リソースを取り戻すことがある。
【0015】
サービス・レベル目標に優先度を付ける一例は、以下の通りである:
【0016】
【表1】
SLO 優先度 定義
SLO「A」 1 ワークロード60
SLO「B」 2 80%の利用度上限
SLO「C」 3 ワークロード61〜63
【0017】
この例では、サービス・レベル目標Aは、1つのワークロード60を含み、かつ1の高優先度を持つ。例えば、ワークロード60は、リソースを割り当てているときに、万一、全利用度上限に優先するなら、ユーザが決定したシステム10上で実行する重要なソフトウェア・アプリケーションであるかもしれない。サービス・レベル目標Bは、この例では、80%の利用度上限である。サービス・レベル目標Cは、残りの3つのワークロード61〜63を含み、かつ、この例では、最低の優先度を持つ。ワークロード61〜63は、高優先度のワークロード60よりも重要でないソフトウェア・アプリケーションであるかもしれない。
【0018】
サービス・レベル目標により、システム・リソースを確実に割り当てることができるように、システム10は、システム・リソースの使用量を監視する使用量メータ70を含む。一例において、そのサービス・レベル目標を条件として、CPUリソースを割り当てる。使用量メータ70は、CPU20からリソース利用度データを受け取って、そのデータをリソース・アロケータ80に受け渡す。リソース・アロケータ80は、そのサービス・レベル目標により、ワークロード60〜63が実行されるときに、リソースをワークロード60〜63の間で動的に割り当て、また再割当てする。
【0019】
図2は、システム・リソースを割り当てる方法の流れ図である。この方法が開始し(202)、サービス・レベル目標向けに、パラメータを受け取る(210)。このパラメータは、リソースへの各サービス・レベル目標の優先度を示す優先度パラメータを含む。ワークロード(図1中のブロック60〜63)が実行を開始して(220)、初めに、そのサービス・レベル目標の優先度パラメータに基いて、ワークロード(図1中のブロック60〜63)の間でシステム・リソースを割り当てる。ワークロード(図1中のブロック60〜63)が、そのシステム・リソースを使用するときに、ワークロード(図1中のブロック60〜63)から、利用度データを動的に検索する(230)。この利用度データに基いて、システム・リソースが、リソース・アロケータ(図1中のブロック80)によって再割当てされて(240)、リソースの割当てが、サービス・レベル目標の優先度情報に合致するようにしている。次に、この方法は、ループして戻り、ワークロード(図1中のブロック60〜63)がリソースを使用するときに利用度データ230を動的に検索するプロセスを繰り返し、また、利用度データに基いて、かつ、サービス・レベル目標の優先度パラメータを条件として、リソース240を再割当てする。
【0020】
図3は、図1に示されるコンピュータ・システム10の一実施形態のさらに詳細なブロック図である。図3に示される実施形態では、使用量メータ70は、利用度データをPPUシステム72に提供する。使用量メータ70は、システム10上で動作するワークロード60〜63に対する利用度データを、CPU20から収集して、その利用度データをPPUシステム72に送る。一実施形態では、PPUシステム72は、simple network managementprotocol(SNMP)エージェントまたはweb−based enterprise management/common information model(WBEM/CIM)プロバイダ(図示されてない)を用いて、利用度データを蓄積する。この利用度データに基いて、PPUシステム72は、ユーザと、システム10リソースの所有者との合意により、課金期間(例えば、1ヶ月間)中の、システム10リソースの使用量に対してユーザに課金する。データ・コレクタ74は、PPUシステム72から利用度データを収集して、その利用度データをリソース・アロケータ80に受け渡す。この利用度データに基いて、リソース・アロケータ80は、サービス・レベル目標により、システム10リソースをワークロード60〜63の間で再割当てする。
【0021】
図4は、図3に示される例で使用される、コンピュータ・システム10上で実行されるワークロード(図3中のブロック60〜63)から、利用度データを検索する(図2中のブロック230)方法の流れ図である。システム10リソースの利用度は、使用量メータ(図3中のブロック70)を用いて測定される(232)。使用量メータ(図3中のブロック70)は、利用度データをPPUシステム(図3中のブロック72)に送り(234)、PPUシステムが、その利用度データを蓄積して、リソース使用量に基いてユーザに課金する。データ・コレクタ(図3中のブロック74)は、PPUシステム(図3中のブロック72)から利用度データを収集して(236)、その利用度データを、リソース・アロケータ(図3中のブロック80)に送る(238)。
【0022】
図5Aは、利用度上限310を条件として、経時的にCPUリソースなどのシステム10リソースの利用度の一例を示すグラフである。図1に関して上に述べられた例を参照して、利用度上限310は、サービス・レベル目標Bを定めている。異なる時間では、ワークロード(図1中のブロック60〜63)によるシステム・リソースの利用は、このシステム・リソースに対するワークロードの実際の要求に応じて様々である。リソースの利用度は、ワークロード(図1中のブロック60〜63)がリソースを利用すると、使用量メータ(図1中のブロック70)によって、動的に測定される(図2中のブロック230)。次に、このリソースは、サービス・レベル目標により、再割当てされる(図2中のブロック240)。このリソースの使用量は、使用量を全システム10リソースの最大の値または百分率に利用を制限する利用度上限310に従わなければならない。利用度上限310は、PPUモデルに関連して設けられることがあり、PPUモデルでは、ユーザは、利用度上限310で表わされるように、全システム10リソースの一部しか購入していない。図5Aの例では、利用度上限310は、全システム10リソースの80%に設定されている。例えば、このシステム・リソースがCPUリソースである場合には、CPUリソースの使用量は、図5Aで示されるように、80%の上限が定められることになる。
【0023】
図5Aの例では、実際のリソース使用量が利用度上限310に達するときはいつでも、1つまたは複数のサービス・レベル目標は、利用度上限310よりも多くのリソースを求めているために、達成できてない場合がある。図5Aの例では、サービス・レベル目標Aは、このグラフのうち、リソース使用量が利用度上限310に達している平坦な部分のうちの2つの一部を含む、いくつかの不履行時点(failing point)300にて達成できていない。不履行サービス・レベル目標の重要性に応じて、利用度上限310で課せられる制限は、望ましくない場合がある。この例では、サービス・レベル目標Aが、重要であるか、または、高優先度のサービス・レベル目標である場合には、このようなサービス・レベル目標を満たせなければ、ユーザによるサービス契約の違反、あるいは、サービス・レベル目標Aと関係のあるワークロード(1つまたは複数)にとって望ましくない他の影響がもたらされることがある。サービス・レベル目標Bを定める利用度上限310よりも高い優先度が、サービス・レベル目標Aに与えられている上述の例を参照すると、サービス・レベル目標Aのパフォーマンスを制限することよりも、利用度上限310を超える追加リソースを、サービス・レベル目標Aに関連するワークロード60に割り当てる方が望ましい。
【0024】
図5Bは、図5Aの利用度の例について、利用度上限310を超える追加リソース302の割当てを示すグラフである。図5Bの例では、サービス・レベル目標Aは、サービス・レベル目標Bを定める利用度上限310の優先度よりも高い優先度を持っている。サービス・レベル目標Aがもう不履行とはならないように、サービス・レベル目標Aの不履行時点300として示される期間中に、サービス・レベル目標Aに関連するワークロード60に、追加リソース302が割り当てられた。図5Bの例では、システム10リソースに対する要求が、利用度上限310に達してない様々な利用度不足期間304がある。この例では、利用度不足期間304中のシステム10リソースの利用不足は、不履行時点300にて、サービス・レベル目標Aに割り当てられた追加リソース302を超える。この例における利用度上限310は、平均利用度をさし、またこの平均利用度は、追加リソース302の割当てにもかかわらず、上限310よりも低い。ワークロード(図1中のブロック60〜63)は、事実上、利用度不足期間304中に、追加リソース302を返している。
【0025】
他の例では、または他の期間では、システム10リソースに対する要求が強まることもある。利用度不足期間304がもしあれば、それは、不履行時点300の間に割り当てられた追加リソース302よりも短いこともある。リソースの使用量が多い場合に、追加リソース302を確実に取り戻せるように、リソース・アロケータ(図1中のブロック80)は、本明細書に述べられるように、追加リソースを取り戻す取戻し期間を含むことがある。
【0026】
図6は、利用度上限(図5A〜図5B中の310)を超えて割り当てられた追加リソース(図5B中の302)を取り戻すステップを含め、システム・リソースを割り当てる方法を示す流れ図である。この方法は、例えば、リソース・アロケータ(図1中のブロック80)によって実施されることもある。この方法は、メモリなどのコンピュータ読取り可能媒体上に格納されたコンピュータ実行命令で実施されることもある。この方法が開始し(202)、サービス・レベル目標向けのパラメータを受け取る(212)。これらのパラメータには、優先度パラメータと取戻しパラメータがある。取戻しパラメータは、追加リソース(図5B中の302)を取り戻すために使用される任意のパラメータをさす。取戻しパラメータは、例えば、利用度上限(図5A〜図5B中の310)よりも低い、システム・リソースの割当てに課せられた取戻し限度、および追加リソース(図5B中の302)を取り戻す取戻し期間を含む。
【0027】
ワークロード(図1中のブロック60〜63)は、システム・リソース220を用いて実行を開始し、サービス・レベル目標の優先度情報に基いて、初めて、リソースを、これらのワークロード(図1中のブロック60〜63)に割り当てる。ワークロード(図1中のブロック60〜63)がリソースを利用するときに、使用量メータ(図1中のブロック70)を用いて、利用度データを受け取る(230)。使用量メータは、その利用度データをリソース・アロケータ(図1中のブロック80)に報告する。その利用度データに基いて、リソースが再割当てされる(240)。リソース・アロケータ(図1中のブロック80)はまた、利用度上限(図5A〜図5B中の310)よりも高い優先度を持つサービス・レベル目標が不履行時点(図5A〜図5B中の300)に達していて、かつ追加リソース(図5B中の302)を必要とするかどうか判定する(250)。さらに高い優先度のサービス・レベル目標が利用度上限(図5A〜図5B中の310)に達している場合には、このサービス・レベル目標を満たすために、追加リソース(図5B中の302)を割り当てる(260)。この方法は、ループして戻り、再び、新たな利用度データを受け取って(230)、その利用度データとサービス・レベル目標に基いて、リソースを再割当てする(240)。
【0028】
利用度上限(図5A〜図5B中の310)では、高優先度のサービス・レベル目標が不履行とはならない(ブロック250では「いいえ」)場合には、この方法は、取り戻す必要のある追加リソース(図5B中の302)があるかどうか判定する(270)。追加リソース(図5B中の302)が以前に割り当てられたことがあるが、まだ取り戻されてない場合には、ユーザが指定した取戻しパラメータを用いて、取戻し期間中に、追加リソース(図5B中の302)を取り戻す(280)。この方法は、ループして戻り、再び、新たな利用度データを受け取って(230)、その利用度データに基いて、リソースを再割当てする(240)。
【0029】
これらのリソースは、システム10リソースの割当てに取戻し限度が課せられる取戻し期間を開始させることで、取り戻されることがある。これは、事実上、取り戻すべき追加リソース(図5B中の302)が残っているときに、リソースの割当てに、さらに低い利用度上限(本明細書では「取戻し限度」と呼ばれる)を課す。一実施形態では、追加リソースは、追加リソースを割り当てた直後の取戻し期間中に取り戻され、また、その取戻し期間は、高い方の優先度のサービス・レベル目標が二度と追加リソースを必要としない限り、追加リソースをすべて取り戻すまで続く。他の実施形態では、取り戻される追加リソース(図5B中の302)の量にかかわりなく、取戻しパラメータとしてユーザが定めた一定の取戻し期間の間、取戻し限度が課せられる。
【0030】
一実施形態では、リソース・アロケータ(図1中のブロック80)は、PPUシステム(図3中のブロック72)が利用する課金期間中に割り当てられる全リソースの移動平均をたどって、その移動平均と、その利用度上限(図5A〜図5B中の310)を比較することで、取り戻すべき追加リソース(図5B中の302)があるかどうか判定する(270)。この移動平均が、利用度上限(図5A〜図5B中の310)を超えるときはいつでも、その利用度上限(図5A〜図5B中の310)よりも高い優先度を持つサービス・レベル目標が、追加リソース(図5B中の302)を必要としない限り、その取戻し限度を課して、追加リソース(図5B中の302)を取り戻す。このような実施の結果は、追加リソース(図5B中の302)が割り当てられた期間の直後の取戻し期間中に、リソースの割当てを、取戻し限度に制限することである。一実施形態では、この移動平均は、PPUシステム(図3中のブロック72)が利用するそれぞれの課金期間の開始時に再設定される。この実施形態では、例えば、高優先度のサービス・レベル目標が、課金期間の終了時近くで、追加リソース(図5B中の302)を必要とし、またリソース・アロケータが、取戻し限度を用いて追加リソース(図5B中の302)を取り戻すのに充分な時間を持たない場合には、割り当てられた全リソースは、その課金期間の間に、その利用度上限を超えることがある。
【0031】
取り戻すべき追加リソース(図5B中の302)がない(ブロック270では「いいえ」の分岐)場合には、この方法は、ループして戻り、再び、新たな利用度データを受け取り(230)、取戻し限度または他の制限を課して追加リソース(図5B中の302)を取り戻すことなく、その利用度データに基いてリソースを再割当てする(240)。
【0032】
図7は、取戻し限度を用いて追加リソース(図5B中の302)を取り戻す、図6に示される方法の特定の実施例の流れ図である。図7に示される例証方法は、利用度上限(図5A〜図5B中の310)の優先度よりも高い優先度を持つサービス・レベル目標を満たすために、追加リソース(図5B中の302)を割り当てた後の取戻し期間中に、利用可能システム・リソースを、完全に利用度上限(図5A〜図5B中の310)よりも下げることで、追加リソースを取り戻す。図7の例では、この方法が開始し(202)、サービス・レベル目標向けの優先度パラメータと取戻しパラメータを受け取る(214)。取戻しパラメータには、取戻し限度が含まれ、この取戻し限度は、利用度上限(図5A〜図5B中の310)よりも低い利用限度を課すのに用いられる値である。この方法が、ワークロードの実行を開始し(220)、またワークロード(図1中のブロック60〜63)が実行されるときに、ワークロード(図1中のブロック60〜63)に対して、利用度データを検索する(230)。この利用度データと、サービス・レベル目標の優先度パラメータに基いて、リソースが、ワークロード(図1中のブロック60〜63)の間で再割当てされる(240)。ワークロード(図1中のブロック60〜63)が実行されるときには、高優先度のサービス・レベル目標が利用度上限(図5A〜図5B中の310)に達すれば(ブロック250では「はい」の分岐)、追加リソース(図5B中の302)を、高優先度のサービス・レベル目標に割り当てる(260)。高優先度のサービス・レベル目標が、追加リソース(図5B中の302)を必要としない場合には、リソース・アロケータ(図1中の80)は、取り戻すべき追加リソース(図5B中の302)があるかどうか判定する(270)。取り戻すべき追加リソース(図5B中の302)がある(270では「はい」の分岐)場合には、ユーザ入力装置(図1中のブロック50)が指定する取戻し限度を課して、ワークロード(図1中のブロック60〜63)への割当てに利用できる全システム10リソースを制限する(282)。次に、リソース・アロケータ(図1中のブロック80)は、ループして戻り、ワークロード(図1中のブロック60〜63)に対して、新たな利用度データを受け取る(230)。
【0033】
図8Aは、利用度上限310を条件として、経時的にシステム10リソースの利用度の一例を示すグラフである。図8Aは、システム・リソースの高利用度の状況を示しており、このような状況では、その使用量は、示された全期間の間、利用度上限310に達し、また、さらに高い優先度のサービス・レベル目標(SLO「A」)の不履行時点300にて、追加リソース302がサービス・レベル目標Aに割り当てられる2つの期間の間、使用量が利用度上限310を超える。図8Aの使用量グラフの不履行時点300と、追加リソース302の割当ては、図5Bに示される不履行時点300と、追加リソース302の割当てに対応する。図5Bと図8Aを比較すると、図8Aは、さらに低い優先度のサービス・レベル目標(例えば、図1に関して上に述べられた例におけるサービス・レベル目標C)によるシステム10リソースの利用度がさらに高い状況を表わしている。利用度上限310の優先度よりも低い優先度を持つサービス・レベル目標を満たすために、利用度上限310が課せられて、これらのリソースの割当てを制限する。
【0034】
図8Bは、図8Aに示される例証利用度に関して、利用度上限310を超える追加リソース302の取戻しを示すグラフである。図8Bは、図7に述べられる方法を実施して追加リソース302を取り戻した後の利用度を表わしている。取戻し限度312を指定するパラメータが、ユーザ入力装置(図1中のブロック50)から受け取られる(図7中のブロック214)。取戻し限度312は、取戻し期間306中に課せられる限度であって、利用度上限310よりも低い。図8Bに示される例では、利用度上限310が80%に設定され、また取戻し限度が70%に設定されている。追加リソース302を割り当てた直後の取戻し期間306中に、取戻し限度312を加えて、システム10リソースの利用可能度を制限することで、追加リソース302を取り戻す。この例での取戻し期間306は、追加リソース302が取り戻されるまで、延長する。
【0035】
代替実施形態では、追加リソース302を追跡し、また取戻し限度312を定期的に課して、集合追加リソース302を取り戻す。例えば、システムは、一月に一回、取戻し限度312を課して、ユーザの毎月の利用度が、利用度上限310内に収まるようにする場合がある。取戻し限度312は、サービス・レベル目標として設けられ、かつ優先度が与えられる場合がある。他の実施例により、さらに高い優先度のサービス・レベル目標は、必要であれば、取戻し限度312を超えることができる場合もある。
【0036】
一実施例では、利用度上限310を条件としてシステム10リソースを割り当てる方法が、リソース・アロケータ(図3中のブロック80)として使用されるヒューレット・パッカード社製のHP−UX Workload Manager製品(WLM)に組み込まれている。WLMのサービス・レベル目標の構成とPPUシステム(図3中のブロック72)を用いて、利用度上限310が課せられる。この利用度データは、WLMにwlmsendコマンドを用いて、測度(metric)として、PPUシステム(図3中のブロック72)からWLMに送られることもある。追加リソース302を取り戻すことができるように、シンタックスおよび機能をWLMに加えて、ユーザが、取戻し限度312、取戻しに関する優先度、取戻し時間を指定できるようにする場合がある。
【0037】
WLMに対して、利用度上限310と取戻しパラメータを指定する利用構造用の例証シンタックスは、以下のように指定されることがある:
【0038】
【表2】
【0039】
この優先度は、他のサービス・レベル目標に対して利用度上限310の優先度に指定されたパラメータである。一実施形態では、利用度上限310は、他のサービス・レベル目標が同じ優先度を持つ前に満たされる。利用度上限310は、目標として、その利用度を、全システム10リソースの指定パーセントよりも低くしておく。角括弧内の例証シンタックスは、任意選択で、取戻し限度を用いてシステム10リソースを取り戻すことに関するものである。取戻し限度312は、全システム10リソースの百分率として指定されることもある。取戻し限度312を課すための期間が指定されることもある。この期間は、PPUシステム(図3中のブロック72)で用いられる課金期間(例えば、一日、一週間、一ヶ月など)であることもある。システム・リソース利用度の移動平均は、WLMにより追跡されて、各期間の開始時に再度、初期設定されることもある。WLMは、この移動平均が、利用度上限(図5B中の310)を超えるかどうか判定し、また、この平均利用度が利用度上限(図5B中の310)を超える場合には、取戻し限度312を開始させて、この平均利用度を、利用度上限(図5B中の310)よりも低くしておこうとすることもある。全利用度を管理するために、WLMは、プロセス・リソース・マネージャ(PRM)群(図示されてない)を使用して、リソースを割り当てることもある。PRM群は、ユーザが、この群中の任意のプロセスを実行できないようにしている。PRM群は、利用構造を定めるときに、WLMで自動的に生成されることもある。
【0040】
図8Bに示される取戻し例の例証利用構造は、以下の通りである:
【0041】
【表3】
【0042】
この例では、上記の例で述べられるように、利用度上限310がシステム10リソースの80%に設定され、また利用度上限310用の優先度が2に設定される。上述のサービス・レベル目標Aのように、優先度が2よりも高いサービス・レベル目標だけが、利用度上限310を超えることができる。取戻し期間306中に、システム10リソースの割当てを、全システム10リソースの70%に制限する70%の取戻し限度312が指定されている。PPUシステム(図3中のブロック80)が用いる課金期間は、毎月の一日に開始する1ヶ月間である。毎月の一日において、WLMは、取り戻されるべき追加リソース302があるかどうか判定する(図7中のブロック270)のに用いられる移動平均を再設定する。この例証コードの最下部付近に定められる調整構造は、データ・コレクタ(図3中のブロック74)に、利用度データのソースを指定している。
【0043】
本発明は、本発明の特定の実施形態に関して述べられてきたが、変形が可能である。本発明は、本発明の本質的な精神または属性から逸脱することなく、特定の形式で実施することができる。さらに、或る実施例のうち、本発明と一致する面が、メモリに格納されているものとして述べられるものの、当業者であれば、これらの面はまた、ハードディスク、フレキシブルディスク、またはCD−ROM;インターネットまたは他のネットワークからの搬送波;他の形式のRAMまたはリードオンリーメモリ(ROM)を含め、二次記憶装置などの他のタイプのコンピュータ・プログラム・プロダクトまたはコンピュータ読取り可能媒体に格納できるか、あるいは、そのようなプロダクトまたは媒体から読み取ることができるものと理解されよう。本明細書に述べられる実施形態は、すべての点で例示で、かつ限定的ではないと見なされることと、本発明の範囲を決定するために、併記の特許請求の範囲、およびそれと同等なものを参照することが望ましい。
【0044】
以下に本発明の実施態様の例を列挙する。
〔実施態様1〕コンピュータ・システムリソースを割り当てる方法であって、
コンピュータ・システム・リソースを用いてワークロードを実行するためのサービス・レベル目標を定めたパラメータを、ユーザ入力装置から受け取るステップであって、前記パラメータが、前記サービス・レベル目標の優先度を含み、また、前記サービス・レベル目標の少なくとも1つが、前記システムリソースの利用度上限であるステップと、
前記ワークロードが動作しているときに、前記ワークロードによる前記システムリソースの利用度と関係のある利用度データを検索するステップと、
前記サービス・レベル目標および前記利用度データに基いて、前記ワークロードが前記リソースを利用するときに、前記システムリソースを前記ワークロードに動的に割り当てるステップと、
を含む方法。
〔実施態様2〕前記割り当てるステップは、
前記サービス・レベル目標の優先度により、前記システムリソースをワークロードに割り当てるステップと、
前記システムリソースの割当てを前記利用度上限に制限するステップと、
を含む実施態様1記載の方法。
〔実施態様3〕前記割り当てるステップは、前記ワークロードが、前記利用度上限を超えるリソースを必要とする場合に、
前記利用度上限を超える追加リソースを前記ワークロードに割り当てるステップと、
取戻し期間中に、前記追加リソースを取り戻すステップと、
を含む実施態様1または2に記載の方法。
〔実施態様4〕前記追加リソースを割り当てるステップは、前記サービス・レベル目標の1つまたは複数に関連する前記ワークロードの1つまたは複数が、前記利用度上限を超えるリソースを必要とするときに、前記利用度上限の優先度よりも高い優先度を持つサービス・レベル目標に関連する1つまたは複数のワークロードに前記追加リソースを割り当てるステップを含み、
前記取戻し期間中に前記追加リソースを取り戻すステップは、前記1つまたは複数のワークロードが、もう追加リソースを必要としなくなった直後に、前記追加リソースを取り戻すステップを含む実施態様3記載の方法。
〔実施態様5〕前記パラメータを受け取るステップは、取戻しパラメータを受け取るステップを含み、また前記取り戻すステップは、前記取戻しパラメータに基いて取り戻すステップを含む実施態様3または4に記載の方法。
〔実施態様6〕前記受け取るステップは、
使用量メータを用いて、システムリソースの利用度を測定するステップと、
利用度データを、前記使用量メータから、ペイ・パー・ユース(PPU)システムに送るステップと、
データ・コレクタを用いて、前記利用度データを、前記PPUシステムからリソース・アロケータに送るステップと、
を含む実施態様1、2、3、4、または5に記載の方法。
〔実施態様7〕利用度上限を条件として、コンピュータ・システムリソースをワークロードの間で動的に割り当てるコンピュータ・システムであって、
プロセッサと、
前記プロセッサに接続されたメモリと、
ワークロードによるシステム・リソースの利用度を測定する使用量メータと、
前記ワークロードが実行されるときに、前記使用量メータから利用度データを受け取り、また、優先度を持つ利用度上限を条件として、前記ワークロードを実行するためのサービス・レベル目標に関連する優先度により、前記システムリソースを前記ワークロードに割り当てるリソース・アロケータであって、
さらに高い優先度を持つサービス・レベル目標を満たした後で、さらに低い優先度を持つサービス・レベル目標を満たすために、前記リソースをワークロードに割り当て、
リソースの割当てを前記利用度上限に制限し、
前記ワークロードのどれかが、前記利用度上限を超えるリソースを必要とするかどうか判定し、
前記ワークロードが、前記利用度上限の優先度よりも高い優先度を持つサービス・レベル目標に関連する場合には、追加リソースを前記ワークロードに割り当てるリソース・アロケータと、
を備えるコンピュータ・システム。
〔実施態様8〕取戻し期間中、前記リソースの割当てを、前記利用度上限よりも低い値に制限する取戻し限度を含む取戻しパラメータを用いて、前記リソース・アロケータが前記追加リソースを取り戻す実施態様7記載のコンピュータ・システム。
〔実施態様9〕前記使用量メータから利用度データを受け取って、前記利用度データに基いて、前記システムリソースの使用量に対して、ユーザに定期的に課金するペイ・パー・ユース(PPU)システムと、
前記利用度データを、前記PPUシステムから前記リソース・アロケータに送るデータ・コレクタと、
をさらに備える実施態様7または8に記載のコンピュータ・システム。
〔実施態様10〕コンピュータ・システムリソースをワークロードに割り当てる方法であって、
ワークロードがシステムリソースを利用しているときに、前記ワークロードに対して、利用度データを検索するステップと、
前記ワークロードに関連するサービス・レベル目標のパラメータに基いて、前記システム・リソースを前記ワークロードに割り当てるステップであって、前記パラメータが、前記サービス・レベル目標の優先度パラメータを含み、また、前記サービス・レベル目標の少なくとも1つが利用度上限であり、さらに、
前記ワークロードに関連する前記サービス・レベル目標の優先度に基いて、リソースを前記ワークロードに割り当てるステップと、
前記ワークロードが関連する前記サービス・レベル目標の優先度が、前記利用度上限の優先度よりも高い場合には、前記利用度上限を超える追加リソースをワークロードに割り当てるステップと、
取戻し期間中に、前記追加リソースを取り戻すステップと、
を含む割り当てるステップと、
を含む方法を実施するために、コンピュータ実行命令を有するコンピュータ読取り可能媒体。
【図面の簡単な説明】
【図1】システム・リソースをワークロードの間で割り当てるコンピュータ・システムのブロック図を示す。
【図2】システム・リソースを割り当てる方法の流れ図である。
【図3】図1に示されるコンピュータ・システムの一実施形態のさらに詳細なブロック図である。
【図4】コンピュータ・システム上で実行されるワークロードから利用度データを検索する方法の流れ図である。
【図5A】利用度上限を条件として、経時的にシステム・リソースの利用度の一例を示すグラフである。
【図5B】図5Aの利用度の例に対して、利用度上限を超える追加リソースの割当てを示すグラフである。
【図6】利用度上限を超えて割り当てられた追加リソースを取り戻すステップを含め、システム・リソースを割り当てる方法を示す流れ図である。
【図7】取戻し限度を用いて追加リソースを取り戻す、図6に関して述べられる方法の一実施例を示す流れ図である。
【図8A】示された期間中にリソースの使用量が利用度上限に達する、利用度上限を条件として経時的にシステム・リソースの利用度の一例を示すグラフである。
【図8B】図8Aに示される例証利用度に関して、利用度上限を超える追加リソースの取戻しを示すグラフである。
【符号の説明】
10 コンピュータ・システム
20 プロセッサ
40 メモリ
50 ユーザ入力装置
60〜63 ワークロード
70 使用量メータ
72 PPUシステム
74 データ・コレクタ
80 リソース・アロケータ
302 追加リソース
306 取戻し期間
310 利用度上限
Claims (10)
- コンピュータ・システムリソースを割り当てる方法であって、
コンピュータ・システムリソースを用いてワークロードを実行するためのサービス・レベル目標を定めたパラメータを、ユーザ入力装置から受け取るステップであって、
前記パラメータは、前記サービス・レベル目標の優先度を含み、前記サービス・レベル目標の少なくとも1つは、前記システムリソースの利用度上限であることと、
前記ワークロードが動作しているときに、前記ワークロードによる前記システムリソースの利用度と関係のある利用度データを検索するステップと、
前記サービス・レベル目標および前記利用度データに基いて、前記ワークロードが前記リソースを利用するときに、前記システムリソースを前記ワークロードに動的に割り当てるステップと、
前記ワークロードが、前記利用度上限を超えるリソースを必要とするときに、前記ワークロードに関して定められた前記サービス・レベル目標の優先度に基づいて、前記利用度上限を超える追加リソースを前記ワークロードに割り当てるか否かを判定するステップと を含む方法。 - 前記割り当てるステップは、
前記サービス・レベル目標の優先度により、前記システムリソースをワークロードに割り当てるステップと、
前記システムリソースの割当てを前記利用度上限に制限するステップと、
を含む請求項1に記載の方法。 - 前記割り当てるステップは、前記ワークロードが、前記利用度上限を超えるリソースを必要とする場合に、
前記判定するステップによる判定結果に基づいて、前記利用度上限を超える追加リソースを前記ワークロードに割り当てるステップと、
取戻し期間中に、前記追加リソースを取り戻すステップと
を含む請求項1または2に記載の方法。 - 前記追加リソースを割り当てるステップは、前記サービス・レベル目標の1つ以上に関連する前記ワークロードの1つ以上が、前記利用度上限を超えるリソースを必要とするときに、前記利用度上限を超えるリソースを必要とする前記1つ以上のワークロードのうち、前記利用度上限に関して定められたサービス・レベル目標の優先度よりも高い優先度を持つサービス・レベル目標が定められた1つ以上のワークロードに前記追加リソースを割り当てるステップを含み、
前記取戻し期間中に前記追加リソースを取り戻すステップは、前記1つ以上のワークロードが、前記利用度上限を超えるリソースを必要としなくなったときに、前記追加リソースを取り戻すステップを含む
請求項3に記載の方法。 - 前記パラメータを受け取るステップは、取戻しパラメータを受け取るステップを含み、また前記取り戻すステップは、前記取戻しパラメータに基いて取り戻すステップを含む
請求項3または4に記載の方法。 - 前記受け取るステップは、
使用量メータを用いて、システムリソースの利用度を測定するステップと、
利用度データを、前記使用量メータから、ペイ・パー・ユース(PPU)システムに送るステップと、
データ・コレクタを用いて、前記利用度データを、前記PPUシステムからリソース・アロケータに送るステップと
を含む請求項1〜5のいずれかに記載の方法。 - 1つ以上のワークロードに割り当てるコンピュータ・システムリソースの利用度上限を条件として、コンピュータ・システムリソースをワークロードの間で動的に割り当てるコンピュータ・システムであって、
プロセッサと、
前記プロセッサに接続されたメモリと、
ワークロードによるシステムリソースの利用度を測定する使用量メータと、
前記ワークロードが実行されるときに、前記使用量メータから利用度データを受け取り、1つ以上の優先度のうちの1つの優先度が付与されたサービス・レベル目標として定められた利用度上限を条件として、前記ワークロードを実行するために、前記1つ以上の優先度のうちの1つの優先度が付与された各サービス・レベル目標の優先度に従って、前記システムリソースを前記ワークロードに割り当てるリソース・アロケータであって、
前記ワークロードに関して定められた各サービス・レベル目標の優先度よりも低い優先度が付与された他のサービス・レベル目標を満たす前に、前記他のサービス・レベル目標の優先度よりも高い優先度が付与されたサービス・レベル目標を満たすために、前記リソースをワークロードに割り当て、
リソースの割当てを前記利用度上限に制限し、
前記ワークロードのどれかが、前記利用度上限を超えるリソースを必要とするかどうか判定し、
前記ワークロードに対して、前記利用度上限に関して定められたサービス・レベル目標の優先度よりも高い優先度が付与されたサービス・レベル目標が定められているときには、追加リソースを前記ワークロードに割り当てるリソース・アロケータと
を備えるコンピュータ・システム。 - 取戻し期間中、前記リソースの割当てを、前記利用度上限よりも低い値に制限する取戻し限度を含む取戻しパラメータを用いて、前記リソース・アロケータが前記追加リソースを取り戻す
請求項7に記載のコンピュータ・システム。 - 前記使用量メータから利用度データを受け取って、前記利用度データに基いて、前記システムリソースの使用量に対して、ユーザに定期的に課金するペイ・パー・ユース(PPU)システムと、
前記利用度データを、前記PPUシステムから前記リソース・アロケータに送るデータ・コレクタと
をさらに備える請求項7または8に記載のコンピュータ・システム。 - ワークロードがシステムリソースを利用しているときに、前記ワークロードに対して、利用度データを検索する検索ステップと、
前記ワークロードに関して定められたサービス・レベル目標のパラメータに基いて、前記システムリソースを前記ワークロードに割り当てる割り当てステップと
をコンピュータに実行させるプログラムを記録するコンピュータ読取り可能媒体であって、
前記パラメータが、前記サービス・レベル目標の優先度パラメータを含み、
前記サービス・レベル目標の少なくとも1つが利用度上限であり、
前記割り当てステップは、
前記ワークロードに関して定められた前記サービス・レベル目標の優先度に基いて、リソースを前記ワークロードに割り当てるステップと、
前記ワークロードに関して定められた前記サービス・レベル目標の優先度が、前記利用度上限に関して定められたサービス・レベル目標の優先度よりも高いときには、前記利用度上限を超える追加リソースをワークロードに割り当てるステップと、
取戻し期間中に、前記追加リソースを取り戻すステップと
を含む
コンピュータ読取り可能媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/170,642 US7322034B2 (en) | 2002-06-14 | 2002-06-14 | Method and system for dynamically allocating computer system resources |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004021982A JP2004021982A (ja) | 2004-01-22 |
JP4386410B2 true JP4386410B2 (ja) | 2009-12-16 |
Family
ID=29732546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003138804A Expired - Fee Related JP4386410B2 (ja) | 2002-06-14 | 2003-05-16 | コンピュータ・システム・リソースを動的に割り当てる方法およびシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7322034B2 (ja) |
JP (1) | JP4386410B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11726929B2 (en) | 2020-02-26 | 2023-08-15 | Samsung Electronics Co., Ltd. | Operation method of an accelerator and system including the same |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7694303B2 (en) * | 2001-09-25 | 2010-04-06 | Sun Microsystems, Inc. | Method for dynamic optimization of multiplexed resource partitions |
US7451183B2 (en) * | 2003-03-21 | 2008-11-11 | Hewlett-Packard Development Company, L.P. | Assembly and method for balancing processors in a partitioned server |
US7627506B2 (en) * | 2003-07-10 | 2009-12-01 | International Business Machines Corporation | Method of providing metered capacity of temporary computer resources |
US8135795B2 (en) | 2003-04-03 | 2012-03-13 | International Business Machines Corporation | Method to provide on-demand resource access |
US7493488B2 (en) | 2003-07-24 | 2009-02-17 | International Business Machines Corporation | Method to disable on/off capacity in demand |
US7877754B2 (en) * | 2003-08-21 | 2011-01-25 | International Business Machines Corporation | Methods, systems, and media to expand resources available to a logical partition |
US8151269B1 (en) | 2003-12-08 | 2012-04-03 | Teradata Us, Inc. | Database system having a service level goal responsive regulator |
US7395537B1 (en) * | 2003-12-08 | 2008-07-01 | Teradata, Us Inc. | Administering the workload of a database system using feedback |
US8818988B1 (en) | 2003-12-08 | 2014-08-26 | Teradata Us, Inc. | Database system having a regulator to provide feedback statistics to an optimizer |
US9098340B2 (en) * | 2003-12-08 | 2015-08-04 | Teradata Us, Inc. | Virtual regulator for a database system |
US7904910B2 (en) | 2004-07-19 | 2011-03-08 | Hewlett-Packard Development Company, L.P. | Cluster system and method for operating cluster nodes |
JP2008519322A (ja) * | 2004-10-28 | 2008-06-05 | テレコム・イタリア・エッセ・ピー・アー | 電気通信サービスおよび/またはネットワーク管理用のプラットフォームにおけるリソースの管理方法、対応プラットフォーム、およびそのコンピュータ・プログラム生成物 |
US7693982B2 (en) * | 2004-11-12 | 2010-04-06 | Hewlett-Packard Development Company, L.P. | Automated diagnosis and forecasting of service level objective states |
US7634430B2 (en) * | 2004-12-06 | 2009-12-15 | Hewlett-Packard Development Company, L.P. | System and method for allocating resources in a distributed computational system using proportional share auctions |
US8074223B2 (en) * | 2005-01-31 | 2011-12-06 | International Business Machines Corporation | Permanently activating resources based on previous temporary resource usage |
US7770173B2 (en) * | 2005-02-03 | 2010-08-03 | International Business Machines Corporation | System for dynamic processor enablement |
US8091088B2 (en) * | 2005-02-22 | 2012-01-03 | Microsoft Corporation | Method and system for hierarchical resource management involving hard and soft resource limits |
US20060218277A1 (en) * | 2005-03-24 | 2006-09-28 | International Business Machines Corporation | Activating on-demand computer resources |
US7873732B2 (en) * | 2005-04-28 | 2011-01-18 | International Business Machines Corporation | Maintaining service reliability in a data center using a service level objective provisioning mechanism |
US8893016B2 (en) * | 2005-06-10 | 2014-11-18 | Nvidia Corporation | Using a graphics system to enable a multi-user computer system |
US10026140B2 (en) * | 2005-06-10 | 2018-07-17 | Nvidia Corporation | Using a scalable graphics system to enable a general-purpose multi-user computer system |
US8555287B2 (en) * | 2006-08-31 | 2013-10-08 | Bmc Software, Inc. | Automated capacity provisioning method using historical performance data |
US10394849B2 (en) * | 2006-09-18 | 2019-08-27 | EMC IP Holding Company LLC | Cascaded discovery of information environment |
US8612570B1 (en) | 2006-09-18 | 2013-12-17 | Emc Corporation | Data classification and management using tap network architecture |
US20090025004A1 (en) * | 2007-07-16 | 2009-01-22 | Microsoft Corporation | Scheduling by Growing and Shrinking Resource Allocation |
US20090028127A1 (en) * | 2007-07-26 | 2009-01-29 | Gordon Kent Walker | Methods and apparatus for providing computational load allocation in a network environment |
US9323901B1 (en) | 2007-09-28 | 2016-04-26 | Emc Corporation | Data classification for digital rights management |
US9141658B1 (en) | 2007-09-28 | 2015-09-22 | Emc Corporation | Data classification and management for risk mitigation |
US8868720B1 (en) | 2007-09-28 | 2014-10-21 | Emc Corporation | Delegation of discovery functions in information management system |
US8522248B1 (en) | 2007-09-28 | 2013-08-27 | Emc Corporation | Monitoring delegated operations in information management systems |
US8548964B1 (en) | 2007-09-28 | 2013-10-01 | Emc Corporation | Delegation of data classification using common language |
US9461890B1 (en) | 2007-09-28 | 2016-10-04 | Emc Corporation | Delegation of data management policy in an information management system |
US8336052B2 (en) * | 2008-06-16 | 2012-12-18 | International Business Machines Corporation | Management, control, and monitoring of workload including unrelated processes of different containers |
US8566834B2 (en) * | 2008-10-02 | 2013-10-22 | Dell Products L.P. | Mechanism for application management during server power changes |
US8332857B1 (en) | 2008-12-30 | 2012-12-11 | Teradota Us, Inc. | Database system having a regulator that performs workload regulation based on optimizer estimates |
JP5380093B2 (ja) * | 2009-02-02 | 2014-01-08 | 株式会社エヌ・ティ・ティ・データ | コンピュータリソース管理装置、コンピュータリソース提供システム |
US8352609B2 (en) | 2009-09-29 | 2013-01-08 | Amazon Technologies, Inc. | Dynamically modifying program execution capacity |
US8689225B2 (en) | 2009-09-29 | 2014-04-01 | Amazon Technologies, Inc. | Attributing causality to program execution capacity modifications |
US20110107126A1 (en) * | 2009-10-30 | 2011-05-05 | Goodrum Alan L | System and method for minimizing power consumption for a workload in a data center |
US8984521B2 (en) * | 2010-02-18 | 2015-03-17 | International Business Machines Corporation | Computer system performance by applying rate limits to control block tenancy |
US8739171B2 (en) * | 2010-08-31 | 2014-05-27 | International Business Machines Corporation | High-throughput-computing in a hybrid computing environment |
US8914805B2 (en) | 2010-08-31 | 2014-12-16 | International Business Machines Corporation | Rescheduling workload in a hybrid computing environment |
US9069610B2 (en) * | 2010-10-13 | 2015-06-30 | Microsoft Technology Licensing, Llc | Compute cluster with balanced resources |
US8312000B1 (en) | 2010-10-20 | 2012-11-13 | Teradata Us, Inc. | Generating an integrated execution plan for multiple database requests |
US8516488B1 (en) | 2010-11-09 | 2013-08-20 | Teradata Us, Inc. | Adjusting a resource estimate in response to progress of execution of a request |
US8966493B1 (en) | 2010-11-09 | 2015-02-24 | Teradata Us, Inc. | Managing execution of multiple requests in a job using overall deadline for the job |
US11449502B1 (en) | 2010-11-12 | 2022-09-20 | Teradata Us, Inc. | Calculating a throttle limit for requests in a database system |
US8924981B1 (en) | 2010-11-12 | 2014-12-30 | Teradat US, Inc. | Calculating priority indicators for requests in a queue |
US8745032B1 (en) | 2010-11-23 | 2014-06-03 | Teradata Us, Inc. | Rejecting a request in a database system |
US20120144157A1 (en) * | 2010-12-06 | 2012-06-07 | James Reginald Crew | Allocation of Mainframe Computing Resources Using Distributed Computing |
US9274838B2 (en) * | 2011-12-22 | 2016-03-01 | Netapp, Inc. | Dynamic instantiation and management of virtual caching appliances |
CN102693160B (zh) * | 2012-05-15 | 2016-05-18 | 浪潮电子信息产业股份有限公司 | 一种计算机系统动态资源重配置的方法 |
US9286120B2 (en) | 2012-06-08 | 2016-03-15 | Apple Inc. | Resource management with dynamic resource budgeting |
JP5915406B2 (ja) * | 2012-06-22 | 2016-05-11 | 富士通株式会社 | 携帯端末装置の制御方法、制御プログラム及び携帯端末装置 |
US9363154B2 (en) * | 2012-09-26 | 2016-06-07 | International Business Machines Corporaion | Prediction-based provisioning planning for cloud environments |
US9753987B1 (en) * | 2013-04-25 | 2017-09-05 | EMC IP Holding Company LLC | Identifying groups of similar data portions |
US9304814B2 (en) | 2013-04-30 | 2016-04-05 | International Business Machines Corporation | Determine variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time |
US9588813B1 (en) * | 2013-06-07 | 2017-03-07 | Amazon Technologies, Inc. | Determining cost of service call |
WO2014198001A1 (en) * | 2013-06-14 | 2014-12-18 | Cirba Inc | System and method for determining capacity in computer environments using demand profiles |
GB2517195A (en) * | 2013-08-15 | 2015-02-18 | Ibm | Computer system productivity monitoring |
US11182713B2 (en) | 2015-01-24 | 2021-11-23 | Vmware, Inc. | Methods and systems to optimize operating system license costs in a virtual data center |
US10089657B1 (en) * | 2015-09-22 | 2018-10-02 | Adap.Tv, Inc. | Systems and methods for priority-based optimization of data element utilization |
US10204355B1 (en) * | 2015-09-22 | 2019-02-12 | Adap.Tv, Inc. | Systems and methods for optimization of data element utilization according to multi-touch attribution |
US10616136B2 (en) * | 2018-04-19 | 2020-04-07 | Microsoft Technology Licensing, Llc | Utilization based dynamic resource allocation |
CN111147468A (zh) * | 2019-12-20 | 2020-05-12 | 中移(杭州)信息技术有限公司 | 用户接入方法、装置、电子设备及存储介质 |
US20230205602A1 (en) * | 2021-12-28 | 2023-06-29 | Advanced Micro Devices, Inc. | Priority inversion mitigation |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5247634A (en) | 1990-03-20 | 1993-09-21 | Hewlett-Packard Company | Method of managing memory allocation by association of memory blocks with a tree structure |
US5668995A (en) | 1994-04-22 | 1997-09-16 | Ncr Corporation | Method and apparatus for capacity planning for multiprocessor computer systems in client/server environments |
CN1149476C (zh) | 1995-03-16 | 2004-05-12 | 松下电器产业株式会社 | 资源分配装置 |
US5727178A (en) | 1995-08-23 | 1998-03-10 | Microsoft Corporation | System and method for reducing stack physical memory requirements in a multitasking operating system |
US5889989A (en) | 1996-09-16 | 1999-03-30 | The Research Foundation Of State University Of New York | Load sharing controller for optimizing monetary cost |
US6301616B1 (en) * | 1997-04-11 | 2001-10-09 | Microsoft Corporation | Pledge-based resource allocation system |
US5930777A (en) | 1997-04-15 | 1999-07-27 | Barber; Timothy P. | Method of charging for pay-per-access information over a network |
US5784616A (en) | 1997-05-02 | 1998-07-21 | Microsoft Corporation | Apparatus and methods for optimally using available computer resources for task execution during idle-time for future task instances exhibiting incremental value with computation |
US6157917A (en) | 1997-07-11 | 2000-12-05 | Barber; Timothy P. | Bandwidth-preserving method of charging for pay-per-access information on a network |
US6085216A (en) * | 1997-12-31 | 2000-07-04 | Xerox Corporation | Method and system for efficiently allocating resources for solving computationally hard problems |
US6336127B1 (en) | 1998-01-15 | 2002-01-01 | International Business Machines Corporation | Dynamic user management for timed shared computer systems |
US6209066B1 (en) | 1998-06-30 | 2001-03-27 | Sun Microsystems, Inc. | Method and apparatus for memory allocation in a multi-threaded virtual machine |
US6272544B1 (en) * | 1998-09-08 | 2001-08-07 | Avaya Technology Corp | Dynamically assigning priorities for the allocation of server resources to completing classes of work based upon achievement of server level goals |
US6591262B1 (en) * | 2000-08-01 | 2003-07-08 | International Business Machines Corporation | Collaborative workload management incorporating work unit attributes in resource allocation |
US6859926B1 (en) * | 2000-09-14 | 2005-02-22 | International Business Machines Corporation | Apparatus and method for workload management using class shares and tiers |
-
2002
- 2002-06-14 US US10/170,642 patent/US7322034B2/en not_active Expired - Fee Related
-
2003
- 2003-05-16 JP JP2003138804A patent/JP4386410B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11726929B2 (en) | 2020-02-26 | 2023-08-15 | Samsung Electronics Co., Ltd. | Operation method of an accelerator and system including the same |
Also Published As
Publication number | Publication date |
---|---|
US20030233391A1 (en) | 2003-12-18 |
US7322034B2 (en) | 2008-01-22 |
JP2004021982A (ja) | 2004-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4386410B2 (ja) | コンピュータ・システム・リソースを動的に割り当てる方法およびシステム | |
US11582166B2 (en) | Systems and methods for provision of a guaranteed batch | |
JP6564013B2 (ja) | マルチテナントアプリケーションサーバ環境におけるリソースの分離および消費のためのシステムおよび方法 | |
US9384031B2 (en) | Information processor apparatus, virtual machine management method and virtual machine management program | |
US9703285B2 (en) | Fair share scheduling for mixed clusters with multiple resources | |
JP3944175B2 (ja) | コンピュータ・システムにおける区画間の動的プロセッサ再配分 | |
US9471393B2 (en) | Burst-mode admission control using token buckets | |
US5925102A (en) | Managing processor resources in a multisystem environment in order to provide smooth real-time data streams, while enabling other types of applications to be processed concurrently | |
EP3014804B1 (en) | Burst mode control | |
CN103336722B (zh) | 一种虚拟机cpu资源监控和动态分配方法 | |
US20140376368A1 (en) | Compound token buckets for burst-mode admission control | |
JP2005182796A (ja) | グリッド・システム資源の自律的制御のための装置、システム、および方法 | |
CN111258745B (zh) | 一种任务处理方法及设备 | |
JP2007502468A (ja) | オンデマンドノードならびにサーバインスタンス割当および割当解除 | |
CN111798113A (zh) | 资源分配方法、装置、存储介质和电子设备 | |
US10643193B2 (en) | Dynamic workload capping | |
CN111580951A (zh) | 一种任务分配方法及资源管理平台 | |
US10812278B2 (en) | Dynamic workload capping | |
CN107203256B (zh) | 一种网络功能虚拟化场景下的节能分配方法与装置 | |
CN110750330A (zh) | 一种虚拟机创建方法、系统、电子设备及存储介质 | |
CN111045819A (zh) | 分布式系统的资源请求方法、装置、设备和存储介质 | |
CN112764928A (zh) | 一种编译资源动态管理的方法、装置及介质 | |
KR101687625B1 (ko) | 리소스 사용량 미터링 방법 | |
CN116880965B (zh) | 一种节点分配方法、系统、装置及介质 | |
US20210382760A1 (en) | Resource adjustment device, non-transitory computer-readable medium and resource adjustment method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20030610 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060424 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071113 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071220 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081118 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20081121 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20081127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090625 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090901 |
|
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: 20090928 |
|
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: 20121009 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131009 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees | ||
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |