JP4833380B2 - 仮想化環境における割り込み処理を最適化するためのシステムおよび方法 - Google Patents

仮想化環境における割り込み処理を最適化するためのシステムおよび方法 Download PDF

Info

Publication number
JP4833380B2
JP4833380B2 JP2011510955A JP2011510955A JP4833380B2 JP 4833380 B2 JP4833380 B2 JP 4833380B2 JP 2011510955 A JP2011510955 A JP 2011510955A JP 2011510955 A JP2011510955 A JP 2011510955A JP 4833380 B2 JP4833380 B2 JP 4833380B2
Authority
JP
Japan
Prior art keywords
value
partition
interrupt
selected partition
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011510955A
Other languages
English (en)
Other versions
JP2011521384A (ja
Inventor
カシャップ、スジャータ
オルシェウスキー、ブレット、ロナルド
ヘプキン、デヴィッド、アラン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2011521384A publication Critical patent/JP2011521384A/ja
Application granted granted Critical
Publication of JP4833380B2 publication Critical patent/JP4833380B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は仮想化環境に関する。詳細には、本発明は、仮想化環境における割り込みの処理を最適化するための手法に関する。
仮想入出力(VIO)サーバ・パーティションは、ロジカル・パーティション間で物理装置を共用するためのメカニズムを提供する。これは、特殊サービスを提供するものであり、「一般的な」ロジカル・パーティションと比較すると、固有のコンピューティング要件を有する。VIOサーバ上での計算は主として外部割り込みによって駆動され、それぞれの割り込みを処理する際の待ち時間を最小限にすることは差し迫った関心事である。ロジカル・パーティションに割り当てられたコンピューティング・リソースの量(処理能力)を増加することによって、サービス時間を短縮することができる。
システム管理者が実際にそのパーティションにより多くの計算能力を割り当てる代わりに、これを実行する他の既存の手段はパーティションの「上限を撤廃する(uncap)」ことである。パーティションの上限を撤廃することにより、そのパーティションの仮想CPUのそれぞれは潜在的に、完全な物理プロセッサ1つ分までの処理能力を消費することができる。すなわち、1つのパーティションが2つの仮想CPUを有する場合、上限撤廃モード(uncapped mode)でそのパーティションは物理プロセッサ2つ分までの(しかもそれ以下の)計算能力を消費することができる。それぞれのロジカル・パーティションは「保証(guaranteed)」または「有資格(entitled)」処理能力を要求し、その処理能力はサーバ上の物理プロセッサの総数のうちの(システム管理者が構成した)一部分である。
パーティションの有資格処理能力を満足するのに必要な最小限までロジカル・パーティションの仮想CPUの数を抑えることには、重大なメリットがある。仮想CPUの数が少ないと、物理プロセッサ内外で複数の仮想CPU(vCPU)をスワップする際のコンテキスト・スイッチ・オーバヘッドが削減される。また、vCPUの数が少ないと、SMP環境におけるロック競合も少なくなる。CPUフォールディング(folding)として知られる特徴は、最も少ない数のvCPUに能力を縮小することにより、このヒューリスティックを実施しようと試みる。CPUフォールディングは、パーティションが消費する可能性のある使用可能なフリー・サイクルの数を制限することにより、パーティションによって達成可能な最大処理能力を削減するので、CPUフォールディングの結果、上限撤廃パーティションにおける割り込みサービス待ち時間が増加する可能性がある。たとえば、2つのvCPUと0.4プロセッサという全割り当て能力を有する上限撤廃パーティションは、CPUフォールディングがない場合、潜在的に、完全な物理CPU2つ分までの処理能力を消費する可能性がある。CPUフォールディングの結果、0.4の処理能力を有する単一vCPUにこのパーティションを縮小する可能性があり、それにより、その最大潜在処理能力を物理CPU1つ分に削減することになる。当然のことながら、CPUフォールディング・メカニズムは、時間の経過につれて使用する仮想プロセッサの数を増加または減少するアルゴリズムを有する。理論的には、これらのアルゴリズムは保守的なものにすることができ、その結果、仮想プロセッサの数は不必要に揺れることはない。
伝統的なCPUフォールディング・メカニズムの課題は、割り込み処理に必要なものより長い周期性を有するアルゴリズムを使用することである。この2つの要件(割り込みサービス待ち時間の短縮およびvCPUの数の削減)は、特に割り込みが激しい環境では、互いに対立するものである。
コンピュータ・システム上で実行される仮想化環境に含まれるパーティション・グループから選択された被選択パーティション(selected partition)に対応する消費時間値(time spentvalue)を取り出す手法を使用して、前述の課題が解決されることが発見された。仮想化環境はハイパーバイザによって提供される。消費時間値は、被選択パーティションが割り込みの処理に費やした時間の量に対応する。いくつかの仮想CPUが被選択パーティションに割り当てられている。消費時間値(たとえば、被選択パーティションが割り込みの処理に費やす時間のパーセンテージ)は、1つまたは複数の割り込みしきい値(interrupt threshold value)と比較される。この比較によって、そのパーティションが割り込みの処理に費やしている時間がしきい値を超えることが明らかになった場合、被選択パーティションに割り当てられる仮想CPUの数が増加される。
上記は概要であり、したがって、必然的に、単純化、一般化、および詳細の省略を含み、その結果として、当業者であれば、その概要が例示的なものに過ぎず、いかなる制限も意図していないことが分かるであろう。特許請求の範囲のみによって定義される本発明のその他の態様、発明的特徴、および利点は、下記の非制限的な詳細な説明で明らかになるであろう。
次に、以下の図面に関連して、例としてのみ、本発明の好ましい諸実施形態について説明する。
本明細書に記載されている方法が本発明の好ましい一実施形態により実装可能なデータ処理システムのブロック図である。 ネットワーク化環境で動作する多種多様な情報処理システム上で本明細書に記載されている方法を実行できることを示すために図1に示されている情報処理システム環境の拡張を示す図である。 本発明の好ましい一実施形態により仮想入出力サーバ(VIOS:Virtual I/O Server)パーティションを含む仮想化環境を使用するコンピュータ・システムの図である。 本発明の好ましい一実施形態により処理能力および割り込みパーセンテージしきい値(interrupt percentage threshold)を様々な仮想パーティションに割り当てるためにシステム管理者によって実行されるセットアップ処理を示す流れ図である。 本発明の好ましい一実施形態により仮想パーティションに割り当てられた仮想CPU(vCPU)をフォールディング/アンフォールディング(fold/unfold)するためにオペレーティング・システムによって行われるステップを示す流れ図である。 本発明の好ましい一実施形態によりパーティションが割り込みの処理に費やしている時間の量を分析するためにオペレーティング・システムによって実行されるルーチンによって実行されるステップを示す流れ図である。
本発明の様々な諸実施形態を徹底的に理解するために、以下の説明および図面には特定の具体的な詳細が示されている。しかし、本発明の様々な諸実施形態を不必要に曖昧にするのを回避するために、以下の開示では、コンピューティングおよびソフトウェア技術に関連する場合が多い特定の周知の詳細は示されていない。さらに、関連技術の当業者であれば、以下に記載する詳細の1つまたは複数がなくても本発明のその他の諸実施形態を実施できることを理解するであろう。最後に、以下の開示ではステップおよびシーケンスに関連して様々な方法が記載されているが、記載自体は本発明の諸実施形態の明確な実装例を提供するためのものであり、ステップおよびステップ・シーケンスは必須または必要なものと解釈すべきではない。その代わりに、以下の説明は、本発明の模範的な一実施形態の詳細な記述を提供するためのものであり、制限的であると解釈すべきではない。
以下の詳細な説明は、一般に、上記の概要に従うものであり、必要に応じて本発明の様々な諸態様および諸実施形態の定義についてさらに説明し展開するものである。このために、この詳細な説明では、まず、本発明の諸実施形態に関連するソフトウェアまたはハードウェアあるいはその両方の技法を実装するのに適した図1のコンピューティング環境を規定する。最新のコンピューティング技法を複数の個別デバイス間で実行できることを強調するために、基本的なコンピューティング環境の拡張として、ネットワーク化環境が図2に示されている。
図1は、本明細書に記載されているコンピューティング動作を実行可能なコンピュータ・システムの単純化した一例である情報処理システム100を示している。情報処理システム100は、プロセッサ・インターフェース・バス112に結合された1つまたは複数のプロセッサ110を含む。プロセッサ・インターフェース・バス112は、メモリ・コントローラ・ハブ(MCH:Memory Controller Hub)とも呼ばれるノースブリッジ115にプロセッサ110を接続する。ノースブリッジ115は、システム・メモリ120に接続され、プロセッサ(複数も可)110がシステム・メモリにアクセスするための手段を提供する。グラフィックス・コントローラ125もノースブリッジ115に接続されている。一実施形態では、ノースブリッジ115をグラフィックス・コントローラ125に接続するためにPCIエクスプレス・バス118が使用されている。グラフィックス・コントローラ125はコンピュータ・モニターなどのディスプレイ装置130に接続されている。ノースブリッジ115およびサウスブリッジ135はバス119を使用して互いに接続されている。一実施形態では、このバスは、ノースブリッジ115とサウスブリッジ135との間の各方向に高速でデータを転送するダイレクト・メディア・インターフェース(DMI:Direct Media Interface)バスである。他の実施形態では、ノースブリッジとサウスブリッジを接続するために周辺装置相互接続(PCI:Peripheral Component Interconnect)バスが使用される。サウスブリッジ135は、入出力コントローラ・ハブ(ICH:I/O Controller Hub)とも呼ばれ、一般にノースブリッジによって提供される機能より低速で動作する機能を実装するチップである。サウスブリッジ135は典型的に、様々なコンポーネントを接続するために使用される様々なバスを提供する。これらのバスとしては、PCIおよびPCIエクスプレス・バス、ISAバス、システム管理バス(SMBusまたはSMB)、ロー・ピン・カウント(LPC:Low Pin Count)バスを含むことができる。LPCバスは、ブートROM196などの低帯域幅デバイスと「レガシー(legacy)」入出力装置(「スーパー入出力(super I/O)」チップを使用する)を接続するために使用される場合が多い。「レガシー」入出力装置(198)としては、シリアル・ポートおよびパラレル・ポート、キーボード、マウス、フレキシブル・ディスク・コントローラを含むことができる。また、LPCバスは、サウスブリッジ135をトラステッド・プラットフォーム・モジュール(TPM:Trusted Platform Module)195に接続するために使用される。サウスブリッジ135に含まれる場合が多いその他のコンポーネントとしては、直接メモリ・アクセス(DMA:Direct Memory Access)コントローラ、プログラマブル割り込みコントローラ(PIC:Programmable Interrupt Controller)、バス184を使用してサウスブリッジ135をハード・ディスクなどの不揮発性記憶装置185に接続する記憶装置コントローラを含む。
ExpressCard155は、ホット・プラグ可能なデバイスを情報処理システムに接続するために使用されるスロットである。ExpressCard155は、ユニバーサル・シリアル・バス(USB:Universal Serial Bus)とPCIエクスプレス・バスの両方を使用してサウスブリッジ135に接続されるので、PCIエクスプレスとUSBの両方の接続をサポートする。サウスブリッジ135は、USBに接続するデバイスへのUSB接続を提供するUSBコントローラ140を含む。このようなデバイスとしては、ウェブカム(カメラ)150、赤外線(IR)レシーバ148、ワイヤレス・パーソナル・エリア・ネットワーク(PAN:personal area network)を可能にするBluetoothデバイス146、キーボードおよびトラックパッド144、マウス、取り外し可能不揮発性記憶装置145、モデム、ネットワーク・カード、ISDNコネクタ、ファックス、プリンタ、USBハブ、その他の多くのタイプのUSB接続デバイスなどのその他の種々雑多なUSB接続デバイス142を含む。取り外し可能不揮発性記憶装置145はUSB接続デバイスとして示されているが、取り外し可能記憶装置145はFirewireインターフェースなどの異なるインターフェースを使用して接続することもできる。
ワイヤレス・ローカル・エリア・ネットワーク(LAN)デバイス175は、PCIまたはPCIエクスプレス・バス172を介してサウスブリッジ135に接続されている。LANデバイス175は典型的に、情報処理システム100と他のコンピュータ・システムまたはデバイスとの間でワイヤレス通信するために同じプロトコルを使用する無線変調技法のIEEE802.11規格の1つを実装する。光学記憶装置109は、シリアルATA(SATA)バス188を使用してサウスブリッジ135に接続されている。シリアルATAアダプタおよびデバイスは高速シリアル・リンクにより通信する。また、シリアルATAバスは、サウスブリッジ135をハード・ディスなどの他の形式の記憶装置に接続するためにも使用される。サウンド・カードなどのオーディオ回路160は、バス158を介してサウスブリッジ135に接続されている。オーディオ回路160は、オーディオ入力および光学デジタル・オーディオ入力ポート162、光学デジタル出力およびヘッドホン・ジャック164、内部スピーカ166、ならびに内部マイクロホン168などの機能を提供するために使用される。イーサネット・コントローラ170は、PCIまたはPCIエクスプレス・バスなどのバスを使用してサウスブリッジ135に接続されている。イーサネット・コントローラ170は、ローカル・エリア・ネットワーク(LAN)、インターネット、ならびにその他の公衆および私設コンピュータ・ネットワークなどのコンピュータ・ネットワークと情報処理システム100を接続するために使用される。
図1は1つの情報処理システムを示しているが、情報処理システムは多くの形を取ることができる。たとえば、情報処理システムは、デスクトップ、サーバ、ポータブル、ラップトップ、ノートブック、あるいはその他のフォーム・ファクタ・コンピュータまたはデータ処理システムの形を取ることができる。加えて、情報処理システムは、携帯情報端末(PDA)、ゲーム装置、ATMマシン、携帯電話装置、通信装置、またはプロセッサおよびメモリを含むその他の装置などのその他のフォーム・ファクタを取ることができる。
セキュリティ機能を提供するために図1に示され、本明細書に記載されているトラステッド・プラットフォーム・モジュール(TPM195)は、ハードウェア・セキュリティ・モジュール(HSM:hardware security module)の一例に過ぎない。したがって、本明細書に記載され請求されているTPMは、「TrustedPlatform Module (TPM) Specification Version 1.2」という題名のトラステッド・コンピューティング・グループ(TCG:Trusted ComputingGroups)規格に適合するハードウェア・セキュリティ・デバイスを含むがこれに限定されない任意のタイプのHSMを含む。TPMは、図2に概略が示されているものなどの任意の数の情報処理システムに取り入れることができるハードウェア・セキュリティ・サブシステムである。
図2は、ネットワーク化環境で動作する多種多様な情報処理システム上で本明細書に記載されている方法を実行できることを示すために図1に示されている情報処理システム環境の拡張を示している。情報処理システムのタイプは、ハンドヘルド・コンピュータ/携帯電話210などの小型ハンドヘルド・デバイスから、メインフレーム・コンピュータ270などの大型メインフレーム・システムに及ぶ。ハンドヘルド・コンピュータ210の例としては、携帯情報端末(PDA)、MP3プレーヤなどのパーソナル・エンターテインメント・デバイス、ポータブル・テレビ、コンパクト・ディスク・プレーヤを含む。情報処理システムの他の例としては、ペンまたはタブレット・コンピュータ220、ラップトップまたはノートブック・コンピュータ230、ワークステーション240、パーソナル・コンピュータ・システム250、およびサーバ260を含む。図2に個々に示されていないその他のタイプの情報処理システムは情報処理システム280によって表されている。図示の通り、様々な情報処理システムは、コンピュータ・ネットワーク200を使用して一緒にネットワーク化することができる。様々な情報処理システムを相互接続するために使用可能なコンピュータ・ネットワークのタイプとしては、ローカル・エリア・ネットワーク(LAN)、ワイヤレス・ローカル・エリア・ネットワーク(WLAN)、インターネット、公衆交換電話網(PSTN:Public Switched Telephone Network)、その他のワイヤレス・ネットワーク、および情報処理システムを相互接続するために使用可能な任意のその他のネットワーク・トポロジを含む。情報処理システムの多くは、ハード・ディスクまたは不揮発性メモリあるいはその両方などの不揮発性データ・ストアを含む。図2に示されている情報処理システムのうちのいくつかは、個別の不揮発性データ・ストアとともに描写されている(サーバ260は不揮発性データ・ストア265とともに示され、メインフレーム・コンピュータ270は不揮発性データ・ストア275とともに示され、情報処理システム280は不揮発性データ・ストア285とともに示されている)。不揮発性データ・ストアは、様々な情報処理システムの外部にあるコンポーネントにすることができ、情報処理システムのうちの1つの内部にある場合もある。加えて、取り外し可能な不揮発性記憶装置145は、情報処理システムのUSBポートまたはその他のコネクタに取り外し可能な不揮発性記憶装置145に接続するなど、様々な技法を使用して2つまたはそれ以上の情報処理システム間で共用することができる。
図3は、仮想入出力サーバ(VIOS)パーティションを含む仮想化環境を使用するコンピュータ・システムの図である。コンピュータ・システム300は、いくつかの仮想パーティション(パーティション375、376、377、および380)とともに示されている。これらのパーティションは、ハイパーバイザ305によって調整される仮想化環境の一部である。これらのパーティションのうちの1つ(パーティション380)は、仮想入出力サーバ(VIOS)である特殊パーティションである。暗示されている通り、VIOSパーティションは、他のパーティションに関する入出力サービスを提供する。他のパーティションに関する入出力サービスのVIOS処理を容易にするために、他のパーティションとVIOSパーティションとの間に1つまたは複数の通信チャネル(391、392、および393)が確立される。
ネットワーク・アダプタ315およびハードウェア・デバイス320は、ハイパーバイザ305によって管理される様々なインターフェースを使用してコンピュータ・システムに接続する。一実施形態では、ハードウェア・インターフェースの1つでハードウェア(物理)割り込みが行われると、ハイパーバイザは処理のためにその割り込みをVIOSパーティション380に渡す。図示の通り、ネットワーク・アダプタ315は、コンピュータ・システムとネットワーク・サーバおよびデバイス335との間の通信を容易にするために、コンピュータ・システムをコンピュータ・ネットワーク200に接続するために使用される。他の実施形態では、このハードウェアは、パーティションの1つで実行されるオペレーティング・システムの1つによって管理(「所有」)される。この実施形態では、入出力割り込みは物理プロセッサ(たとえば、様々なパーティションを実行するプロセッサ)に引き渡される。この実施形態では、入出力割り込みが向けられるパーティションが、その割り込みが行われたときにプロセッサ上で現在実行中である場合、そのパーティションはその割り込みを直接受け取る。これに対して、他のパーティションがプロセッサ上で現在実行中である場合、そのパーティションはハイパーバイザ呼び出しを行い、「注意(never mind)」応答を受け取り、割り込みは正しいパーティションに後で引き渡すためにハイパーバイザ内でキューに入れられる。さらに、いかなるパーティションもプロセッサ上で現在実行中ではない場合、ハイパーバイザはその割り込みをキューに入れ、場合によっては、正しいパーティションがその割り込みを処理できるように正しいパーティションをウェイクアップする。
割り込みを処理し、他のパーティションに入出力サービスを提供する際のその役割のために、VIOSパーティション380は一般に、他のパーティション375、376、および377より多くの時間を割り込みの処理に費やす。しかし、CPUフォールディングにより、VIOSパーティション(およびハードウェア割り込みの処理に相当な時間を費やす任意の他のパーティション)はその仮想CPUがフォールディング(削減)されている可能性がある。
パーティションが作成されるときに、システム管理者は、そのパーティションのために「所望の」数の仮想CPU(vCPU)を構成し、そのパーティションに特定の有資格処理能力(仮想CPU資格値(entitlement value))を割り当てる。ハイパーバイザは、多重プログラミングされた環境でOSがプロセス(またはスレッド)をスイッチする方法と類似して、物理プロセッサ内外にvCPUをスイッチする。したがって、vCPUの数を削減すると、システムに関するコンテキスト・スイッチ・オーバヘッドが減少する。パーティションの存続時間の間、CPUフォールディングは潜在的にキックイン(kick in)し、システム管理者の「所望の」数からシステムが決定した「最適」数にパーティションのvCPUの数を削減することができる。フォールディング・アルゴリズムは伝統的に、最も少ない数のvCPUに処理能力を集中することを目指している。仮想CPUの数を削減することは、VIOSパーティション380などの割り込みが激しい環境では最良のソリューションではない可能性がある。VIOSパーティション380のような割り込み集約パーティションに対するCPUフォールディングの影響を相殺するために、オペレーティング・システムは、vCPUをアンフォールディングするためのトリガとして、あるパーティションが割り込みの処理に費やす全処理時間のパーセンテージを使用する。割り込みが激しい環境では、これにより、より多くのコンピューティング・リソースを容易に使用可能な状態に保持することにより、特に上限撤廃パーティションについて割り込みサービス待ち時間を短縮する。上限付きパーティションの場合でも、vCPUを追加(アンフォールディング)することは、活動停止中で使用可能な物理プロセッサを有するサーバ上で割り込み待ち時間を短縮するのに役立つであろう。使用可能な物理プロセッサがあるときにvCPUをアンフォールディングすると、異なる物理プロセッサ上での複数の割り込みの並列処理が可能になり、その結果、サービス待ち時間が短縮されるであろう。上限撤廃パーティションの場合、追加の利点として、より多くのvCPUが追加されると、そのパーティションに関する最大達成可能処理能力が増加する。全体的な使用中時間ではなく、全体的な割り込み処理時間をトリガとして使用することの根本的理由は、計算スレッド(割り込み処理時間ではなく使用中時間に貢献する)は、割り込みに比較して、より多くの「緩和された(relaxed)」応答時間要件を有する傾向があることである。したがって、割り込みバウンドではない環境は、アンフォールディングの恩恵を受ける可能性が低く、あまり積極的にアンフォールディングを行わない可能性がある。
IBMのAIX(TM)オペレーティング・システムなどの多くのオペレーティング・システムは、割り込みの処理に費やされる時間の量のランニング・カウントを保持する。このメトリックは、パーティション(たとえば、パーティション375、376、377、および380)が割り込みの処理に費やしたパーティション使用中時間のパーセンテージを計算するためにオペレーティング・システムによって使用される。このパーセンテージが管理者定義の(調整可能な)しきい値を超えると、vCPUをアンフォールディングするためのトリガとして使用されるが、vCPUの現行数はパーティション作成中に指定された「所望の」数のvCPUより少ないことが条件である。オペレーティング・システムはその通常動作の一部としてこの情報を維持するので、割り込みの処理に費やされた時間を計算することはかなり安価である。
一実施形態では、フォールディング/アンフォールディングの決定を行うオペレーティング・システムは、ハイパーバイザが本質的にそのパーティション(たとえば、パーティション375、376、377、および380)に割り当てられたvCPUをフォールディング/アンフォールディングするようにハイパーバイザ内で実行されるオペレーティング・システムである。他の実施形態では、個々のパーティションで実行されるオペレーティング・システムは、フォールディング・アルゴリズムを実行し、その結果、フォールディング/アンフォールディングの決定に基づいて、その特定のパーティションにいくつのvCPUが割り当てられるかを決定する役割を担う。いずれの場合も、本明細書で使用する「オペレーティング・システム」という用語は、オペレーティング・システムがハイパーバイザ内で実行されるかまたは特定のパーティションの1つで実行されるかにかかわらず、1つのパーティションにいくつのvCPUが割り当てられるかを決定するプロセスを指すために使用される。
この計算は安価であるので、チェック間の時間間隔はかなり積極的に設定することができる。たとえば、ディスパッチャは、新しいスレッドをディスパッチするために呼び出されるたびに消費時間値を計算することができ、潜在的に、その結果、それぞれの割り込みが処理された後でこのメトリックが更新されることになるであろう。換言すれば、パーティションが割り込みの処理に費やす時間の量に基づくアンフォールディングの決定は、オペレーティング・システムにより多くの異なる点で行うことができる。この決定は、固定時間間隔で(たとえば、10ミリ秒おきに一度)消費時間値を調べることによって行うことができるか、またはこの決定を行う必要性は、新しいスレッド(または活動停止中のスレッド)をディスパッチするためにディスパッチャが呼び出されるなどのイベントによってトリガすることができるであろう。ピンポン効果(ping-pong effect)を回避するために、vCPUをフォールディングする決定はあまり積極的に行うことができない。換言すれば、パーティションが割り込みの処理に費やしている時間の量に基づいてvCPUをアンフォールディングする決定は、パーティション・リソース(たとえば、CPU)使用状況に基づいてvCPUをフォールディングする決定より頻繁に行うことができる。
図4は、処理能力および割り込みパーセンテージしきい値を様々な仮想パーティションに割り当てるためにシステム管理者によって実行されるセットアップ処理を示す流れ図である。処理は400から始まり、その後、ステップ410で仮想環境内でハイパーバイザによって管理されるパーティションがシステム構成データ・ストア420から選択される。システム構成データ・ストア420は、ハイパーバイザによって管理される任意の仮想入出力サーバ(VIOS)パーティションを含む、様々なパーティションに関する情報を保管するために使用される。システム管理者が被選択パーティションに計算能力を割り当てることを希望するかどうかについて判断が行われる(判断430)。システム管理者が被選択パーティションに計算能力を割り当てることを選択した場合、判断430は「yes」分岐435に分岐し、その後、ステップ440でシステム管理者は「有資格」処理能力(「資格値」)を被選択パーティションに割り当てる。一実施形態では、システム管理者は被選択パーティションの「上限を撤廃する」ことを選択することができる。パーティションの上限を撤廃することにより、そのパーティションの仮想CPUのそれぞれが潜在的に、完全な物理プロセッサ1つ分までの処理能力を消費することができる。すなわち、1つのパーティションが2つの仮想CPUを有する場合、上限撤廃モードでそのパーティションは物理(実)CPU2つ分までの(しかもそれ以下の)計算能力を消費することができる。ステップ450で、割り当てられた「資格値」は不揮発性パーティション割り当て能力データ・ストア460に保管される。
判断430に戻り、システム管理者が被選択パーティションに計算能力を割り当てないと決定した場合、判断430はステップ440および450を迂回して「no」分岐465に分岐する。システム管理者が他のパーティションを選択するかどうかについて判断が行われる(判断470)。システム管理者が他のパーティションを選択することを希望する場合、判断470は「yes」分岐474に分岐し、その分岐はステップ410で次のパーティションを選択するためにループバックする。このループは、システム管理者がもはや追加のパーティションを選択することを希望しなくなるまで継続し、その時点で判断470は「no」分岐476に分岐する。
ステップ480で、システム管理者は、1つまたは複数の割り込みパーセンテージしきい値をセットアップして保管する。パーティションが割り込みパーセンテージしきい値のうちの1つに達すると、割り込みの処理により多くの時間を費やしているパーティションが(ステップ440で設定された「有資格」vCPU能力の量まで)より多くのvCPUを有することができるようにするために、そのvCPUが「アンフォールディング」される。一実施形態では、vCPUを「アンフォールディング」するためにそれぞれのパーティションが同じ割り込みパーセンテージしきい値を使用するように、割り込みパーセンテージしきい値はシステム全体で設定される。他の実施形態では、それぞれのパーティションが異なる割り込みパーセンテージしきい値ならびにデフォルト割り込みパーセンテージしきい値(割り込みパーセンテージしきい値が特定のパーティションについてセットアップされていない場合)を有することができるようにするために、それぞれのパーティションを個別に調整することができる。これらの割り込みパーセンテージしきい値は、不揮発性割り込みパーセンテージしきい値データ・ストア490に保管される。その後、セットアップ処理は495で終了する。
図5は、仮想パーティションに割り当てられた仮想CPU(vCPU)をフォールディング/アンフォールディングするためにオペレーティング・システムによって行われるステップを示す流れ図である。処理は500から始まり、その後、ステップ510でハイパーバイザは、パーティション割り当て能力データ・ストア460に保管された資格値に基づいて仮想CPUの割り当てを初期設定する。
定義済みプロセス515で、オペレーティング・システムは、パーティションが割り込みの処理に費やす時間の量を定期的にチェックする(定義済みプロセス515、処理の詳細については図6および対応する本文を参照)。前に説明した通り、システムによっては、パーティションが割り込みの処理にどのくらいの時間を費やしているかをチェックするために使用されるデータは容易に使用可能であるので、定義済みプロセス515はこのような環境では積極的に(たとえば、ステップ530〜580に示されているvCPUをフォールディングするために使用される使用状況チェックより頻繁に)実行することができる。
必ずしも定義済みプロセス515が実行されるのと同じ時間間隔ではないが、定期的に、ステップ520でオペレーティング・システムはパーティションの使用状況をチェックする。パーティションの使用状況がチェックされると、ステップ530で、オペレーティング・システムから取り出され、メモリ540から読み取られるパーティションのCPU使用状況メトリックなどの様々なコンピュータ・システム・リソース・メトリックを使用して、仮想CPUフォールディング/アンフォールディング・アルゴリズムが処理される。フォールディング/アンフォールディング・アルゴリズムの実行に基づいて、所与のパーティションについてより少ない仮想CPUが必要であるかどうかについて判断が行われる(判断550)。より少ないパーティションが必要である場合、判断550は「yes」分岐555に分岐し、その後、ステップ560でそのパーティションに割り当てられる仮想CPUの数が削減(「フォールディング」)され、この削減値は仮想CPUをパーティションに割り振るときに使用される仮想CPUメモリ領域575に保管される。
これに対して、フォールディング/アンフォールディング・アルゴリズムに基づいてより少ない仮想CPUが必要ではない場合、判断550は「no」分岐565に分岐し、その後、より多くの仮想CPUがそのパーティションによって必要とされ、そのパーティションに割り当てられた仮想CPUの現行数がそのパーティションの仮想CPUの「資格値」より小さいかどうかについて判断が行われる(判断570)。より多くの仮想CPUがそのパーティションによって必要とされ、そのパーティションに割り当てられた仮想CPUの現行数がそのパーティションの仮想CPUの「資格値」より小さい場合、判断570は「yes」分岐572に分岐し、その後、ステップ580でそのパーティションに割り当てられる仮想CPUの数が、そのパーティションの資格値より小さいかまたはそれに等しい値まで増加(「アンフォールディング」)される。この増加値は仮想CPUをパーティションに割り振るときに使用される仮想CPUメモリ領域575に保管される。
これに対して、(a)より多くの仮想CPUがそのパーティションについて必要ではないか、または(b)そのパーティションが使用する資格のある数の仮想CPU(たとえば、使用中のvCPU=資格値)をすでに使用しているか、あるいはその両方である場合、判断570はステップ580を迂回して「no」分岐585に分岐し、ループバックして、割り込みの処理に費やされるパーティションの時間に関する次の定期チェックまたはパーティションのシステム・リソース使用状況に関する次のチェックを待つ。
図6は、パーティションが割り込みの処理に費やしている時間の量を分析するためにオペレーティング・システムによって実行されるルーチンによって実行されるステップを示す流れ図である。処理は600から始まり、その後、ステップ610でこのパーティションに割り当てられている仮想CPUの「資格値」がパーティション割り当て能力データ・ストア460から取り出される。このパーティションに割り当てられた仮想CPUの現行数がこのパーティションに割り当てられた仮想CPUの有資格値に等しいかどうかについて判断が行われる(判断620)。このパーティションに割り当てられた仮想CPUの現行数がこのパーティションの資格値に等しくない(たとえば、現行数が資格値より小さい)場合、このパーティションが割り込みの処理に費やしている時間の量に基づいて追加の仮想CPUをこのパーティションに割り当てるべきかどうかを判断するために、判断620は「no」分岐625に分岐する。
ステップ630で、このパーティションが割り込みの処理に費やしている時間の量(プロセッサ・サイクル、実際のCPU時間など)についてオペレーティング・システムによって維持されるカウンタであるメモリ領域640からこのパーティションによって割り込みの処理に費やされる時間の量が取り出される。ステップ650で、時間の量の値はパーセンテージ値(そのパーティションが割り込みの処理に費やしているパーティションの時間のパーセンテージ)に変換される。この計算されたパーセンテージはメモリ領域660に保管される。ステップ670で、そのパーティションの現行割り込み時間パーセンテージ値は、システム管理者によって確立され、データ・ストア490に保管されている時間パーセンテージしきい値と比較される。この比較に基づいて、そのパーティションの現行割り込み時間パーセンテージがしきい値を超えるかどうかについて判断が行われる(判断680)。そのパーティションの現行割り込み時間パーセンテージがしきい値を超える場合、判断680は「yes」分岐685に分岐し、その後、ステップ690でそのパーティションに割り当てられる仮想CPUの数がそのパーティションの資格値より小さいかまたはそれに等しい値まで増加(「アンフォールディング」)される。この増加値は仮想CPUをパーティションに割り振るときに使用される仮想CPUメモリ領域575に保管される。これに対して、そのパーティションの現行割り込み時間パーセンテージがしきい値を超えない場合、判断680はステップ690を迂回して「no」分岐692に分岐する。処理はその後、695で呼び出しルーチン(図5を参照)に戻る。
判断620に戻り、このパーティションに割り当てられた仮想CPUの現行数がこのパーティションの資格値に等しい(たとえば、仮想CPUの現行数が資格値に等しい)場合、判断620はステップ630〜690を迂回して「yes」分岐694に分岐する。処理はその後、695で呼び出しルーチン(図5を参照)に戻る。
本発明の好ましい諸実施形態の1つは、クライアント・アプリケーションであり、すなわち、たとえば、コンピュータのランダム・アクセス・メモリに常駐する可能性のあるコード・モジュール内の1組の命令(プログラム・コード)またはその他の機能記述材料(functional descriptive material)である。コンピュータによって必要とされるまで、この1組の命令は他のコンピュータ・メモリ内、たとえば、ハード・ディスク内、あるいは光ディスク(最終的にCD ROMで使用するためのもの)またはフレキシブル・ディスク(最終的にフレキシブル・ディスク・ドライブで使用するためのもの)などの取り外し可能メモリ内に保管するか、インターネットまたはその他のコンピュータ・ネットワークを介してダウンロードすることができる。したがって、本発明の諸実施形態は、コンピュータ内で使用するためのコンピュータ・プログラム(computer program product)として実装することができる。加えて、記載されている様々な方法はソフトウェアによって選択的に活動化されるかまたは再構成される汎用コンピュータにおいて都合良く実装されるが、当業者であれば、このような方法が必要な方法ステップを実行するために構築されたハードウェア、ファームウェア、またはより専門的な装置で実行できることも認識するであろう。機能記述材料はマシンに機能を付与する情報である。機能記述材料は、コンピュータ・プログラム、命令、ルール、事実、計算可能関数の定義、オブジェクト、およびデータ構造を含むが、これらに限定されない。

Claims (14)

  1. コンピュータ・システム上で実行される仮想化環境に含まれる複数のパーティションから選択された被選択パーティションに対応する消費時間値を取り出すステップであって、前記消費時間値が、前記被選択パーティションが割り込みの処理に費やした時間の量に対応し、いくつかの仮想CPUが前記被選択パーティションに割り当てられている、前記取り出すステップと、
    前記消費時間値を1つまたは複数の割り込みしきい値と比較するステップと、
    前記比較によって、前記消費時間値が前記割り込みしきい値のうちの1つより大きいことが明らかになったことに応答して、前記被選択パーティションに割り当てられる仮想CPUの数を増加するステップと、
    を含む、コンピュータによって実行される方法。
  2. 前記被選択パーティションの1つまたは複数のリソース使用状況を第1の時間間隔で定期的にチェックするステップであって、前記リソース使用状況に基づいて前記被選択パーティションに割り当てられる仮想CPUの前記数を変更するためにフォールディング・アルゴリズムを実行することを含む、前記定期的にチェックするステップと、
    前記取り出すステップと、前記比較するステップと、前記増加するステップとを第2の時間間隔で定期的に実行するステップであって、前記第2の時間間隔が前記第1の時間間隔より小さい、前記定期的に実行するステップと、
    をさらに含む、請求項1記載の方法。
  3. 前記リソース使用状況の1つがCPU使用状況値である、請求項2記載の方法。
  4. 前記増加するステップの前に、前記被選択パーティションに対応する仮想CPU資格値および前記被選択パーティションに割り振られた仮想CPUの現行数を取り出すステップであって、仮想CPUの前記現行数が前記仮想CPU資格値より小さいことに応答してのみ前記増加するステップが実行される、前記取り出すステップ
    をさらに含む、請求項1記載の方法。
  5. 前記消費時間値の前記取り出しの前に、セットアップ・プロセス中に前記被選択パーティションに前記仮想CPU資格値を割り当てるステップと、
    前記仮想CPU資格値を不揮発性記憶領域に保管するステップであって、前記仮想CPU資格値の前記取り出しが前記不揮発性記憶領域から前記仮想CPU資格値を取り出す、前記保管するステップと、
    をさらに含む、請求項4記載の方法。
  6. 前記消費時間値をパーセンテージ値に変換するステップであって、前記パーセンテージ値が割り込みを処理する際に前記被選択パーティションによって費やされる時間のパーセンテージを表し、前記割り込みしきい値が1つまたは複数のしきいパーセンテージを含み、前記比較するステップが前記パーセンテージ値を前記しきいパーセンテージと比較する、前記変換するステップ
    をさらに含む、請求項1記載の方法。
  7. 前記消費時間値の前記取り出しの前に、前記1つまたは複数の割り込みしきいパーセンテージをユーザから受け取るステップと、
    前記受け取った割り込みしきいパーセンテージを不揮発性記憶領域に保管するステップであって、前記消費時間値と前記割り込みしきい値との前記比較の前に、前記保管された割り込みしきいパーセンテージが前記不揮発性記憶領域から取り出される、前記保管するステップと、
    をさらに含む、請求項1記載の方法。
  8. 情報処理システムによって実行されるコンピュータ・プログラムであって、前記情報処理システムによって実行されたときに、
    コンピュータ・システム上で実行される仮想化環境に含まれる複数のパーティションから選択された被選択パーティションに対応する消費時間値を取り出すステップであって、前記消費時間値が、前記被選択パーティションが割り込みの処理に費やした時間の量に対応し、いくつかの仮想CPUが前記被選択パーティションに割り当てられている、前記取り出すステップと、
    前記消費時間値を1つまたは複数の割り込みしきい値と比較するステップと、
    前記比較によって、前記消費時間値が前記割り込みしきい値のうちの1つより大きいことが明らかになったことに応答して、前記被選択パーティションに割り当てられる仮想CPUの数を増加するステップと、
    を含むアクションを前記情報処理システムに実行させるプログラム・コードを含む、コンピュータ・プログラム。
  9. 前記被選択パーティションの1つまたは複数のリソース使用状況を第1の時間間隔で定期的にチェックするステップであって、前記リソース使用状況に基づいて前記被選択パーティションに割り当てられる仮想CPUの前記数を変更するためにフォールディング・アルゴリズムを実行することを含む、前記定期的にチェックするステップと、
    前記取り出すステップと、前記比較するステップと、前記増加するステップとを第2の時間間隔で定期的に実行するステップであって、前記第2の時間間隔が前記第1の時間間隔より小さい、前記定期的に実行するステップと、
    を含む追加のアクションを前記情報処理システムに実行させるプログラム・コードをさらに含む、請求項8記載のコンピュータ・プログラム。
  10. 前記リソース使用状況の1つがCPU使用状況値である、請求項9記載のコンピュータ・プログラム。
  11. 前記増加するステップの前に、前記被選択パーティションに対応する仮想CPU資格値および前記被選択パーティションに割り振られた仮想CPUの現行数を取り出すステップであって、仮想CPUの前記現行数が前記仮想CPU資格値より小さいことに応答してのみ前記増加するステップが実行される、前記取り出すステップ
    を含む追加のアクションを前記情報処理システムに実行させるプログラム・コードをさらに含む、請求項8記載のコンピュータ・プログラム。
  12. 前記消費時間値の前記取り出しの前に、セットアップ・プロセス中に前記被選択パーティションに前記仮想CPU資格値を割り当てるステップと、
    前記仮想CPU資格値を不揮発性記憶領域に保管するステップであって、前記仮想CPU資格値の前記取り出しが前記不揮発性記憶領域から前記仮想CPU資格値を取り出す、前記保管するステップと、
    を含む追加のアクションを前記情報処理システムに実行させるプログラム・コードをさらに含む、請求項11記載のコンピュータ・プログラム。
  13. 前記消費時間値をパーセンテージ値に変換するステップであって、前記パーセンテージ値が割り込みを処理する際に前記被選択パーティションによって費やされる時間のパーセンテージを表し、前記割り込みしきい値が1つまたは複数のしきいパーセンテージを含み、前記比較するステップが前記パーセンテージ値を前記しきいパーセンテージと比較する、前記変換するステップ
    を含む追加のアクションを前記情報処理システムに実行させるプログラム・コードをさらに含む、請求項8記載のコンピュータ・プログラム。
  14. 前記消費時間値の前記取り出しの前に、前記1つまたは複数の割り込みしきいパーセンテージをユーザから受け取るステップと、
    前記受け取った割り込みしきいパーセンテージを不揮発性記憶領域に保管するステップであって、前記消費時間値と前記割り込みしきい値との前記比較の前に、前記保管された割り込みしきいパーセンテージが前記不揮発性記憶領域から取り出される、前記保管するステップと、
    を含む追加のアクションを前記情報処理システムに実行させるプログラム・コードをさらに含む、請求項8記載のコンピュータ・プログラム。
JP2011510955A 2008-05-30 2009-05-21 仮想化環境における割り込み処理を最適化するためのシステムおよび方法 Active JP4833380B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/129,808 US8312456B2 (en) 2008-05-30 2008-05-30 System and method for optimizing interrupt processing in virtualized environments
US12/129,808 2008-05-30
PCT/EP2009/056203 WO2009144169A1 (en) 2008-05-30 2009-05-21 System and method for optimizing interrupt processing in virtualized environments

Publications (2)

Publication Number Publication Date
JP2011521384A JP2011521384A (ja) 2011-07-21
JP4833380B2 true JP4833380B2 (ja) 2011-12-07

Family

ID=40957608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011510955A Active JP4833380B2 (ja) 2008-05-30 2009-05-21 仮想化環境における割り込み処理を最適化するためのシステムおよび方法

Country Status (6)

Country Link
US (1) US8312456B2 (ja)
EP (1) EP2281239B1 (ja)
JP (1) JP4833380B2 (ja)
KR (1) KR101385873B1 (ja)
CN (1) CN102027453B (ja)
WO (1) WO2009144169A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100990412B1 (ko) * 2009-10-29 2010-10-29 주식회사 팀스톤 씨피유 가상화를 지원할 수 있는 컴퓨터 서버
US9088609B2 (en) 2009-12-24 2015-07-21 International Business Machines Corporation Logical partition media access control impostor detector
US8122167B1 (en) 2010-08-06 2012-02-21 International Business Machines Corporation Polling in a virtualized information handling system
US9183030B2 (en) * 2011-04-27 2015-11-10 Microsoft Technology Licensing, Llc Virtual processor allocation techniques
WO2012103728A1 (zh) * 2011-06-30 2012-08-09 华为技术有限公司 热点域虚拟机cpu调度方法及虚拟机系统
CN103049318B (zh) * 2011-10-11 2017-10-17 北京科银京成技术有限公司 分区操作系统的虚拟中断方法
US10114679B2 (en) * 2011-10-26 2018-10-30 Microsoft Technology Licensing, Llc Logical CPU division usage heat map representation
US9411624B2 (en) * 2011-11-22 2016-08-09 Red Hat Israel, Ltd. Virtual device interrupt hinting in a virtualization system
KR101394365B1 (ko) * 2011-12-27 2014-05-14 서강대학교산학협력단 가상화 환경에서 프로세서를 할당하는 장치 및 방법
US9785460B2 (en) * 2013-05-03 2017-10-10 Vmware, Inc. Dynamic virtual machine sizing
US9727361B2 (en) 2013-12-12 2017-08-08 International Business Machines Corporation Closed-loop feedback mechanism for achieving optimum performance in a consolidated workload environment
US9342372B1 (en) 2015-03-23 2016-05-17 Bmc Software, Inc. Dynamic workload capping
US9680657B2 (en) 2015-08-31 2017-06-13 Bmc Software, Inc. Cost optimization in dynamic workload capping
EP3533188B1 (de) * 2016-12-29 2020-07-08 Siemens Aktiengesellschaft Verfahren zum betrieb eines mehrere kommunikationsgeräte umfassenden kommunikationsnetzes eines industriellen automatisierungssystems und steuerungseinheit
CN109542610B (zh) * 2018-12-04 2023-06-30 中国航空工业集团公司西安航空计算技术研究所 一种多分区操作系统虚中断标准组件实现方法
US11467882B2 (en) * 2018-12-21 2022-10-11 Target Brands, Inc. Methods and systems for rapid deployment of configurable computing resources
US11620154B2 (en) * 2020-01-02 2023-04-04 International Business Machines Corporation Suppressing interrupts to an application thread

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20020099753A1 (en) * 2001-01-20 2002-07-25 Hardin David S. System and method for concurrently supporting multiple independent virtual machines
US6957435B2 (en) * 2001-04-19 2005-10-18 International Business Machines Corporation Method and apparatus for allocating processor resources in a logically partitioned computer system
US7080378B1 (en) * 2002-05-17 2006-07-18 Storage Technology Corporation Workload balancing using dynamically allocated virtual servers
US7000051B2 (en) * 2003-03-31 2006-02-14 International Business Machines Corporation Apparatus and method for virtualizing interrupts in a logically partitioned computer system
JP3922576B2 (ja) 2003-06-27 2007-05-30 株式会社日立製作所 命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラム
US20070061441A1 (en) * 2003-10-08 2007-03-15 Landis John A Para-virtualized computer system with I/0 server partitions that map physical host hardware for access by guest partitions
US7725559B2 (en) * 2003-10-08 2010-05-25 Unisys Corporation Virtual data center that allocates and manages system resources across multiple nodes
US20070067366A1 (en) * 2003-10-08 2007-03-22 Landis John A Scalable partition memory mapping system
US20050138422A1 (en) * 2003-12-23 2005-06-23 Hancock Peter J. System and method for metering the performance of a data processing system
JP2006059052A (ja) 2004-08-19 2006-03-02 Hitachi Ltd 仮想計算機システム
US20060048160A1 (en) * 2004-09-02 2006-03-02 International Business Machines Corporation Method, apparatus, and computer program product for providing a self-tunable parameter used for dynamically yielding an idle processor
US7296133B2 (en) * 2004-10-14 2007-11-13 International Business Machines Corporation Method, apparatus, and computer program product for dynamically tuning amount of physical processor capacity allocation in shared processor systems
US7260664B2 (en) * 2005-02-25 2007-08-21 International Business Machines Corporation Interrupt mechanism on an IO adapter that supports virtualization
US8387052B2 (en) * 2005-03-14 2013-02-26 Qnx Software Systems Limited Adaptive partitioning for operating system
US7613897B2 (en) * 2005-03-30 2009-11-03 International Business Machines Corporation Allocating entitled processor cycles for preempted virtual processors
GB0618894D0 (en) * 2006-09-26 2006-11-01 Ibm An entitlement management system
US8161475B2 (en) * 2006-09-29 2012-04-17 Microsoft Corporation Automatic load and balancing for virtual machines to meet resource requirements
US8209684B2 (en) * 2007-07-20 2012-06-26 Eg Innovations Pte. Ltd. Monitoring system for virtual application environments

Also Published As

Publication number Publication date
EP2281239A1 (en) 2011-02-09
US8312456B2 (en) 2012-11-13
KR20110030426A (ko) 2011-03-23
EP2281239B1 (en) 2015-07-01
US20090300317A1 (en) 2009-12-03
JP2011521384A (ja) 2011-07-21
CN102027453A (zh) 2011-04-20
WO2009144169A1 (en) 2009-12-03
CN102027453B (zh) 2014-04-09
KR101385873B1 (ko) 2014-04-29

Similar Documents

Publication Publication Date Title
JP4833380B2 (ja) 仮想化環境における割り込み処理を最適化するためのシステムおよび方法
US8762999B2 (en) Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement
JP5689526B2 (ja) マルチキュー・ネットワーク・アダプタの動的再構成によるリソース・アフィニティ
US8281303B2 (en) Dynamic ejection of virtual devices on ejection request from virtual device resource object within the virtual firmware to virtual resource driver executing in virtual machine
JP5782445B2 (ja) 物理コンピューティング・リソースの部分を論理パーティションに割り当てる方法
US8108655B2 (en) Selecting fixed-point instructions to issue on load-store unit
US9389921B2 (en) System and method for flexible device driver resource allocation
US10489208B1 (en) Managing resource bursting
US9811346B2 (en) Dynamic reconfiguration of queue pairs
US10579416B2 (en) Thread interrupt offload re-prioritization
CN107957965B (zh) 服务质量序数修改
US11334436B2 (en) GPU-based advanced memory diagnostics over dynamic memory regions for faster and efficient diagnostics
US20220318057A1 (en) Resource Management for Preferred Applications
US8898306B2 (en) Dynamic application provisioning in cloud computing environments
Guleria et al. EMF: Disaggregated GPUs in datacenters for efficiency, modularity and flexibility
US9110731B1 (en) Hard allocation of resources partitioning
US10042790B2 (en) Computer and method with interrupt vector management
US8713569B2 (en) Dynamic association and disassociation of threads to device functions based on requestor identification
US20200301742A1 (en) Bus allocation system
US20240020174A1 (en) Memory disaggregation in a multi-node environment
US20230325227A1 (en) Reliable one-click cluster shutdown
US20240103927A1 (en) Node assessment in hci environment
CN114090257B (zh) 虚拟机的调度方法、装置、存储介质及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101126

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20101126

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110817

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: 20110906

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: 20110921

R150 Certificate of patent or registration of utility model

Ref document number: 4833380

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140930

Year of fee payment: 3