JP5210730B2 - Virtual machine monitor and multiprocessor system - Google Patents
Virtual machine monitor and multiprocessor system Download PDFInfo
- Publication number
- JP5210730B2 JP5210730B2 JP2008169803A JP2008169803A JP5210730B2 JP 5210730 B2 JP5210730 B2 JP 5210730B2 JP 2008169803 A JP2008169803 A JP 2008169803A JP 2008169803 A JP2008169803 A JP 2008169803A JP 5210730 B2 JP5210730 B2 JP 5210730B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- virtual server
- processor
- policy
- allocation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
Description
本発明は、仮想マシンモニタによって物理計算機上で仮想サーバを稼動させ、I/Oデバイスを仮想サーバに割り当てる仮想計算機に関する。 The present invention relates to a virtual machine that operates a virtual server on a physical computer by a virtual machine monitor and allocates an I / O device to the virtual server.
近年の半導体技術の進行に伴い、1つのダイ上に複数のコアを集積するマルチコアプロセッサや、メモリコントローラをプロセッサダイ上に搭載するメモリコントローラ統合プロセッサが登場している。このように集積された計算機リソースを有効活用するために、従来複数のサーバに分散していた処理を一つのサーバに集約しコストを削減する動きが多
く見られる。このようなサーバの集約に際して有効となる手段が、サーバ分割により、複
数のオペレーティングシステムを1台のサーバ上で稼動させる方法である。サーバ分割に
は、ノード単位、あるいはプロセッサ(コア)やI/Oデバイスなどのコンポーネント単
位でハードウェアによる分割をサポートする物理分割方式と、ハイパバイザや仮想マシン
モニタと呼ばれるファームウェアによって実現される論理分割方式とがある。
With the progress of semiconductor technology in recent years, a multi-core processor in which a plurality of cores are integrated on one die and a memory controller integrated processor in which a memory controller is mounted on a processor die have appeared. In order to make effective use of the computer resources accumulated in this way, there are many movements that reduce costs by consolidating processes that have been distributed to a plurality of servers in a single server. An effective means for such server aggregation is a method of operating a plurality of operating systems on one server by dividing the server. For server partitioning, a physical partitioning method that supports hardware partitioning in units of nodes or components such as processors (cores) and I / O devices, and a logical partitioning method realized by firmware called hypervisor or virtual machine monitor There is.
論理分割方式では、各オペレーティングシステム(ゲストOS)は仮想マシンモニタが
提供する論理プロセッサ上で実行され、仮想マシンモニタにより複数の論理プロセッサが
物理プロセッサへマッピングされることにより、ノードよりも細かい単位に区画を分割で
きる。さらにプロセッサ(コア)に関しては複数の論理区画間で1つの物理プロセッサ(
コア)を時分割で切り替えながら実行することもできる。これにより、物理プロセッサ(
コア)の数よりも多くの論理区画を生成して同時に実行することが可能になる。論理分割
を目的とした仮想マシンモニタソフトウェアとしては特許文献1に記載されるような技術
が代表的である。
In the logical partitioning method, each operating system (guest OS) is executed on a logical processor provided by the virtual machine monitor, and a plurality of logical processors are mapped to physical processors by the virtual machine monitor, so that each unit is smaller than a node. Partitions can be divided. Furthermore, regarding the processor (core), one physical processor (a plurality of logical partitions)
It is also possible to execute while switching the core) in a time-sharing manner. This allows physical processors (
It is possible to create more logical partitions than the number of cores) and execute them simultaneously. As a virtual machine monitor software for the purpose of logical division, a technique as described in
しかし高集積化が比較的易しいプロセッサやメモリに比べて、入出力の口(経路)を持
つ必要があるため本質的に集積しにくいI/Oデバイスに関しては数が減らせず、従来の
CPUとI/Oデバイスとのバランスが崩れていく傾向が見られる。I/Oデバイスの数
を増やすためには、I/Oスイッチを用いてスロットを増設するといった対策が考えられ
る。しかしI/OスイッチによってプロセッサやメモリとI/Oデバイスとの距離が離れ
ることでI/O性能を十分に引き出せないケースが出てきた。
However, since it is necessary to have an input / output port (path) compared to a processor and memory that are relatively easy to integrate, the number of I / O devices that are inherently difficult to integrate cannot be reduced. There is a tendency for the balance with / O devices to collapse. In order to increase the number of I / O devices, a measure such as adding slots using an I / O switch can be considered. However, there have been cases in which the I / O performance cannot be sufficiently obtained because the I / O switch increases the distance between the processor and memory and the I / O device.
そこで従来は複数の仮想サーバで共有してきたI/Oデバイスを、特定の仮想サーバに
専有させ、十分なI/O性能を確保するというアプローチが採られるようになってきてい
る。このような仮想サーバによるI/Oデバイスの専有をサポートする機能として、非特
許文献1に開示されるように、Intel社の制定しているVT−dなどが知られている。
Therefore, an approach has been adopted in which an I / O device that has been shared by a plurality of virtual servers is dedicated to a specific virtual server to ensure sufficient I / O performance. As a function for supporting the exclusive use of an I / O device by such a virtual server, as disclosed in Non-Patent
一方、マルチコア化の進行やメモリコントローラを統合したプロセッサの登場により、
プロセッサ・メモリ・I/Oデバイスといったリソースの配置が不均衡となる傾向にある
。このような不均衡なシステム上で性能や信頼性を確保するためには、物理位置情報を用
いたリソース配分が必要である。従来のOSでは、特定のプロセッサとメモリを対応付け
るAffinity制御という仕組みがあり、これをサポートするために物理位置情報を取得する
標準インタフェースとしてACPI(Advanced Configuration and Power Interface)が規
定されている(非特許文献2)。このaffinity制御では、OSあるいはアプリケーションが
どのCPUとメモリを使用するかという関係付けにより、リソースの割り当てを行う。
On the other hand, with the progress of multi-core and the emergence of processors with integrated memory controllers,
The arrangement of resources such as processors, memories, and I / O devices tends to be unbalanced. In order to ensure performance and reliability on such an unbalanced system, resource allocation using physical location information is necessary. A conventional OS has a mechanism called affinity control for associating a specific processor with a memory, and ACPI (Advanced Configuration and Power Interface) is defined as a standard interface for acquiring physical position information in order to support this (non-patent) Reference 2). In this affinity control, resources are allocated by associating which CPU and memory the OS or application uses.
しかしながら、上記のような従来のOSでは、プロセッサとメモリの位置情報はACP
Iの仕組みを使って制御することができる。しかしI/Oデバイスは全アプリケーション
から共通的に参照されるリソースであるため、I/Oデバイスの物理位置情報を使ったAf
finity制御という概念は存在しなかった。実際、ACPIの中で規定されているSystem R
esource Affinity Table(SRAT)やSystem Locality Distance Information Table(
SLIT)では、プロセッサとメモリの物理的な位置情報のみが対象であり、I/Oデバ
イスの物理位置情報は管理の対象外である。
However, in the conventional OS as described above, the position information of the processor and the memory is ACP.
It can be controlled using the mechanism of I. However, since the I / O device is a resource that is commonly referenced by all applications, Af using the physical location information of the I / O device
There was no concept of finity control. In fact, System R defined in ACPI
esource Affinity Table (SRAT) and System Locality Distance Information Table (
In SLIT), only the physical position information of the processor and the memory is a target, and the physical position information of the I / O device is not a management target.
一方、仮想マシンモニタを使ってI/Oデバイスを特定の仮想サーバに専有させるよう
に割り付けようとすると、I/Oデバイスの物理位置情報は、仮想サーバの性能や信頼性
を確保する上で重要なパラメータとなる。しかし従来のACPIベースのインタフェース
では、I/Oの物理位置情報を取得する手段がなかった。
On the other hand, if you try to allocate an I / O device to a specific virtual server using a virtual machine monitor, the physical location information of the I / O device is important for ensuring the performance and reliability of the virtual server. Parameter. However, the conventional ACPI-based interface has no means for acquiring I / O physical position information.
また、仮に仮想マシンモニタが適切なリソースを仮想サーバに対して割り当てたとして
も、仮想サーバ上のゲストOSがその物理位置情報を正しく利用できない場合、ゲストO
SのAffinity制御が正しく働かず、結果として物理サーバと同等の性能や信頼性を確保で
きない、という問題点があった。
Even if the virtual machine monitor allocates appropriate resources to the virtual server, the guest OS on the virtual server cannot use the physical location information correctly.
There is a problem that the affinity control of S does not work correctly, and as a result, performance and reliability equivalent to those of a physical server cannot be secured.
本発明は、I/Oデバイスの専有割付機能を有する仮想マシンモニタ上で、I/Oデバ
イスの物理位置情報を取得するインタフェースを持ち、取得した物理位置情報を使って仮
想サーバに対するリソースの割付を、指定されたポリシーに従って最適化することを目的
とする。さらに仮想マシンモニタが取得した物理位置情報を仮想サーバへと適切に変換し
て通知するインタフェースを持ち、ゲストOSを物理サーバ上で実行した時と同様のAffi
nity制御を仮想サーバ上のゲストOSに対しても実行可能にすることを目的とする。
The present invention has an interface for acquiring physical location information of an I / O device on a virtual machine monitor having a dedicated allocation function of an I / O device, and allocates resources to a virtual server using the acquired physical location information. The goal is to optimize according to a specified policy. Furthermore, it has an interface that appropriately converts and notifies the physical location information acquired by the virtual machine monitor to the virtual server, and is the same as when the guest OS is executed on the physical server.
It is an object to enable nity control to be executed even for a guest OS on a virtual server.
本発明は、1つ以上のプロセッサと、1つ以上のメモリと1つ以上のI/Oデバイスと
を内部ネットワークで接続し、前記プロセッサとメモリ及びI/Oデバイスを仮想サーバ
に割り当てる仮想マシンモニタを備えたマルチプロセッサシステムであって、前記仮想マ
シンモニタは、前記マルチプロセッサシステムの前記プロセッサとメモリとI/Oデバイ
ス及びネットワークを含むハードウェアの物理的な位置情報を含むハードウェアの構成情
報を取得する物理ハードウェア情報取得部と、生成する仮想サーバのプロセッサの数とメ
モリ量とI/Oデバイス及びリソースの割り当てポリシーとを含む生成要求を受け付ける
受付部と、前記受け付けた生成要求に基づいてI/Oデバイスを前記仮想サーバに割り当
ててから、前記割り当てポリシーを満たすように前記プロセッサとメモリを前記仮想サー
バに割り当てる割り当て処理部と、を備える。
The present invention relates to a virtual machine monitor that connects one or more processors, one or more memories, and one or more I / O devices via an internal network, and allocates the processors, memory, and I / O devices to a virtual server. The virtual machine monitor includes hardware configuration information including physical location information of hardware including the processor, memory, I / O device, and network of the multiprocessor system. Based on the physical hardware information acquisition unit to be acquired, a reception unit that receives a generation request including the number of processors of the virtual server to be generated, the amount of memory, an I / O device and resource allocation policy, and the received generation request After assigning an I / O device to the virtual server, the assignment policy And a allocation unit for allocating the processor and memory to the virtual server to satisfy.
さらに、前記仮想マシンモニタは、前記仮想サーバに対して割り当てたプロセッサとメ
モリ及びI/Oデバイスの物理的な位置情報を前記仮想サーバに通知する通知部をさらに
備える。
Furthermore, the virtual machine monitor further includes a notification unit that notifies the virtual server of physical location information of the processor, memory, and I / O device allocated to the virtual server.
したがって、本発明は、I/Oデバイスの物理位置情報を取得して、取得した物理位置
情報を用いて仮想サーバに対するリソースの割り当てを、生成要求で指定されたリソース
の割当ポリシーに従って最適化することが可能となる。
Therefore, the present invention acquires physical location information of an I / O device and optimizes resource allocation to a virtual server using the acquired physical location information in accordance with a resource allocation policy specified in a generation request. Is possible.
さらに、仮想マシンモニタが割り当てたリソースの物理位置情報を仮想サーバへ通知す
ることで、物理サーバ上と同様の制御を仮想サーバ上で実現することができる。
Furthermore, by notifying the virtual server of the physical location information of the resources allocated by the virtual machine monitor, the same control as on the physical server can be realized on the virtual server.
以下、本発明の一実施形態を添付図面に基づいて説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.
図1は第1の実施形態を示し、本発明を適用するマルチプロセッサシステム(計算機)
、およびその上で動作する仮想マシンモニタとゲストOSとの関係を示したブロック図で
ある。
FIG. 1 shows a first embodiment and a multiprocessor system (computer) to which the present invention is applied.
FIG. 3 is a block diagram showing a relationship between a virtual machine monitor and a guest OS that operate on the virtual machine monitor.
マルチプロセッサシステム100は、1つ以上のCPUソケット(プロセッサパッケー
ジ)110、メモリコントローラ130、I/Oハブ160a、160bをモジュール間
接続I/F(インターフェース)200にて接続した構成を採る。なお、モジュール間接
続I/F200は、マルチプロセッサシステム100の内部ネットワークを構成する。こ
こでCPUソケット110とメモリコントローラ130間、CPUソケット110とI/
Oハブ160a、160b間、メモリコントローラ130とI/Oハブ160a、160
b間のモジュール間接続I/F200が必ずしも同じI/Fである必要はない。それらが
異なるI/Fであったとしても以下の説明には差異を生じない。なお、I/Oハブ160
a、160bの総称をI/Oハブ160とする。また、メモリコントローラ130やI/
Oハブ160の機能を搭載したチップセットが存在していても良い。さらに、図1に示す
ように、メモリコントローラ130がCPUソケット110上に搭載されたような構成で
あっても良い。CPUソケット110は1つ以上のCPUコア(プロセッサコア)120
を含む。メモリコントローラ130はメモリI/F140を介して1つ以上のDIMM(
Dual Inline Memory Module)150と接続する。I/Oハブ160はI/O接続I/F
170を介して1つ以上のI/Oアダプタ180a〜180fを搭載し、I/Oアダプタ
180a〜180fの先にはI/Oデバイス190dが接続される。さらにI/O接続I
/F170の先にI/OブリッジやI/Oスイッチがあり、多段のI/Oを構成していて
も良い。なお、I/Oアダプタ180a〜180fは、NICやHBA(Host Bus Ada
pter)などで構成され、これらの総称をI/Oアダプタ180とする。
The
Between the
The inter-module connection I /
A generic name of a and 160b is an I /
There may be a chip set equipped with the function of the
including. The
Dual Inline Memory Module) 150 is connected. The I /
One or more I /
There may be an I / O bridge or an I / O switch at the end of / F170 to constitute a multistage I / O. The I /
pter), etc., and these are generically named I / O adapter 180.
マルチプロセッサシステム100上には1つ以上のサービスプロセッサ220があり、
上記各モジュール(物理的構成要素)の物理位置情報や接続情報をモジュール情報取得I
/F210を介して収集する。サービスプロセッサ220はマルチプロセッサシステム1
00のオプションとして外付けされる形で搭載されても良いし、I/Oデバイスの一つと
して搭載される形態でも良い。また、LANなどで接続された別のコンピュータ上にサー
ビスプロセッサ220の機能があっても良い。また、I/Oデバイスは、データの入出力
を行う装置で構成される。
There are one or
Module information acquisition I for physical position information and connection information of each module (physical component)
Collect via / F210. The
It may be mounted externally as an option of 00, or may be mounted as one of I / O devices. Further, the function of the
マルチプロセッサシステム100上には、仮想マシンモニタ300が実行され、マルチ
プロセッサシステム100上のリソースを1つ以上の仮想サーバへと分割してゲストOS
360a〜360cに対して提供する。仮想マシンモニタ300はサービスプロセッサ2
20が収集したモジュールの物理構成情報と接続情報を、物理ハードウェア構成情報取得
インタフェース320を介して受け取る。なお、ゲストOS360a〜360cの総称を
ゲストOS360とする。
A virtual machine monitor 300 is executed on the
Provided for 360a-360c. The virtual machine monitor 300 is a
The
ゲストOS360は、仮想サーバとして必要なリソースを論理ハードウェア要求I/F
350によって仮想マシンモニタ300へと通知する。なお、ゲストOS360の起動時
(すなわち、仮想サーバの起動時)では、マルチプロセッサシステム100の管理者がコ
ンソール230で設定した論理ハードウェア要求I/F310を仮想マシンモニタ300
へ通知する。仮想マシンモニタ300は、仮想マシンモニタ300上にある物理−論理ハ
ードウェア割当表310などを参照し、論理ハードウェア要求I/F350に含まれるリ
ソース割当ポリシーを考慮した上で、必要な物理リソースの情報を物理−論理ハードウェ
ア割当インタフェース330を通じて取得する。仮想マシンモニタ300は、取得した物
理リソースの情報と、論理ハードウェア要求I/F310に基づいて物理リソースを論理
ハードウェアとして割り当てる論理ハードウェア割当処理部801を備える。仮想マシン
モニタ300が割り当てた物理リソースの情報は、仮想マシンモニタ300によって論理
ハードウェア構成情報へと変換され、論理ハードウェア構成情報通知I/F340を介し
てゲストOS360へと通知される。
The guest OS 360 allocates resources necessary as a virtual server to the logical hardware request I / F.
The virtual machine monitor 300 is notified by 350. When the guest OS 360 is started (that is, when the virtual server is started), the logical hardware request I / F 310 set by the administrator of the
To notify. The virtual machine monitor 300 refers to the physical-logical hardware allocation table 310 and the like on the virtual machine monitor 300 and considers the resource allocation policy included in the logical hardware request I / F 350 and then determines the necessary physical resources. Information is obtained through the physical-logical hardware allocation interface 330. The virtual machine monitor 300 includes a logical hardware allocation processing unit 801 that allocates physical resources as logical hardware based on the acquired physical resource information and the logical hardware request I / F 310. Information on the physical resources allocated by the virtual machine monitor 300 is converted into logical hardware configuration information by the virtual machine monitor 300, and notified to the guest OS 360 via the logical hardware configuration information notification I / F 340.
また、マルチプロセッサシステム100には、入力装置と出力装置を備えて管理者が使
用するコンソール230が接続され、仮想マシンモニタ300やサービスプロセッサ22
0に指令を与えたり、仮想マシンモニタ300やサービスプロセッサ220から処理の結
果を受信して出力装置に表示を行う。
In addition, the
A command is given to 0, or a processing result is received from the virtual machine monitor 300 or the
<マルチプロセッサシステムの構成>
さらに本第1実施形態におけるマルチプロセッサシステム100の構成をより詳細に説
明する。110a〜110dの4つのCPUソケットがモジュール間接続I/F200に
よってリング状に接続されている。それぞれのCPUソケット110はCPUコア120
を2つずつ持ち、マルチプロセッサシステム100全体では、8つのCPUコア120が
ある。以下の説明において、この8つのCPUコアを図中左からCPUコアの通し番号を
#0〜#7と呼ぶ場合がある。
<Configuration of multiprocessor system>
Furthermore, the configuration of the
There are two
それぞれのCPUソケット110上のメモリコントローラ130はそれぞれ4本のメモ
リI/F140を有し、それぞれ4つのDIMM(メモリ)150が接続されている。こ
こでは後の説明を簡単にするために、各DIMM150は1GBで、1CPUソケット当
たり4GB、マルチプロセッサシステム全体では16GBのメモリを搭載しているとする
。以下の説明において、この16枚のDIMM150の通し番号を図中左からDIMM#
0〜#15と呼ぶ場合がある。
Each
Sometimes referred to as 0 to # 15.
I/Oハブ160は、2つのI/Oハブ160aと160bで構成され、それぞれ2つ
ずつのモジュール間接続I/F200を持ち、I/Oハブ160aはCPUソケット11
0aと110b、I/Oハブ160bはCPUソケット110cと110dとそれぞれ接
続している。I/Oハブ160はI/O接続I/F170をそれぞれ4つずつ持ち、I/
O接続I/F170の先にI/Oスロット175を備え、I/Oアダプタ180が接続さ
れている。
The I /
0a and 110b and the I /
An I /
I/Oスロット175はマルチプロセッサシステム100全体で8つあり、I/Oスロ
ット175の通し番号を図中左から番号を#0〜7とすると、I/Oスロット#0にはI
/Oアダプタ180aが、I/Oスロット#2にはI/Oアダプタ180bが、I/Oス
ロット#3にはI/Oアダプタ180cが、I/Oスロット#4にはI/Oアダプタ18
0dが、I/Oスロット#5にはI/Oアダプタ180eが、I/Oスロット#7にはI
/Oアダプタ180fがそれぞれ接続されている。この例ではI/Oスロット#1および
I/Oスロット#6には何も接続されていない。
There are eight I /
/
0d is I /
/
図64は,図1の構成に対応するマルチプロセッサシステム100上で,仮想マシンモニタ300,ゲストOS1 360a,ゲストOS2 360b,ゲストOS3 360cが実行されている様子を示した構成図である。仮想マシンモニタ300のプログラムは,いずれかのI/Oデバイス190上,あるいはサービスプロセッサ200のROM201上に存在し,マルチプロセッサシステム300の起動時に前記格納場所からメモリ150(本例ではメモリ150#0)上へと展開され,仮想マシンCPUコア120のいずれかの上で実行される。仮想マシンモニタ300を実行するCPUコア120は,固定されていても良いし,例えばその時空いているCPUコアや処理負荷が少ないCPUコアが実行するなどCPUコアの稼動状態に応じて実行するCPUコアが可変でも良い。
ゲストOS 360は,仮想マシンモニタ300によって分割された論理サーバ370に割り当てられたI/Oデバイス190のいずれかの上にプログラムが存在し,論理サーバ370の起動時に370に割り当てられたメモリ150の上に展開され, 370に割り当てられたCPUコア300によって実行される。図64の例では,ゲストOS1 360aはメモリ150#5上に,ゲストOS2 360bはメモリ150#10上に,ゲストOS3 360cはメモリ150#13へと展開され,実行されている。なお,本例ではわかりやすいように一つのメモリモジュール上にゲストOS 360を配置した例を示したが,ゲストOSのサイズやメモリインタリーブの設定によっては複数のメモリモジュール上に分散配置されることもあり得る。
FIG. 64 is a configuration diagram showing a state in which the virtual machine monitor 300, the
The guest OS 360 has a program on one of the I / O devices 190 allocated to the logical server 370 divided by the virtual machine monitor 300, and the
図2〜図6で仮想マシンモニタ300がサービスプロセッサ220経由で得たマルチプ
ロセッサシステム100の物理ハードウェア構成情報取得I/F320について示す。図
2は物理ハードウェア構成情報取得I/F320の内訳を示す。物理ハードウェア構成情
報取得I/F320は、物理コンポーネント構成表400、I/Oアダプタ構成表450
、コンポーネント間距離対応表500、物理ネットワーク構成表550の4種類の表(テ
ーブル)で構成される。これらのテーブルは、仮想マシンモニタ300が所定の周期また
は所定のタイミングで、サービスプロセッサ220がモジュール情報取得I/F210を
介して収集したハードウェアリソースの情報を問い合わせて生成(または更新)するもの
である。仮想マシンモニタ300が設定した物理ハードウェア構成情報取得I/F320
は、図1に示すI/Oハブ160の物理位置情報格納メモリ165またはメモリ150に
格納される。
2 to 6 show the physical hardware configuration information acquisition I / F 320 of the
The inter-component distance correspondence table 500 and the physical network configuration table 550 are composed of four types of tables. These tables are generated (or updated) by inquiring about hardware resource information collected by the
Is stored in the physical position
図3は物理ハードウェア構成情報取得I/F320の物理コンポーネント構成表400
の構成を示す。物理コンポーネント構成表400は、リソースの通し番号を示すリソース
#405、リソースの種類を示すリソース種別410、通し番号に対応するリソースの範
囲を示す範囲415、コンポーネント毎の通し番号を示すコンポーネント#420、コン
ポーネントの種類を示すコンポーネント種別425、通し番号で特定されたリソースの消
費電力430、このリソースを動作させるためのコンポーネントの消費電力435、から
構成される。
FIG. 3 shows a physical component configuration table 400 of the physical hardware configuration information acquisition I / F 320.
The structure of is shown. The physical component configuration table 400 includes a
本実施形態の説明においては、コンポーネント#420はCPUソケット110やI/
Oハブ160のように物理的に挿抜あるいは電源のon/offの対象となるオブジェク
トを指しており、複数のリソースが1つのコンポーネント#420上に接続され得る。本
実施形態の例では、CPUコア120やDIMM150はCPUソケット110というコ
ンポーネントに接続され、I/Oアダプタ180はI/Oハブ160というコンポーネン
トに接続される。メモリコントローラ130がCPUソケット110とは別の場合や、チ
ップセットが存在する場合などは、それらもまた独立したコンポーネントになり得る。物
理コンポーネント構成表400は、このようなリソースとコンポーネントとの包含関係を
示す表である。範囲415で示されるリソースがコンポーネント#420に含まれること
を示している。リソース種別410がメモリの場合は、対応するDIMM150の番号に
加えて、物理アドレスの範囲も示される。この例では1DIMM当たり1GBずつである
ため、0x0_0000_0000から0x0_3_FFFF_FFFFまでの16GB
が属するCPUソケットに応じて4分割されている。各リソースが稼動状態となった場合
の消費電力[W]が430に、リソースの土台となっているコンポーネントが稼動状態とな
った場合の消費電力が435に示される。例えばコア#0が稼動していてコア#1は稼動
していないとする。この場合リソースの消費電力はコア当たり20であるため20だが、
土台となるコンポーネントのCPUソケットの消費電力は物理コンポーネント構成表40
0によると80であるため、合計20+80=100がコア#0のみが稼動している場合
の消費電力となる。なお、ここでは物理コンポーネント構成表400のサイズを小さくす
るために範囲415で同じコンポーネントに属する複数のリソースをまとめて1エントリ
で示しているが、リソースごとに異なるエントリを使っても構わない。
In the description of the present embodiment, the
It refers to an object that is physically inserted / extracted or turned on / off like the
It is divided into four according to the CPU socket to which. The power consumption [W] when each resource is in the operating state is indicated by 430, and the power consumption when the component that is the basis of the resource is in the operating state is indicated by 435. For example, it is assumed that
The power consumption of the CPU socket of the base component is the physical component configuration table 40.
Since 0 is 80, the total 20 + 80 = 100 is the power consumption when only the
また、リソースの消費電力430とコンポーネントの消費電力435は、サービスプロ
セッサ220のROM221に予め設定したデータを用いる。なお、このROMにはI/
Oアダプタ180の消費電力や各コンポーネント間の帯域やレイテンシなどコンポーネン
トの性能に係る情報を格納しておく。
Further, as the
Information related to the performance of the component, such as the power consumption of the O adapter 180 and the bandwidth and latency between components, is stored.
図4はI/Oアダプタ構成表450の構成を示す。I/Oアダプタ構成表450は、マ
ルチプロセッサシステム100上の全てのI/Oアダプタ180分のエントリが存在し、
I/Oアダプタ180の通し番号を示すI/Oアダプタ#455、I/Oアダプタの識別
子を示すI/Oアダプタ460、このI/Oアダプタが装着されたI/Oスロット#46
5、I/Oアダプタの種類を示すアダプタ種別470、このI/Oアダプタの消費電力4
75の各項目から構成される。アダプタ種別470は、ネットワークインタフェースカー
ド(NIC)やホストバスアダプタ(HBA)といったアダプタの種類が記述される。
FIG. 4 shows the configuration of the I / O adapter configuration table 450. In the I / O adapter configuration table 450, there are entries for all I / O adapters 180 minutes on the
I /
5,
It consists of 75 items. The
図5はコンポーネント間距離対応表500の構成を示す。コンポーネント間距離対応表
500は、マルチプロセッサシステム100上の全てのコンポーネントに対応するエント
リが存在し、コンポーネントの識別子を示すコンポーネント#420と、コンポーネント
の種類を示すコンポーネント種別425と、このコンポーネントと他のコンポーネントの
距離を示す対コンポーネント間距離510から構成される。対コンポーネント間距離51
0はまた全てのコンポーネント分だけ分けられており、コンポーネント#420のコンポ
ーネントから対コンポーネント間距離510のコンポーネントに到達するまでの距離を示
している。システム全体でN個のコンポーネントがある時、対コンポーネント間距離51
0はN×Nのマトリックスを構成する。通常、自分自身に到達する距離は0であると考え
られるので、このマトリックスの対角線部分には0が並ぶのが普通である。本実施形態で
はモジュール間接続I/F200の性能は全て等価であると仮定したため、何回モジュー
ル間接続I/F200を渡れば目的のコンポーネントまで辿り着くかという回数を距離と
している。この距離を、コンポーネントの物理的な位置情報として扱う。例えば、CPU
ソケット110aからI/Oハブ160bまでの距離は、図1において、CPUソケット
110aからCPUソケット110dまでの距離がモジュール間接続I/F200を1回
経由し、CPUソケット110dからI/Oハブ160bまででモジュール間接続I/F
200を1回経由するのでコンポーネント間の距離は合計2となる。
FIG. 5 shows the configuration of the inter-component distance correspondence table 500. The inter-component distance correspondence table 500 includes entries corresponding to all components on the
0 is also divided by all components, and indicates the distance from the
0 constitutes an N × N matrix. Usually, the distance to reach itself is considered to be zero, and therefore, it is normal that zeros are arranged in the diagonal portion of this matrix. In this embodiment, since it is assumed that the performance of the inter-module connection I /
In FIG. 1, the distance from the
Since 200 passes once, the distance between components becomes 2 in total.
なお、モジュール間接続I/Fが不均一な場合は、後述の物理ネットワーク構成表55
0にあるレイテンシ570の合計値を使って距離を示す、といった方法が考えられる。
When the inter-module connection I / F is not uniform, a physical network configuration table 55 described later is used.
A method of indicating the distance using the total value of the
また、本実施形態では、メモリ150はCPUソケット110に直接接続されるため、
CPUソケット110とメモリ150の距離は0であるためコンポーネント間距離対応表
500に含まれないが、メモリ150が内部ネットワーク(モジュール間接続I/F20
0)に接続されている場合では、メモリ150をコンポーネント#420に加え、各コン
ポーネント間の距離をコンポーネント間距離対応表500に設定すればよい。
In this embodiment, since the
Since the distance between the
0), the
また、コンポーネント間距離対応表500は、仮想マシンモニタ300が、物理ハード
ウェア構成情報取得I/F320の情報に基づいて生成することができる。なお、サービ
スプロセッサ220が物理ハードウェア構成情報取得I/F320の情報に基づいてコン
ポーネント間距離対応表500を生成し、仮想マシンモニタ300へ通知するようにして
もよい。
The inter-component distance correspondence table 500 can be generated by the virtual machine monitor 300 based on the information of the physical hardware configuration information acquisition I / F 320. The
図6は物理ネットワーク構成表550の構成を示している。物理ネットワーク構成表5
50は、マルチプロセッサシステム100上の全てのモジュール間接続I/F200に対
して、モジュール間接続I/F200の接続の通し番号を示すネットワーク#555と、
どのコンポーネント420aからどのコンポーネント420bをつないでいるのか、そし
てコンポーネント420aと420b間の帯域560とレイテンシ570を示す項目から
なる。本実施形態では、CPUソケット110間をつなぐネットワークの帯域560は6
なのに対して、CPUソケット110とI/Oハブ160の間をつなぐネットワーク帯域
560は半分の3であるとした。なお、帯域560の単位は、例えば[Gbps]であり、
レイテンシ570の単位は、例えば、[nsec]である。
FIG. 6 shows the configuration of the physical network configuration table 550. Physical network configuration table 5
It is composed of items indicating which
On the other hand, the
The unit of the
以上が物理ハードウェア構成情報取得I/F320の内訳である。これらの情報を、サ
ービスプロセッサ220は、モジュール情報取得I/F210を介して各リソース・コン
ポーネントから収集する。そして、仮想マシンモニタ300はサービスプロセッサ220
から物理ハードウェア構成情報取得I/F320を取得する。物理ネットワーク構成表5
50やコンポーネント間距離対応表500のように、サービスプロセッサ220がモジュ
ール単体に問い合わせただけでは得られない情報に関しては、マルチプロセッサシステム
100の初期化時やあるいは構成変更時に、モジュール情報取得I/F210およびモジ
ュール間接続I/F200を介する問合せプロトコルを使って接続関係を自動的に検出す
る方法や、構成変更時に管理者が用いるシステム管理ツール(マルチプロセッサシステム
100の外に存在)の情報をサービスプロセッサ220等が不揮発性メモリ等に保存して
おき、その情報を元に構成する、といった方法が考えられる。
The above is the breakdown of the physical hardware configuration information acquisition I / F 320. The
Acquires the physical hardware configuration information acquisition I / F 320. Physical network configuration table 5
50 or the component distance correspondence table 500, information that cannot be obtained only by the
<仮想サーバの構成>
図7〜図9で、第一の実施形態における仮想サーバ1_370aの論理ハードウェア要
求I/F350と、それに対応する仮想サーバの構成を示す。
<Virtual server configuration>
7 to 9 show the logical hardware request I / F 350 of the virtual server 1_370a and the configuration of the corresponding virtual server in the first embodiment.
図7は、ゲストOS360を起動する際に、仮想マシンモニタ300に対して仮想サー
バ1_370a(図9、図16参照)の起動に必要なリソースを要求する論理ハードウェ
ア要求I/F350aの構成を示す。この論理ハードウェア要求I/F350aは、コン
ソール230で管理者が設定したものである。
FIG. 7 shows the configuration of the logical hardware request I / F 350a that requests the virtual machine monitor 300 for resources required to start the virtual server 1_370a (see FIGS. 9 and 16) when the guest OS 360 is started. . This logical hardware request I / F 350 a is set by the administrator on the
論理ハードウェア要求I/F350aは、仮想サーバの通し番号を示す#351、仮想
サーバで稼動するゲストOS360の識別子を示すゲスト名352、仮想サーバに割り当
てるI/Oアダプタ353、仮想サーバに割り当てるCPUコア数354、仮想サーバに
割り当てるメモリ量355、仮想サーバに割り当てるリソースのポリシーを示すリソース
割当ポリシー356、仮想サーバの優先度357から構成される。仮想サーバ#351は
システム上の仮想サーバを識別するための識別子であり、必ずしも要求するゲスト側が設
定する必要はない。ゲスト名352は各ゲストOS360を識別するための情報で、例え
ばゲストOS360の種類(Windows(登録商標)/Linux等)もここに含ま
れる。I/Oアダプタ353は当該ゲストOSが要求するI/Oアダプタ180のリスト
である。ここではI/Oアダプタ180aと180cを要求している。CPUコア数35
4はゲストOS360aが必要なCPUコアの数である。ここでは4コア必要としている
。メモリ量355はゲストOS360aが必要とするメモリ量である。ここでは4GB分
必要としている。リソース割当ポリシー356はリソースを割り当てる際のポリシーを示
しており、本発明におけるキーとなるパラメータである。リソース割当ポリシー356と
しては、例えば、次のようなポリシーが考えられる。
・性能優先:コンポーネント間の距離を短くするような配置を選ぶ
*CPU−メモリ優先:CPUとメモリ間の距離が短くなるようにする(CPUのメモ
リアクセスが多い場合に有効)
*CPU−I/O優先:CPUとI/Oデバイス間の距離が短くなるようにする(I/
O割り込みが多い場合などに有効)
*I/Oデバイス−メモリ優先:I/Oデバイスとメモリ間の距離が短くなるようにす
る(I/OデバイスからのDMA転送が多い場合などに有効)
*CPU−I/Oデバイス−メモリ優先:各リソースを近くに配置するようにする(仮
想サーバの全体の性能をバランスさせる場合)
・信頼性優先:仮想サーバ間の共通のコンポーネント・ネットワークが少なくなるように
する
・帯域優先:ネットワークの実効帯域が大きくなるようにする
・省電力優先:システム全体の消費電力が小さくなるようにする
本実施形態の以下の説明では、設定するポリシーの一例を性能優先のうちCPU−I/
O優先としている。ただし、仮想サーバ1(360a)はマルチプロセッサシステム10
0上の最初の仮想サーバであるため、基本的に要求したリソースは獲得できる可能性が高
い。優先度357は、仮想サーバ間で要求したリソースが競合した場合にどの仮想サーバ
を優先するかを決めるために使うパラメータである。優先度を示す一例としては、ここで
は整数で値が大きいほど優先度が高いことを示すとした。ただし、第一の実施形態では全
ての仮想サーバは等しい優先度を持つとする。
The logical hardware request I / F 350a is # 351 indicating the serial number of the virtual server, the
4 is the number of CPU cores required by the
・ Performance priority: Choose an arrangement that shortens the distance between components * CPU-memory priority: Reduce the distance between the CPU and memory (effective when CPU memory access is high)
* CPU-I / O priority: The distance between the CPU and the I / O device is shortened (I /
(Effective when there are many O interrupts)
* I / O device-Memory priority: Reduce the distance between the I / O device and memory (effective when there are many DMA transfers from the I / O device)
* CPU-I / O device-memory priority: Each resource should be placed nearby (when balancing the overall performance of the virtual server)
-Reliability priority: Common components between virtual servers-Reduce network-Band priority: Increase effective network bandwidth-Power saving priority: Reduce overall system power consumption In the following description of the present embodiment, an example of a policy to be set is CPU-I /
O priority is given. However, the virtual server 1 (360a) is a
Since it is the first virtual server on 0, there is a high possibility that the requested resource can be basically acquired. The
また、本実施形態では仮想サーバに与えるポリシーを1つだけとしているが、優先度の
高いプライマリーポリシーと優先度の低いセカンダリーポリシーを与え、プライマリーポ
リシーを満たす構成の中でさらにセカンダリーポリシーをなるべく満たすような構成を選
択してもよい。さらに複数のポリシーに数値で重み付けを与えるようなインタフェースも
考えられる。ここでは説明の簡略化のために、ポリシーは一つだけとした。
Further, in this embodiment, only one policy is given to the virtual server. However, a primary policy having a high priority and a secondary policy having a low priority are given, and the secondary policy is further satisfied as much as possible in the configuration satisfying the primary policy. Various configurations may be selected. In addition, an interface that assigns numerical weights to multiple policies is also conceivable. Here, for simplicity of explanation, only one policy is assumed.
図8は図7に示した仮想サーバ1_370aの論理ハードウェア要求I/F350aに
基づいて仮想マシンモニタ300の論理ハードウェア割当処理部801が物理リソースの
割り当てを行った結果に対応した物理−論理ハードウェア割当表310の構成と内容を示
している。なお、仮想マシンモニタ300がハードウェアリソースを割り当てる処理につ
いては、後述の図55〜図63で詳述する。
FIG. 8 shows the physical-logical hardware corresponding to the result of the physical hardware assignment processing unit 801 of the virtual machine monitor 300 assigning physical resources based on the logical hardware request I / F 350a of the virtual server 1_370a shown in FIG. The structure and contents of the hardware allocation table 310 are shown. Note that the processing by which the virtual machine monitor 300 allocates hardware resources will be described in detail with reference to FIGS.
物理−論理ハードウェア割当表310は、仮想サーバの通し番号を示す#351仮想サ
ーバ#351、当該仮想サーバの起動状態を示すon/off311、当該仮想サーバが
使用するリソースを示す使用リソース#としてI/Oアダプタ312、CPUコア313
、メモリ314、使用コンポーネント#315、使用ネットワーク#316から構成され
る。本実施形態では、論理ハードウェア要求I/F350aに従い、I/Oアダプタ#1
、3、CPUコア#0、1、2、3、DIMM#4、5、6、7を仮想サーバ1_370
aに割り当てている。また、使用リソース#のメモリ314には対応する物理アドレスが
0x1_0000_0000から4GB分となっている(この0x1_0000_000
0を仮想サーバ1のベースアドレスと呼ぶことがある)。また、これらのリソースが搭載
されたコンポーネントの識別子として110a、110b、160aが使用コンポーネン
ト#315に設定され、接続に使用するネットワーク#として#1、5、6が使用ネット
ワーク#316に設定された例を示している。
The physical-logical hardware allocation table 310 includes # 351
, A
3,
assigned to a. Further, the corresponding physical address in the
0 may be referred to as the base address of the virtual server 1). In addition, 110a, 110b, and 160a are set as used
図7の論理ハードウェア(HW)要求I/F350から図8の物理−論理H/W割当表
310を生成する具体的な手順については、後述する。
A specific procedure for generating the physical-logical H / W allocation table 310 of FIG. 8 from the logical hardware (HW) request I / F 350 of FIG. 7 will be described later.
図9は、上記論理ハードウェア要求I/F350aと物理−論理ハードウェア(HW)
割当表310に基づいて、仮想マシンモニタ300の論理ハードウェア割当処理部801
がマルチプロセッサシステム100上に割り当てた仮想サーバ1_370aを示す。図中
点線で囲まれた部分は図1のリソースのうち仮想サーバ1_370aに割り当てられたリ
ソースを示す。
FIG. 9 shows the logical hardware request I / F 350a and physical-logical hardware (HW).
Based on the allocation table 310, the logical hardware allocation processing unit 801 of the virtual machine monitor 300.
Shows the virtual server 1_370a allocated on the
<第1実施形態における動作>
以下、図10〜17で、本第1実施形態の動作について説明する。
<Operation in First Embodiment>
Hereinafter, the operation of the first embodiment will be described with reference to FIGS.
図10と図11は、仮想マシンモニタ300の論理ハードウェア割当処理部801によ
って上記図9で示したように仮想サーバ1_370aが割り当てられた後で、次の仮想サ
ーバ2に対する論理ハードウェア要求I/F350bおよび350cを示している。論理
ハードウェア要求I/F350bと350cは、どちらも同じI/Oアダプタ353、C
PUコア数354、メモリ量355を要求している。違いはリソース割当ポリシー356
のみで、論理ハードウェア要求I/F350bにおいては「CPU−メモリ優先」となっ
ているのに対して、論理ハードウェア要求I/F350cにおいては「I/O−メモリ優
先」となっている。以下の例では、これらのポリシーの違いにより、異なるリソースが割
り当てられる様子を示す。
10 and FIG. 11 show the logical hardware request I / I for the next
The number of
However, in the logical hardware request I / F 350b, “CPU-memory priority” is set, whereas in the logical hardware request I / F 350c, “I / O-memory priority” is set. The following example shows how different resources are allocated due to differences in these policies.
図12と図13は、仮想サーバ2に対する上記図10,図11の論理ハードウェア要求
I/F350に対して、仮想マシンモニタ300の論理ハードウェア割当処理部801が
割り当てを行った結果の2通りの物理−論理ハードウェア割当表310を示している。ど
ちらもI/Oアダプタ312は#2で同じだが、使用CPUコア313とメモリ314が
異なっている。図12の物理−論理ハードウェア割当表310bの方ではCPUコア#4
、5とDIMM#8、9、10、11を割り当てているのに対して、図13の物理−論理
ハードウェア割当表310cではCPUコア#6、7とDIMM#0、1、2、3を割り
当てている。この2通り以外にもリソースの割り当て方は考えられるが、本質的に変わら
ない割り当て方は排除する等として、いくつか割り当て方の候補を絞り込む。
FIGS. 12 and 13 show two types of results obtained when the logical hardware allocation processing unit 801 of the virtual machine monitor 300 allocates the logical hardware request I / F 350 of FIGS. 10 and 11 to the
5 and
図10の論理ハードウェア要求I/F350bでは、CPU−メモリ優先のポリシーを
要求しているため、CPUソケット110cのCPUコア#4,#5と、CPUソケット
110cに接続されるメモリ#8〜11を仮想サーバ2へ割り当てて、リソースの距離を
0とすることでCPUとメモリの距離が短いものを選択している。一方、図11の論理ハ
ードウェア要求I/F350cでは、I/O−メモリ優先のポリシーを要求しているため
、I/Oデバイスとメモリの距離が最も短くなるように、I/Oアダプタ#2に最も近い
メモリ#0〜#3を選択している。このように、仮想マシンモニタ300の論理ハードウ
ェア割当処理部801は、要求されたポリシーに応じて、仮想サーバに割り当てるハード
ウェアリソースを最適化することができる。
Since the logical hardware request I / F 350b in FIG. 10 requests a CPU-memory priority policy, the
図14は、図12に示した割当表310bに対応して、仮想マシンモニタ300が各リ
ソース間の距離を計算したリソース間距離計算表600bを示している。リソース間距離
計算表600bは、仮想サーバの識別子(または連番)を示す仮想サーバの番号#351
と、各仮想サーバ番号#351ごとに、仮想サーバ内のリソース間の距離を計算するため
の表である。カテゴリ601には、リソース割当ポリシーに対応したCPU−メモリ、I
/O−メモリ、CPU−I/Oの3種類のカテゴリが存在する。それぞれのカテゴリ60
1ごとにリソースfrom602からリソースto603までのコンポーネント間距離6
04を、所属するコンポーネント#と、コンポーネント間距離対応表500に従って仮想
マシンモニタ300が計算する。この例では、CPUコア#4、#5とDIMM#8、9
、10、11はいずれも同一のコンポーネント110c上に搭載されているので、コンポ
ーネント間距離604は0となる。一方、I/Oアダプタ#2が搭載されたコンポーネン
ト160aと、DIMM#8、9、10、11が搭載されたコンポーネント110cとの
距離は、コンポーネント間距離対応表500に従うと2であるため、コンポーネント間距
離604は2となる。CPUコア#4、5とI/Oアダプタ#2との間の距離も同様に2
となる。最後にカテゴリ601ごとにコンポーネント間距離の総和605を計算する。こ
の例では、CPU−メモリは0、I/O−メモリは2、CPU−I/Oは4、となる。
FIG. 14 shows an inter-resource distance calculation table 600b in which the virtual machine monitor 300 calculates the distance between each resource, corresponding to the allocation table 310b shown in FIG. The inter-resource distance calculation table 600b is a virtual
And a table for calculating a distance between resources in the virtual server for each virtual
There are three categories: / O-memory and CPU-I / O. Each category 60
04 is calculated by the virtual machine monitor 300 according to the component # to which it belongs and the inter-component distance correspondence table 500. In this example,
Since 10 and 11 are both mounted on the
It becomes. Finally, the
図15は、図13に示した物理−論理ハードウェア割当表310cに対応したリソース
間距離計算表600cを示している。CPUコア#6、#7の搭載されたコンポーネント
110dと、DIMM#0、1、2、3の搭載されたコンポーネント110aとの間の距
離は1なので、コンポーネント間距離604は1となる。一方I/Oアダプタ#2の搭載
されたコンポーネント160aとDIMM#0、1、2、3の搭載されたコンポーネント
110aとの間の距離は1なので、コンポーネント間距離604は1となる。最後にCP
Uコア#6、7の搭載されたコンポーネント110dとI/Oアダプタ#2の搭載された
コンポーネント160aとの距離は2なので、コンポーネント間距離604は2となる。
コンポーネント間距離の総和605は、CPU−メモリが2、I/O−メモリが1、CP
U−I/Oが4となる。
FIG. 15 shows an inter-resource distance calculation table 600c corresponding to the physical-logical hardware allocation table 310c shown in FIG. Since the distance between the
Since the distance between the
The total
U-I / O is 4.
以上のようにしてリソース間距離計算表600を計算したリソース割当候補の中から、
リソース割当ポリシーを最も満たす候補を選択する。350bにおける「CPU−メモリ
優先」の場合は、コンポーネント間距離の総和605のCPU−メモリの値が小さくなる
リソース割当を選ぶ。それに対して「I/O−メモリ優先」の場合は、コンポーネント間
距離の総和605のI/O−メモリの値が小さくなるリソース割当を選ぶ。物理−論理ハ
ードウェア割当表310bと310cを比べた場合、「CPU−メモリ優先」の場合は3
10b、「I/O−メモリ優先」の場合は310cのリソース割当がそれぞれ選択される
。
From the resource allocation candidates that have calculated the inter-resource distance calculation table 600 as described above,
Select the candidate that best meets the resource allocation policy. In the case of “CPU-memory priority” in 350b, a resource allocation with a smaller CPU-memory value of the
In the case of 10b, “I / O-memory priority”, the resource allocation of 310c is selected.
図16は図12に示した物理−論理ハードウェア割当表310bに対応する仮想サーバ
2_370bの構成図である。仮想サーバ2_370bは図中一点鎖線で示すように、C
PUソケット110cとそれに接続されたメモリ、およびI/Oアダプタ180bとから
構成される。
FIG. 16 is a configuration diagram of the virtual server 2_370b corresponding to the physical-logical hardware allocation table 310b illustrated in FIG. The virtual server 2_370b is represented as C in FIG.
The
図17は図13に示した物理−論理ハードウェア割当表310cに対応する仮想サーバ
の構成図である。仮想サーバ2_370bは図中一点鎖線で示すように、CPUソケット
110d上のCPUコア#6、7と、CPUソケット110a上のDIMM#0、1、2
、3と、I/Oアダプタ180bとから構成される。
FIG. 17 is a configuration diagram of a virtual server corresponding to the physical-logical hardware allocation table 310c shown in FIG. The virtual server 2_370b has
3 and an I /
以上の例により、論理ハードウェア要求I/F350のリソース割当ポリシーの違いに
より、同じI/Oアダプタ・CPUコア数・メモリ量を要求した場合でも、異なるリソー
スが割り当てることができ、管理者の希望する仮想サーバを、自動的に構成することが可
能となる。
By the above example, due to the difference in the resource allocation policy of the logical hardware request I / F 350, different resources can be allocated even if the same I / O adapter, the number of CPU cores, and the memory amount are requested. The virtual server to be configured can be automatically configured.
<変形例1>
続いて第一の実施形態の第一の変形例を示す。図18〜図20に、本変形例1における
仮想サーバ1_370aの論理ハードウェア要求I/F350dを図18に示し、この論
理ハードウェア要求I/F350dから仮想マシンモニタ300の論理ハードウェア割当
処理部801が割り当てを行った結果の物理−論理ハードウェア割当表310dを図19
に示し、および仮想サーバ1_370aの構成を図20に示す。I/Oアダプタとして1
80aと180cを要求しているのは前記第1実施形態と同じだが、上述の第一の実施形
態と違い、仮想サーバ1は2つのCPUコアと8GBのメモリを要求している。この要求
に対して仮想マシンモニタ300の論理ハードウェア割当処理部801は要求ポリシーで
あるCPU−I/O優先のポリシーから図19、20に示すようなリソースの割当を行っ
た。
<
Then, the 1st modification of 1st embodiment is shown. 18 to 20 show the logical hardware request I / F 350d of the virtual server 1_370a in the first modification example in FIG. 18, and from this logical hardware request I / F 350d, the logical hardware allocation processing unit 801 of the virtual machine monitor 300 is shown. FIG. 19 shows a physical-logical hardware allocation table 310d as a result of the allocation performed by FIG.
And the configuration of the virtual server 1_370a is shown in FIG. 1 as an I / O adapter
The request for 80a and 180c is the same as in the first embodiment, but unlike the first embodiment described above, the
続いて図21〜28で上記図18〜図20の仮想サーバ1の割当後に、図21に示す論
理ハードウェア要求I/F350eによる仮想サーバ2のリソース要求を行い、図22に
示す論理ハードウェア要求I/F350fによる仮想サーバ2のリソース要求を行った場
合を示す。仮想サーバ2は、前記第一の実施形態と同じく、I/Oアダプタ180bとC
PUコア数2、4GBのメモリを要求している。それに対して、図21の論理ハードウェ
ア要求I/F350eではリソース割当ポリシー356として「CPU−メモリ優先」を
、350fではリソース割当ポリシー356として「CPU−I/O優先」を指定してい
る。
Subsequently, after allocation of the
It requires memory with 2 or 4 GB PU cores. On the other hand, in the logical hardware request I / F 350e of FIG. 21, “CPU-memory priority” is specified as the
図23と図24は、それぞれ上記図21、図22の物理−論理ハードウェア割当表31
0e、310fの仮想サーバ2に対する異なるリソース割当の例で、仮想マシンモニタ3
00の論理ハードウェア割当処理部801が割り当てを行った結果である。物理−論理ハ
ードウェア割当表310eではCPUコアとメモリが同一のCPUソケット110c上に
割り当てられているのに対して、物理−論理ハードウェア割当表310fではCPUコア
はCPUソケット110a上に、DIMMはCPUソケット110d上に割り当てられて
いる。
FIG. 23 and FIG. 24 show the physical-logical hardware allocation table 31 of FIG. 21 and FIG. 22, respectively.
Examples of different resource allocations for the
The logical hardware allocation processing unit 801 of 00 performs the allocation. In the physical-logical hardware allocation table 310e, the CPU core and the memory are allocated on the
図25と図26は物理−論理ハードウェア割当表310eと310fのそれぞれの割当
に従ってリソース間距離計算表600e、600fを計算した結果である。図25のリソ
ース間距離計算表600eではコンポーネント間距離の総和605はCPU−メモリが0
、I/O−メモリが2、CPU−I/Oが4となる。一方、図26のリソース間距離計算
表600fではコンポーネント間距離の総和605はCPU−メモリが2、I/O−メモ
リが2、CPU−I/Oが2、となる。この結果、「CPU−メモリ優先」の場合にはC
PU−メモリのコンポーネント間距離の総和605が小さい310eの割当が、「CPU
−I/O優先」の場合には、CPU−I/Oのコンポーネント間距離の総和605が小さ
い310fの割当が選択される。
FIG. 25 and FIG. 26 show the results of calculating the inter-resource distance calculation tables 600e and 600f according to the respective allocations of the physical-logical hardware allocation tables 310e and 310f. In the inter-resource distance calculation table 600e in FIG. 25, the
, I / O-memory is 2, and CPU-I / O is 4. On the other hand, in the inter-resource distance calculation table 600f of FIG. 26, the total
The allocation of 310e having a
In the case of “-I / O priority”, the allocation of 310f having the small
図27は上記図23の物理−論理ハードウェア割当表310eに対応する仮想サーバの
構成図である。仮想サーバ2_370bはCPUソケット110c上のCPUコア#4、
5とDIMM#8、9、10、11と、I/Oアダプタ180bとから構成される。
FIG. 27 is a configuration diagram of a virtual server corresponding to the physical-logical hardware allocation table 310e of FIG. Virtual server 2_370b is
5,
図28は上記図24の物理−論理ハードウェア割当表310fに対応する仮想サーバの
構成図である。仮想サーバ2_370bはCPUソケット110a上のCPUコア#0、
1と、CPUソケット110d上のDIMM#12、13、14、15と、I/Oアダプ
タ180bとから構成される。
FIG. 28 is a configuration diagram of a virtual server corresponding to the physical-logical hardware allocation table 310f of FIG. Virtual server 2_370b is
1,
以上が第一の実施形態の第一の変形例である。 The above is the first modification of the first embodiment.
<変形例2>
続いて第一の実施形態の第二の変形例を示す。図29〜図31に、本変形例2における
仮想サーバ1_370aの論理ハードウェア要求I/F350gを図29に示し、物理−
論理ハードウェア割当表310gを図30に示し、および仮想サーバ1_370aの構成
を図31に示す。I/Oアダプタとしては180aと180cを要求しているのは前述の
第1実施形態と同じであるが、CPUコアは1つ、メモリも2GBしか要求していない。
また、ポリシーとしてはCPU−メモリ−I/O優先ということで、なるべく各コンポー
ネント間の距離が近くなるような配置を選ぶことになる。この場合は最初の仮想サーバで
あるため、まず必要なI/Oアダプタ180a、180cが接続されたI/Oハブ160
aに近いCPUソケット110aを選択し、110a上のCPUコアとDIMMを割り当
てることでこのポリシーは満足させることができる。
<
Then, the 2nd modification of 1st embodiment is shown. 29 to 31 show the logical hardware request I / F 350g of the virtual server 1_370a in the second modification in FIG.
The logical hardware allocation table 310g is shown in FIG. 30, and the configuration of the virtual server 1_370a is shown in FIG. The I / O adapters requesting 180a and 180c are the same as in the first embodiment described above, but only one CPU core and 2 GB memory are required.
Further, since the policy is CPU-memory-I / O priority, an arrangement is selected so that the distance between the components is as close as possible. In this case, since this is the first virtual server, first, the I /
This policy can be satisfied by selecting a
図32〜図34は、仮想サーバ2に対する、リソース割当ポリシー356だけが異なる
3つの論理ハードウェア要求I/F350を示している。全てに共通して、要求I/Oア
ダプタ353は180b、要求CPUコア数354は1、要求メモリ量355は2GB、
優先度は5で共通である。図32の論理ハードウェア要求I/F350hは リソース割
当ポリシー356として「信頼性優先」を指定している。図33の論理ハードウェア要求
I/F350iはリソース割当ポリシー356として「帯域優先」を指定している。図3
4の論理ハードウェア要求I/F350jはリソース割当ポリシー356として「省電力
優先」を指定している。以下、各ポリシーに従って、どのような構成が選択されるのかを
見ていく。
FIGS. 32 to 34 show three logical hardware request I / Fs 350 that differ only in the
The priority is 5 in common. The logical hardware request I / F 350h in FIG. 32 designates “reliability priority” as the
The logical hardware request I / F 350j of No. 4 specifies “power saving priority” as the
図35〜図36は、2通りのリソース割当に対応した物理−論理ハードウェア割当表3
10を示している。図35の物理−論理ハードウェア割当表310hでは、CPUコアと
メモリとして、仮想サーバ1が使用しているのとは異なるCPUソケット110b上のC
PUコア#2とDIMM#4、5を割り当てて、要求された信頼性優先のポリシーを満足
している。一方、図36の物理−論理ハードウェア割当表310iにおいては、仮想サー
バ1が使用しているのと同じCPUソケット110a上のCPUコア#1とDIMM#2
、3を割り当てて、要求された帯域優先のポリシーを満足している。
35 to 36 show the physical-logical hardware allocation table 3 corresponding to the two resource allocations.
10 is shown. In the physical-logical hardware allocation table 310h of FIG. 35, C on a
3 is satisfied, and the requested bandwidth priority policy is satisfied.
割当ポリシーが、前述の実施形態までのような距離優先でない場合には、リソース割当
の基準として前記リソース間距離計算表600に代わる別の指標が必要となる。
When the allocation policy is not distance priority as in the above-described embodiment, another index is required instead of the inter-resource distance calculation table 600 as a resource allocation reference.
図37〜図38は、前記リソース間距離計算表600に代わるコンポーネント・ネット
ワーク割当表650を示している。コンポーネント・ネットワーク割当表650は、複数
仮想サーバ間で共用しているコンポーネントやネットワーク、および実効ネットワーク帯
域を仮想マシンモニタ300の論理ハードウェア割当処理部801が調べるための表であ
り、仮想サーバの識別子または連番を示す仮想サーバ#351、仮想サーバ間で共用して
いるコンポーネントの識別子を示す共用コンポーネント#651、共用しているコンポー
ネントを使用するために利用しているネットワークの識別子を示す共用ネットワーク#6
52の項目と、さらに各仮想サーバ内で使用しているネットワーク全てに対応して、ネッ
トワーク#653、共用数654、実効帯域655、といった各項目から構成される。
37 to 38 show a component network allocation table 650 in place of the inter-resource distance calculation table 600. FIG. The component / network allocation table 650 is a table for the logical hardware allocation processing unit 801 of the virtual machine monitor 300 to check the components and networks shared among a plurality of virtual servers and the effective network bandwidth, and the identifier of the virtual server. Alternatively, a
52 items and items such as
図37のコンポーネント・ネットワーク割当表650hは、図35の物理−論理ハード
ウェア割当表310hのリソース割当に対応した表である。共用コンポーネント#651
としてはI/Oハブ160aが該当し、共用ネットワーク#652は無しとなる。各ネッ
トワーク#653に対して共用していないため共用数654は1となる。実効帯域655
は、物理ネットワーク構成表550の各ネットワーク#555に対応した帯域560の値
を、共用数654(つまり仮想サーバの数)で割った値となる。この場合、共用数は1な
ので、ネットワークの帯域560の値がそのまま実効帯域655となる。
The component network allocation table 650h in FIG. 37 is a table corresponding to the resource allocation in the physical-logical hardware allocation table 310h in FIG. Shared
Corresponds to the I /
Is a value obtained by dividing the value of the
図38のコンポーネント・ネットワーク割当表650iは、図36の物理−論理ハード
ウェア割当表310iのリソース割当に対応した表である。共用コンポーネント#651
としてはI/Oハブ160aとCPUソケット110aが該当する。また、共用ネットワ
ーク#652として、I/Oハブ160aとCPUソケット110aを接続するネットワ
ーク#5が相当する。この場合共用数654は2であるため、実効帯域655は元のネッ
トワークの帯域560の半分の値となる。
The component network allocation table 650i in FIG. 38 is a table corresponding to the resource allocation in the physical-logical hardware allocation table 310i in FIG. Shared
Are the I /
リソース割当ポリシー356が「信頼性優先」であった場合、共用コンポーネント数・
共用ネットワーク数がなるべく少なくなるような構成を選択する。この場合、仮想サーバ
1と仮想サーバ2の要求するI/Oアダプタが同じI/Oハブ160a上にあるため、共
用コンポーネント数を0とすることは不可能である。しかし物理−論理ハードウェア割当
表310hと310iにそれぞれ対応したコンポーネント・ネットワーク割当表650h
、650iを比較した場合、図35に示した物理−論理ハードウェア割当表310hに対
応する方が共用コンポーネント数が少ないことがわかる。従って要求されたポリシーが「
信頼性優先」である図32の論理ハードウェア要求I/F350hの要求に対しては、図
35に示した物理−論理ハードウェア割当表310hの割当が選択される。
If the
Select a configuration that minimizes the number of shared networks. In this case, since the I / O adapters requested by the
, 650i, it can be seen that the number of shared components is smaller corresponding to the physical-logical hardware allocation table 310h shown in FIG. So the requested policy is "
For the request of the logical hardware request I / F 350h of FIG. 32 which is “reliability priority”, the allocation of the physical-logical hardware allocation table 310h shown in FIG. 35 is selected.
リソース割当ポリシー356が「帯域優先」だった場合、ネットワークの実効帯域がな
るべく大きくなるような構成を選択する。この場合、図37のコンポーネント・ネットワ
ーク割当表650hと650iを比較すると、コンポーネント・ネットワーク割当表65
0hの構成の方が実効帯域が大きい。従ってポリシーが「帯域優先」である論理ハードウ
ェア要求I/F350iの要求に対しては、実効帯域が最大となる図37の物理−論理ハ
ードウェア割当表310hの割当が選択される。
When the
The effective bandwidth is larger in the configuration of 0h. Therefore, for the request of the logical hardware request I / F 350i whose policy is “bandwidth priority”, the allocation in the physical-logical hardware allocation table 310h of FIG. 37 that maximizes the effective bandwidth is selected.
図39は、要求されたポリシーが省電力優先の場合に用いられる図35の物理−論理ハ
ードウェア割当表310hに対応した割当リソース消費電力計算表700hを示している
。本表は仮想サーバ単位ではなく、システム全体で使用されているリソースとコンポーネ
ントに対して仮想マシンモニタ300によって構成され、対象のハードウェアがリソース
かコンポーネントかを示すカテゴリ701、リソース種別/コンポーネント種別を示す7
02、使用リソースまたはコンポーネントの識別子を示す使用リソース/コンポーネント
#703、各リソース毎の消費電力を示す消費電力704、そして消費電力の総和705
から構成される。リソースとしてはCPUコア、メモリ、I/Oスロット、I/Oアダプ
タの各項目があり、使用されているリソースが列挙されていく。また、消費電力704は
、物理コンポーネント構成表400のリソース消費電力430、およびI/Oアダプタ構
成表450の消費電力475の項目を参照し、それぞれの値を設定する。カテゴリ701
がコンポーネントのエントリでは、各リソースを使用する際に必要となるコンポーネント
が列挙され、コンポーネントの消費電力704は、物理コンポーネント構成表400のコ
ンポーネント消費電力435に従って設定される。消費電力の総和705は、消費電力7
04の総和として仮想マシンモニタ300によって計算される。
FIG. 39 shows an allocation resource power consumption calculation table 700h corresponding to the physical-logical hardware allocation table 310h of FIG. 35 that is used when the requested policy is power saving priority. This table is configured by the virtual machine monitor 300 for resources and components used in the entire system, not in units of virtual servers, and shows a
02, used resource /
Consists of As resources, there are items of CPU core, memory, I / O slot, and I / O adapter, and used resources are listed. The
In the component entry, the components required when using each resource are listed, and the
The sum of 04 is calculated by the virtual machine monitor 300.
図40は、図36の物理−論理ハードウェア割当表310iに対応した割当リソース消
費電力計算表700iを示している。使用しているリソースの数自体は物理−論理ハード
ウェア割当表310hと310iで変わらないため、リソースの項目は使用しているリソ
ースの番号#こそ違うもののほとんど同じある。違いが出るのはコンポーネントの項目で
、物理−論理ハードウェア割当表310hでは使用するコンポーネントは合計3つであっ
たが、物理−論理ハードウェア割当表310iでは使用するコンポーネントは合計2つと
なっている。このため、消費電力の総和705を比較すると、図39の割当リソース消費
電力計算表700hでは345[W]という値なのに対して700iでは265[W]という
値になっている。
FIG. 40 shows an allocation resource power consumption calculation table 700i corresponding to the physical-logical hardware allocation table 310i of FIG. Since the number of used resources does not change in the physical-logical hardware allocation tables 310h and 310i, the items of resources are almost the same although the numbers # of the used resources are different. The difference is in the item of the component. In the physical-logical hardware allocation table 310h, the total number of components used is three, but in the physical-logical hardware allocation table 310i, the total number of components used is two. . Therefore, when the
論理ハードウェア要求I/F350のリソース割当ポリシー356が「省電力優先」だ
った場合、仮想マシンモニタ300は消費電力の総和705がなるべく小さくなるような
割当方法を選択する。従って、ポリシーが「省電力優先」である図34の論理ハードウェ
ア要求I/F350jの要求に対しては、仮想マシンモニタ300の論理ハードウェア割
当処理部801は図36の物理−論理ハードウェア割当表310iの割当を選択する。
When the
図41は、図36の物理−論理ハードウェア割当表310hに対応する仮想サーバの構
成図である。
FIG. 41 is a block diagram of a virtual server corresponding to the physical-logical hardware allocation table 310h of FIG.
図42は、図37の物理−論理ハードウェア構成表310iに対応する仮想サーバの構
成図である。
FIG. 42 is a configuration diagram of a virtual server corresponding to the physical-logical hardware configuration table 310i of FIG.
以上が第一の実施形態の第二の変形例である。 The above is the second modification of the first embodiment.
なお、上記において消費電力を優先するポリシーの場合、消費電力に代わって各リソー
ス及びコンポーネントの発熱量を用いても良い。
Note that in the case of the above policy that prioritizes power consumption, the amount of heat generated by each resource and component may be used instead of power consumption.
<第1実施形態1におけるリソース割当の具体的手順>
ここで、第1の実施形態における、論理ハードウェア構成要求I/F350から物理−
論理ハードウェア構成表310を生成する手順について、図55〜62を用いて詳しく説
明する。
<Specific Resource Allocation Procedure in First Embodiment>
Here, from the logical hardware configuration request I / F 350 in the first embodiment, the physical-
A procedure for generating the logical hardware configuration table 310 will be described in detail with reference to FIGS.
図55は仮想マシンモニタ300の論理ハードウェア割当処理部801で行われる論理
ハードウェア割当処理全体のフローチャートを示している。まず、ゲストOS360に要
求されたI/Oアダプタを割り当て、さらに未割当のCPU・メモリの中から選んで割り
当て、要求されたポリシーに従って評価を行い、最も要求されたポリシーに近いCPU・
メモリの組み合わせを選ぶ、という手順となる。
FIG. 55 shows a flowchart of the entire logical hardware allocation processing performed by the logical hardware allocation processing unit 801 of the virtual machine monitor 300. First, the requested I / O adapter is allocated to the guest OS 360, and further selected and allocated from unallocated CPU and memory, evaluated according to the requested policy, and the CPU and CPU closest to the most requested policy are allocated.
The procedure is to select a combination of memories.
まずステップ800へと進む。仮想マシンモニタ300の論理ハードウェア割当処理部
801は、物理−論理ハードウェア割り当て表310に、仮想サーバ351のエントリを
確保する。ステップ805へと進む。
First, the process proceeds to step 800. The logical hardware allocation processing unit 801 of the virtual machine monitor 300 reserves an entry for the
ステップ805は、論理ハードウェア要求I/F350aで要求されたI/Oアダプタ
353の割り当て要求が専有か共有かを判定する。判定の結果専有であればステップ81
0へ、共有であればステップ830へと進む。
Step 805 determines whether the allocation request of the I /
If 0, if shared, proceed to step 830.
ステップ810は、要求されたI/Oアダプタ353が割り当て可能かを判定する。既
に他の仮想サーバに割り当てられていて割り当て不可である場合はステップ820へ、割
り当て可能であればステップ830へと進む。
Step 810 determines whether the requested I /
ステップ820は、論理ハードウェア要求I/F350に対してエラーを応答するステ
ップである。エラー応答後、ステップ890へと進む。
Step 820 is a step of responding an error to the logical hardware request I / F 350. After the error response, the process proceeds to step 890.
ステップ830は、I/Oアダプタ割り当て処理となる。I/Oアダプタ割り当て処理
830のサブルーチンのフローは図56に示す。このサブルーチンの完了後、ステップ8
40へと進む。
Step 830 is an I / O adapter allocation process. The subroutine flow of the I / O
Proceed to 40.
ステップ840は、割り当て候補CPU841と割り当て候補メモリ842を空集合(
Ф)に設定するステップである。ここで割り当て候補CPU841と割り当て候補メモリ
842は、それまでの組み合わせの中で最も割り当てポリシーに近いCPUとメモリの組
み合わせの候補を示す。この時点ではまだCPU・メモリは選んでいないため、空集合(
Ф)とする。ステップ850へと進む。
In
This is the step set in (ii). Here, the allocation candidate CPU 841 and the allocation candidate memory 842 indicate CPU and memory combination candidates that are closest to the allocation policy among the combinations so far. At this point, no CPU or memory has been selected, so an empty set (
Ф). Proceed to step 850.
ステップ850は、未割り当てのCPU・メモリの中から要求を満たすCPU・メモリ
を選択する処理である。CPU/メモリ選択処理850のサブルーチンのフローは図57
に示す。このサブルーチンの完了時、エラー応答があった場合はステップ820へと進む
。そうでない場合はステップ860へと進む。
Step 850 is a process of selecting a CPU / memory satisfying the request from unallocated CPU / memory. The subroutine flow of the CPU /
Shown in If there is an error response at the completion of this subroutine, the process proceeds to step 820. Otherwise, go to step 860.
ステップ860は、ステップ850で選んだCPU・メモリに対して、割り当てポリシ
ーに従った評価を行うステップである。ポリシー評価860のサブルーチンのフローは図
58に示す。このサブルーチンの完了後、ステップ870へと進む。
In
ステップ870は、未割り当てのCPU/メモリの組み合わせがまだあるか判定するス
テップである。まだ残っている場合はステップ850へと戻る。そうでない場合はステッ
プ880へと進む。
Step 870 is a step of determining if there are more unassigned CPU / memory combinations. If it still remains, return to step 850. Otherwise, go to step 880.
ステップ880は割当候補CPU841と割当候補メモリ842を物理−論理ハードウ
ェア割当表310の仮想サーバ351へ割り当てる処理である。CPU/メモリ割当処理
880のサブルーチンのフローは図63に示す。このサブルーチンが完了すると論理ハー
ドウェア割当処理は完了となる。
Step 880 is processing for allocating the allocation candidate CPU 841 and the allocation candidate memory 842 to the
ステップ890は、ステップ850で割り当ての途中でエラーとなった場合(またはス
テップ810で割り当てるリソースが足りなかった場合)に、物理−論理ハードウェア割
当表310の仮想サーバ351のエントリを抹消するステップである。このエントリの抹
消後、論理ハードウェア割当処理は完了となる。
Step 890 is a step of deleting the entry of the
図56にI/Oアダプタ割当処理830のサブルーチンのフローを示す。まずステップ
900へと進む。
FIG. 56 shows a flow of a subroutine of the I / O
ステップ900は、論理ハードウェア要求I/F350aのI/Oアダプタ353に対
応するI/Oアダプタ#455をI/Oアダプタ構成表450から選択し、物理−論理ハ
ードウェア構成表310の仮想サーバ351のエントリの使用I/Oアダプタ312へ追
加するステップである。ステップ901へ進む。
The
ステップ901は、I/Oアダプタ353に対応するI/Oスロット#465をI/O
アダプタ構成表450から選択し、物理コンポーネント構成表400のリソース種別41
0がI/OスロットのエントリからI/Oスロット#465に対応するエントリを探し、
対応するコンポーネント420を物理−論理ハードウェア構成表310の仮想サーバ35
1のエントリの使用コンポーネント315へ追加するステップである。ステップ902へ
進む。
In
The resource type 41 of the physical component configuration table 400 is selected from the adapter configuration table 450
0 searches for the entry corresponding to I / O slot # 465 from the entry of I / O slot,
The
It is a step of adding to the
ステップ902は、全てのI/Oアダプタ353を割り当てたか判定するステップであ
る。まだ割り当てていないアダプタが残っている場合はステップ900へ戻る。そうでな
い場合はI/Oアダプタ割り当て処理830は完了となる。
Step 902 is a step of determining whether all the I /
図57にCPU/メモリ選択処理850のサブルーチンのフローを示す。まずステップ
905へと進む。
FIG. 57 shows a flow of a subroutine of the CPU /
ステップ905は、論理ハードウェア要求I/F350aで要求されたCPUコア数3
54とメモリ量355が割り当て可能かどうか判定するステップである。割り当て不可能
である場合、ステップ907へと進む。割り当て可能ならばステップ906へと進む。
In
54 and whether or not the
ステップ906は、未割り当ての組み合わせの中から、論理ハードウェア要求I/F3
50aで要求されたCPUコア数354とメモリ量355を満たすCPUコアとメモリを
選び、仮割当CPU851と仮割当メモリ852に設定するステップである。これにより
CPU/メモリ選択処理850は完了となる。
In
In this step, CPU cores and memories satisfying the
ステップ907は、エラー応答するステップである。これによってCPU/メモリ選択
処理850は完了となる。
Step 907 is an error response step. As a result, the CPU /
図58に、ポリシー評価860のサブルーチンのフローを示す。まずステップ910へ
と進む。
FIG. 58 shows a flow of a subroutine of
ステップ910は、論理ハードウェア要求I/F350aの割り当てポリシー356に
従って条件分岐を行うステップである。割り当てポリシー356がCPU−メモリ優先、
CPU−I/O優先、I/O−メモリ優先、CPU−I/O−メモリ優先のいずれかであ
る場合、ステップ920へと進む。ポリシー356が信頼性優先である場合、ステップ9
30へと進む。ポリシー356が帯域優先である場合、ステップ940へと進む。ポリシ
ー356が省電力優先である場合、ステップ950へと進む。
Step 910 is a step of performing conditional branching according to the
If any of CPU-I / O priority, I / O-memory priority, and CPU-I / O-memory priority is selected, the process proceeds to step 920. If
Proceed to 30. If the
ステップ920はコンポーネント間距離算出処理である。図59にサブルーチンのフロ
ーを示す。このサブルーチンの完了後ステップ911へと進む。
Step 920 is a distance calculation process between components. FIG. 59 shows a subroutine flow. After completion of this subroutine, the process proceeds to step 911.
ステップ930はコンポーネント共有数算出処理である。図60にサブルーチンのフロ
ーを示す。完了後ステップ911へと進む。
Step 930 is a component sharing number calculation process. FIG. 60 shows a subroutine flow. Proceed to step 911 after completion.
ステップ940は実効帯域算出処理である。図61にサブルーチンのフローを示す。完
了後ステップ911へと進む。
Step 940 is an effective bandwidth calculation process. FIG. 61 shows a subroutine flow. Proceed to step 911 after completion.
ステップ950は消費電力算出処理である。図62にサブルーチンのフローを示す。完
了後ステップ911へと進む。
Step 950 is a power consumption calculation process. FIG. 62 shows a subroutine flow. Proceed to step 911 after completion.
ステップ911は、割当候補CPU841と割当候補メモリ842が空集合(Ф)かど
うかを判定するステップである。空集合(Ф)である場合、ステップ913へ進む。そう
でない場合、ステップ912へ進む。
Step 911 is a step of determining whether the allocation candidate CPU 841 and the allocation candidate memory 842 are empty sets (Ф). If it is an empty set (Ф), the process proceeds to step 913. Otherwise, go to step 912.
ステップ912は、割当候補ポリシー値843と比較して、仮割当ポリシー値853の
方が小さいかどうかを判定するステップである。ここでポリシー値とは、各割当ポリシー
356に従って、割り当てたリソース・コンポーネントの構成を定量的に評価するための
指数であり、小さい値である程より要求されたポリシーに近いと定義する。仮割当ポリシ
ー値853の方が割当候補ポリシー値843よりも小さい場合にはステップ913へと進
む。そうでない場合、ポリシー評価860は完了する。
Step 912 is a step of determining whether or not the temporary allocation policy value 853 is smaller than the allocation candidate policy value 843. Here, the policy value is an index for quantitatively evaluating the configuration of the allocated resource component according to each
ステップ913は、仮割当CPU851、仮割当メモリ852、仮割当ポリシー値85
3を、それぞれ割当候補CPU841、割当候補メモリ842、割当候補ポリシー値84
3へと代入するステップである。この処理によって、割当候補CPU841、割当候補メ
モリ842、割当候補ポリシー値843には、これまで割り当てた中で最もポリシー値が
小さな組み合わせのCPU・メモリの組み合わせが保持される。この処理により、ポリシ
ー評価860は完了する。
Step 913 includes temporary allocation CPU 851, temporary allocation memory 852, temporary allocation policy value 85.
3, assignment candidate CPU 841, assignment candidate memory 842, assignment candidate policy value 84, respectively.
This is a step of substituting into 3. By this process, the allocation candidate CPU 841, the allocation candidate memory 842, and the allocation candidate policy value 843 hold the CPU / memory combination having the smallest policy value allocated so far. With this process, the
なお、図58のステップ913において、割当候補ポリシー値843は仮割当ポリシー
値853の値を引き継ぐ形で設定されまており、初回のステップ912では割当候補ポリ
シー値843の初期値は不定となるが、初回は図55のステップ840において、割当候
補CPU841と割当候補メモリ842がФに設定されるので、ステップ911の判定に
て必ずステップ913へと向かうことになり、ステップ912は通過しない。なお、割当
候補ポリシー値843を所定の最大値で初期化しておいてもよい。
58, the allocation candidate policy value 843 is set so as to inherit the value of the temporary allocation policy value 853. In the
図59にコンポーネント間距離算出920のサブルーチンのフローを示す。まずステッ
プ921へと進む。
FIG. 59 shows a flow of a subroutine of the
ステップ921は、論理ハードウェア要求I/F350aの仮想サーバ351のI/O
アダプタ353と、仮割当CPU851と、仮割当メモリ852とを使って、リソース間
距離計算表600を作成するステップである。具体的には、
(1) 各リソースの所属するコンポーネントを物理コンポーネント構成表400より求
める。
(2) 各コンポーネント間の距離をコンポーネント間距離対応表500に従い、リソー
ス間距離計算表600のコンポーネント間距離604へと設定する。
(3) カテゴリ601別にコンポーネント間距離604の合計を求めΣ605へと代入
する。
といった処理から構成される。次に、ステップ922へと進む。
Step 921 is the I / O of the
In this step, the inter-resource distance calculation table 600 is created by using the
(1) The component to which each resource belongs is obtained from the physical component configuration table 400.
(2) The distance between each component is set to the
(3) The sum of the
It consists of the process. Next, the process proceeds to step 922.
ステップ922は、論理ハードウェア要求I/F350aの割当ポリシー356に従っ
て条件分岐を行うステップである。ポリシー356がCPU−メモリ優先である場合、ス
テップ923へと進む。ポリシー356がCPU−I/O優先である場合、ステップ92
4へと進む。ポリシー356がI/O−メモリ優先である場合、ステップ925へと進む
。ポリシー356がCPU−I/O−メモリ優先である場合、ステップ926へと進む。
Step 922 is a step of performing conditional branching according to the
Proceed to 4. If the
ステップ923は、リソース間距離計算表600のカテゴリ601のCPU−メモリに
対応するΣ605を仮割当ポリシー値853とするステップである。これによりコンポー
ネント間距離算出920は完了する。
Step 923 is a step in which
ステップ924は、リソース間距離計算表600のカテゴリ601のCPU−I/Oに
対応するΣ605を仮割当ポリシー値853とするステップである。これによりコンポー
ネント間距離算出920は完了する。
Step 924 is a step in which
ステップ925は、リソース間距離計算表600のカテゴリ601のI/O−メモリに
対応するΣ605を仮割当ポリシー値853とするステップである。これによりコンポー
ネント間距離算出920は完了する。
Step 925 is a step in which
ステップ926は、リソース間距離計算表600の全てのカテゴリ601のΣ605の
合計を仮割当ポリシー値853とするステップである。これによりコンポーネント間距離
算出920は完了する。
Step 926 is a step in which the sum of
図60に、コンポーネント共用数算出930のサブルーチンのフローを示す。まずステ
ップ931へと進む。
FIG. 60 shows a flow of a subroutine for the component sharing
ステップ931は、論理ハードウェア要求I/F350aのI/Oアダプタ353と、
仮割当CPU851と、仮割当メモリ852とを使った仮想サーバ351を含む、全ての
割当済みの仮想サーバに対して、コンポーネント・ネットワーク割当表650を作成する
ステップである。具体的には、
(1) 各リソースの所属するコンポーネントを物理コンポーネント構成表400より求
める。
(2) 異なる仮想サーバ間で共用されるコンポーネントを共用コンポーネント#651
へと設定する。
(3) 共用コンポーネント#の数を共用数654へと設定する。
といった処理から構成される。ステップ932へと進む。
ステップ932は、コンポーネント・ネットワーク割当表650の仮想サーバ351に対
応する共用数654を仮割当ポリシー値853とするステップである。これによりコンポ
ーネント共用数算出930は完了する。
Step 931 includes an I /
This is a step of creating the component / network allocation table 650 for all the allocated virtual servers including the
(1) The component to which each resource belongs is obtained from the physical component configuration table 400.
(2) A shared
Set to.
(3) Set the number of shared components # to the shared
It consists of the process. Proceed to step 932.
In
図61に、実効帯域算出940のサブルーチンのフローを示す。まずステップ941へ
と進む。
FIG. 61 shows a flow of a subroutine for
ステップ941は、論理ハードウェア要求I/F350aのI/Oアダプタ353と、
仮割当CPU851と、仮割当メモリ852とを使った仮想サーバ351を含む、全ての
割当済みの仮想サーバに対して、コンポーネント・ネットワーク割当表650を作成する
ステップである。具体的には、
(1) 各リソースの所属するコンポーネントを物理コンポーネント構成表400より求
める。
(2) コンポーネント間で使用するネットワークを物理ネットワーク構成表550より
求め、ネットワーク#653へと設定する。
(3) 異なる仮想サーバ間で共用されるネットワーク#653共用ネットワーク#65
2へと設定する。
(4) 各ネットワークの帯域を物理ネットワーク構成表550の帯域560より求め、
これを共有数654で割った値を実効帯域655へと設定する、
といった処理を含む。ステップ942へと進む。
Step 941 includes the I /
This is a step of creating the component / network allocation table 650 for all the allocated virtual servers including the
(1) The component to which each resource belongs is obtained from the physical component configuration table 400.
(2) A network to be used between components is obtained from the physical network configuration table 550 and set to the
(3)
Set to 2.
(4) Obtain the bandwidth of each network from the
A value obtained by dividing this by the sharing
Such processing is included. Proceed to step 942.
ステップ942は、コンポーネント・ネットワーク割当表650の仮想サーバ351に
対応する実効帯域655のマイナスを仮割当ポリシー値853とするステップである。こ
こでポリシー値853は小さいほどより要求したポリシーに近いと定義されている。一方
、実効帯域の絶対値は大きいほど良い。そこで実効帯域の値をマイナスとした値を仮割当
ポリシー値853とすることで、最も実効帯域の大きな構成が最終的には選ばれるように
している。これにより、実行帯域算出940は完了である。
Step 942 is a step in which the minus of the
図62に、消費電力算出950のサブルーチンのフローを示す。まずステップ951へ
と進む。
FIG. 62 shows a flow of a subroutine of
ステップ951は、論理ハードウェア要求I/F350aのI/Oアダプタ353と、
仮割当CPU851と、仮割当メモリ852とを使った仮想サーバ351を含む、全ての
割当済みの仮想サーバに対して、割当リソース消費電力計算表700を計算するステップ
である。具体的には、
(1) 各リソースの所属するコンポーネントを物理コンポーネント構成表400より求
める。
(2) 物理コンポーネント構成表400から、割当済の全てのリソースのリソース消費
電力430およびコンポーネントについて消費電力を求め、計算表700の消費電力70
4へと設定。
(3)全ての消費電力704の合計を計算しΣ705へと設定。
といった処理を含む。ステップ952へと進む。
Step 951 includes a logical hardware request I / F 350a I /
This is a step of calculating the allocation resource power consumption calculation table 700 for all allocated virtual servers including the
(1) The component to which each resource belongs is obtained from the physical component configuration table 400.
(2) From the physical component configuration table 400, the
Set to 4.
(3) The sum of all the
Such processing is included. Proceed to step 952.
ステップ952は、割当リソース消費電力計算表700の消費電力合計705を仮割当
ポリシー値853とするステップである。これにより、消費電力算出950は完了する。
Step 952 is a step in which the
図63に、CPU/メモリ割当処理880のサブルーチンのフローを示す。まずステッ
プ960へと進む。
FIG. 63 shows a flow of a subroutine of the CPU /
ステップ960は、割当候補CPU841を物理−論理ハードウェア構成表310の仮
想サーバ351のエントリの使用CPUコア313へ、割当候補メモリ842を使用メモ
リ314へ追加するステップである。ステップ961へと進む。
Step 960 is a step of adding the allocation candidate CPU 841 to the used
ステップ961は、物理コンポーネント構成表400のリソース種別410がCPUコ
アのエントリからCPUコア313に対応するエントリを探し、対応するコンポーネント
420を物理−論理ハードウェア構成表310の仮想サーバ351のエントリの使用コン
ポーネント315へ追加し、同じくリソース種別410がメモリのエントリからメモリ3
14に対応するエントリの使用コンポーネント315へ追加するステップである。ステッ
プ962へと進む。
In
14 to the
ステップ962は、全ての割当候補CPU841および割当候補メモリ842を割り当
てたかどうか判定するステップである。まだ未割当の割当候補CPU841または割当候
補メモリ842が残っている場合はステップ960へと戻る。そうでなければCPU/メ
モリ割当処理880は完了する。
Step 962 is a step of determining whether all allocation candidate CPUs 841 and allocation candidate memory 842 have been allocated. If the unassigned allocation candidate CPU 841 or the allocation candidate memory 842 still remains, the process returns to step 960. Otherwise, the CPU /
以上の一連の動作により、仮想マシンモニタ300は、コンソール230から指示され
た論理ハードウェア要求I/F350から、物理−論理ハードウェア割当表310を作る
ことができる。
Through the series of operations described above, the virtual machine monitor 300 can create the physical-logical hardware allocation table 310 from the logical hardware request I / F 350 instructed from the
以上のように本第1実施形態によれば、仮想マシンモニタ300は、マルチプロセッサ
システム100内のコンポーネントの物理的な位置情報を示すコンポーネント間の距離を
取得して、コンポーネント間距離対応表500を予め設定し、また、物理的なネットワー
クの構成や各リソースの消費電力を取得して物理コンポーネント構成表400とI/Oア
ダプタ構成表450及び物理ネットワーク構成表を予め設定しておく。そして、仮想マシ
ンモニタ300は、コンソール230から仮想サーバの生成(または設定)要求である論
理ハードウェア要求I/F350を受け付けて、まず、要求されたI/Oアダプタ180
を選択し、要求された仮想サーバへI/Oアダプタ180の専有割当を行う。次に、仮想
マシンモニタ300は、仮想サーバに上記コンポーネント間距離対応表500や物理コン
ポーネント構成表400からリソースの物理的な位置情報や消費電力を参照し、専有割当
を行ったI/Oデバイスから、要求されるポリシーを満たすCPUとメモリを選択して仮
想サーバに割り当てることで、要求されたポリシーに対して最適の仮想サーバを提供する
ことができる。
As described above, according to the first embodiment, the virtual machine monitor 300 acquires the distance between components indicating the physical position information of the components in the
Is selected, and the I / O adapter 180 is exclusively allocated to the requested virtual server. Next, the virtual machine monitor 300 refers to the physical location information and power consumption of the resource from the inter-component distance correspondence table 500 and the physical component configuration table 400 to the virtual server, and from the I / O device that has performed the dedicated allocation. By selecting a CPU and memory that satisfy the required policy and assigning them to the virtual server, it is possible to provide an optimal virtual server for the requested policy.
特に、一つの物理計算機で複数の仮想サーバ(ゲストOS)を稼動させる場合、仮想サ
ーバ毎にポリシーが異なっても、I/Oデバイス、CPUソケット、メモリの物理的な位
置情報から各仮想サーバに最適な構成を自動的に割り当てることが可能となり、仮想計算
機の可用性を向上させることが可能となるのである。
In particular, when a plurality of virtual servers (guest OSs) are operated on one physical computer, even if the policy differs for each virtual server, the physical location information of the I / O device, CPU socket, and memory is assigned to each virtual server. An optimum configuration can be automatically assigned, and the availability of the virtual machine can be improved.
<第2実施形態>(論理ハードウェア構成通知I/F)
図43〜図48にて本発明の第2の実施形態を示す。なお、本第2の実施形態のマルチ
プロセッサシステム100の構成は、前記第1実施形態と同様である。
Second Embodiment (Logical Hardware Configuration Notification I / F)
43 to 48 show a second embodiment of the present invention. The configuration of the
図43は仮想サーバ1_370aの論理ハードウェア要求I/F350kを示している
。論理ハードウェア要求I/F350kでは、4つのCPUコアと8GBのメモリ、I/
Oアダプタとして180dと180fを要求している。
FIG. 43 shows the logical hardware request I / F 350k of the virtual server 1_370a. In the logical hardware request I / F 350k, four CPU cores, 8 GB of memory, I / F
180d and 180f are requested as the O adapter.
図44は上記図43の論理ハードウェア要求I/F350kに対応した物理−論理ハー
ドウェア割当表310kを示している。図45に図1のマルチプロセッサシステム100
上に割り当てた仮想サーバ1_370aの配置を示す。図中点線で囲まれた部分が仮想サ
ーバ1_370aである。
FIG. 44 shows a physical-logical hardware allocation table 310k corresponding to the logical hardware request I / F 350k of FIG. 45 shows the
The arrangement of the virtual server 1_370a assigned above is shown. A portion surrounded by a dotted line in the figure is the virtual server 1_370a.
ここで仮想サーバ1_370a上のゲストOS1_360aの動作について考える。ゲ
ストOS1_360aはマルチプロセッサシステム100上のOSであり、上述のような
ACPIに準拠したCPUとメモリに関するAffinity制御の機能を持っているとする。Af
finity制御の機能により、ゲストOS360上のアプリケーションに対してCPUソケッ
ト110c上のCPUコア#4、5とDIMM#8、9、10、11を割り当てる、ある
いはCPUソケット110d上のCPUコア#6、7とDIMM#12、13、14、1
5を割り当てることにより、CPUコアからメモリへのアクセスのレイテンシを短くし、
性能向上を図る。しかしこのようなAffinity制御の機能を使うためには、ゲストOS1_
360aが仮想サーバ1のハードウェアの配置を知っている必要がある。そのために、仮
想マシンモニタ300からゲストOS360への構成情報通知I/F(論理ハードウェア
構成情報通知I/F340)が必要となる。
Here, consider the operation of the guest OS1_360a on the virtual server 1_370a. The guest OS1_360a is an OS on the
The
By assigning 5, the latency of access from the CPU core to the memory is shortened.
Improve performance. However, in order to use such an affinity control function, the guest OS1_
360 a needs to know the hardware arrangement of the
図46に仮想マシンモニタ300上にある物理ハードウェア構成情報750を示す。こ
れは物理−論理ハードウェア割当表310から二次的に作られる情報であり、CPUコア
120の識別子または連番を示すホストCPUコア#751、割り当てたメモリ150の
物理アドレスの始点を示すホスト物理アドレスベース752、および割り当てたメモリ1
50の量を示すホスト物理アドレス範囲753から成る。しかしこの情報をそのままゲス
トOS1_360aに対して通知しても、ゲストOS1_360aは正しくAffinity制御
を行うことはできない。なぜならば、仮想マシンモニタ300がゲストOS360aに割
り当てたマルチプロセッサシステム100上のホスト物理アドレスベースと、ゲストOS
1_360aにおけるゲスト物理アドレスベースとは異なるからである。
FIG. 46 shows physical hardware configuration information 750 on the virtual machine monitor 300. This is information that is secondarily created from the physical-logical hardware allocation table 310, host
It consists of a host
This is because it differs from the guest physical address base in 1_360a.
図48にホスト物理アドレス空間とゲスト物理アドレス空間の関係を示す。ホスト物理
アドレスベースの0x2_0000_0000に対してゲストOS1_360aを割り当
てた場合、ゲスト物理アドレスベースの0x0_0000_0000がホスト物理アドレ
スベースの0x2_0000_0000に相当するようにアドレスのずれが生じる。従っ
て、論理ハードウェア構成情報をゲストOS1_360aに対して通知する場合には、こ
のずれを考慮して通知する必要がある。
FIG. 48 shows the relationship between the host physical address space and the guest physical address space. When the guest OS1_360a is assigned to the host physical address base 0x2_0000_0000, an address shift occurs so that the guest physical address base 0x0_0000_0000 corresponds to the host physical address base 0x2_0000_0000. Therefore, when notifying the logical hardware configuration information to the guest OS1_360a, it is necessary to take into account this deviation.
図47に仮想マシンモニタ300からゲストOS1_360aに対する論理ハードウェ
ア構成情報通知I/F340を示す。論理ハードウェア構成情報通知I/F340は、ゲ
ストOS360に割り当てたCPUコア120の識別子または連番を示すゲストCPUコ
ア#341、ゲストOS360に割り当てたベースアドレスを示すゲスト物理アドレスベ
ース342、ゲストOS360に割り当てたアドレス範囲を示すゲスト物理アドレス範囲
343から成る。図47においてゲストCPUコア#341は、ゲストOS360内で0
から順番に付け直す。ゲスト物理アドレスベース342は、ホスト物理アドレスベース7
52から、仮想サーバ1_370aのベースアドレス0x2_0000_0000を引い
た値とする。ゲスト物理アドレス範囲343は、ホスト物理アドレス範囲753と同じ値
とする。以上により、ゲストOS1_360aがACPIに準拠したAffinity制御のため
に利用可能な使用論理ハードウェア構成情報が作られる。仮想マシンモニタ300は、こ
の論理ハードウェア構成情報通知I/F340を生成してゲストOS360に通知する。
なお、ここではCPU#341とメモリのアドレス範囲の組だけを通知するとしたが、よ
り高度な情報(たとえばリソース間距離計算表600のような距離の情報まで含めた)を
通知することも可能である。その場合でも、ホスト物理アドレスをゲスト物理アドレスへ
と変換する、という原則は変わらない。
FIG. 47 shows the logical hardware configuration information notification I / F 340 from the virtual machine monitor 300 to the guest OS1_360a. The logical hardware configuration information notification I / F 340 is sent to the guest
Re-install in order. The guest
The value obtained by subtracting the base address 0x2_0000_0000 of the virtual server 1_370a from 52. The guest
Here, only the combination of the
以上のように本発明の第二の実施形態によれば仮想マシンモニタ300が適切なリソー
スを仮想サーバに対して割り当てて、仮想サーバ上のゲストOS360は仮想マシンモニ
タ300が生成した論理ハードウェア構成情報通知I/F340を取得することで、使用
するコンポーネントの物理位置情報を正しく利用することが可能となって、ゲストOS3
60のAffinity制御を正しく動作させて、物理サーバと同等の性能や信頼性を確保するこ
とが可能となる。
As described above, according to the second embodiment of the present invention, the virtual machine monitor 300 allocates appropriate resources to the virtual server, and the guest OS 360 on the virtual server has the logical hardware configuration generated by the virtual machine monitor 300. By acquiring the information notification I / F 340, it is possible to correctly use the physical location information of the component to be used, and the
It is possible to ensure the performance and reliability equivalent to the physical server by correctly operating the 60 affinity control.
<第3実施形態>(リソースの再割当)
図43〜図45および図49〜図54を使って、本発明の第三の実施形態を説明する。
前記第二の実施形態と同じく、図43に示す論理ハードウェア要求I/F350kに従っ
て、仮想マシンモニタ300が図44に示す物理−論理ハードウェア割当表310kのよ
うに仮想サーバ1_370aを割り当てた結果を図45に示す。
<Third Embodiment> (Resource Reassignment)
A third embodiment of the present invention will be described with reference to FIGS. 43 to 45 and FIGS. 49 to 54.
As in the second embodiment, in accordance with the logical hardware request I / F 350k shown in FIG. 43, the virtual machine monitor 300 assigns the result of assigning the virtual server 1_370a as shown in the physical-logical hardware assignment table 310k shown in FIG. As shown in FIG.
仮想サーバ1_370aが図45のように割り当てられた状態で、図49に示す仮想サ
ーバ2に関する論理ハードウェア要求I/F350mがコンソール230から仮想マシン
モニタ300へ入力されたと仮定する。図49の論理ハードウェア要求I/F350mで
は、優先度357が10となっており、仮想サーバ1の論理ハードウェア要求I/F35
0kの優先度5よりも大きな値となっている。この場合、より優先度の高い仮想サーバ2
のリソース割当ポリシーを満たすように、仮想サーバ1に既に割り当てられたリソースを
再配置することが仮想マシンモニタ300に求められる。
Assume that the logical hardware request I / F 350m related to the
The value is larger than the
The virtual machine monitor 300 is required to rearrange the resources already allocated to the
図50は仮想サーバ1_370aに割当済みのリソースをそのままにして、仮想マシン
モニタ300が仮想サーバ2_370bに対してリソースを割り当てた場合の物理−論理
ハードウェア割当表310mを示す。また、図51に仮想サーバ1_370aから割当済
みのリソースを一旦取り上げ、仮想サーバ2_370bに対してリソースを割り当てた後
で仮想サーバ1_370aに改めてリソースを割り当てた場合の物理−論理ハードウェア
割当表310nを示す。また、図52に図50の物理−論理ハードウェア割当表310m
に従って計算したリソース間距離計算表600mを示し、図53に図51の物理−論理ハ
ードウェア割当表310nに従って計算したリソース間距離計算表600nを示す。
FIG. 50 shows a physical-logical hardware allocation table 310m when the virtual machine monitor 300 allocates resources to the virtual server 2_370b while leaving the resources allocated to the virtual server 1_370a as they are. Further, FIG. 51 shows a physical-logical hardware allocation table 310n when resources already allocated from the virtual server 1_370a are picked up once, resources are allocated to the virtual server 2_370b, and resources are allocated again to the virtual server 1_370a. . 52 shows the physical-logical hardware allocation table 310m of FIG.
FIG. 53 shows an inter-resource distance calculation table 600n calculated according to the physical-logical hardware allocation table 310n of FIG.
図49の論理ハードウェア要求I/F350mのリソース割当ポリシー356は「I/
O−メモリ優先」となっており、リソース間距離計算表600の「I/O−メモリ」のコ
ンポーネント間距離の総和605を比較すると、図52の計算表600mでは2なのに対
して図53の計算表600nでは1となっており、リソースの再配置を行った方が、より
仮想サーバ2のリソース割当ポリシーを満たす配置が可能となっていることがわかる。図
54に物理−論理ハードウェア割当表310nに従って仮想マシンモニタ300がマルチ
プロセッサシステム100上に仮想サーバ1_370aと仮想サーバ2_370bを割り
当てた様子を示す。
The
When the
このように、優先度が異なる複数の論理ハードウェア要求がある場合、優先度の高い論
理ハードウェア要求I/F350から順にリソースを割り当てることで、より優先度の高
い要求に対して優先的にリソースを割り当てることが可能となる。ただし、リソースの再
配置を行う場合には、CPUおよびメモリの移動が必要となるケースがある。CPUの移
動に関しては、レジスタの内容のコピー、キャッシュやTLBのフラッシュ、等が必要に
なり、またメモリの移動に関してはメモリのコピーが必要となる。CPUやメモリの具体
的な移動手法については公知または周知の手法を適用すればよい。
As described above, when there are a plurality of logical hardware requests having different priorities, the resources are preferentially assigned to the requests having higher priorities by assigning the resources in order from the logical hardware request I / F 350 having higher priorities. Can be assigned. However, there are cases where it is necessary to move the CPU and memory when rearranging resources. Regarding the movement of the CPU, copying of the contents of the register, flushing of the cache and TLB, and the like are required, and regarding the movement of the memory, copying of the memory is required. A known or well-known method may be applied as a specific method for moving the CPU or memory.
以上のように、本発明の第三の実施形態によれば、新たに仮想サーバをマルチプロセッ
サシステム100へ割り当てる際に、既に割り当てたリソースを一旦解放させてから、仮
想サーバの優先度の高い順にリソースの再割当を行うことで、より最適な仮想サーバを構
成することが可能となる。
As described above, according to the third embodiment of the present invention, when a virtual server is newly allocated to the
以上のように、本発明は複数のプロセッサやI/Oデバイスによって構成され、複数の
仮想サーバに分割された計算機システムおよびその仮想マシンモニタに対して適用できる
。
As described above, the present invention can be applied to a computer system configured by a plurality of processors and I / O devices and divided into a plurality of virtual servers and its virtual machine monitor.
100 マルチプロセッサシステム
110 CPUソケット
120 CPUコア
130 メモリコントローラ
140 メモリインタフェース
150 メモリ
160 I/Oハブ
170 I/O接続インタフェース
180 I/Oアダプタ
190 I/Oデバイス
200 モジュール間接続インタフェース
210 モジュール情報取得インタフェース
220 サービスプロセッサ
300 仮想マシンモニタ
310 物理−論理ハードウェア割当表
320 物理ハードウェア構成情報取得インタフェース
330 物理−論理ハードウェア割当インタフェース
340 論理ハードウェア構成情報通知インタフェース
350 論理ハードウェア要求インタフェース
400 物理コンポーネント構成表
500 コンポーネント間距離対応表
550 物理ネットワーク構成表
600 リソース間距離計算表
650 コンポーネント・ネットワーク割当表
700 割当リソース消費電力系計算表
750 物理HW構成情報
801 論理ハードウェア割当処理部
100
Claims (12)
前記仮想マシンモニタは、
前記所属の情報と、前記コンポーネント間の物理的な接続関係を示す情報と、を含むハードウェアの構成情報を取得する物理ハードウェア情報取得部と、
生成する仮想サーバに要求されるプロセッサの数及びメモリ量の情報と、I/Oデバイスの指定の情報と、リソースの割り当てポリシーと、を含む生成要求を受け付ける受付部と、
受け付けた前記生成要求で指定されるI/Oデバイスを前記仮想サーバに割り当て、かつ要求される数のプロセッサと要求される量のメモリを、受け付けた前記ポリシーと、前記所属の情報及び前記物理的な接続関係を示す情報から求められる評価指標と、に基づいて前記仮想サーバに割り当てる割り当て処理部と、
を備えたことを特徴とする仮想マシンモニタ。 A multiprocessor comprising computer resources including a plurality of processors, a plurality of memories, and a plurality of I / O devices, wherein the computer resources are divided into groups and belong to components, and the components are connected to each other via an internal network. A virtual machine monitor that runs a virtual server on the system,
The virtual machine monitor is
Said affiliation information, and the physical hardware information acquiring unit that acquires the hardware configuration information including the information indicating the physical connections between the components,
A reception unit that receives a generation request including information on the number of processors and the amount of memory required for the virtual server to be generated, information on designation of an I / O device, and a resource allocation policy;
The I / O device specified by the received generation request is allocated to the virtual server , and the required number of processors and the required amount of memory are allocated to the received policy, the belonging information, and the physical An allocation index that is assigned to the virtual server based on an evaluation index obtained from information indicating a secure connection relationship ;
A virtual machine monitor characterized by comprising:
前記割り当て処理部は、
割り当て済みの仮想サーバよりも前記生成要求のあった新たな仮想サーバの優先度が高い場合には、割り当て済みの前記仮想サーバに既に割り当てたプロセッサとメモリの割り当てを一旦解放し、割り当てが解放されたプロセッサを含むプロセッサ群、及び割り当てが解放されたメモリを含むメモリ群から、前記新たな仮想サーバに割り当てるプロセッサ及びメモリを選択することを特徴とする請求項1に記載の仮想マシンモニタ。 The generation request further includes priority information of the virtual server,
The allocation processing unit
If the priority of the new virtual server requested to be generated is higher than the allocated virtual server, the allocation of the processor and memory already allocated to the allocated virtual server is once released, and the allocation is released. 2. The virtual machine monitor according to claim 1, wherein a processor and a memory to be allocated to the new virtual server are selected from a processor group including a new processor and a memory group including a memory whose allocation has been released.
前記割り当て処理部は、
前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、前記プロセッサ、メモリ、及びI/Oデバイスの距離の総和が最小となるように、前記仮想サーバへプロセッサとメモリとを割り当てることを特徴とする請求項1に記載の仮想マシンモニタ。 The physical hardware information acquisition unit obtains distances between the processor and the memory and between the processor and the I / O device from the information indicating the belonging and the physical connection relation as the evaluation index ,
The allocation processing unit
Allocating a processor and memory to the virtual server so that a total sum of the distances of the processor, memory, and I / O devices is minimized when allocating to the virtual server based on the policy and the evaluation index. The virtual machine monitor according to claim 1.
前記割り当て処理部は、
前記生成要求に、前記指定されるI/Oデバイスが前記仮想サーバに専有される情報が含まれている場合には、前記指定されるI/Oデバイスが、既に他の仮想サーバに割り当てられているか否かの判定を行い、
既に他の仮想サーバに割り当てられている場合には、前記生成要求のあった仮想サーバの生成を取り止めることを特徴とする請求項1に記載の仮想マシンモニタ。 The generation request further includes information on whether or not the specified I / O device is dedicated to the virtual server,
The allocation processing unit
When the generation request includes information that the specified I / O device is exclusively used by the virtual server, the specified I / O device is already assigned to another virtual server. Determine whether or not
2. The virtual machine monitor according to claim 1, wherein when the virtual server is already assigned to another virtual server, generation of the virtual server requested to be generated is canceled.
前記割り当て処理部は、
前記リソースの割当ポリシーが、プロセッサのメモリへのアクセスを優先する場合には、前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、前記プロセッサとメモリ間の距離の総和が最小となるように、前記仮想サーバへプロセッサとメモリとを割り当てることを特徴とする請求項1に記載の仮想マシンモニタ。 The physical hardware information acquisition unit obtains a distance between a processor and a memory from the information indicating the belonging and the physical connection relationship as the evaluation index ,
The allocation processing unit
When the resource allocation policy gives priority to processor access to memory, the total distance between the processor and memory is minimized when allocating to the virtual server based on the policy and the evaluation index. The virtual machine monitor according to claim 1, wherein a processor and a memory are allocated to the virtual server.
前記割り当て処理部は、
前記リソースの割当ポリシーが、プロセッサとI/Oデバイスのアクセスを優先する場合には、前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、前記プロセッサとI/Oデバイスの距離の総和が最小となるように、前記仮想サーバへプロセッサとメモリとを割り当てることを特徴とする請求項1に記載の仮想マシンモニタ。 The physical hardware information acquisition unit obtains a distance between the processor and the I / O device from the information indicating the belonging and the information indicating the physical connection relationship as the evaluation index ,
The allocation processing unit
When the resource allocation policy prioritizes access between the processor and the I / O device, the total distance between the processor and the I / O device when allocating to the virtual server based on the policy and the evaluation index. The virtual machine monitor according to claim 1, wherein a processor and a memory are allocated to the virtual server such that the virtual machine is minimized.
前記割り当て処理部は、
前記リソースの割当ポリシーが、メモリとI/Oデバイスのアクセスを優先する場合には、前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、前記メモリとI/Oデバイスの距離の総和が最小となるように、前記仮想サーバへプロセッサとメモリとを割り当てることを特徴とする請求項1に記載の仮想マシンモニタ。 The physical hardware information acquisition unit obtains the distance between the memory and the I / O device from the affiliation information and the information indicating the physical connection relationship as the evaluation index ,
The allocation processing unit
When the resource allocation policy gives priority to access between the memory and the I / O device, the total distance between the memory and the I / O device is allocated to the virtual server based on the policy and the evaluation index. The virtual machine monitor according to claim 1, wherein a processor and a memory are allocated to the virtual server such that the virtual machine is minimized.
前記割り当て処理部は、
前記リソースの割当ポリシーが、仮想サーバの全体の性能を確保する場合には、前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、前記プロセッサ、メモリ、及びI/Oデバイスの距離の総和が最小となるように、前記仮想サーバへプロセッサとメモリとを割り当てることを特徴とする請求項1に記載の仮想マシンモニタ。 The physical hardware information acquisition unit obtains the mutual distance between the processor, the memory, and the I / O device from the information indicating the belonging and the information indicating the physical connection relationship as the evaluation index ,
The allocation processing unit
When the resource allocation policy secures the overall performance of the virtual server, when allocating to the virtual server based on the policy and the evaluation index , the distance between the processor, the memory, and the I / O device is determined. The virtual machine monitor according to claim 1, wherein a processor and a memory are allocated to the virtual server so that the sum is minimized.
前記割り当て処理部は、
前記リソースの割当ポリシーが、仮想サーバの信頼性を優先する場合には、前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、既に割り当てた仮想サーバが使用する内部ネットワークと、前記生成要求のあった新たな仮想サーバが使用する内部ネットワークで、重複する内部ネットワークの数の総和が最小となるように、前記新たな仮想サーバへプロセッサとメモリとを割り当てることを特徴とする請求項1に記載の仮想マシンモニタ。 The physical hardware information acquisition unit obtains a path of an internal network connecting a processor, a memory, and an I / O device from the information indicating the belonging and the information indicating the physical connection relationship as the evaluation index ,
The allocation processing unit
When the resource allocation policy gives priority to the reliability of a virtual server, when the resource is allocated to the virtual server based on the policy and the evaluation index , the internal network used by the already allocated virtual server, and the generation 2. A processor and a memory are allocated to the new virtual server so that the total number of overlapping internal networks is minimized in the internal network used by the requested new virtual server. Virtual machine monitor as described in.
前記割り当て処理部は、
前記リソースの割当ポリシーが、内部ネットワークの帯域を優先する場合には、前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、既に割り当てた仮想サーバが使用する内部ネットワークと、前記生成要求のあった新たな仮想サーバが使用する内部ネットワークで、重複する内部ネットワークの帯域を仮想サーバの数で除した値を実効帯域とし、当該実効帯域が最大となるように、前記新たな仮想サーバへプロセッサとメモリとを割り当てることを特徴とする請求項1に記載の仮想マシンモニタ。 The physical hardware information acquisition unit obtains a path of an internal network connecting a processor, a memory, and an I / O device from the information indicating the belonging and the information indicating the physical connection relationship as the evaluation index ,
The allocation processing unit
If the resource allocation policy gives priority to the bandwidth of the internal network, the internal network used by the already allocated virtual server and the generation request when allocating to the virtual server based on the policy and the evaluation index In the internal network used by the new virtual server, the value obtained by dividing the overlapping internal network bandwidth by the number of virtual servers is defined as the effective bandwidth, and the effective bandwidth is maximized. The virtual machine monitor according to claim 1, wherein a processor and a memory are allocated.
前記割り当て処理部は、
前記リソースの割当ポリシーが、消費電力を優先する場合には、前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、既に割り当てた仮想サーバのプロセッサ、メモリ、I/Oデバイス、及びコンポーネントの消費電力と、前記生成要求のあった新たな仮想サーバが使用するプロセッサ、メモリ、I/Oデバイス、及びコンポーネントの消費電力の総和が最小となるように、前記新たな仮想サーバへプロセッサとメモリとを割り当てることを特徴とする請求項1に記載の仮想マシンモニタ。 The physical hardware information acquisition unit uses the processor and memory, the I / O device, the processor, the memory, and the information based on the affiliation information and the information indicating the physical connection relationship as the evaluation index. Obtain the power consumption of the component to which each I / O device belongs,
The allocation processing unit
When the resource allocation policy prioritizes power consumption, the processor, memory, I / O device, and component of the already allocated virtual server when allocating to the virtual server based on the policy and the evaluation index Processor and memory to the new virtual server so that the total power consumption of the processor, memory, I / O devices, and components used by the new virtual server requested to generate is minimized. The virtual machine monitor according to claim 1, wherein:
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008169803A JP5210730B2 (en) | 2007-11-28 | 2008-06-30 | Virtual machine monitor and multiprocessor system |
US12/222,227 US8819675B2 (en) | 2007-11-28 | 2008-08-05 | Virtual machine monitor and multiprocessor system |
EP08014080A EP2065804A1 (en) | 2007-11-28 | 2008-08-06 | Virtual machine monitor and multi-processor system |
KR1020080079105A KR101090651B1 (en) | 2007-11-28 | 2008-08-12 | Virtual machine monitor and multi-processor system |
CN2008102106429A CN101446928B (en) | 2007-11-28 | 2008-08-13 | Virtual machine monitor |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007307626 | 2007-11-28 | ||
JP2007307626 | 2007-11-28 | ||
JP2008169803A JP5210730B2 (en) | 2007-11-28 | 2008-06-30 | Virtual machine monitor and multiprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009151745A JP2009151745A (en) | 2009-07-09 |
JP5210730B2 true JP5210730B2 (en) | 2013-06-12 |
Family
ID=40742614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008169803A Expired - Fee Related JP5210730B2 (en) | 2007-11-28 | 2008-06-30 | Virtual machine monitor and multiprocessor system |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP5210730B2 (en) |
KR (1) | KR101090651B1 (en) |
CN (1) | CN101446928B (en) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101068537B1 (en) * | 2008-12-18 | 2011-09-28 | 한국전자통신연구원 | Virtualization management apparatus using virtualization platform and control method thereof |
JP4962921B2 (en) * | 2009-08-26 | 2012-06-27 | 日本電気株式会社 | Computer memory relocation control method and program, and computer system |
FR2952731B1 (en) | 2009-11-13 | 2011-11-04 | Bull Sas | METHOD AND DEVICE FOR OPTIMIZING THE EXECUTION OF SOFTWARE APPLICATIONS IN A MULTIPROCESSOR ARCHITECTURE COMPRISING SEVERAL INPUT / OUTPUT CONTROLLERS AND SECONDARY CALCULATION UNITS |
KR101277274B1 (en) | 2009-11-27 | 2013-06-20 | 한국전자통신연구원 | Method and Apparatus for Mapping a Physical Resource Model to a Logical Resource Model |
WO2011068091A1 (en) | 2009-12-04 | 2011-06-09 | 日本電気株式会社 | Server and flow control program |
US8898663B2 (en) * | 2009-12-16 | 2014-11-25 | Symantec Corporation | Storage visibility in virtual environments |
US8346934B2 (en) | 2010-01-05 | 2013-01-01 | Hitachi, Ltd. | Method for executing migration between virtual servers and server system used for the same |
KR101334842B1 (en) * | 2010-03-02 | 2013-12-02 | 한국전자통신연구원 | Virtual machine manager for platform of terminal having function of virtualization and method thereof |
JP5600277B2 (en) * | 2010-09-27 | 2014-10-01 | 株式会社日立システムズ | Cloud service relocation system, method and program |
WO2012104940A1 (en) * | 2011-02-04 | 2012-08-09 | パナソニック株式会社 | Virtual computer system, shared device control method, program, and integrated circuit |
JP5839032B2 (en) | 2011-02-24 | 2016-01-06 | 日本電気株式会社 | Network system, controller, and flow control method |
JP5696891B2 (en) * | 2011-03-31 | 2015-04-08 | 日本電気株式会社 | Job scheduling method by IO configuration |
CN102915292B (en) * | 2011-08-02 | 2015-12-09 | 北京大学 | Based on the communication means of polycaryon processor and detection method thereof and control method |
WO2013042271A1 (en) | 2011-09-22 | 2013-03-28 | 富士通株式会社 | Electronic computer system and virtual machine deployment method |
US9372707B2 (en) | 2011-11-18 | 2016-06-21 | Hitachi, Ltd. | Computer, virtual machine deployment method and program |
KR101867960B1 (en) | 2012-01-05 | 2018-06-18 | 삼성전자주식회사 | Dynamically reconfigurable apparatus for operating system in manycore system and method of the same |
US9626222B2 (en) | 2012-01-17 | 2017-04-18 | Alcatel Lucent | Method and apparatus for network and storage-aware virtual machine placement |
US9183019B2 (en) * | 2012-04-25 | 2015-11-10 | Empire Technology Development Llc | Certification for flexible resource demand applications |
US20150277945A1 (en) * | 2012-11-15 | 2015-10-01 | Mitsubishi Electric Corporation | Virtual computer system |
JP5945512B2 (en) | 2013-02-13 | 2016-07-05 | 株式会社日立製作所 | Computer system and virtual computer management method |
JP5660149B2 (en) | 2013-03-04 | 2015-01-28 | 日本電気株式会社 | Information processing apparatus, job scheduling method, and job scheduling program |
WO2014186945A1 (en) * | 2013-05-21 | 2014-11-27 | 华为技术有限公司 | Method for realizing correspondence of physical resource and virtual resource and basic input and output system |
US10229043B2 (en) * | 2013-07-23 | 2019-03-12 | Intel Business Machines Corporation | Requesting memory spaces and resources using a memory controller |
CN104811361B (en) * | 2014-01-24 | 2018-06-15 | 新华三技术有限公司 | A kind of method and apparatus for generating the virtualization network equipment |
JP6323101B2 (en) | 2014-03-20 | 2018-05-16 | 富士通株式会社 | Arrangement control program, method and apparatus |
WO2016056060A1 (en) * | 2014-10-07 | 2016-04-14 | 株式会社日立製作所 | Computer and vector setting method |
KR101647099B1 (en) * | 2014-12-18 | 2016-08-09 | 권영민 | Server structure for supporting virtual multi session |
US9535606B2 (en) * | 2014-12-22 | 2017-01-03 | Intel Corporation | Virtual serial presence detect for pooled memory |
US20160179582A1 (en) * | 2014-12-23 | 2016-06-23 | Intel Corporation | Techniques to dynamically allocate resources for local service chains of configurable computing resources |
WO2017102038A1 (en) * | 2015-12-18 | 2017-06-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for utilization of a processing arrangement |
CN106412075A (en) * | 2016-10-14 | 2017-02-15 | 郑州云海信息技术有限公司 | Resource allocation method and device based on cloud computing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001282560A (en) * | 2000-03-31 | 2001-10-12 | Hitachi Ltd | Virtual computer control method, its performing device and recording medium recording its processing program |
US20030163651A1 (en) * | 2002-02-26 | 2003-08-28 | International Business Machines Corporation | Apparatus and method of transferring data from one partition of a partitioned computer system to another |
US6912625B2 (en) * | 2003-01-09 | 2005-06-28 | International Business Machines Corporation | Method, system, and computer program product for creating and managing memory affinity in logically partitioned data processing systems |
US20060253682A1 (en) * | 2005-05-05 | 2006-11-09 | International Business Machines Corporation | Managing computer memory in a computing environment with dynamic logical partitioning |
JP4702127B2 (en) * | 2006-03-22 | 2011-06-15 | 日本電気株式会社 | Virtual computer system, physical resource reconfiguration method and program thereof |
-
2008
- 2008-06-30 JP JP2008169803A patent/JP5210730B2/en not_active Expired - Fee Related
- 2008-08-12 KR KR1020080079105A patent/KR101090651B1/en not_active IP Right Cessation
- 2008-08-13 CN CN2008102106429A patent/CN101446928B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101446928A (en) | 2009-06-03 |
JP2009151745A (en) | 2009-07-09 |
KR101090651B1 (en) | 2011-12-07 |
KR20090055459A (en) | 2009-06-02 |
CN101446928B (en) | 2011-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5210730B2 (en) | Virtual machine monitor and multiprocessor system | |
EP2065804A1 (en) | Virtual machine monitor and multi-processor system | |
US9250947B2 (en) | Determining placement fitness for partitions under a hypervisor | |
RU2571366C2 (en) | Virtual non-uniform memory access architecture for virtual machines | |
KR100998298B1 (en) | I/o adapter lpar isolation in a hypertransport environment | |
JP6329318B2 (en) | Information processing device | |
US8782657B2 (en) | Dynamic creation and destruction of IO resources based on actual load and resource availability | |
US20140282584A1 (en) | Allocating Accelerators to Threads in a High Performance Computing System | |
CN112099941A (en) | Method, equipment and system for realizing hardware acceleration processing | |
US10409519B2 (en) | Interface device, and computer system including interface device | |
US8615586B2 (en) | Discovery of logical images at storage area network endpoints | |
US20100229175A1 (en) | Moving Resources In a Computing Environment Having Multiple Logically-Partitioned Computer Systems | |
US10248460B2 (en) | Storage management computer | |
US9111046B2 (en) | Implementing capacity and user-based resource allocation for a shared adapter in a virtualized system | |
JP2015504541A (en) | Method, program, and computing system for dynamically optimizing memory access in a multiprocessor computing system | |
US20220327080A1 (en) | PCIe DEVICE AND OPERATING METHOD THEREOF | |
JP5195756B2 (en) | PCI device I / O space request suppression method | |
JP2008021252A (en) | Computer system and address allocating method | |
US11928070B2 (en) | PCIe device | |
WO2017181851A1 (en) | Bios starting method and device | |
US9176669B2 (en) | Address resource mapping in a shared memory computer system | |
JP2011221634A (en) | Computer system, logic section management method and logic division processing program | |
Ha et al. | Dynamic Capacity Service for Improving CXL Pooled Memory Efficiency | |
KR20170094911A (en) | Method for operating semiconductor device and semiconductor system | |
JP2008310610A (en) | System configuration management method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110523 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120718 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120731 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130111 |
|
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: 20130129 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130225 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160301 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160301 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |