JP5210730B2 - Virtual machine monitor and multiprocessor system - Google Patents

Virtual machine monitor and multiprocessor system Download PDF

Info

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
Application number
JP2008169803A
Other languages
Japanese (ja)
Other versions
JP2009151745A (en
Inventor
敬太郎 上原
雄次 對馬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008169803A priority Critical patent/JP5210730B2/en
Priority to US12/222,227 priority patent/US8819675B2/en
Priority to EP08014080A priority patent/EP2065804A1/en
Priority to KR1020080079105A priority patent/KR101090651B1/en
Priority to CN2008102106429A priority patent/CN101446928B/en
Publication of JP2009151745A publication Critical patent/JP2009151745A/en
Application granted granted Critical
Publication of JP5210730B2 publication Critical patent/JP5210730B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

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 Patent Document 1 is representative.

しかし高集積化が比較的易しいプロセッサやメモリに比べて、入出力の口(経路)を持
つ必要があるため本質的に集積しにくい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 Document 1, VT-d established by Intel Corporation is known.

一方、マルチコア化の進行やメモリコントローラを統合したプロセッサの登場により、
プロセッサ・メモリ・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.

米国特許第6496847号US Pat. No. 6,496,847 Intel Virtualization Technology for Directed I/O Architecture Specification、[online]、Intel Corp,、平成19年8月24日検索、 インターネット<ftp://download.intel.com/technology/computing/vptech/Intel(r)_VT_for_Direct_IO.pdf>Intel Virtualization Technology for Directed I / O Architecture Specification, [online], Intel Corp, search on August 24, 2007, Internet <ftp://download.intel.com/technology/computing/vptech/Intel (r) _VT_for_Direct_IO.pdf> Advanced Configuration and Power Interface Specification Revision 3.0、[online]、Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba、平成19年8月24日検索、 インターネット<http://www.acpi.info/>Advanced Configuration and Power Interface Specification Revision 3.0, [online], Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba, August 24, 2007 search, Internet <http://www.acpi.info/>

しかしながら、上記のような従来の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 multiprocessor system 100 employs a configuration in which one or more CPU sockets (processor packages) 110, a memory controller 130, and I / O hubs 160a and 160b are connected by an inter-module connection I / F (interface) 200. The inter-module connection I / F 200 forms an internal network of the multiprocessor system 100. Here, the CPU socket 110 and the memory controller 130, the CPU socket 110 and the I / O
Between the O hubs 160a and 160b, the memory controller 130 and the I / O hubs 160a and 160
The inter-module connection I / F 200 between b is not necessarily the same I / F. Even if they are different I / Fs, there is no difference in the following description. I / O hub 160
A generic name of a and 160b is an I / O hub 160. In addition, the memory controller 130 and the I / O
There may be a chip set equipped with the function of the O hub 160. Further, as shown in FIG. 1, the memory controller 130 may be mounted on the CPU socket 110. The CPU socket 110 has one or more CPU cores (processor cores) 120.
including. The memory controller 130 has one or more DIMMs (via the memory I / F 140).
Dual Inline Memory Module) 150 is connected. The I / O hub 160 is an I / O connection I / F
One or more I / O adapters 180a to 180f are mounted via 170, and an I / O device 190d is connected to the tip of the I / O adapters 180a to 180f. Further I / O connection 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 / O adapters 180a to 180f are NIC or HBA (Host Bus Ada
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 more service processors 220 on the multiprocessor system 100;
Module information acquisition I for physical position information and connection information of each module (physical component)
Collect via / F210. The service processor 220 is a multiprocessor system 1
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 service processor 220 may be provided on another computer connected by a LAN or the like. The I / O device is composed of a device that inputs and outputs data.

マルチプロセッサシステム100上には、仮想マシンモニタ300が実行され、マルチ
プロセッサシステム100上のリソースを1つ以上の仮想サーバへと分割してゲストOS
360a〜360cに対して提供する。仮想マシンモニタ300はサービスプロセッサ2
20が収集したモジュールの物理構成情報と接続情報を、物理ハードウェア構成情報取得
インタフェース320を介して受け取る。なお、ゲストOS360a〜360cの総称を
ゲストOS360とする。
A virtual machine monitor 300 is executed on the multiprocessor system 100, and the guest OS is divided into one or more virtual servers by dividing resources on the multiprocessor system 100.
Provided for 360a-360c. The virtual machine monitor 300 is a service processor 2
The module 20 receives the module physical configuration information and connection information collected via the physical hardware configuration information acquisition interface 320. The guest OSs 360a to 360c are collectively referred to as the guest OS 360.

ゲスト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 multiprocessor system 100 on the console 230 is used as the virtual machine monitor 300.
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 multiprocessor system 100 is connected to a console 230 that includes an input device and an output device and is used by an administrator, and the virtual machine monitor 300 and the service processor 22.
A command is given to 0, or a processing result is received from the virtual machine monitor 300 or the service processor 220 and displayed on the output device.

<マルチプロセッサシステムの構成>
さらに本第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 multiprocessor system 100 in the first embodiment will be described in more detail. Four CPU sockets 110a to 110d are connected in a ring shape by an inter-module connection I / F 200. Each CPU socket 110 has a CPU core 120.
There are two CPU cores 120 in the entire multiprocessor system 100. In the following description, the eight CPU cores may be referred to as CPU core serial numbers # 0 to # 7 from the left in the figure.

それぞれのCPUソケット110上のメモリコントローラ130はそれぞれ4本のメモ
リI/F140を有し、それぞれ4つのDIMM(メモリ)150が接続されている。こ
こでは後の説明を簡単にするために、各DIMM150は1GBで、1CPUソケット当
たり4GB、マルチプロセッサシステム全体では16GBのメモリを搭載しているとする
。以下の説明において、この16枚のDIMM150の通し番号を図中左からDIMM#
0〜#15と呼ぶ場合がある。
Each memory controller 130 on each CPU socket 110 has four memory I / Fs 140, and four DIMMs (memory) 150 are connected to each. Here, in order to simplify the following description, it is assumed that each DIMM 150 has 1 GB of memory, 4 GB per CPU socket, and 16 GB of memory in the entire multiprocessor system. In the following description, the serial numbers of these 16 DIMMs 150 are assigned to DIMM # from the left in the figure.
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 / O hub 160 includes two I / O hubs 160a and 160b, each having two inter-module connection I / Fs 200. The I / O hub 160a is connected to the CPU socket 11.
0a and 110b and the I / O hub 160b are connected to the CPU sockets 110c and 110d, respectively. The I / O hub 160 has four I / O connection I / Fs 170 each,
An I / O slot 175 is provided at the end of the O connection I / F 170, and an I / O adapter 180 is connected thereto.

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 / O slots 175 in the entire multiprocessor system 100. If the serial numbers of the I / O slots 175 are # 0 to 7 from the left in the figure, the I / O slot # 0 has an I / O slot 175.
/ O adapter 180a, I / O adapter 180b in I / O slot # 2, I / O adapter 180c in I / O slot # 3, and I / O adapter 18 in I / O slot # 4
0d is I / O adapter 180e in I / O slot # 5, and I / O slot # 7 is I / O adapter 180e.
/ O adapters 180f are connected to each other. In this example, nothing is connected to the I / O slot # 1 and the I / O slot # 6.

図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 guest OS1 360a, the guest OS2 360b, and the guest OS3 360c are executed on the multiprocessor system 100 corresponding to the configuration of FIG. The program of the virtual machine monitor 300 exists on one of the I / O devices 190 or the ROM 201 of the service processor 200. When the multiprocessor system 300 is started, the program is stored in the memory 150 (memory 150 # 0 in this example). ) And run on one of the virtual machine CPU cores 120. The CPU core 120 that executes the virtual machine monitor 300 may be fixed, for example, a CPU core that is executed according to the operating state of the CPU core, such as a CPU core that is free at that time or a CPU core that has a low processing load. May be variable.
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 memory 150 allocated to the 370 when the logical server 370 is started. Executed by CPU core 300 expanded above and assigned to 370. In the example of FIG. 64, the guest OS1 360a is expanded and executed on the memory 150 # 5, the guest OS2 360b is expanded on the memory 150 # 10, and the guest OS3 360c is expanded on the memory 150 # 13. In this example, the guest OS 360 is placed on a single memory module for easy understanding. However, depending on the guest OS size and memory interleave settings, it may be distributed on multiple memory modules. obtain.

図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 multiprocessor system 100 obtained by the virtual machine monitor 300 via the service processor 220. FIG. FIG. 2 shows a breakdown of the physical hardware configuration information acquisition I / F 320. The physical hardware configuration information acquisition I / F 320 includes a physical component configuration table 400 and an I / O adapter configuration table 450.
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 service processor 220 via the module information acquisition I / F 210 at a predetermined cycle or a predetermined timing. is there. Acquisition of physical hardware configuration information I / F 320 set by the virtual machine monitor 300
Is stored in the physical position information storage memory 165 or the memory 150 of the I / O hub 160 shown in FIG.

図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 resource # 405 indicating a resource serial number, a resource type 410 indicating a resource type, a range 415 indicating a resource range corresponding to the serial number, a component # 420 indicating a serial number for each component, and a component type , The power consumption 430 of the resource specified by the serial number, and the power consumption 435 of the component for operating this resource.

本実施形態の説明においては、コンポーネント#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 component # 420 is the CPU socket 110 or the I / O.
It refers to an object that is physically inserted / extracted or turned on / off like the O hub 160, and a plurality of resources can be connected on one component # 420. In the example of this embodiment, the CPU core 120 and the DIMM 150 are connected to a component called a CPU socket 110, and the I / O adapter 180 is connected to a component called an I / O hub 160. If the memory controller 130 is different from the CPU socket 110 or if a chipset is present, these can also be independent components. The physical component configuration table 400 is a table showing the inclusion relationship between such resources and components. This indicates that the resource indicated by the range 415 is included in the component # 420. When the resource type 410 is a memory, in addition to the corresponding DIMM 150 number, a range of physical addresses is also shown. In this example, there is 1 GB per DIMM, so 16 GB from 0x0_0000_0000 to 0x0_3_FFFF_FFFF
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 core # 0 is operating and core # 1 is not operating. In this case, the power consumption of the resource is 20 because it is 20 per core,
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 core # 0 is operating. Here, in order to reduce the size of the physical component configuration table 400, a plurality of resources belonging to the same component in the range 415 are collectively shown as one entry, but different entries may be used for each resource.

また、リソースの消費電力430とコンポーネントの消費電力435は、サービスプロ
セッサ220のROM221に予め設定したデータを用いる。なお、このROMにはI/
Oアダプタ180の消費電力や各コンポーネント間の帯域やレイテンシなどコンポーネン
トの性能に係る情報を格納しておく。
Further, as the resource power consumption 430 and the component power consumption 435, data preset in the ROM 221 of the service processor 220 is used. This ROM has I / O
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 multiprocessor system 100.
I / O adapter # 455 indicating the serial number of the I / O adapter 180, I / O adapter 460 indicating the identifier of the I / O adapter, and I / O slot # 46 in which this I / O adapter is installed
5, adapter type 470 indicating the type of I / O adapter, power consumption 4 of this I / O adapter
It consists of 75 items. The adapter type 470 describes the type of adapter such as a network interface card (NIC) or a host bus adapter (HBA).

図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 multiprocessor system 100, and includes a component # 420 indicating a component identifier, a component type 425 indicating a component type, and other components and other components. It is composed of a pair-to-component distance 510 indicating the distance of the component. Distance between components 51
0 is also divided by all components, and indicates the distance from the component # 420 component to the component having the inter-component distance 510. When there are N components in the entire system, the distance between components 51
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 / F 200 is equivalent, the distance is the number of times that the inter-module connection I / F 200 reaches the target component. This distance is treated as the physical position information of the component. For example, CPU
In FIG. 1, the distance from the socket 110a to the I / O hub 160b is the distance from the CPU socket 110a to the CPU socket 110d via the inter-module connection I / F 200 once, and from the CPU socket 110d to the I / O hub 160b. Inter-module connection I / F
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 latency 570 at 0 is conceivable.

また、本実施形態では、メモリ150はCPUソケット110に直接接続されるため、
CPUソケット110とメモリ150の距離は0であるためコンポーネント間距離対応表
500に含まれないが、メモリ150が内部ネットワーク(モジュール間接続I/F20
0)に接続されている場合では、メモリ150をコンポーネント#420に加え、各コン
ポーネント間の距離をコンポーネント間距離対応表500に設定すればよい。
In this embodiment, since the memory 150 is directly connected to the CPU socket 110,
Since the distance between the CPU socket 110 and the memory 150 is 0, it is not included in the inter-component distance correspondence table 500, but the memory 150 is connected to the internal network (inter-module connection I / F 20).
0), the memory 150 is added to the component # 420, and the distance between the components may be set in the inter-component distance correspondence table 500.

また、コンポーネント間距離対応表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 service processor 220 may generate the inter-component distance correspondence table 500 based on the information of the physical hardware configuration information acquisition I / F 320 and notify the virtual machine monitor 300 of the table.

図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
Reference numeral 50 denotes a network # 555 that indicates a serial number of connection of the inter-module connection I / F 200 with respect to all the inter-module connection I / Fs 200 on the multiprocessor system 100;
It is composed of items indicating which component 420a is connected to which component 420b, and the band 560 and latency 570 between the components 420a and 420b. In this embodiment, the network bandwidth 560 connecting the CPU sockets 110 is 6.
On the other hand, the network bandwidth 560 that connects the CPU socket 110 and the I / O hub 160 is half. The unit of the band 560 is, for example, [Gbps]
The unit of the latency 570 is, for example, [nsec].

以上が物理ハードウェア構成情報取得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 service processor 220 collects these pieces of information from each resource component via the module information acquisition I / F 210. The virtual machine monitor 300 includes the service processor 220.
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 service processor 220 inquiring of the module alone is the module information acquisition I / F 210 when the multiprocessor system 100 is initialized or when the configuration is changed. And a method of automatically detecting a connection relationship using an inquiry protocol via the inter-module connection I / F 200, and information on a system management tool (existing outside the multiprocessor system 100) used by an administrator at the time of configuration change. A method is conceivable in which 220 and the like are stored in a non-volatile memory and configured based on the information.

<仮想サーバの構成>
図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 console 230.

論理ハードウェア要求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 guest name 352 indicating the identifier of the guest OS 360 operating on the virtual server, the I / O adapter 353 allocated to the virtual server, and the number of CPU cores allocated to the virtual server 354, a memory amount 355 allocated to the virtual server, a resource allocation policy 356 indicating a policy of resources allocated to the virtual server, and a priority 357 of the virtual server. Virtual server # 351 is an identifier for identifying a virtual server on the system, and does not necessarily need to be set by the requesting guest. The guest name 352 is information for identifying each guest OS 360, and includes, for example, the type of the guest OS 360 (Windows (registered trademark) / Linux, etc.). The I / O adapter 353 is a list of I / O adapters 180 requested by the guest OS. Here, I / O adapters 180a and 180c are requested. CPU core number 35
4 is the number of CPU cores required by the guest OS 360a. Here, 4 cores are required. A memory amount 355 is a memory amount required by the guest OS 360a. Here, 4 GB is required. The resource allocation policy 356 indicates a policy for allocating resources and is a key parameter in the present invention. As the resource allocation policy 356, for example, the following policy can be considered.
・ 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 multiprocessor system 10
Since it is the first virtual server on 0, there is a high possibility that the requested resource can be basically acquired. The priority level 357 is a parameter used to determine which virtual server is given priority when resources requested between virtual servers compete. As an example showing the priority, it is assumed here that the larger the integer is, the higher the priority is. However, in the first embodiment, it is assumed that all virtual servers have the same priority.

また、本実施形態では仮想サーバに与えるポリシーを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 virtual server # 351 indicating the virtual server serial number, on / off 311 indicating the activation state of the virtual server, and usage resource # indicating the resource used by the virtual server. O adapter 312 and CPU core 313
, A memory 314, a used component # 315, and a used network # 316. In this embodiment, in accordance with the logical hardware request I / F 350a, the I / O adapter # 1
3, CPU cores # 0, 1, 2, 3, DIMM # 4, 5, 6, 7 to virtual server 1_370
assigned to a. Further, the corresponding physical address in the memory 314 of the used resource # is 4 GB from 0x1_0000_0000 (this 0x1_0000_000
0 may be referred to as the base address of the virtual server 1). In addition, 110a, 110b, and 160a are set as used component # 315 as identifiers of components on which these resources are mounted, and # 1, 5, and 6 are set as used network # 316 as network # used for connection. Is shown.

図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 multiprocessor system 100. A portion surrounded by a dotted line in the figure indicates a resource allocated to the virtual server 1_370a among the resources in FIG.

<第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 virtual server 2 after the virtual server 1_370a is assigned as shown in FIG. 9 by the logical hardware assignment processing unit 801 of the virtual machine monitor 300. F350b and 350c are shown. The logical hardware request I / F 350b and 350c are both the same I / O adapter 353, C
The number of PU cores 354 and the amount of memory 355 are requested. The difference is the resource allocation policy 356
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 virtual server 2. The physical-logical hardware allocation table 310 is shown. In both cases, the I / O adapter 312 is the same as # 2, but the used CPU core 313 and the memory 314 are different. In the physical-logical hardware allocation table 310b of FIG.
5 and DIMMs # 8, 9, 10, and 11 are allocated, whereas the CPU cores # 6 and 7 and DIMMs # 0, 1, 2, and 3 are assigned in the physical-logical hardware allocation table 310c of FIG. Assigned. Other than these two methods, resource allocation methods are conceivable, but some allocation method candidates are narrowed down, such as eliminating allocation methods that are essentially unchanged.

図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 CPU cores # 4 and # 5 of the CPU socket 110c and the memories # 8 to 11 connected to the CPU socket 110c are used. Is assigned to the virtual server 2, and the distance between the CPU and the memory is selected by setting the resource distance to zero. On the other hand, since the logical hardware request I / F 350c in FIG. 11 requests the I / O-memory priority policy, the I / O adapter # 2 is set so that the distance between the I / O device and the memory is minimized. Memory # 0 to # 3 that is closest to is selected. Thus, the logical hardware allocation processing unit 801 of the virtual machine monitor 300 can optimize the hardware resources allocated to the virtual server according to the requested policy.

図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 server number # 351 indicating a virtual server identifier (or serial number).
And a table for calculating a distance between resources in the virtual server for each virtual server number # 351. The category 601 includes CPU-memory and I corresponding to the resource allocation policy.
There are three categories: / O-memory and CPU-I / O. Each category 60
Inter-component distance 6 from resource from 602 to resource to 603 for each one
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, CPU cores # 4 and # 5 and DIMMs # 8 and 9
Since 10 and 11 are both mounted on the same component 110c, the inter-component distance 604 is zero. On the other hand, the distance between the component 160a on which the I / O adapter # 2 is mounted and the component 110c on which the DIMM # 8, 9, 10, 11 is mounted is 2 according to the inter-component distance correspondence table 500. The distance 604 is 2. Similarly, the distance between CPU cores # 4 and 5 and I / O adapter # 2 is 2
It becomes. Finally, the sum 605 of the distance between components is calculated for each category 601. In this example, the CPU-memory is 0, the I / O-memory is 2, and the CPU-I / O is 4.

図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 component 110d on which the CPU cores # 6 and # 7 are mounted and the component 110a on which the DIMMs # 0, 1, 2, and 3 are mounted is 1, the inter-component distance 604 is 1. On the other hand, since the distance between the component 160a on which the I / O adapter # 2 is mounted and the component 110a on which the DIMMs # 0, 1, 2, and 3 are mounted is 1, the inter-component distance 604 is 1. Finally CP
Since the distance between the component 110d on which the U cores # 6 and 7 are mounted and the component 160a on which the I / O adapter # 2 is mounted is 2, the inter-component distance 604 is 2.
The total inter-component distance 605 is 2 for CPU-memory, 1 for I / O-memory, CP
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 sum 605 of the inter-component distances is selected. On the other hand, in the case of “I / O-memory priority”, resource allocation is selected in which the I / O-memory value of the sum 605 of the distance between components is small. When the physical-logical hardware allocation tables 310b and 310c are compared, it is 3 in the case of “CPU-memory priority”.
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 PU socket 110c, a memory connected to the PU socket 110c, and an I / O adapter 180b are included.

図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 CPU cores # 6 and 7 on the CPU socket 110d and DIMMs # 0, 1 and 2 on the CPU socket 110a, as indicated by a dashed line in the figure.
3 and an I / O adapter 180b.

以上の例により、論理ハードウェア要求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に示すようなリソースの割当を行っ
た。
<Modification 1>
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 virtual server 1 requires two CPU cores and 8 GB of memory. In response to this request, the logical hardware allocation processing unit 801 of the virtual machine monitor 300 performs resource allocation as shown in FIGS. 19 and 20 from the CPU-I / O priority policy as the request policy.

続いて図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 virtual server 1 in FIGS. 21 to 28 in FIGS. 21 to 28, a resource request for the virtual server 2 is made by the logical hardware request I / F 350e shown in FIG. 21, and the logical hardware request shown in FIG. The case where the resource request | requirement of the virtual server 2 by I / F350f is performed is shown. The virtual server 2 is similar to the first embodiment in that the I / O adapter 180b and C
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 resource allocation policy 356, and “CPU-I / O priority” is specified as the resource allocation policy 356 in 350f.

図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 virtual servers 2 of 0e and 310f in the virtual machine monitor 3
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 same CPU socket 110c, whereas in the physical-logical hardware allocation table 310f, the CPU core is on the CPU socket 110a, and the DIMM is It is allocated on the CPU socket 110d.

図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 sum 605 of the inter-component distance is 0 in the CPU-memory.
, 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 inter-component distance 605 is 2 for CPU-memory, 2 for I / O-memory, and 2 for CPU-I / O. As a result, in the case of “CPU-memory priority”, C
The allocation of 310e having a small sum 605 of the distance between components of the PU-memory is “CPU”.
In the case of “-I / O priority”, the allocation of 310f having the small total sum 605 of the inter-component distances of the CPU-I / O is selected.

図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 CPU core # 4 on CPU socket 110c,
5, DIMM # 8, 9, 10, 11 and an I / O adapter 180 b.

図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 CPU core # 0 on CPU socket 110a,
1, DIMMs # 12, 13, 14, 15 on the CPU socket 110d, and an I / O adapter 180b.

以上が第一の実施形態の第一の変形例である。   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を割り当
てることでこのポリシーは満足させることができる。
<Modification 2>
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 / O hub 160 to which the necessary I / O adapters 180a and 180c are connected.
This policy can be satisfied by selecting a CPU socket 110a close to a and assigning a CPU core and DIMM on 110a.

図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 resource allocation policy 356 for the virtual server 2. Common to all, the requested I / O adapter 353 is 180b, the requested CPU core number 354 is 1, the requested memory amount 355 is 2 GB,
The priority is 5 in common. The logical hardware request I / F 350h in FIG. 32 designates “reliability priority” as the resource allocation policy 356. The logical hardware request I / F 350 i in FIG. 33 specifies “bandwidth priority” as the resource allocation policy 356. FIG.
The logical hardware request I / F 350j of No. 4 specifies “power saving priority” as the resource allocation policy 356. In the following, we will see what configuration is selected according to each policy.

図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 CPU socket 110b different from that used by the virtual server 1 as a CPU core and memory.
PU core # 2 and DIMM # 4, 5 are allocated to satisfy the requested reliability priority policy. On the other hand, in the physical-logical hardware allocation table 310i of FIG. 36, the CPU core # 1 and DIMM # 2 on the same CPU socket 110a used by the virtual server 1 are used.
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 virtual server # 351 indicating a serial number, a shared component # 651 indicating an identifier of a component shared between virtual servers, and a shared network # indicating an identifier of a network used to use the shared component 6
52 items and items such as network # 653, shared number 654, and effective bandwidth 655 corresponding to all the networks used in each virtual server.

図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 component # 651
Corresponds to the I / O hub 160a, and the shared network # 652 is not provided. Since it is not shared for each network # 653, the shared number 654 is 1. Effective bandwidth 655
Is a value obtained by dividing the value of the bandwidth 560 corresponding to each network # 555 in the physical network configuration table 550 by the number of shares 654 (that is, the number of virtual servers). In this case, since the number of shares is 1, the value of the network bandwidth 560 becomes the effective bandwidth 655 as it is.

図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 component # 651
Are the I / O hub 160a and the CPU socket 110a. The shared network # 652 corresponds to the network # 5 that connects the I / O hub 160a and the CPU socket 110a. In this case, since the sharing number 654 is 2, the effective bandwidth 655 is half the bandwidth 560 of the original network.

リソース割当ポリシー356が「信頼性優先」であった場合、共用コンポーネント数・
共用ネットワーク数がなるべく少なくなるような構成を選択する。この場合、仮想サーバ
1と仮想サーバ2の要求するI/Oアダプタが同じI/Oハブ160a上にあるため、共
用コンポーネント数を0とすることは不可能である。しかし物理−論理ハードウェア割当
表310hと310iにそれぞれ対応したコンポーネント・ネットワーク割当表650h
、650iを比較した場合、図35に示した物理−論理ハードウェア割当表310hに対
応する方が共用コンポーネント数が少ないことがわかる。従って要求されたポリシーが「
信頼性優先」である図32の論理ハードウェア要求I/F350hの要求に対しては、図
35に示した物理−論理ハードウェア割当表310hの割当が選択される。
If the resource allocation policy 356 is “Reliability priority”, the number of shared components
Select a configuration that minimizes the number of shared networks. In this case, since the I / O adapters requested by the virtual server 1 and the virtual server 2 are on the same I / O hub 160a, it is impossible to set the number of shared components to zero. However, the component network allocation table 650h corresponding to the physical-logical hardware allocation tables 310h and 310i, respectively.
, 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 resource allocation policy 356 is “bandwidth priority”, a configuration is selected so that the effective bandwidth of the network is as large as possible. In this case, when the component network allocation tables 650h and 650i in FIG.
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 category 701 indicating whether the target hardware is a resource or a component, and a resource type / component type. Show 7
02, used resource / component # 703 indicating an identifier of a used resource or component, power consumption 704 indicating power consumption for each resource, and total power consumption 705
Consists of As resources, there are items of CPU core, memory, I / O slot, and I / O adapter, and used resources are listed. The power consumption 704 refers to the items of the resource power consumption 430 in the physical component configuration table 400 and the power consumption 475 in the I / O adapter configuration table 450, and sets each value. Category 701
In the component entry, the components required when using each resource are listed, and the component power consumption 704 is set according to the component power consumption 435 of the physical component configuration table 400. The total power consumption 705 is the power consumption 7
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 total power consumption 705 is compared, the value is 345 [W] in the allocated resource power consumption calculation table 700h of FIG. 39, whereas it is 265 [W] in 700i.

論理ハードウェア要求I/F350のリソース割当ポリシー356が「省電力優先」だ
った場合、仮想マシンモニタ300は消費電力の総和705がなるべく小さくなるような
割当方法を選択する。従って、ポリシーが「省電力優先」である図34の論理ハードウェ
ア要求I/F350jの要求に対しては、仮想マシンモニタ300の論理ハードウェア割
当処理部801は図36の物理−論理ハードウェア割当表310iの割当を選択する。
When the resource allocation policy 356 of the logical hardware request I / F 350 is “power saving priority”, the virtual machine monitor 300 selects an allocation method such that the total power consumption 705 is as small as possible. Therefore, in response to the request of the logical hardware request I / F 350j of FIG. 34 whose policy is “power saving priority”, the logical hardware allocation processing unit 801 of the virtual machine monitor 300 performs the physical-logical hardware allocation of FIG. Select an assignment in table 310i.

図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 virtual server 351 in the physical-logical hardware allocation table 310. Proceed to step 805.

ステップ805は、論理ハードウェア要求I/F350aで要求されたI/Oアダプタ
353の割り当て要求が専有か共有かを判定する。判定の結果専有であればステップ81
0へ、共有であればステップ830へと進む。
Step 805 determines whether the allocation request of the I / O adapter 353 requested by the logical hardware request I / F 350a is exclusive or shared. If the result of the determination is exclusive, step 81
If 0, if shared, proceed to step 830.

ステップ810は、要求されたI/Oアダプタ353が割り当て可能かを判定する。既
に他の仮想サーバに割り当てられていて割り当て不可である場合はステップ820へ、割
り当て可能であればステップ830へと進む。
Step 810 determines whether the requested I / O adapter 353 can be assigned. If it is already assigned to another virtual server and cannot be assigned, the process proceeds to step 820. If it can be assigned, the process proceeds to step 830.

ステップ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 adapter assignment processing 830 is shown in FIG. After completion of this subroutine, step 8
Proceed to 40.

ステップ840は、割り当て候補CPU841と割り当て候補メモリ842を空集合(
Ф)に設定するステップである。ここで割り当て候補CPU841と割り当て候補メモリ
842は、それまでの組み合わせの中で最も割り当てポリシーに近いCPUとメモリの組
み合わせの候補を示す。この時点ではまだCPU・メモリは選んでいないため、空集合(
Ф)とする。ステップ850へと進む。
In step 840, the allocation candidate CPU 841 and the allocation candidate memory 842 are emptied (
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 / memory selection processing 850 is shown in FIG.
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 step 860, the CPU / memory selected in step 850 is evaluated according to the allocation policy. The flow of the policy evaluation 860 subroutine is shown in FIG. After completion of this subroutine, the routine proceeds to step 870.

ステップ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 virtual server 351 of the physical-logical hardware allocation table 310. The subroutine flow of the CPU / memory allocation process 880 is shown in FIG. When this subroutine is completed, the logical hardware allocation process is completed.

ステップ890は、ステップ850で割り当ての途中でエラーとなった場合(またはス
テップ810で割り当てるリソースが足りなかった場合)に、物理−論理ハードウェア割
当表310の仮想サーバ351のエントリを抹消するステップである。このエントリの抹
消後、論理ハードウェア割当処理は完了となる。
Step 890 is a step of deleting the entry of the virtual server 351 in the physical-logical hardware allocation table 310 when an error occurs during the allocation in step 850 (or when there are not enough resources allocated in step 810). is there. After this entry is deleted, the logical hardware allocation process is completed.

図56にI/Oアダプタ割当処理830のサブルーチンのフローを示す。まずステップ
900へと進む。
FIG. 56 shows a flow of a subroutine of the I / O adapter assignment processing 830. First, the process proceeds to step 900.

ステップ900は、論理ハードウェア要求I/F350aのI/Oアダプタ353に対
応するI/Oアダプタ#455をI/Oアダプタ構成表450から選択し、物理−論理ハ
ードウェア構成表310の仮想サーバ351のエントリの使用I/Oアダプタ312へ追
加するステップである。ステップ901へ進む。
The step 900 selects the I / O adapter # 455 corresponding to the I / O adapter 353 of the logical hardware request I / F 350a from the I / O adapter configuration table 450, and the virtual server 351 of the physical-logical hardware configuration table 310. This is a step of adding the entry to the used I / O adapter 312. Proceed to step 901.

ステップ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 step 901, the I / O slot # 465 corresponding to the I / O adapter 353 is set to I / O.
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 corresponding component 420 is replaced with the virtual server 35 in the physical-logical hardware configuration table 310.
It is a step of adding to the use component 315 of one entry. Proceed to step 902.

ステップ902は、全てのI/Oアダプタ353を割り当てたか判定するステップであ
る。まだ割り当てていないアダプタが残っている場合はステップ900へ戻る。そうでな
い場合はI/Oアダプタ割り当て処理830は完了となる。
Step 902 is a step of determining whether all the I / O adapters 353 have been allocated. If adapters that have not yet been assigned remain, the process returns to step 900. Otherwise, the I / O adapter assignment process 830 is complete.

図57にCPU/メモリ選択処理850のサブルーチンのフローを示す。まずステップ
905へと進む。
FIG. 57 shows a flow of a subroutine of the CPU / memory selection process 850. First, the process proceeds to step 905.

ステップ905は、論理ハードウェア要求I/F350aで要求されたCPUコア数3
54とメモリ量355が割り当て可能かどうか判定するステップである。割り当て不可能
である場合、ステップ907へと進む。割り当て可能ならばステップ906へと進む。
In step 905, the number of CPU cores requested by the logical hardware request I / F 350a is 3
54 and whether or not the memory amount 355 can be allocated. If assignment is impossible, the process proceeds to step 907. If assignment is possible, the process proceeds to step 906.

ステップ906は、未割り当ての組み合わせの中から、論理ハードウェア要求I/F3
50aで要求されたCPUコア数354とメモリ量355を満たすCPUコアとメモリを
選び、仮割当CPU851と仮割当メモリ852に設定するステップである。これにより
CPU/メモリ選択処理850は完了となる。
In step 906, the logical hardware request I / F3 is selected from the unassigned combinations.
In this step, CPU cores and memories satisfying the CPU core number 354 and the memory amount 355 requested in 50a are selected and set in the temporary allocation CPU 851 and the temporary allocation memory 852. Thereby, the CPU / memory selection processing 850 is completed.

ステップ907は、エラー応答するステップである。これによってCPU/メモリ選択
処理850は完了となる。
Step 907 is an error response step. As a result, the CPU / memory selection process 850 is completed.

図58に、ポリシー評価860のサブルーチンのフローを示す。まずステップ910へ
と進む。
FIG. 58 shows a flow of a subroutine of policy evaluation 860. First, the process proceeds to step 910.

ステップ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 allocation policy 356 of the logical hardware request I / F 350a. Allocation policy 356 is CPU-memory priority,
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 policy 356 is trustworthy, step 9
Proceed to 30. If the policy 356 has bandwidth priority, the process proceeds to step 940. When the policy 356 has priority on power saving, the process proceeds to step 950.

ステップ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 allocation policy 356, and it is defined that the smaller the value, the closer to the requested policy. If the temporary allocation policy value 853 is smaller than the allocation candidate policy value 843, the process proceeds to step 913. Otherwise, policy evaluation 860 is complete.

ステップ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 policy evaluation 860 is completed.

なお、図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 first step 912, the initial value of the allocation candidate policy value 843 is indefinite. In the first time, the allocation candidate CPU 841 and the allocation candidate memory 842 are set to に お い て in step 840 of FIG. 55, so the determination in step 911 always goes to step 913, and step 912 does not pass. The allocation candidate policy value 843 may be initialized with a predetermined maximum value.

図59にコンポーネント間距離算出920のサブルーチンのフローを示す。まずステッ
プ921へと進む。
FIG. 59 shows a flow of a subroutine of the inter-component distance calculation 920. First, the process proceeds to step 921.

ステップ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 virtual server 351 of the logical hardware request I / F 350a.
In this step, the inter-resource distance calculation table 600 is created by using the adapter 353, the temporary allocation CPU 851, and the temporary allocation memory 852. In particular,
(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 inter-component distance 604 in the inter-resource distance calculation table 600 according to the inter-component distance correspondence table 500.
(3) The sum of the inter-component distances 604 is obtained for each category 601 and substituted into Σ605.
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 allocation policy 356 of the logical hardware request I / F 350a. If the policy 356 is CPU-memory priority, the process proceeds to step 923. If policy 356 has CPU-I / O priority, step 92
Proceed to 4. If the policy 356 is I / O-memory priority, go to step 925. If the policy 356 has CPU-I / O-memory priority, the process proceeds to step 926.

ステップ923は、リソース間距離計算表600のカテゴリ601のCPU−メモリに
対応するΣ605を仮割当ポリシー値853とするステップである。これによりコンポー
ネント間距離算出920は完了する。
Step 923 is a step in which Σ 605 corresponding to the CPU-memory of category 601 in the inter-resource distance calculation table 600 is set as the temporary allocation policy value 853. Thereby, the inter-component distance calculation 920 is completed.

ステップ924は、リソース間距離計算表600のカテゴリ601のCPU−I/Oに
対応するΣ605を仮割当ポリシー値853とするステップである。これによりコンポー
ネント間距離算出920は完了する。
Step 924 is a step in which Σ 605 corresponding to the CPU-I / O of category 601 in the inter-resource distance calculation table 600 is set as the temporary allocation policy value 853. Thereby, the inter-component distance calculation 920 is completed.

ステップ925は、リソース間距離計算表600のカテゴリ601のI/O−メモリに
対応するΣ605を仮割当ポリシー値853とするステップである。これによりコンポー
ネント間距離算出920は完了する。
Step 925 is a step in which Σ 605 corresponding to the I / O-memory of category 601 in the inter-resource distance calculation table 600 is set as the temporary allocation policy value 853. Thereby, the inter-component distance calculation 920 is completed.

ステップ926は、リソース間距離計算表600の全てのカテゴリ601のΣ605の
合計を仮割当ポリシー値853とするステップである。これによりコンポーネント間距離
算出920は完了する。
Step 926 is a step in which the sum of Σ 605 of all categories 601 in the inter-resource distance calculation table 600 is set as the temporary allocation policy value 853. Thereby, the inter-component distance calculation 920 is completed.

図60に、コンポーネント共用数算出930のサブルーチンのフローを示す。まずステ
ップ931へと進む。
FIG. 60 shows a flow of a subroutine for the component sharing number calculation 930. First, the process proceeds to step 931.

ステップ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 / O adapter 353 for the logical hardware request I / F 350a,
This is a step of creating the component / network allocation table 650 for all the allocated virtual servers including the virtual server 351 using the temporary allocation CPU 851 and the temporary allocation memory 852. In particular,
(1) The component to which each resource belongs is obtained from the physical component configuration table 400.
(2) A shared component # 651 is a component shared between different virtual servers.
Set to.
(3) Set the number of shared components # to the shared number 654.
It consists of the process. Proceed to step 932.
In step 932, the shared number 654 corresponding to the virtual server 351 in the component / network allocation table 650 is set as the temporary allocation policy value 853. Thereby, the component sharing number calculation 930 is completed.

図61に、実効帯域算出940のサブルーチンのフローを示す。まずステップ941へ
と進む。
FIG. 61 shows a flow of a subroutine for effective bandwidth calculation 940. First, the process proceeds to step 941.

ステップ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 / O adapter 353 of the logical hardware request I / F 350a,
This is a step of creating the component / network allocation table 650 for all the allocated virtual servers including the virtual server 351 using the temporary allocation CPU 851 and the temporary allocation memory 852. In particular,
(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 network # 653.
(3) Network # 653 shared network # 65 shared between different virtual servers
Set to 2.
(4) Obtain the bandwidth of each network from the bandwidth 560 of the physical network configuration table 550,
A value obtained by dividing this by the sharing number 654 is set to the effective bandwidth 655.
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 effective bandwidth 655 corresponding to the virtual server 351 in the component / network allocation table 650 is set as the temporary allocation policy value 853. Here, it is defined that the smaller the policy value 853, the closer to the requested policy. On the other hand, the larger the absolute value of the effective band, the better. In view of this, by setting a value obtained by subtracting the effective band value as the temporary allocation policy value 853, the configuration having the largest effective band is finally selected. Thereby, the execution bandwidth calculation 940 is completed.

図62に、消費電力算出950のサブルーチンのフローを示す。まずステップ951へ
と進む。
FIG. 62 shows a flow of a subroutine of power consumption calculation 950. First, the process proceeds to step 951.

ステップ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 / O adapter 353,
This is a step of calculating the allocation resource power consumption calculation table 700 for all allocated virtual servers including the virtual server 351 using the temporary allocation CPU 851 and the temporary allocation memory 852. In particular,
(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 resource power consumption 430 of all allocated resources and the power consumption are obtained for the components, and the power consumption 70 of the calculation table 700 is calculated.
Set to 4.
(3) The sum of all the power consumption 704 is calculated and set to Σ705.
Such processing is included. Proceed to step 952.

ステップ952は、割当リソース消費電力計算表700の消費電力合計705を仮割当
ポリシー値853とするステップである。これにより、消費電力算出950は完了する。
Step 952 is a step in which the total power consumption 705 of the allocation resource power consumption calculation table 700 is set as the temporary allocation policy value 853. Thereby, the power consumption calculation 950 is completed.

図63に、CPU/メモリ割当処理880のサブルーチンのフローを示す。まずステッ
プ960へと進む。
FIG. 63 shows a flow of a subroutine of the CPU / memory allocation process 880. First, the process proceeds to step 960.

ステップ960は、割当候補CPU841を物理−論理ハードウェア構成表310の仮
想サーバ351のエントリの使用CPUコア313へ、割当候補メモリ842を使用メモ
リ314へ追加するステップである。ステップ961へと進む。
Step 960 is a step of adding the allocation candidate CPU 841 to the used CPU core 313 of the entry of the virtual server 351 in the physical-logical hardware configuration table 310 and the allocation candidate memory 842 to the used memory 314. Proceed to step 961.

ステップ961は、物理コンポーネント構成表400のリソース種別410がCPUコ
アのエントリからCPUコア313に対応するエントリを探し、対応するコンポーネント
420を物理−論理ハードウェア構成表310の仮想サーバ351のエントリの使用コン
ポーネント315へ追加し、同じくリソース種別410がメモリのエントリからメモリ3
14に対応するエントリの使用コンポーネント315へ追加するステップである。ステッ
プ962へと進む。
In step 961, an entry corresponding to the CPU core 313 is searched from the entry of the CPU core with the resource type 410 in the physical component configuration table 400, and the corresponding component 420 is used as the entry of the virtual server 351 in the physical-logical hardware configuration table 310. Similarly, the resource type 410 is added to the component 315 and the memory type is changed from the memory entry
14 to the use component 315 of the entry corresponding to 14. Proceed to step 962.

ステップ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 / memory allocation process 880 is complete.

以上の一連の動作により、仮想マシンモニタ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 console 230.

以上のように本第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 multiprocessor system 100, and the inter-component distance correspondence table 500 is obtained. The physical component configuration table 400, the I / O adapter configuration table 450, and the physical network configuration table are set in advance by setting the physical network configuration and the power consumption of each resource. The virtual machine monitor 300 receives a logical hardware request I / F 350 that is a virtual server generation (or setting) request from the console 230, and first requests the requested I / O adapter 180.
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 multiprocessor system 100 of the second embodiment is the same as that of the first embodiment.

図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 multiprocessor system 100 shown in FIG.
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 multiprocessor system 100, and has an affinity control function related to the CPU and memory conforming to the ACPI as described above. Af
The CPU cores # 4, 5 and DIMMs # 8, 9, 10, 11 on the CPU socket 110c are assigned to the applications on the guest OS 360 by the finity control function, or the CPU cores # 6, 7 on the CPU socket 110d are assigned. And DIMM # 12, 13, 14, 1
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 virtual server 1. Therefore, a configuration information notification I / F (logical hardware configuration information notification I / F 340) from the virtual machine monitor 300 to the guest OS 360 is required.

図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 CPU core # 751 indicating the identifier or serial number of the CPU core 120, and host physical indicating the start point of the physical address of the allocated memory 150. Address base 752 and allocated memory 1
It consists of a host physical address range 753 indicating a quantity of 50. However, even if this information is directly notified to the guest OS 1_360a, the guest OS 1_360a cannot correctly perform the affinity control. This is because the host physical address base on the multiprocessor system 100 assigned by the virtual machine monitor 300 to the guest OS 360a and the guest OS
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 CPU core # 341 indicating the identifier or serial number of the CPU core 120 allocated to the guest OS 360, the guest physical address base 342 indicating the base address allocated to the guest OS 360, and the guest OS 360. It consists of a guest physical address range 343 indicating the allocated address range. In FIG. 47, the guest CPU core # 341 is 0 in the guest OS 360.
Re-install in order. The guest physical address base 342 is the host physical address base 7
The value obtained by subtracting the base address 0x2_0000_0000 of the virtual server 1_370a from 52. The guest physical address range 343 has the same value as the host physical address range 753. As described above, the used logical hardware configuration information that can be used by the guest OS1_360a for the affinity control based on ACPI is created. The virtual machine monitor 300 generates this logical hardware configuration information notification I / F 340 and notifies the guest OS 360 of it.
Here, only the combination of the CPU # 341 and the memory address range is notified, but it is also possible to notify more advanced information (for example, including distance information such as the distance calculation table 600 between resources). is there. Even in this case, the principle of converting the host physical address into the guest physical address remains the same.

以上のように本発明の第二の実施形態によれば仮想マシンモニタ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 guest OS 3
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 virtual server 2 shown in FIG. 49 is input from the console 230 to the virtual machine monitor 300 in a state where the virtual server 1_370a is assigned as shown in FIG. In the logical hardware request I / F 350m of FIG. 49, the priority 357 is 10, and the logical hardware request I / F 35 of the virtual server 1 is set.
The value is larger than the priority 5 of 0k. In this case, the virtual server 2 with higher priority
The virtual machine monitor 300 is required to rearrange the resources already allocated to the virtual server 1 so as to satisfy the resource allocation policy.

図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 resource allocation policy 356 of the logical hardware request I / F 350m in FIG.
When the sum 605 of the distances between the components of “I / O-memory” in the resource distance calculation table 600 is compared, it is 2 in the calculation table 600m of FIG. It is 1 in the table 600n, and it can be seen that the arrangement that satisfies the resource allocation policy of the virtual server 2 is possible when the resources are rearranged. FIG. 54 shows a state in which the virtual machine monitor 300 allocates the virtual server 1_370a and the virtual server 2_370b on the multiprocessor system 100 according to the physical-logical hardware allocation table 310n.

このように、優先度が異なる複数の論理ハードウェア要求がある場合、優先度の高い論
理ハードウェア要求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 multiprocessor system 100, the already allocated resources are once released, and then the virtual server has the highest priority. By reallocating resources, a more optimal virtual server can be configured.

以上のように、本発明は複数のプロセッサや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.

第1の実施形態を示し、本発明を適用するマルチプロセッサシステムと仮想マシンモニタの構成を示すブロック図。The block diagram which shows 1st Embodiment and shows the structure of the multiprocessor system and virtual machine monitor to which this invention is applied. 第1の実施形態を示し、物理ハードウェア構成情報取得I/Fの構成を示す説明図。Explanatory drawing which shows 1st Embodiment and shows the structure of physical hardware configuration information acquisition I / F. 第1の実施形態を示し、物理コンポーネント構成表の構成を示す説明図。Explanatory drawing which shows 1st Embodiment and shows the structure of a physical component structure table. 第1の実施形態を示し、I/Oアダプタ構成表の構成を示す説明図。Explanatory drawing which shows 1st Embodiment and shows the structure of an I / O adapter structure table. 第1の実施形態を示し、コンポーネント間距離対応表の構成を示す説明図。Explanatory drawing which shows 1st Embodiment and shows the structure of the distance correspondence table between components. 第1の実施形態を示し、物理ネットワーク構成表の構成を示す説明図。Explanatory drawing which shows 1st Embodiment and shows the structure of a physical network structure table | surface. 第1の実施形態を示し、仮想サーバ1の論理ハードウェア要求I/Fの構成を示す説明図。Explanatory drawing which shows 1st Embodiment and shows the structure of the logical hardware request | requirement I / F of the virtual server 1. FIG. 第1の実施形態を示し、仮想サーバ1の物理−論理ハードウェア割当表の構成を示す説明図。Explanatory drawing which shows 1st Embodiment and shows the structure of the physical-logical hardware allocation table | surface of the virtual server 1. FIG. 第1の実施形態を示し、マルチプロセッサシステム上の仮想サーバ1の一例を示すブロック図。The block diagram which shows 1st Embodiment and shows an example of the virtual server 1 on a multiprocessor system. 第1の実施形態を示し、ポリシーをCPU−メモリ優先とした仮想サーバ2の論理ハードウェア要求I/Fの構成を示す説明図。FIG. 3 is an explanatory diagram illustrating a configuration of a logical hardware request I / F of the virtual server 2 according to the first embodiment in which the policy is CPU-memory priority. 第1の実施形態を示し、ポリシーをI/O−メモリ優先とした仮想サーバ2の論理ハードウェア要求I/Fの構成を示す説明図。FIG. 3 is an explanatory diagram illustrating a configuration of a logical hardware request I / F of the virtual server 2 according to the first embodiment in which the policy is I / O-memory priority. 第1の実施形態を示し、ポリシーをCPU−メモリ優先とした仮想サーバ2の物理−論理ハードウェア割当表の構成を示す説明図。Explanatory drawing which shows 1st Embodiment and shows the structure of the physical-logical hardware allocation table of the virtual server 2 which made the policy CPU-memory priority. 第1の実施形態を示し、ポリシーをI/O−メモリ優先とした仮想サーバ2の論理ハードウェア要求I/Fの構成を示す説明図。FIG. 3 is an explanatory diagram illustrating a configuration of a logical hardware request I / F of the virtual server 2 according to the first embodiment in which the policy is I / O-memory priority. 第1の実施形態を示し、ポリシーをCPU−メモリ優先とした仮想サーバ2のリソース間距離計算表の構成を示す説明図。Explanatory drawing which shows 1st Embodiment and shows the structure of the resource distance calculation table | surface of the virtual server 2 which made the policy CPU-memory priority. 第1の実施形態を示し、ポリシーをI/O−メモリ優先とした仮想サーバ2のリソース間距離計算表の構成を示す説明図。Explanatory drawing which shows 1st Embodiment and shows the structure of the inter-resource distance calculation table | surface of the virtual server 2 which made the policy I / O-memory priority. 第1の実施形態を示し、ポリシーをCPU−メモリ優先としたマルチプロセッサシステム上の仮想サーバ1,2の構成を示すブロック図。The block diagram which shows 1st Embodiment and shows the structure of the virtual servers 1 and 2 on the multiprocessor system which made the policy CPU-memory priority. 第1の実施形態を示し、ポリシーをI/O−メモリ優先としたマルチプロセッサシステム上の仮想サーバ1,2の構成を示すブロック図。The block diagram which shows 1st Embodiment and shows the structure of the virtual servers 1 and 2 on the multiprocessor system which made policy a priority with I / O-memory. 第1の変形例を示し、論理ハードウェア要求I/Fの構成を示す説明図。Explanatory drawing which shows a 1st modification and shows the structure of logic hardware request | requirement I / F. 第1の変形例を示し、物理−論理ハードウェア割当表の構成を示す説明図。Explanatory drawing which shows a 1st modification and shows the structure of a physical-logical hardware allocation table. 第1の変形例を示し、マルチプロセッサシステム上の仮想サーバ1の構成を示すブロック図。The block diagram which shows the 1st modification and shows the structure of the virtual server 1 on a multiprocessor system. 第1の変形例を示し、ポリシーをCPU−メモリ優先とした仮想サーバ2の論理ハードウェア要求I/Fの構成を示す説明図。Explanatory drawing which shows a 1st modification and shows the structure of the logical hardware request | requirement I / F of the virtual server 2 which made the policy CPU-memory priority. 第1の変形例を示し、ポリシーをCPU−I/O優先とした仮想サーバ2の論理ハードウェア要求I/Fの構成を示す説明図。Explanatory drawing which shows a 1st modification and shows the structure of the logical hardware request | requirement I / F of the virtual server 2 which made the policy CPU-I / O priority. 第1の変形例を示し、ポリシーをCPU−メモリ優先とした仮想サーバ2の物理−論理ハードウェア割当表の構成を示す説明図。Explanatory drawing which shows a 1st modification and shows the structure of the physical-logical hardware allocation table of the virtual server 2 which made the policy CPU-memory priority. 第1の変形例を示し、ポリシーをCPU−I/O優先とした仮想サーバ2の物理−論理ハードウェア割当表の構成を示す説明図。Explanatory drawing which shows a 1st modification and shows the structure of the physical-logical hardware allocation table | surface of the virtual server 2 which made the policy CPU-I / O priority. 第1の変形例を示し、ポリシーをCPU−メモリ優先とした仮想サーバ2のリソース間距離計算表の構成を示す説明図。Explanatory drawing which shows the structure of the distance calculation table | surface of the virtual server 2 which shows the 1st modification and made the policy CPU-memory priority. 第1の変形例を示し、ポリシーをCPU−I/O優先とした仮想サーバ2のリソース間距離計算表の構成を示す説明図。Explanatory drawing which shows the structure of the distance calculation table between resources of the virtual server 2 which shows the 1st modification and made the policy CPU-I / O priority. 第1の変形例を示し、ポリシーをCPU−メモリ優先とした場合のマルチプロセッサシステム上の仮想サーバ1、2のブロック図。The block diagram of the virtual servers 1 and 2 on a multiprocessor system at the time of showing a 1st modification and making a policy CPU-memory priority. 第1の変形例を示し、ポリシーをCPU−I/O優先とした場合のマルチプロセッサシステム上の仮想サーバ1、2のブロック図。The block diagram of the virtual servers 1 and 2 on a multiprocessor system at the time of showing a 1st modification and making a policy CPU-I / O priority. 第2の変形例を示し、仮想サーバ1の論理ハードウェア要求I/Fの構成を示す説明図。Explanatory drawing which shows a 2nd modification and shows the structure of the logical hardware request | requirement I / F of the virtual server 1. FIG. 第2の変形例を示し、仮想サーバ1の物理−論理ハードウェア割当表の構成を示す説明図。Explanatory drawing which shows a 2nd modification and shows the structure of the physical-logical hardware allocation table | surface of the virtual server 1. FIG. 第2の変形例を示し、マルチプロセッサシステム上の仮想サーバ1の構成を示すブロック図。The block diagram which shows the 2nd modification and shows the structure of the virtual server 1 on a multiprocessor system. 第2の変形例を示し、ポリシーを信頼性優先とした仮想サーバ2の論理ハードウェア要求I/Fの構成を示す説明図。Explanatory drawing which shows the structure of the logical hardware request | requirement I / F of the virtual server 2 which showed the 2nd modification and made the policy priority on reliability. 第2の変形例を示し、ポリシーを帯域優先とした仮想サーバ2の論理ハードウェア要求I/Fの構成を示す説明図。Explanatory drawing which shows the structure of the logical hardware request | requirement I / F of the virtual server 2 which showed the 2nd modification and gave priority to the policy band. 第2の変形例を示し、ポリシーを省電力優先とした仮想サーバ2の論理ハードウェア要求I/Fの構成を示す説明図。Explanatory drawing which shows the structure of the logical hardware request | requirement I / F of the virtual server 2 which showed the 2nd modification and made the policy a power-saving priority. 第2の変形例を示し、ポリシーを信頼性優先とした仮想サーバ1、2の物理−論理ハードウェア割当表の構成を示す説明図。Explanatory drawing which shows the structure of the physical-logical hardware allocation table | surface of the virtual servers 1 and 2 which showed the 2nd modification and made the policy priority on reliability. 第2の変形例を示し、ポリシーを帯域優先とした仮想サーバ1,2の物理−論理ハードウェア割当表の構成を示す説明図。Explanatory drawing which shows the structure of the physical-logical hardware allocation table | surface of the virtual servers 1 and 2 which showed the 2nd modification and gave priority to the policy band. 第2の変形例を示し、ポリシーを信頼性優先とした仮想サーバ1、2のコンポーネント・ネットワーク割当表の構成を示す説明図。Explanatory drawing which shows the structure of the component network allocation table | surface of the virtual servers 1 and 2 which showed the 2nd modification and made the policy priority on reliability. 第2の変形例を示し、ポリシーを帯域優先とした仮想サーバ1、2のコンポーネント・ネットワーク割当表の構成を示す説明図。Explanatory drawing which shows the structure of the component network allocation table | surface of the virtual servers 1 and 2 which showed the 2nd modification and made the policy a bandwidth priority. 第2の変形例を示し、ポリシーを信頼性優先とした場合の割当リソース消費電力計算表の構成を示す説明図。Explanatory drawing which shows a 2nd modification and shows the structure of the allocation resource power consumption calculation table | surface at the time of making a policy priority on reliability. 第2の変形例を示し、ポリシーを消費電力優先とした場合のコンポーネント・ネットワーク割当表の構成を示す説明図。Explanatory drawing which shows a 2nd modification and shows the structure of the component network allocation table | surface at the time of setting a policy as power consumption priority. 第2の変形例を示し、ポリシーを信頼性優先とした仮想サーバ1、2のマルチプロセッサシステム上のブロック図。The block diagram on the multiprocessor system of the virtual servers 1 and 2 which showed the 2nd modification and made the policy priority on reliability. 第2の変形例を示し、ポリシーを帯域優先とした仮想サーバ1、2のマルチプロセッサシステム上のブロック図。The block diagram on the multiprocessor system of the virtual servers 1 and 2 which showed the 2nd modification and gave priority to the band policy. 第2の実施形態を示し、仮想サーバ1の論理ハードウェア要求I/Fの構成を示す説明図。Explanatory drawing which shows 2nd Embodiment and shows the structure of the logical hardware request | requirement I / F of the virtual server 1. FIG. 第2の実施形態を示し、仮想サーバ1の物理−論理ハードウェア割当表の構成を示す説明図。Explanatory drawing which shows 2nd Embodiment and shows the structure of the physical-logical hardware allocation table | surface of the virtual server 1. FIG. 第2の実施形態を示し、マルチプロセッサシステム上の仮想サーバ1の構成を示すブロック図。The block diagram which shows 2nd Embodiment and shows the structure of the virtual server 1 on a multiprocessor system. 第2の実施形態を示し、物理ハードウェア構成情報の構成を示す説明図。Explanatory drawing which shows 2nd Embodiment and shows the structure of physical hardware configuration information. 第2の実施形態を示し、論理ハードウェア構成情報通知I/Fの構成を示す説明図。Explanatory drawing which shows 2nd Embodiment and shows the structure of logical hardware configuration information notification I / F. 第2の実施形態を示し、ホスト物理アドレスとゲスト物理アドレスの関係を示すマップ。The map which shows 2nd Embodiment and shows the relationship between a host physical address and a guest physical address. 第3の実施形態を示し、仮想サーバ2の論理ハードウェア要求I/Fの構成を示す説明図。Explanatory drawing which shows 3rd Embodiment and shows the structure of the logical hardware request | requirement I / F of the virtual server 2. FIG. 第2の実施形態を示し、仮想サーバ1、2の物理−論理ハードウェア割当表の構成を示す説明図。Explanatory drawing which shows 2nd Embodiment and shows the structure of the physical-logical hardware allocation table | surface of the virtual servers 1 and 2. FIG. 第2の実施形態を示し、仮想サーバ1、2の物理−論理ハードウェア割当表の他の構成を示す説明図。Explanatory drawing which shows 2nd Embodiment and shows the other structure of the physical-logical hardware allocation table | surface of the virtual servers 1 and 2. FIG. 第2の実施形態を示し、仮想サーバ2のリソース消費電力計算表の構成を示す説明図。Explanatory drawing which shows 2nd Embodiment and shows the structure of the resource power consumption calculation table | surface of the virtual server 2. FIG. 第2の実施形態を示し、仮想サーバ2のリソース消費電力計算表の他の構成を示す説明図。Explanatory drawing which shows 2nd Embodiment and shows the other structure of the resource power consumption calculation table | surface of the virtual server 2. FIG. 第2の実施形態を示し、マルチプロセッサシステム上の仮想サーバ1、2を示すブロック図。The block diagram which shows 2nd Embodiment and shows the virtual servers 1 and 2 on a multiprocessor system. 第1の実施形態を示し、仮想マシンモニタで行われる論理ハードウェア割当処理の一例を示すフローチャート。The flowchart which shows 1st Embodiment and shows an example of the logical hardware allocation process performed with a virtual machine monitor. 第1の実施形態を示し、同じく論理ハードウェア割当処理のI/Oアダプタ割り当て処理のサブルーチンを示すフローチャート。The flowchart which shows 1st Embodiment and shows the subroutine of the I / O adapter allocation process of a logical hardware allocation process similarly. 第1の実施形態を示し、同じく論理ハードウェア割当処理のCPU及びメモリ選択処理のサブルーチンを示すフローチャート。The flowchart which shows 1st Embodiment and shows the subroutine of CPU and memory selection processing of logical hardware allocation processing similarly. 第1の実施形態を示し、同じく論理ハードウェア割当処理のポリシー評価処理のサブルーチンを示すフローチャート。The flowchart which shows 1st Embodiment and shows the subroutine of the policy evaluation process of a logical hardware allocation process similarly. 第1の実施形態を示し、同じく論理ハードウェア割当処理のコンポーネント間距離算出処理のサブルーチンを示すフローチャート。The flowchart which shows 1st Embodiment and similarly shows the subroutine of the distance calculation process between components of a logical hardware allocation process. 第1の実施形態を示し、同じく論理ハードウェア割当処理のコンポーネント共用数算出処理のサブルーチンを示すフローチャート。The flowchart which shows 1st Embodiment and shows the subroutine of the component shared number calculation process of a logical hardware allocation process similarly. 第1の実施形態を示し、同じく論理ハードウェア割当処理の実効帯域算出処理のサブルーチンを示すフローチャート。The flowchart which shows 1st Embodiment and shows the subroutine of the effective bandwidth calculation process of a logical hardware allocation process similarly. 第1の実施形態を示し、同じく論理ハードウェア割当処理の消費電力算出処理のサブルーチンを示すフローチャート。The flowchart which shows 1st Embodiment and similarly shows the subroutine of the power consumption calculation process of a logical hardware allocation process. 第1の実施形態を示し、同じく論理ハードウェア割当処理のCPU及びメモリ割り当て処理のサブルーチンを示すフローチャート。The flowchart which shows 1st Embodiment and similarly shows the CPU of a logic hardware allocation process, and the subroutine of a memory allocation process. 第1の実施形態を示し、マルチプロセッサシステムの構成図。1 is a configuration diagram of a multiprocessor system according to a first embodiment.

符号の説明Explanation of symbols

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 multiprocessor system 110 CPU socket 120 CPU core 130 memory controller 140 memory interface 150 memory 160 I / O hub 170 I / O connection interface 180 I / O adapter 190 I / O device 200 inter-module connection interface 210 module information acquisition interface 220 Service processor 300 Virtual machine monitor 310 Physical-logical hardware allocation table 320 Physical hardware configuration information acquisition interface 330 Physical-logical hardware allocation interface 340 Logical hardware configuration information notification interface 350 Logical hardware request interface 400 Physical component configuration table 500 Inter-component distance correspondence table 550 Physical network configuration table 600 Scan distance calculation table 650 component network allocation table 700 allocated resource consumption based calculation table 750 physical HW configuration information 801 logical hardware allocation processing unit

Claims (12)

複数のプロセッサと、複数のメモリと、複数のI/Oデバイスとを含むコンピュータリソースを備え、前記コンピュータリソースは、グループに分かれてそれぞれコンポーネントに所属し、それらコンポーネント同士を内部ネットワークで接続したマルチプロセッサシステム上で仮想サーバを稼働させる仮想マシンモニタであって、
前記仮想マシンモニタは、
前記所属の情報と、前記コンポーネント間の物理的な接続関係を示す情報と、を含むハードウェアの構成情報を取得する物理ハードウェア情報取得部と、
生成する仮想サーバに要求されるプロセッサの数及びメモリ量の情報と、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デバイス間の距離を求め、
前記割り当て処理部は、
前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、前記プロセッサ、メモリ、及び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デバイスが前記仮想サーバに専有される情報が含まれている場合には、前記指定される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デバイスのアクセスを優先する場合には、前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、前記プロセッサと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デバイスのアクセスを優先する場合には、前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、前記メモリと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デバイスの相互の距離を求め、
前記割り当て処理部は、
前記リソースの割当ポリシーが、仮想サーバの全体の性能を確保する場合には、前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、前記プロセッサ、メモリ、及び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.
前記物理ハードウェア情報取得部は、前記評価指標として、前記所属の情報及び前記物理的な接続関係を示す情報からプロセッサ、メモリ、及びI/Oデバイスを接続する内部ネットワークの経路を求め、
前記割り当て処理部は、
前記リソースの割当ポリシーが、仮想サーバの信頼性を優先する場合には、前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、既に割り当てた仮想サーバが使用する内部ネットワークと、前記生成要求のあった新たな仮想サーバが使用する内部ネットワークで、重複する内部ネットワークの数の総和が最小となるように、前記新たな仮想サーバへプロセッサとメモリとを割り当てることを特徴とする請求項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.
前記物理ハードウェア情報取得部は、前記評価指標として、前記所属の情報及び前記物理的な接続関係を示す情報からプロセッサ、メモリ、及びI/Oデバイスを接続する内部ネットワークの経路を求め、
前記割り当て処理部は、
前記リソースの割当ポリシーが、内部ネットワークの帯域を優先する場合には、前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、既に割り当てた仮想サーバが使用する内部ネットワークと、前記生成要求のあった新たな仮想サーバが使用する内部ネットワークで、重複する内部ネットワークの帯域を仮想サーバの数で除した値を実効帯域とし、当該実効帯域が最大となるように、前記新たな仮想サーバへプロセッサとメモリとを割り当てることを特徴とする請求項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デバイスの各々が所属するコンポーネントの消費電力とをそれぞれ求め、
前記割り当て処理部は、
前記リソースの割当ポリシーが、消費電力を優先する場合には、前記ポリシー及び前記評価指標に基づいて前記仮想サーバに割り当てる際に、既に割り当てた仮想サーバのプロセッサ、メモリ、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:
前記コンポーネントは、プロセッサソケット、またはI/Oハブであることを特徴とする請求項1に記載の仮想マシンモニタ。   The virtual machine monitor according to claim 1, wherein the component is a processor socket or an I / O hub.
JP2008169803A 2007-11-28 2008-06-30 Virtual machine monitor and multiprocessor system Expired - Fee Related JP5210730B2 (en)

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)

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

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

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