JP2004021982A - コンピュータ・システム・リソースを動的に割り当てる方法およびシステム - Google Patents

コンピュータ・システム・リソースを動的に割り当てる方法およびシステム Download PDF

Info

Publication number
JP2004021982A
JP2004021982A JP2003138804A JP2003138804A JP2004021982A JP 2004021982 A JP2004021982 A JP 2004021982A JP 2003138804 A JP2003138804 A JP 2003138804A JP 2003138804 A JP2003138804 A JP 2003138804A JP 2004021982 A JP2004021982 A JP 2004021982A
Authority
JP
Japan
Prior art keywords
resources
workload
utilization
service level
usage
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
JP2003138804A
Other languages
English (en)
Other versions
JP4386410B2 (ja
Inventor
Isom L Crawford Jr
イザム・エル・クロウフォード・ジュニア
Michael D Murphy
マイケル・ディー・マーフィー
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2004021982A publication Critical patent/JP2004021982A/ja
Application granted granted Critical
Publication of JP4386410B2 publication Critical patent/JP4386410B2/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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)

Abstract

【課題】コンピュータ・システム・リソースを割り当てる方法を提供する。
【解決手段】ワークロードを実行するためのサービス・レベル目標を定めたパラメータが、ユーザ入力装置から受け取られる。サービス・レベル目標の少なくとも1つは、システム・リソースをワークロードの間で総体的に割り当てることを制限する利用度上限である。このパラメータは、利用度上限を含め、サービス・レベル目標の優先度を含む。ワークロードがシステム上で実行されるときに、システム・リソースの使用量を示す利用度データを受け取る。リソースは、サービス・レベル目標の優先度により、かつ、利用度データに基いて、ワークロードに割り当てられる。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
この技術分野は、一般に、コンピュータ・システムに関する。さらに詳しく言えば、この技術分野は、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】
Figure 2004021982
【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】
Figure 2004021982
【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つが、前記システムリソースの利用度上限であるステップと、
    前記ワークロードが動作しているときに、前記ワークロードによる前記システムリソースの利用度と関係のある利用度データを検索するステップと、
    前記サービス・レベル目標および前記利用度データに基いて、前記ワークロードが前記リソースを利用するときに、前記システムリソースを前記ワークロードに動的に割り当てるステップと、
    を含む方法。
  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つが利用度上限であり、さらに、
    前記ワークロードに関連する前記サービス・レベル目標の優先度に基いて、リソースを前記ワークロードに割り当てるステップと、
    前記ワークロードが関連する前記サービス・レベル目標の優先度が、前記利用度上限の優先度よりも高い場合には、前記利用度上限を超える追加リソースをワークロードに割り当てるステップと、
    取戻し期間中に、前記追加リソースを取り戻すステップと、
    を含む割り当てるステップと、
    を含む方法を実施するために、コンピュータ実行命令を有するコンピュータ読取り可能媒体。
JP2003138804A 2002-06-14 2003-05-16 コンピュータ・システム・リソースを動的に割り当てる方法およびシステム Expired - Fee Related JP4386410B2 (ja)

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 true JP2004021982A (ja) 2004-01-22
JP4386410B2 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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006236351A (ja) * 2005-02-22 2006-09-07 Microsoft Corp リソース管理方法およびシステム
JP2008519322A (ja) * 2004-10-28 2008-06-05 テレコム・イタリア・エッセ・ピー・アー 電気通信サービスおよび/またはネットワーク管理用のプラットフォームにおけるリソースの管理方法、対応プラットフォーム、およびそのコンピュータ・プログラム生成物
JP2010176637A (ja) * 2009-02-02 2010-08-12 Ntt Data Corp コンピュータリソース管理装置、コンピュータリソース提供システム
US7904910B2 (en) 2004-07-19 2011-03-08 Hewlett-Packard Development Company, L.P. Cluster system and method for operating cluster nodes
CN102693160A (zh) * 2012-05-15 2012-09-26 浪潮电子信息产业股份有限公司 一种计算机系统动态资源重配置的方法
JP2014006619A (ja) * 2012-06-22 2014-01-16 Fujitsu Ltd 携帯端末装置の制御方法、制御プログラム及び携帯端末装置

Families Citing this family (60)

* Cited by examiner, † Cited by third party
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
US8135795B2 (en) 2003-04-03 2012-03-13 International Business Machines Corporation Method to provide on-demand resource access
US7627506B2 (en) * 2003-07-10 2009-12-01 International Business Machines Corporation Method of providing metered capacity of temporary computer resources
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
US7395537B1 (en) * 2003-12-08 2008-07-01 Teradata, Us Inc. Administering the workload of a database system using feedback
US8151269B1 (en) 2003-12-08 2012-04-03 Teradata Us, Inc. Database system having a service level goal responsive regulator
US9098340B2 (en) * 2003-12-08 2015-08-04 Teradata Us, Inc. Virtual regulator for a database system
US8818988B1 (en) 2003-12-08 2014-08-26 Teradata Us, Inc. Database system having a regulator to provide feedback statistics to an optimizer
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
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
US8612570B1 (en) 2006-09-18 2013-12-17 Emc Corporation Data classification and management using tap network architecture
US9135322B2 (en) 2006-09-18 2015-09-15 Emc Corporation Environment classification
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
US8522248B1 (en) 2007-09-28 2013-08-27 Emc Corporation Monitoring delegated operations in information management systems
US9461890B1 (en) 2007-09-28 2016-10-04 Emc Corporation Delegation of data management policy in an information management system
US9323901B1 (en) 2007-09-28 2016-04-26 Emc Corporation Data classification for digital rights management
US8548964B1 (en) 2007-09-28 2013-10-01 Emc Corporation Delegation of data classification using common language
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
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
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
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
US8516488B1 (en) 2010-11-09 2013-08-20 Teradata Us, Inc. Adjusting a resource estimate in response to progress of execution of a request
US8924981B1 (en) 2010-11-12 2014-12-30 Teradat US, Inc. Calculating priority indicators for requests in a queue
US11449502B1 (en) 2010-11-12 2022-09-20 Teradata Us, Inc. Calculating a throttle limit for requests in a database system
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
US9286120B2 (en) 2012-06-08 2016-03-15 Apple Inc. Resource management with dynamic resource budgeting
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 中移(杭州)信息技术有限公司 用户接入方法、装置、电子设备及存储介质
KR20210108749A (ko) 2020-02-26 2021-09-03 삼성전자주식회사 가속기, 가속기의 동작 방법 및 이를 포함한 가속기 시스템
US20230205602A1 (en) * 2021-12-28 2023-06-29 Advanced Micro Devices, Inc. Priority inversion mitigation

Family Cites Families (15)

* Cited by examiner, † Cited by third party
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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 テレコム・イタリア・エッセ・ピー・アー 電気通信サービスおよび/またはネットワーク管理用のプラットフォームにおけるリソースの管理方法、対応プラットフォーム、およびそのコンピュータ・プログラム生成物
JP2006236351A (ja) * 2005-02-22 2006-09-07 Microsoft Corp リソース管理方法およびシステム
JP2010176637A (ja) * 2009-02-02 2010-08-12 Ntt Data Corp コンピュータリソース管理装置、コンピュータリソース提供システム
CN102693160A (zh) * 2012-05-15 2012-09-26 浪潮电子信息产业股份有限公司 一种计算机系统动态资源重配置的方法
JP2014006619A (ja) * 2012-06-22 2014-01-16 Fujitsu Ltd 携帯端末装置の制御方法、制御プログラム及び携帯端末装置

Also Published As

Publication number Publication date
US7322034B2 (en) 2008-01-22
JP4386410B2 (ja) 2009-12-16
US20030233391A1 (en) 2003-12-18

Similar Documents

Publication Publication Date Title
JP4386410B2 (ja) コンピュータ・システム・リソースを動的に割り当てる方法およびシステム
US20220206859A1 (en) System and Method for a Self-Optimizing Reservation in Time of Compute Resources
JP6564013B2 (ja) マルチテナントアプリケーションサーバ環境におけるリソースの分離および消費のためのシステムおよび方法
US5948065A (en) System for 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
US9218213B2 (en) Dynamic placement of heterogeneous workloads
US9703285B2 (en) Fair share scheduling for mixed clusters with multiple resources
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
KR100985619B1 (ko) 그리드 시스템 자원의 온-디맨드 제어를 위한 장치, 시스템 및 방법
US9552231B2 (en) Client classification-based dynamic allocation of computing infrastructure resources
Shen et al. Scheduling jobs in the cloud using on-demand and reserved instances
WO2017045576A1 (en) System and method for resource management
Chatzistergiou et al. Fast heuristics for near-optimal task allocation in data stream processing over clusters
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
CN105159775A (zh) 基于负载均衡器的云计算数据中心的管理系统和管理方法
CN111124687B (zh) 一种cpu资源预留方法、装置及其相关设备
EP2193472A2 (en) System and method for managing license capacity in a telecommunication network
CN111798113B (zh) 资源分配方法、装置、存储介质和电子设备
CN113467933B (zh) 分布式文件系统线程池优化方法、系统、终端及存储介质
JP2007502468A (ja) オンデマンドノードならびにサーバインスタンス割当および割当解除
US10643193B2 (en) Dynamic workload capping
US10812278B2 (en) Dynamic workload capping
CN107203256B (zh) 一种网络功能虚拟化场景下的节能分配方法与装置
Wu et al. ABP scheduler: Speeding up service spread in docker swarm
CN106021026B (zh) 一种备份方法及装置
CN117369941A (zh) Pod调度方法和系统

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