JP2012531643A - 仮想化環境におけるリソース割り当て - Google Patents

仮想化環境におけるリソース割り当て Download PDF

Info

Publication number
JP2012531643A
JP2012531643A JP2012516711A JP2012516711A JP2012531643A JP 2012531643 A JP2012531643 A JP 2012531643A JP 2012516711 A JP2012516711 A JP 2012516711A JP 2012516711 A JP2012516711 A JP 2012516711A JP 2012531643 A JP2012531643 A JP 2012531643A
Authority
JP
Japan
Prior art keywords
partitions
bus
partition
devices
registers
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
JP2012516711A
Other languages
English (en)
Other versions
JP5607732B2 (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 JP2012531643A publication Critical patent/JP2012531643A/ja
Application granted granted Critical
Publication of JP5607732B2 publication Critical patent/JP5607732B2/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/468Specific access rights for resources, e.g. using capability register
    • 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]
    • 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
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)
  • Curing Cements, Concrete, And Artificial Stone (AREA)

Abstract

【課題】 仮想化環境におけるリソース割り当てを提供すること。
【解決手段】 1つ又は複数の共有デバイスのリソースを、データ処理システム内の仮想化環境の1つ又は複数のパーティションに割り当てるための方法、システム、装置及びコンピュータ・プログラムである。データ処理システムと関連した1つ又は複数のデバイスについての少なくとも1つのユーザ定義のリソース割り当てが受信される。1つ又は複数のパーティションと関連した1つ又は複数のレジスタを動的に設定して、少なくとも1つのリソース割り当てを実行し、それにより、少なくとも1つのリソースの割り当ては、1つ又は複数のトランザクションがパーティションを介して実行されたとき、デバイスのユーザ定義の定量的尺度(数及び/又は百分率)を機能させることを可能にする。システムは、1つ又は複数のデバイスが、ユーザ定義のリソース割り当てより少ない又はこれと等しい帯域幅/容量で1つ又は複数のトランザクションを実行することを可能にし、パーティション間の性能の干渉を最小する。
【選択図】 図4

Description

本発明は、一般に、コンピュータ・システムに関し、特定的には、コンピュータ・システム内の仮想化環境に関する。
仮想化環境においては、ハイパーバイザ(仮想マシン・モニタとしても知られる)と呼ばれるソフトウェアの層が、ハードウェアとオペレーティング・システムとの間で実行され、パーティションとも呼ばれる複数の「仮想」マシン(VM)の外観又は錯覚を与える。仮想マシンは、マシンのハードウェアに排他的にアクセスできるように見える仮想データ処理システムであるが、その機能は、場合によってはマシン内に共存する他の仮想マシン間でハードウェア・リソースを共有することによって達成される。物理的なデータ処理システム内で共有されるハードウェア・リソースは、これらに限られるものではないが、メモリ、プロセッサ、及び入力/出力(I/O)デバイスを含む。
仮想化環境は、同じデータ処理システム上で複数のオペレーティング・システムが同時に実行されることを可能にするので、各々の仮想マシン又はパーティションは、オペレーティング・システムの1つだけのインスタンスを実行する。現在、ハイパーバイザは、仮想マシン・インターフェースを用いて、プロセッサ、メモリページ、及びディスクのようなハードウェア・リソースを、1つ又は複数の異なるパーティションに割り当てる。ハイパーバイザは、1つ又は複数のパーティションが互いに干渉し合わないことを確実にするように、これらのリソースを割り当てる。メモリページ及びCPUコアのような幾つかのリソースは、異なるパーティション間で割り当てられるので、パーティション間でリソースの物理的な共有は存在しない。メモリ・バス、コヒーレンス・バス、スケーラビリティ・ポート又はメモリ・コントローラのような他のリソースを、本質的に、いずれかの個々のパーティション専用に割り当てることはできない。マルチコア・プロセッサ・チップの普及により、非排他的な割り当ての問題が増強される。例えば、同じチップ上の種々のコアに現在割り当てられている幾つかのパーティションがあり、そのパーティションの各々が、上述のバスのような同じデータ経路を有効に共有している場合がある。1つのパーティションが共有リソースを飽和状態にする作業負荷を実行したとき、同じデータ経路を共有しているパーティションは、深刻な性能の干渉を被り、これにより他のパーティションが不足状態になることがある。例えば、1つ又は複数のパーティションにおける作業負荷が、メモリ・バス、コヒーレンス・バス、スケーラビリティ・ポート及び/又はI/Oバスを大量に使用しているとき、異なるパーティション上で実行されている他の作業負荷の性能に悪影響を受ける。
仮想化環境におけるリソース割り当てを提供すること。
1つ又は複数の共有デバイス及び/又はデータ経路容量のリソースを、データ処理システム内の仮想化環境の1つ又は複数のパーティションに割り当てるための装置、方法、システム及びコンピュータ・プログラムが開示される。仮想化環境内の各パーティションは、1つ又は複数のユーザ・作業負荷を管理する。データ処理システムと関連した1つ又は複数のデバイス及び/又はデータ経路容量について、少なくとも1つのユーザ定義のリソース割り当てを受信する。システムは、少なくとも1つのリソース割り当てを制御するように動的に設定される1つ又は複数のレジスタを管理する。リソース割り当てにより、1つ又は複数の作業負荷がパーティションを介して実行されたときに、デバイス及び/又はデータ経路容量のユーザ定義の定量的尺度(quantitative measure)(数及び/又は百分率)が機能することが可能になる。システムにより、1つ又は複数のパーティションがデバイスの帯域幅及び/又はデータ経路容量を共有することが可能になる。作業負荷は、ユーザ定義のリソース割り当てより少ない又はこれと等しいデバイスの特定の帯域幅及び/又はデータ経路容量で実行される。システムは、各パーティション上で実行されている作業負荷を隔離し、これにより、1つ又は複数のパーティション間での望ましくない干渉が最小になる。
ここで、添付の図面を参照して、本発明の実施形態を、単なる一例として説明する。
本発明の1つの実施形態による、本発明の種々の特徴を有利に実装することができるデータ処理システムのブロック図を提供する。 本発明の1つの実施形態による、1つ又は複数のパーティションに分割されたマルチコア処理チップの図である。 本発明の1つの実施形態による、仮想化環境における1つ又は複数のパーティションについてのユーザ定義のリソース割り当てを表示する例示的なリソース管理グラフィカル・ユーザ・インターフェースを示す。 本発明の1つの実施形態による、1つ又は複数のリソース割り当てを実施するためのトランザクションを実行するプロセスを示すフローチャートである。
例示的な実施形態は、1つ又は複数の共有デバイス及び/又はデータ経路の容量のリソースを、データ処理システム内の仮想化環境の1つ又は複数のパーティションに割り当てるための装置、方法、システム及びコンピュータ・プログラムを提供する。仮想化環境内の各パーティションは、1つ又は複数のユーザ作業負荷を管理する。データ処理システムと関連した1つ又は複数のデバイス及び/又はデータ経路容量について、少なくとも1つのユーザ定義のリソースの割り当てを受信する。システムは、少なくとも1つのリソース割り当てを制御するように動的に設定される1つ又は複数のレジスタを管理する。1又は複数の作業負荷がパーティションを介して実行されると、リソース割り当てにより、デバイス及び/又はデータ経路容量のユーザ定義の定量的尺度(数及び/又は百分率)が機能することが可能になる。システムにより、1又は複数のパーティションが、デバイスの帯域幅及び/又はデータ経路容量を共有することが可能になる。作業負荷は、ユーザ定義のリソース割り当てより少ない又はこれと等しいデバイスの特定の帯域幅及び/又はデータ経路容量を有するように実行される。システムは、各パーティション上で実行されている作業負荷を隔離し、これにより1又は複数のパーティション間の望ましくない干渉が最小になる。
本発明の例示的な実施形態の以下の詳細な説明において、本発明を実施することができる特定の例示的な実施形態が、当業者が本発明を実施することを可能にするように十分に詳細に説明されたが、他の実施形態が用いられてもよいこと、及び、本発明の精神又は範囲から逸脱することなく、論理的変更、アーキテクチャ上の変更、プログラム上の変更、機械的変更、電気的変更及び他の変更を行い得ることを理解すべきである。従って、以下の詳細な説明は、限定的な意味に解されるべきではなく、本発明の範囲は、添付の特許請求の範囲及びその等価物によって定められる。
図の説明において、同様の要素には、前の図のものと同様の名称及び参照符号が与えられる。後の図がその要素を異なる文脈において又は異なる機能を有するものとして利用する場合、その要素には、図番を表わす異なる先頭数字が与えられる。要素に割り当てられた特定の数字は、単に説明に役立つために与えられるものであり、説明される実施形態に対する如何なる(構造上又は機能上、或いはその他の)限定も意味することを意図しているものではない。
特定のコンポーネント、デバイス及び/又はパラメータ名(本明細書に説明された実行ユーティリティ/論理の関するものなど)の使用は単なる例示であり、本発明に対する如何なる限定を意味することも意図するものではないことが理解される。従って、本発明は、制限なく、本明細書においてコンポーネント/デバイス/パラメータを説明するのに利用される種々の名称/用語により実施することができる。本明細書で利用される各用語は、それが利用される文脈で与えられるその最も広い解釈が与えられるべきである。
ここで図面を参照し、図1から始めると、1つの実施形態において利用される例示的なデータ処理システム(DPS)のブロック図表現が示される。DPSは、コンピュータ、携帯情報端末のような携帯機器、スマートフォン、及び/又は一般に処理装置と考えることができる他のタイプの電子機器とすることができる。図示のように、DPS100は、システム相互接続部/バス110を介してシステム・メモリ115に接続された少なくとも1つのプロセッサ又は中央処理装置(CPU)105を含む。入力/出力(I/O)コントローラ120も、システム・バス110に接続され、この入力/出力(I/O)コントローラ120は、ポインティング・デバイス(又はマウス)125及びキーボード127が図示される入力デバイスに対する接続及び制御を提供する。I/Oコントローラ120はまた、ディスプレイ129が図示される出力デバイスに対する接続及び制御も提供する。さらに、マルチメディア・ドライブ128(例えば、コンパクト・ディスク読み取り/書き込み(CDRW)又はデジタル・ビデオ・ディスク(DVD)ドライブ)及びUSB(ユニバーサル・シリアル・バス)ポート126が、I/Oコントローラ120に結合された状態で示される。マルチメディア・ドライブ128及びUSBポート126は、データ/命令/コードを格納することができ、及び/又は、データ/命令/コードを取り出すことができる、取り外し可能ストレージ・デバイス(例えば、光ディスク又はサム・ドライブ)の挿入を可能にする。DPS100はまた、その中に/そこから、データ/命令/コードを格納/取り出すことができるストレージ117も含む。
DPS100はまた、これによりインターネットを一例する1つ又は複数のアクセス/外部ネットワーク170に、DPS100が接続することができる、ネットワーク・インターフェース・デバイス(NID)150を有するようにも示される。この実施において、インターネットは、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)プロトコル・スイートを利用して互いに通信する、ネットワーク及びゲートウェイの世界的な集合を表わす/である。NID150は、ネットワーク・アクセス・ポイントへの有線/無線接続を介して作動するように構成することができる。ネットワーク170は、インターネット又は広域ネットワーク(WAN)のような外部ネットワーク、或いはイーサネット(ローカル・エリア・ネットワーク(LAN))又は仮想プライベート・ネットワーク(VPN)のような内部ネットワークとすることができる。1つの実施形態において、外部ネットワーク170への接続は、DPS100上での実行のためにデータ/命令/コードを提供することもできる1つ又は複数のサーバ165と共に確立することができる。
上述のDPS100のハードウェア・コンポーネントに加えて、本発明の種々の特徴が、ソフトウェア(又は、ファームウェア)コード又は論理によって完成/支援される。例えば、ハイパーバイザ195は、複数のオペレーティング・システムが、ホスト・コンピュータ上で同時に実行されるのを可能にするコンピュータ・ソフトウェア/ハードウェアのプラットフォーム仮想化ソフトウェアである。ハイパーバイザ195は、ハードウェア制御部及びゲスト・オペレーティング・システム・モニタとしてDPS100のハードウェア上で直接実行され、及び/又は、オペレーティング・システム環境内で実行されるソフトウェア・アプリケーションである。さらに、ソフトウェア(又は、ファームウェア)コード又は論理は、システム・メモリ115又は他のストレージ(例えば、ストレージ117)内に格納され、かつ、CPU105によって実行される。従って、例えば、仮想マシン層175及びアプリケーション135を含む多数のソフトウェア/ファームウェア/論理コンポーネントが、システム・メモリ115内に示される。仮想マシン層175内では、例えばオペレーティング・システムA(OS A)130、OS B132及びOS N138(ここで「N」は有限数を表わす)などの1つ又は複数のオペレーティング・システムが管理される。可能なオペレーティング・システムの例は、Microsoft Corp.社の商標であるMicrosoft Windows(登録商標)、又は、Free Software Foundation及びThe Linux Mark Instituteの登録商標であるGNU(登録商標)/Linux(登録商標)である。仮想マシン層175は、ハイパーバイザ195と通信し、及び/又は、ハイパーバイザ195によって生成され、ハイパーバイザ195と関連した1つ又は複数のパーティションの作業負荷を管理する。同じく仮想マシン層175内には、リソース優先順位割り当て(RPA)ユーティリティ140(RPA論理を提供するために、CPU105上で実行される)がある。実際の実施においては、RPAユーティリティ140を仮想マシン層175と組み合わせて又はこれに組み込んで、単一の実行可能なコンポーネントをもたらし、対応する組み合わせられたコードがCPU105により実行されるとき、個々のソフトウェア・コンポーネントの種々の機能をまとめて提供することができる。簡単にするために、後述されるように、RPAユーティリティ140は、特定の機能を提供する独立した又は別個のソフトウェア/ファームウェア・コンポーネントとして図示され、説明される。
1つの実施形態において、サーバ165がソフトウェア配備サーバを含み、DPS100は、ネットワーク・インターフェース・デバイス150を用いて、ネットワーク(例えば、インターネット170)を介してソフトウェア配備サーバ(165)と通信する。次に、RPAユーティリティ140は、ソフトウェア配備サーバ165を介して、ネットワークから/ネットワーク上に配備することができる。この構成を用いて、ソフトウェア配備サーバは、RPAユーティリティ140の実行と関連した機能の全てを実行する。従って、DPS100は、RPAユーティリティ140を実行するために、DPS100の内部計算リソースを用いる必要がない。
CPU105は、RPAユーティリティ140、並びに、RPAユーティリティ140のユーザ・インターフェース・フィーチャ(feature)をサポートするOS A130、OS B132及びOS N138を実行する。説明される実施形態において、RPAユーティリティ140は、RPAユーティリティ140の機能的特徴とのユーザ対話又はその操作を可能にするための幾つかのグラフィカル・ユーザ・インターフェース(GUI)を生成/提供する。RPAユーティリティによってサポート及び/又は実施される特定の機能は、その機能の実施を完成するために、プロセッサ及び/又はデバイスのハードウェアによって実行される処理論理を生成する。説明を簡単にするために、これらの種々の特徴を可能にするコードの集合体は、本明細書ではRPAユーティリティ140と呼ばれる。RPAユーティリティ140によって提供され、かつ、本発明に特有であるソフトウェア・コード/命令/論理には、(a)1つ又は複数のデバイスについての少なくとも1つのリソース割り当てを受信するためのコード/論理、(b)少なくとも1つのリソース割り当てを1つ又は複数のパーティションと関連付けるためのコード/論理、及び(c)少なくとも1つのリソース割り当ての受信に応答して、少なくとも1つのリソース割り当てより少ないか又はそれに等しい容量で1つ又は複数のトランザクションを実行することを可能にするためのコード/論理、がある。例示的な実施形態によると、CPU105がRPAユーティリティ140を実行するとき、DPS100は、上述の機能的特徴及びさらなる特徴/機能を可能にする一連の機能的なプロセスを開始する。これらの特徴及び機能は、図2乃至図4の説明においてより詳細に後述される。
図1に示されるハードウェア・コンポーネント及び基本的構成が変わり得ることは、当業者であれば理解するであろう。DPS100内の例示的なコンポーネントは、網羅的であることを意図するものではなく、むしろ本発明を実施するために用いられる本質的なコンポーネントを強調表示するために示される。例えば、図示されたハードウェアに加えて又はその代わりに、他のデバイス/コンポーネントを用いてもよい。図示される例は、現在説明されている実施形態及び/又は一般的な発明に関してアーキテクチャ上の限定又は他の限定を意味することを意図するものではない。図1に示されるデータ処理システムは、例えば、Advanced Interactive Executive(AIX)オペレーティング・システム、又はLINUXオペレーティング・システムを実行している、ニューヨーク州Armonk所在のInternational Business Machines Corporation社の製品である、IBM eServer pSeriesシステムとすることができる。
ここで図2を参照すると、仮想環境内で1つ又は複数のパーティションが実行されるマルチコア処理チップが示される。マルチコア処理チップ250は、パーティションA220、パーティションB230、及びパーティションN290(ここで「N」は有限数を表わす)を含む。マルチコア処理チップ250内には、RPAユーティリティ240、プロセッサ・バス222、メモリ・コントローラA252、メモリ・コントローラB254、バス・レジスタA260、バス・レジスタB270、及びバス・レジスタC280も含まれる。パーティションA220は、L1命令キャッシュ218、L1データ・キャッシュ228、及びL2/L3キャッシュ238を含む。マルチコア・チップ250上の第2のパーティションは、2つのL1命令キャッシュ218、2つのL1データ・キャッシュ228、及び2つのL2/L3キャッシュ238を含む。パーティションN290(ここで「N」は有限数である)は、マルチコア処理チップ250内の「N」番目のパーティションを表わす。パーティションNは、1つ又は複数の(3として示される)L1命令キャッシュ218、1つ又は複数のL1データ・キャッシュ228、及び1つ又は複数のL2/L3キャッシュ238を含む。バス・レジスタA260は、パーティションA220とプロセッサ・バス222との間の通信手段である。バス・レジスタB270は、パーティションB230とプロセッサ・バス222との間の通信を可能にし、パーティションN290は、バス・レジスタC280を介してプロセッサ・バス222と通信する。
1つの実施形態において、システムの1つ又は複数のハードウェア機構が、1つ又は複数のリソース割り当ての実行を可能にする。RPAユーティリティ240は、共有されるシステムのリソースへのアクセスを抑制する論理を含む。RPAユーティリティ240は、システム・リソースを1つ又は複数のパーティションに割り当てるための1つ又は複数の割り当てを受信する。パーティションA220、パーティションB230、及びパーティションN290のようなパーティションは、仮想マシン層175(図1に示される)によってサポートされる隔離の論理ユニットであり、これにより1つ又は複数のオペレーティング・システムが実行される。パーティションA220、パーティションB230、及びパーティションN290は、それぞれ、バス・レジスタA260、バス・レジスタB270、及びバス・レジスタC280と関連付けられる。さらに、パーティションA220、パーティションB230、及びパーティションN290は、1つ又は複数のハードウェア・バスと関連付けられる。1つ又は複数のパーティションがリソース割り当てを受信すると、受信したリソース割り当てに従って、それぞれのバス・レジスタ(バス・レジスタA260、バス・レジスタB270及び/又はバス・レジスタC280)が設定される。
1つ又は複数のオペレーティング・システムのトランザクションが、パーティションと関連して実行されると、それぞれのバス・レジスタ(バス・レジスタA260、バス・レジスタB270、及びバス・レジスタC280)が、要求された割り当てを実行する。例えば、RPAユーティリティ240は、パーティションA220をサポートするリソースの使用の上限を20%の容量に定めるユーザ定義(又は、デフォルト)の割り当てを受信する。この割り当てを実施するために、(共有リソースにアクセスするために)バス・レジスタS260により、100のバス・サイクルごとに20以下のアクセス(トランザクション)が可能になる。プロセッサ・バス222がビジー状態ではないとき(すなわち、他のパーティションからの待ち状態の要求がないとき)、リソースの許容量が緩和される。この場合、バス・レジスタA260により許容されるアクセス数は、最善努力方式(best-effort basis)で増加させ得る。1つ又は複数のトランザクションが実行されるとき、リソース割り当てにより、プロセッサ・バス222へのアクセスのユーザ定義の定量的尺度が可能になる。
1つの実施形態において、レジスタに多数のアクセスが割り当てられた場合、パーティションがバスにアクセスする度に、レジスタがデクリメントされる。バス・レジスタA260に20のカウントが割り当てられる例においては、バス・レジスタA260のカウントは、100のバス・サイクルが完了するごとに、20にリセットされる。パーティションA220が、プロセッサ・バス222への割り当て量(割り当てられたアクセス数)を消費すると、バス・レジスタA260のカウントはゼロに達する。別のパーティションからバスにアクセスする待ち状態のトランザクションがないときにのみ、パーティションA220によるプロセッサ・バス222へのさらなるアクセスが可能になり、そのため、パーティションは、ユーザ定義のリソース割り当てを消費しなかった(すなわち、プロセッサ・バス222への割り当てられた数/容量のアクセスを消費した)。
別の実施形態において、1つ又は複数のオペレーティング・システムが、パーティションA220、パーティションB230、及びパーティションN290と関連付けられる。バス・レジスタA260、バス・レジスタB270、バス・レジスタC280、及び/又は1つ又は複数の他のレジスタが、パーティションA220、パーティションB230、及びパーティションN290と関連付けられる。バス・レジスタA260、バス・レジスタB270、バス・レジスタN280、及び/又は1つ又は複数の他のレジスタは、RPAユーティリティ240(及び/又は、1つ又は複数のオペレーティング・システム)を介して、1つ又は複数のリソース割り当てを受信する。リソース割り当ては、1つ又は複数のバス・レジスタA260、バス・レジスタB270、及び/又はバス・レジスタC280を介して実施される。
1つの実施形態において、バス・レジスタB270を、各々がバスへの特定のプロセッサ・コアのアクセスを制御する複数のレジスタにより実装することができる。図2を参照すると、パーティションB230は、2つのL2/L3キャッシュ238と共に4つのプロセッサ・コアを用いるように示される。1つの実施形態において、バス・レジスタB270は、各々がバス222への1つのL2/L3キャッシュ(238)のアクセスをゲート制御する2つの物理的レジスタを介して実装することができる。バス・レジスタA260、バス・レジスタB270、バス・レジスタC280、及び/又は1つ又は複数の他のレジスタは、プロセッサ・バス222と通信して、パーティションB230についてのバス・アクセスの計算が適切に行われることを確実にする。例えば、プロセッサ・バス222へのL2/L3キャッシュ(238)の1つによるアクセスにより、両方のレジスタにおいて割り当てカウントが同時にデクリメントされる。こうした実施は、L2/L3キャッシュ238のキャッシュ設計に組み込まれる。
別の実施形態において、ハイパーバイザ(図1のハイパーバイザ195と同様の)は、ハードウェアの利用を最大にするために、パーティションのプリエンプション(preemption)を可能にする。バス・レジスタA260は、パーティションA220のソフトウェア文脈の一部となる。同様に、バス・レジスタA260は、パーティションB230のレジスタB270のソフトウェア文脈の一部となり、パーティションN290のレジスタN280のソフトウェア文脈の一部となる。対応するパーティション(例えば、パーティションA220、パーティションB230、及びパーティションN290)が、それぞれ、割り当て解除される又は再割り当てされるとき、ハイパーバイザは、バス・レジスタA260、バス・レジスタB270、及び/又はバス・レジスタC280の値を格納及び再格納しなければならない。
別の実施形態において、ハイパーバイザは、ハードウェアの利用を最大にするために、パーティションのプリエンプションを可能にする。パーティションにおけるスワッピング(例えば、システム(例えば、サーバ)が物理的に使用可能であるより多い、RAMのようなリソースの割り当てを可能にする)時に、ハイパーバイザは、バス・レジスタを対応するユーザ定義の値に再初期化する。
図3は、リソース管理グラフィカル・ユーザ・インターフェース(GUI)を示す。リソース管理GUI305は、1つ又は複数のリソースのカテゴリであるリソース315、パーティションのリストであるパーティション302、リソース割り当て372、利用可能な尺度370、及びドロップダウン・メニュー選択375を含む。リソース315は、これらに限られるものではないが、メモリ・バス362、I/Oバス364、コヒーレンス・バス366、及びスケーラビリティ・ポート368を含む。パーティション302は、これらに限られるものではないが、パーティションA320、パーティションB330、及びパーティションN340(ここで「N」は有限数である)を含む。
1つの実施形態において、少なくとも1つのリソース割り当てが、1つ又は複数のデバイス又はリソースと関連付けられる。パーティションA320、パーティションB330、及びパーティションN340は、仮想環境と関連付けられ、パーティション・リストはリソース管理GUI305に出力される。パーティション・リストは、パーティションが修正された(仮想環境に加えられた又はこれから取り去られた)とき、動的に更新される。メモリ・バス362、I/Oバス364、コヒーレンス・バス366、及びスケーラビリティ・ポート368のようなリソース315は、各々のパーティションと関連付けられる。パーティションと関連したリソースは、予め定義される及び/又はユーザ定義される。1つ又は複数のリソース(315)がデータ処理システム(図1の100)に加えられた及び/又はこれから取り去られたとき、リソース管理GUI305は動的に更新される。
別の実施形態において、1つ又は複数のデバイスについて、少なくとも1つのリソース割り当てを受信する。リソース管理GUI305のリソース割り当て372、利用可能な尺度370、及びドロップダウン・メニュー選択375は、(図1の)RPAユーティリティ140によって、1つ又は複数のユーザ定義の及び/又は予め定義された入力を受信することを可能にする。例えば、リソース割り当て372は、これに限られるものではないが、1つ又は複数のトランザクションの実行中に利用されるデバイス帯域幅の百分率及び/又は使用されるデバイスの数を含むことができる定量的尺度の入力である。利用可能な尺度370は、選択されるべき予め定義された又はデフォルトの定量的尺度(それぞれのリソース及びパーティションと関連した)、又は、自動的に選択された尺度を示す。ドロップダウン・メニュー選択375が選択されると、利用可能な尺度370が表示される。データ処理システム内で1つ又は複数の修正が検出及び/又は受信されると、リソース315、パーティション302、及び利用可能な尺度370は動的に更新される。
1つの実施形態において、少なくとも1つのリソース割り当てを受信すると、1つ又は複数のデバイスが、少なくとも1つのリソース割り当てより少ない又はこれと等しい容量で1つ又は複数のトランザクションを実行することが可能になる。リソース管理GUI305は、1つ又は複数のデバイス(リソース315)についてのユーザ定義のリソース割り当て(リソース割り振り)を受信する。例えば、1つ又は複数のトランザクション中、メモリ・バス362は、パーティションA320については30%で又は30%未満で動作し、メモリ・バス362は、パーティションB330について25%で動作する。リソース管理GUI305が、リソース割り当て372についてのユーザ定義の入力を受信すると、1つ又は複数のレジスタは、ユーザ定義のリソース割り当てを実行するように動的に調整される。ユーザ定義のリソース割り当ての実行により、特定のデバイス(リソース)が、関連したパーティションについてのユーザ定義の容量(帯域幅)で動作することが可能になる。リソース管理GUI305は、(図1の)仮想マシン層175と直接関連付けられる。仮想マシン層175は、リソース管理GUI305内に入力された値によって指定されるように、レジスタ(パーティション302と関連した)へのアクセスを制御/管理/提供する。
図4は、例示的な実施形態の上記のプロセスを完成させる方法を示すフローチャートである。図4に示される方法は、図1−図3に示されるコンポーネントを参照して説明することができるが、これは便宜のためだけのものであり、種々の方法を実施するときに、代替的なコンポーネント及び/又は構成を用い得ることを理解すべきである。方法の主要な部分は、DPS100(図1)内のプロセッサ105上で実行され、DPS100の/DPS100上の特定の動作を制御するRPAユーティリティ140によって完成することができ、従って、この方法は、RPAユーティリティ140及びDPS100両方の観点から説明される。
図4は、1つ又は複数のリソースの割り当てを受信したとき、1つ又は複数のトランザクション要求を実行するためのプロセスを示す。図4のプロセスは、イニシエータ・ブロック400で始まり、1つ又は複数のレジスタが各パーティションにおけるオペレーティング・システムと関連付けられるブロック402に進む。ブロック404において、各々のパーティションについて、1つ又は複数のユーザ定義(又はデフォルト)のリソース割り当てを受信する。ブロック406において、リソース割り当てを実施するように、1つ又は複数のレジスタを動的に設定する。ブロック408において、1つ又は複数のトランザクション要求を受信する。
ブロック410において、トランザクション要求に必要とされる帯域幅/容量が、1つ又は複数の予め設定されたリソース割り当て(又は、割り振り)を上回るかどうかを判断する。トランザクション要求についての帯域幅/容量が1つ又は複数のリソース割り当てを上回る場合、プロセスはブロック414に続く。トランザクション要求についての帯域幅/容量が1つ又は複数のリソース割り当てを上回らない場合には、プロセスはブロック412に続く。ブロック414において、容量が使い果たされていないパーティションからのトランザクション要求があるかどうかについての判断を行う。容量が使い果たされていないパーティションからのトランザクション要求がある場合には、プロセスはブロック416に続く。ブロック416において要求は再実行され、プロセスはブロック408に続く。容量が使い果たされていないパーティションからのトランザクション要求がない場合には、プロセスはブロック412に進む。ブロック412において、トランザクションが実行され、1つ又は複数のリソース割り当てを実施する。ブロック418において、プロセスが終了する。
上記のフローチャートにおいて、方法のうちの1つ又は複数は、コンピュータ可読コードを含むコンピュータ可読ストレージ媒体において具体化され、コンピュータ可読コードがコンピューティング・デバイス上で(処理ユニットにより)実行されたときに一連のステップが実行される。幾つかの実施において、方法の特定のプロセスは、本発明の精神及び範囲から逸脱することなく、組み合わされ、同時に若しくは異なる順序で実行され、又は場合によっては省略される。従って、方法のプロセスは、特定のシーケンスで説明及び図示されるが、プロセスの特定のシーケンスの使用は、本発明に対する如何なる限定を意味することも意図するものではない。本発明の精神又は範囲から逸脱することなく、プロセスのシーケンスに対して変更を行うことができる。従って、特定のシーケンスの使用は、制限的な意味で解釈されるべきではなく、本発明の範囲は、添付の特許請求の範囲及びその等価物にまで及ぶ。
当業者には理解されるように、本発明は、方法、システム、又はコンピュータ・プログラムとして具体化することができる。従って、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、又はソフトウェア及びハードウェアの態様を組み合わせた実施形態の形態をとることができ、これらは全て、本明細書において、一般的に「回路」、「モジュール」、「論理」又は「システム」と呼ぶことができる。さらに、本発明は、媒体内又は媒体上に具体化されたコンピュータ使用可能プログラム・コードを有する、コンピュータ使用可能ストレージ媒体上のコンピュータ・プログラムの形態をとることができる。
さらに理解されるように、本発明の実施形態におけるプロセスは、ソフトウェア、ファームウェア、マイクロコード、又はハードウェアの任意の組み合わせを用いて実施することができる。本発明をソフトウェアで実施するための準備ステップとして、プログラミング・コード(ソフトウェアであれ、ファームウェアであれ)は、典型的には、固定(ハード)ドライブ、ディスケット、磁気ディスク、光ディスク、磁気テープ、RAM、ROM、PROM等のような半導体メモリといった1つ又は複数の機械可読ストレージ媒体内に格納され、これによって本発明による製品が製造される。コンピュータ・プログラミング・コードを含む製品は、該コードをストレージ・デバイスから直接実行することによって、該コードをストレージ・デバイスからハードディスク、RAM等のような別のストレージ・デバイスにコピーすることによって、或いは、デジタル及びアナログ通信リンクのような伝送タイプの媒体を用いて該コードを遠隔実行のために伝送することによって用いられる。媒体は、電子、磁気、光学、電磁気、赤外線、又は半導体システム(又は、装置若しくはデバイス)、或いは伝搬媒体とすることができる。さらに、媒体は、実行システム、装置又はデバイスによって、或いはそれらと接続して使用するためのプログラムを含み、格納し、通信し、伝搬し、又は転送することができるあらゆる装置とすることができる。本発明の方法は、説明された実施形態に従ったコードを含む1つ又は複数の機械可読ストレージ・デバイスを、適切な処理ハードウェアと組み合わせて、内部に含まれるコードを実行することにより実施することができる。本発明を実施するための装置は、本発明に従ってコード化されたプログラムへのネットワーク・アクセス(サーバを介した)を含む又は有する1つ又は複数の処理デバイス及びストレージ・システムとすることができる。一般に、コンピュータ、コンピュータ・システム、又はデータ処理システムという用語は、メモリ媒体からの命令/コードを実行する、プロセッサ(又は処理ユニット)を有するあらゆるデバイスを含むように広く定義することができる。
従って、本発明の例示的な実施形態は、ソフトウェアがインストールされた(又は実行された)完全に機能的なコンピュータ(サーバ)システムに即して説明されるが、当業者であれば、本発明の例示的な実施形態のソフトウェアの態様は、種々の形態のプログラムとして分散させ得ること、及び、本発明の例示的な実施形態は、分散を実際に実行するのに用いられる特定のタイプの媒体にかかわらず、等しく適用されることを理解するであろうことは重要である。一例として、媒体のタイプの非排他的なリストは、フロッピーディスク、サム・ドライブ、ハードディスク・ドライブ、CD−ROM、DVDのような記録可能型(有形)媒体、並びに、デジタル及びアナログ通信リンクのような伝送型媒体を含む。
本発明を例示的な実施形態を参照して説明してきたが、当業者であれば、本発明の範囲から逸脱することなく、種々の変更を行うことができ、その要素を均等物に置換することができることを理解するであろう。さらに、本発明の本質的な範囲から逸脱することなく、特定のシステム、デバイス、又はコンポーネントを本発明の教示に適合させるように、多くの修正を行うことができる。従って、本発明は、本発明を実行するための開示された特定の実施形態に限定されるものではなく、特許請求の範囲内にある全ての実施形態を含むように意図されるものである。さらに、第1、第2などの用語の使用は、如何なる順序又は重要性をも示すものではなく、1つの要素を別の要素と区別するために用いられるものである。
100:データ処理システム(DPS)
105:中央処理装置(CPU)
110:システム・バス
115:システム・メモリ
117:ストレージ
120:I/Oコントローラ
125:ポインティング・デバイス(マウス)
126:USBポート
127:キーボード
128:マルチメディア・ドライブ
129:ディスプレイ
130:オペレーティング・システム(OS)A
132:OS B
135:アプリケーション
138:OS N
140、240:リソース優先順位割り当て(RPA)ユーティリティ
150:ネットワーク・インターフェース・デバイス(NID)
165:サーバ
170:ネットワーク
175:仮想マシン層
195:ハイパーバイザ
218:L1命令キャッシュ
220、320:パーティションA
222:プロセッサ・バス
228:L1データ・キャッシュ
230、330:パーティションB
238:L2/L3キャッシュ
250:マルチコア処理チップ
252:メモリ・コントローラA
254:メモリ・コントローラB
260:バス・レジスタA
270:バス・レジスタB
280:バス・レジスタC
290、340:パーティションN
302:パーティション
305:リソース管理グラフィカル・ユーザ・インターフェース(GUI)
315:リソース
362:メモリ・バス
364:I/Oバス
366:コヒーレンス・バス
368:スケーラビリティ・ポート
370:利用可能な尺度
372:リソース割り当て
375:ドロップダウン・メニュー選択

Claims (9)

  1. 1つ又は複数の共有デバイスのリソースを、少なくとも1つのプロセッサ及び仮想化層を有するデータ処理システム内の仮想化環境の1つ又は複数のパーティションに割り当てる方法であって、
    1つ又は複数のパーティション内の1つ又は複数のデバイスについての少なくとも1つのリソース割り当てを受信するステップと、
    前記少なくとも1つのリソース割り当てを1つ又は複数のパーティションと関連付けるステップと、
    前記少なくとも1つのリソース割り当ての受信に応答して、前記1つ又は複数のデバイスが、前記少なくとも1つのリソース割り当てより少ない又はこれと等しい容量で、前記パーティション内で1つ又は複数のトランザクションを実行することを可能にするステップと、
    を含む方法。
  2. 1つ又は複数のオペレーティング・システムを前記1つ又は複数のパーティションと関連付けるステップと、
    前記少なくとも1つのリソース割り当てを1つ又は複数のレジスタ内に格納するステップと、
    前記1つ又は複数のレジスタを前記1つ又は複数のパーティションと関連付けるステップと、
    前記1つ又は複数のレジスタを介して前記リソース割り当てを実行するステップであって、前記1つ又は複数のリソース割り当ては前記1つ又は複数のデバイスの使用を管理する、ステップと、
    をさらに含む請求項1に記載の方法。
  3. 前記1つ又は複数のレジスタが、前記少なくとも1つのリソース割り当てを実施することを動的に可能にするステップであって、前記少なくとも1つのリソース割り当ては、前記1つ又は複数のトランザクションが前記1つ又は複数のパーティション内で実行されるとき、デバイス使用の予め定義された定量的尺度を可能にする、ステップと、
    前記デバイス使用の予め定義された定量的尺度を、
    前記1つ又は複数のレジスタと関連付けられたアクセス・カウント、
    前記1つ又は複数のデバイスの帯域幅容量、及び
    前記1つ又は複数のデバイスの数、
    のうちの1つと関連付けるステップと、
    前記アクセス・カウントを前記1つ又は複数のレジスタと関連付けるステップと、
    前記1つ又は複数のレジスタがプロセッサ・バスを介してトランザクション要求を実行する度に、前記1つ又は複数のレジスタの各々の前記アクセス・カウントをデクリメントするステップであって、前記プロセッサ・バスは前記1つ又は複数のデバイスへのアクセスを可能にする、ステップと、
    をさらに含む請求項1に記載の方法。
  4. 前記1つ又は複数のレジスタの前記アクセス・カウントをチェックするステップと、
    前記アクセス・カウントがゼロでないとき、前記トランザクション要求を前記プロセッサ・バスに伝送するステップと、
    前記アクセス・カウントがゼロである場合、前記プロセッサ・バスへのアクセスをブロックするステップと、
    将来のバス・サイクルにおいて前記トランザクション要求を再試行するステップと、
    をさらに含む請求項3に記載の方法。
  5. 前記アクセス・カウントがゼロに達したとき、アクセス・カウントがゼロより大きい他のパーティションからの前記バスへの待ち状態のアクセスがない場合にのみ、前記トランザクションが、前記バスへのアクセスに進むことを可能にするステップをさらに含む、請求項4に記載の方法。
  6. グラフィカル・ユーザ・インターフェースにおいて前記1つ又は複数の予め定義されたリソース割り当てを受信するステップと、
    1つ又は複数の受信したリソース割り当てを、前記1つ又は複数のパーティションと関連した前記1つ又は複数のデバイスの使用と関連付けるステップと、
    をさらに含む、請求項1に記載の方法。
  7. パーティションが修正されたとき、パーティションのリストを動的に更新するステップと、
    前記1つ又は複数のリソースが加えられたとき及び取り去られたときのいずれかに、前記グラフィカル・ユーザ・インターフェースを動的に更新するステップと、
    をさらに含む請求項6に記載の方法。
  8. 1つ又は複数の共有デバイスのリソースを、データ処理システム内の仮想化環境の1つ又は複数のパーティションに割り当てるためのコンピュータ・プログラムであって、
    プロセッサにより実行されたとき、請求項1から請求項7までのいずれかに記載の方法を実行するプログラム・コードを含むコンピュータ・プログラム。
  9. 1つ又は複数の共有デバイスのリソースを、データ処理システム内の仮想化環境の1つ又は複数のパーティションに割り当てるためのコンピュータ・システムであって、
    プロセッサ・コンポーネントと、
    前記プロセッサ・コンポーネントにより実行されたとき、請求項1から請求項7までのいずれかに記載の方法を実行するプログラム・コードと、
    を含むコンピュータ・システム。
JP2012516711A 2009-07-01 2010-06-23 仮想化環境におけるリソース割り当て Active JP5607732B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/495,842 2009-07-01
US12/495,842 US8756608B2 (en) 2009-07-01 2009-07-01 Method and system for performance isolation in virtualized environments
PCT/EP2010/058884 WO2011000748A2 (en) 2009-07-01 2010-06-23 Resource allocation in virtualized environments

Publications (2)

Publication Number Publication Date
JP2012531643A true JP2012531643A (ja) 2012-12-10
JP5607732B2 JP5607732B2 (ja) 2014-10-15

Family

ID=43218434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012516711A Active JP5607732B2 (ja) 2009-07-01 2010-06-23 仮想化環境におけるリソース割り当て

Country Status (7)

Country Link
US (1) US8756608B2 (ja)
EP (1) EP2449464A2 (ja)
JP (1) JP5607732B2 (ja)
KR (1) KR101385827B1 (ja)
CN (1) CN102473106B (ja)
BR (1) BRPI1015578B1 (ja)
WO (1) WO2011000748A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123360A (ja) * 2012-12-19 2014-07-03 Hon Hai Precision Industry Co Ltd 仮想マシンのタグ分類システム及び方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101394365B1 (ko) 2011-12-27 2014-05-14 서강대학교산학협력단 가상화 환경에서 프로세서를 할당하는 장치 및 방법
US9183022B2 (en) 2012-06-30 2015-11-10 International Business Machines Corporation Maintaining hardware resource bandwidth quality-of-service via hardware counter
US9183054B2 (en) * 2012-06-30 2015-11-10 International Business Machines Corporation Maintaining hardware resource bandwidth quality-of-service via hardware counter
US10229043B2 (en) * 2013-07-23 2019-03-12 Intel Business Machines Corporation Requesting memory spaces and resources using a memory controller
US10261813B2 (en) * 2013-09-25 2019-04-16 Arm Limited Data processing system for dispatching tasks from a plurality of applications to a shared resource provided by an accelerator
US20160092287A1 (en) * 2014-09-26 2016-03-31 Intel Corporation Evidence-based replacement of storage nodes
US9921977B2 (en) * 2015-03-11 2018-03-20 International Business Machines Corporation Privilege based memory pinning mechanism
CN105630604A (zh) * 2015-12-18 2016-06-01 国云科技股份有限公司 一种基于sla的多租户虚拟机资源分配方法
CN106020943B (zh) * 2016-05-04 2020-06-19 北京小米移动软件有限公司 应用程序双开启方法及装置
US10678690B2 (en) * 2017-08-29 2020-06-09 Qualcomm Incorporated Providing fine-grained quality of service (QoS) control using interpolation for partitioned resources in processor-based systems
KR20200065489A (ko) * 2018-11-30 2020-06-09 에스케이하이닉스 주식회사 데이터 처리 시스템 내 자원 사용에 대응하여 데이터 패스를 동적 할당하는 방법 및 장치
US10884959B2 (en) * 2019-02-13 2021-01-05 Google Llc Way partitioning for a system-level cache
US11233861B2 (en) 2020-02-18 2022-01-25 UiPath, Inc. Inter-session automation for robotic process automation (RPA) robots
US10654166B1 (en) 2020-02-18 2020-05-19 UiPath, Inc. Automation windows for robotic process automation
US11392477B2 (en) 2020-07-09 2022-07-19 UiPath, Inc. Automation of a process running in a first session via a robotic process automation robot running in a second session
US11693940B2 (en) * 2021-06-23 2023-07-04 Intel Corporation Partitioned platform security mechanism

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326253A (ja) * 1997-05-23 1998-12-08 Nec Corp バス調停回路

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023720A (en) 1998-02-09 2000-02-08 Matsushita Electric Industrial Co., Ltd. Simultaneous processing of read and write requests using optimized storage partitions for read and write request deadlines
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
US7565398B2 (en) * 2002-06-27 2009-07-21 International Business Machines Corporation Procedure for dynamic reconfiguration of resources of logical partitions
US7107376B2 (en) * 2004-01-26 2006-09-12 International Business Machines Corp. Systems and methods for bandwidth shaping
US7453804B1 (en) 2005-02-08 2008-11-18 Packeteer, Inc. Aggregate network resource utilization control scheme
US20080229058A1 (en) 2007-03-13 2008-09-18 Hung Qui Le Configurable Microprocessor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326253A (ja) * 1997-05-23 1998-12-08 Nec Corp バス調停回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123360A (ja) * 2012-12-19 2014-07-03 Hon Hai Precision Industry Co Ltd 仮想マシンのタグ分類システム及び方法

Also Published As

Publication number Publication date
BRPI1015578B1 (pt) 2020-10-27
CN102473106A (zh) 2012-05-23
BRPI1015578A2 (pt) 2017-01-17
CN102473106B (zh) 2015-04-08
WO2011000748A3 (en) 2011-02-24
KR101385827B1 (ko) 2014-04-16
EP2449464A2 (en) 2012-05-09
US8756608B2 (en) 2014-06-17
US20110004875A1 (en) 2011-01-06
WO2011000748A2 (en) 2011-01-06
JP5607732B2 (ja) 2014-10-15
KR20120030557A (ko) 2012-03-28

Similar Documents

Publication Publication Date Title
JP5607732B2 (ja) 仮想化環境におけるリソース割り当て
JP6126312B2 (ja) 待ち時間の影響を受けやすい仮想マシンをサポートするように構成された仮想マシンモニタ
US9600339B2 (en) Dynamic sharing of unused bandwidth capacity of virtualized input/output adapters
JP5782445B2 (ja) 物理コンピューティング・リソースの部分を論理パーティションに割り当てる方法
US9600345B1 (en) Rebalancing virtual resources for virtual machines based on multiple resource capacities
US9509621B2 (en) Decentralized input/output resource management
US11340945B2 (en) Memory congestion aware NUMA management
US9183061B2 (en) Preserving, from resource management adjustment, portions of an overcommitted resource managed by a hypervisor
US11556391B2 (en) CPU utilization for service level I/O scheduling
WO2018029781A1 (ja) 管理計算機、性能監視方法及び計算機システム
US10579416B2 (en) Thread interrupt offload re-prioritization
US20150128146A1 (en) Adjusting pause-loop exiting window values
US10216599B2 (en) Comprehensive testing of computer hardware configurations
US20150186180A1 (en) Systems and methods for affinity dispatching based on network input/output requests
US9088569B2 (en) Managing access to a shared resource using client access credentials
US10976934B2 (en) Prioritizing pages to transfer for memory sharing
US9110731B1 (en) Hard allocation of resources partitioning
US20230036017A1 (en) Last-level cache topology for virtual machines
US20240028361A1 (en) Virtualized cache allocation in a virtualized computing system
US10223235B2 (en) Comprehensive testing of computer hardware configurations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140715

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140828

R150 Certificate of patent or registration of utility model

Ref document number: 5607732

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150