WO2016006228A1 - 仮想化システムおよび仮想化方法 - Google Patents

仮想化システムおよび仮想化方法 Download PDF

Info

Publication number
WO2016006228A1
WO2016006228A1 PCT/JP2015/003391 JP2015003391W WO2016006228A1 WO 2016006228 A1 WO2016006228 A1 WO 2016006228A1 JP 2015003391 W JP2015003391 W JP 2015003391W WO 2016006228 A1 WO2016006228 A1 WO 2016006228A1
Authority
WO
WIPO (PCT)
Prior art keywords
cpu
virtual
virtual machine
physical
packet
Prior art date
Application number
PCT/JP2015/003391
Other languages
English (en)
French (fr)
Inventor
諭 石倉
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Publication of WO2016006228A1 publication Critical patent/WO2016006228A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • 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]

Definitions

  • the present invention relates to a method of assigning a physical CPU (Central Processing Unit) to a virtual machine in a virtualization system that operates a plurality of virtual machines on the physical machine.
  • a physical CPU Central Processing Unit
  • a hypervisor as a virtualization platform emulates hardware CPU, memory, storage, NIC (Network Interface Card), and other peripheral devices and provides them to a virtual machine. Thereby, a plurality of virtual machines are operated on the physical machine.
  • the hypervisor can assign a plurality of virtual CPUs to a virtual machine.
  • the hypervisor can switch the virtual CPU assigned to the physical CPU by CPU scheduling.
  • the hypervisor can also allocate virtual CPUs in excess of the number of physical CPUs. Such a state is called CPU overcommitment.
  • Patent Document 1 discloses a method for preferentially processing packets with high priority. According to Patent Document 1, when a packet that is received data is input, first, the priority of the received data is determined. Next, it is determined whether or not the current usage amount of the buffer exceeds a threshold value that is associated in advance with the priority of the received data. If the current usage of the buffer does not exceed the priority threshold of the received data, the received data is stored in the buffer. As a result, when the free space of the buffer decreases, it is possible to store only received data with high priority in the buffer and process it with priority.
  • Patent Document 1 does not disclose a method for controlling a physical CPU assigned to a virtual machine in accordance with the data processing load of the virtual machine. For this reason, it is not possible to suppress deterioration in processing performance of the virtual machine due to an increase in load.
  • the present invention has been made in view of the above problems, and an object of the present invention is to enable control of the priority of a physical CPU to be allocated to a virtual machine according to the load state of the virtual machine, so that the virtual machine by load This is to suppress the deterioration of the processing performance.
  • the virtualization system includes a physical CPU, a virtual machine having a virtual CPU to which the physical CPU is allocated, and the physical CPU is allocated to the virtual CPU, and a load state of the virtual machine is confirmed, and the load state is set. And a hypervisor that increases or decreases the allocation of the physical CPU to the virtual CPU.
  • the virtualization method according to the present invention is controlled by a hypervisor operating on a physical machine, confirms a load state of the virtual machine operating on the physical machine, and based on the load state, to the virtual CPU of the virtual machine, Increase or decrease the physical CPU allocation of the physical machine.
  • the present invention it is possible to control the priority of the physical CPU assigned to the virtual machine according to the load state of the virtual machine, and it is possible to suppress the deterioration of the processing performance of the virtual machine due to the load.
  • FIG. 1 is a block diagram showing the configuration of the virtualization system according to the first embodiment of this invention.
  • the virtualization system 1 of this embodiment includes a physical CPU 20 and a virtual machine 100 having a virtual CPU 30 to which the physical CPU 20 is assigned. Further, the virtual CPU 30 has a hypervisor 200 that allocates the physical CPU 20, confirms the load state of the virtual machine 100, and increases or decreases the allocation of the physical CPU 20 to the virtual CPU 30 based on the load state.
  • FIG. 2 is a block diagram showing the configuration of the virtualization system according to the second embodiment of this invention.
  • the virtualization system 2 of this embodiment includes a physical machine 11.
  • the physical machine 11 includes a physical CPU 21, a physical NIC 41, and a hypervisor 210.
  • the physical machine 11 is configured so that the hypervisor 210 emulates the physical CPU 21, the memory (not shown), the physical NIC 41, and other peripheral devices (not shown) that are the hardware of the physical machine 11.
  • 11 has a virtual machine 110 operating on the computer 11.
  • the physical NIC 41 transmits and receives packets addressed to the virtual machine 110.
  • the virtual machine 110 has a virtual CPU 31 assigned from the physical CPU 21 by the hypervisor 210. Further, the virtual machine 110 includes an application 101 controlled by the virtual CPU 31, a packet receiving unit 102, and a packet transmitting unit 103.
  • the hypervisor 210 includes a virtual machine priority control unit 201, a ring buffer monitoring unit 202, a virtual machine management table 203, a virtual switch 204, and a virtual NIC 207.
  • the virtual NIC 207 includes a reception ring buffer 205 and a transmission ring buffer 206.
  • the reception ring buffer 205 and the transmission ring buffer 206 are provided in the virtual NIC 207 as a shared memory between the hypervisor 210 and the virtual machine 110.
  • the virtual machine 110 transmits and receives packets via the virtual NIC 207.
  • the virtual NIC 207 communicates with other virtual machines and other physical machines via the virtual switch 204 and the physical NIC.
  • the reception ring buffer 205 includes buffers for each of the packet priorities, for example, high priority, medium priority, and low priority.
  • the ring buffer monitoring unit 202 monitors the usage status of the reception ring buffer 205 at a predetermined period and notifies the virtual machine priority control unit 201 of the usage status.
  • the virtual machine priority control unit 201 controls the priority of the physical CPU 21 assigned to the virtual CPU 31 based on the notified usage status of the reception ring buffer 205. This control is performed with reference to the virtual machine management table 203.
  • the virtual machine management table 203 is configured with the contents shown in FIG.
  • the virtual machine management table 203 includes a storage destination reception ring buffer 205 for each packet priority, a threshold value (number of buffers in use) for determining normal times and high loads, and a virtual machine priority control unit 201. Sets the physical CPU allocation time when changing the priority. (Description of operation) The operation of the virtualization system 1 of this embodiment will be described with reference to the drawings.
  • FIG. 4 is a flowchart illustrating an operation for receiving a packet addressed to the virtual machine 110.
  • the packet addressed to the virtual machine 110 is transferred to the virtual switch 204 after the physical NIC 41 receives the packet (S01) (S02).
  • the virtual switch 204 identifies the transfer destination virtual NIC 207 based on MAC (Media Access Control) address information. Further, the header information of the packet is confirmed to identify the priority order of the packet. As information for identifying the priority order, a CoS (Class of Service) value (the priority of the TAG field of the IEEE 802.1Q frame) is used.
  • the reception ring buffer 205 can be classified according to priority. For example, as shown in the virtual machine management table of FIG. 3, the priority of 8 levels from 0 to 7 is classified into ring buffers divided into three classes of high, medium and low. After identifying the priority of the packet, the virtual switch 204 writes the packet into the reception ring buffer 205 of the destination virtual NIC 207 for each of the high, medium, and low priority classes (S03).
  • the reception process of the virtual machine 110 is performed by the packet reception unit 102 copying the packet from the reception ring buffer 205 for each priority (S04).
  • the packet receiving unit 102 identifies an application from the port number of the packet, passes it to the application 101 (S05), and ends.
  • FIG. 5 is a flowchart showing an operation for preferentially assigning the physical CPU 21 to the virtual CPU 31.
  • the ring buffer monitoring unit 202 in the hypervisor 210 periodically confirms the number of receiving ring buffers 205 in use (S11).
  • the ring buffer monitoring unit 202 determines whether or not the number in use exceeds the threshold value indicating the high load state in FIG. 3 (S12). If the number exceeds the threshold value (Yes in S12), the virtual machine priority control is performed.
  • the unit 201 is notified that the number of free ring buffers 205 for reception is small (S13). If the threshold value is not exceeded (No in S12), the process ends.
  • the virtual machine priority control unit 201 confirms whether other virtual machines to which the same physical CPU 21 is assigned are in a high load state (S14). If another virtual machine is in a high load state (Yes in S14), the process ends. When the other virtual machine is not in a high load state (No in S14), the allocation time of the physical CPU 21 to the other virtual machine is reduced, and the amount is allocated to the virtual CPU 31 of the high load virtual machine 110 (S15). Thereafter, the state of the corresponding virtual machine 110 is changed to the high load state (S16), and the process is terminated.
  • FIG. 6 is a flowchart illustrating an operation of transitioning the virtual machine 110 from the high load state to the normal state.
  • the ring buffer monitoring unit 202 confirms the number of receiving ring buffers 205 in use (S21). The ring buffer monitoring unit 202 determines whether or not the number in use is less than the threshold value indicating the normal state in FIG. 3 (S22), and if it is not less than the threshold value (No in S22), the process is terminated. If it is less than the threshold value (Yes in S22), the ring buffer monitoring unit 202 notifies the virtual machine priority control unit 201 that it has returned to normal (S23). The virtual machine priority control unit 201 determines that the high load state has been eliminated, returns the allocation time of the physical CPU 21 to the virtual CPU 31 of the virtual machine 110 to normal (S24), and transitions the virtual machine 110 to the normal state (S25). ),finish.
  • the virtual machine management table 203 has the setting contents shown in FIG.
  • the threshold information set in this table is referred to.
  • the virtual machine priority control unit 201 changes the priority of the physical CPU 21 during normal times or high loads
  • the physical CPU allocation time that is the allocation of the physical CPU 21 set in the table of FIG. 3 is referred to. change.
  • the present embodiment it is possible to control the priority of the physical CPU assigned to the virtual machine according to the load state of the virtual machine, and it is possible to suppress the deterioration of the processing performance of the virtual machine due to the load. .
  • Appendix 1 A physical CPU; A virtual machine having a virtual CPU to which the physical CPU is assigned; A hypervisor that allocates the physical CPU to the virtual CPU, confirms a load state of the virtual machine, and increases or decreases the allocation of the physical CPU to the virtual CPU based on the load state.
  • Appendix 2 The buffer having the buffer shared by the hypervisor and the virtual machine, the buffer holds a packet received by the virtual machine, and the load state is based on the number of the buffers holding the packet. The described virtualization system.
  • the hypervisor confirms the load state of another virtual machine to which the physical CPU is allocated, and increases or decreases the allocation of the physical CPU to the virtual CPU based on the load state of the another virtual machine.
  • the virtualization system according to appendix 1 or 2. (Appendix 4) The buffer distinguishes and holds the packet according to the priority of the packet, and the hypervisor confirms the number of the buffers that hold the packet having a relatively high priority, and based on the number 4.
  • the virtualization system according to one of appendices 2 to 5, wherein the hypervisor reduces the allocation of the physical CPU to the virtual CPU when the number of the buffers falls below a threshold value.
  • Appendix 7 The virtualization system according to any one of appendices 2 to 6, wherein the virtual machine includes a virtual NIC, and the buffer is provided in the virtual NIC.
  • Appendix 8) The virtualization system according to claim 7, wherein the hypervisor has a virtual switch that receives the packet, and the virtual switch is connected to the virtual NIC.
  • the virtualization system according to one of appendices 5 to 13, wherein the hypervisor has a management table for setting the threshold value, the allocation of the physical CPU, and the priority of the packet.
  • Appendix 15 15. The virtualization system according to one of appendices 1 to 14, wherein the physical CPU is allocated according to a physical CPU allocation time.
  • Appendix 16 The load state of the virtual machine controlled by the hypervisor operating on the physical machine and confirming the load state of the virtual machine operating on the physical machine is checked, and the physical CPU of the physical machine is allocated to the virtual CPU of the virtual machine based on the load state Increase or decrease the virtualization method.
  • Appendix 20 The virtualization method according to supplementary note 19, wherein the priority is distinguished based on a CoS value of the packet.
  • Appendix 21 21.
  • Appendix 22 22.
  • Appendix 23 23.
  • the present invention can be applied to a virtualization system in which a plurality of virtual machines are operated on a physical machine in a computer system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本発明は、仮想マシンの負荷による処理性能の劣化を抑制することを課題としている。本発明の仮想化システムは、物理CPUと、前記物理CPUが割り当てられる仮想CPUを有する仮想マシンと、前記仮想CPUへ前記物理CPUを割り当て、前記仮想マシンの負荷状態を確認し、前記負荷状態に基づいて前記仮想CPUへの前記物理CPUの割り当てを増減するハイパーバイザと、を有する。

Description

仮想化システムおよび仮想化方法
 本発明は、物理マシン上に複数の仮想化マシンを動作させる仮想化システムにおいて、物理CPU(Central Processing Unit)を仮想マシンに割り当てる方法に関する。
 近年、汎用サーバのマルチコア化と仮想化技術の進展に伴い、既存システムを仮想化環境上で動作させることが増えてきている。仮想化技術により、これまでは別々の物理サーバ上で運用していたシステムが同一物理サーバ上で運用できるようになり、物理サーバを集約し、サーバリソースを有効活用できる。しかしながら、物理CPU数以上に仮想CPUを割り当てて複数の仮想マシンを起動すると、仮想マシンの処理性能に影響が生じる。これは、実際に仮想マシンがCPUを必要とするかどうかとは関係なく、ホストOS(Operating System)側のスケジューラーが物理CPUの割り当てを切り替え、各仮想マシンに均等にCPU時間を割り当てるためである。
 仮想化環境では、仮想化基盤であるハイパーバイザが、ハードウェアであるCPU、メモリ、ストレージ、NIC(Network Interface Card)、その他の周辺機器をエミュレートして仮想マシンに提供する。これにより、物理マシン上に複数の仮想マシンを動作させている。ハイパーバイザは、仮想マシンに複数の仮想CPUを割り当てることができる。そして、ハイパーバイザは、CPUスケジューリングにより物理CPUに割り当てる仮想CPUを切り替えることができる。また、ハイパーバイザは、物理CPU数以上に仮想CPUを割り当てることも可能である。このような状態は、CPUのオーバーコミットと呼ばれる。
特開2003-318971号公報
 CPUのオーバーコミットを許容すれば、物理CPU数以上に多くの仮想マシンを動作させることができるが、その一方で物理CPUの競合率が高まる。そのため、仮想マシンはCPUを割り当てられるまでの待ち時間が長くなる。主にパケット処理を行う仮想マシンにとっては、実行を待たされることでパケットロスする確率が高くなることやレイテンシが大きくなるため、処理性能の低下が問題となっている。
 特許文献1には、優先度の高いパケットを優先的に処理する方法が開示されている。特許文献1によれば、受信データであるパケットが入力されると、まず、受信データの優先度を判定する。次に、バッファの現在の使用量が、受信データの優先度に予め対応づけられた閾値を超えているか否かを判定する。バッファの現在の使用量が受信データの優先度の閾値を超えていない場合には、受信データをバッファに格納する。これにより、バッファの空き容量が減ってきた場合には、優先度の高い受信データのみをバッファに格納し、優先的に処理することが可能となる。
 しかしながら、特許文献1には、仮想マシンのデータ処理の負荷に応じて、仮想マシンへ割り当てる物理CPUを制御する方法は開示されていない。そのため、負荷の増大に伴う仮想マシンの処理性能の劣化を抑制することはできない。
 本発明は、上記の課題に鑑みてなされたものであり、その目的は、仮想マシンの負荷状態に応じて仮想マシンに割り当てる物理CPUの優先度の制御を可能とすることで、負荷による仮想マシンの処理性能の劣化を抑制することにある。
 本発明による仮想化システムは、物理CPUと、前記物理CPUが割り当てられる仮想CPUを有する仮想マシンと、前記仮想CPUへ前記物理CPUを割り当て、前記仮想マシンの負荷状態を確認し、前記負荷状態に基づいて、前記仮想CPUへの前記物理CPUの割り当てを増減するハイパーバイザと、を有する。
 本発明による仮想化方法は、物理マシンで動作するハイパーバイザで制御され、前記物理マシンで動作する仮想マシンの負荷状態を確認し、前記負荷状態に基づいて、前記仮想マシンの仮想CPUへの、前記物理マシンの物理CPUの割り当てを増減する。
 本発明によれば、仮想マシンの負荷状態に応じて仮想マシンに割り当てる物理CPUの優先度の制御が可能となり、負荷による仮想マシンの処理性能の劣化を抑制することができる。
本発明の第1の実施形態の仮想化システムの構成を示すブロック図である。 本発明の第2の実施形態の仮想化システムの構成を示すブロック図である。 本発明の第2の実施形態の仮想化システムの仮想マシン管理テーブルを示す図である。 本発明の第2の実施形態の仮想化システムのパケットの受信動作を示すフローチャートである。 本発明の第2の実施形態の仮想化システムのCPUを優先的に割り当てる動作を示すフローチャートである。 本発明の第2の実施形態の仮想化システムの仮想マシンを高負荷状態から平常状態に遷移させる動作を示すフローチャートである。
 以下、図を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
(第1の実施形態)
 図1は、本発明の第1の実施形態の仮想化システムの構成を示すブロック図である。本実施形態の仮想化システム1は、物理CPU20と、物理CPU20が割り当てられる仮想CPU30を有する仮想マシン100と、を有する。さらに、仮想CPU30へ物理CPU20を割り当て、仮想マシン100の負荷状態を確認し、前記負荷状態に基づいて、仮想CPU30への物理CPU20の割り当てを増減するハイパーバイザ200を有する。
 本実施形態によれば、仮想マシンの負荷状態に応じて仮想マシンに割り当てる物理CPUの優先度の制御が可能となり、負荷による仮想マシンの処理性能の劣化を抑制することができる。
(第2の実施形態)
(構成の説明)
 図2は、本発明の第2の実施形態の仮想化システムの構成を示すブロック図である。本実施形態の仮想化システム2は、物理マシン11を有する。物理マシン11は、物理CPU21、物理NIC41、ハイパーバイザ210を有する。さらに、物理マシン11は、ハイパーバイザ210が、物理マシン11の有するハードウェアである物理CPU21やメモリ(図示省略)や物理NIC41やその他の周辺機器(図示省略)をエミュレートすることによって、物理マシン11上で動作する仮想マシン110を有する。物理NIC41は、仮想マシン110宛てのパケットを送受信する。
 仮想マシン110は、ハイパーバイザ210により物理CPU21から割り当てられる仮想CPU31を有する。さらに、仮想マシン110は、仮想CPU31により制御されるアプリケーション101、パケット受信部102、パケット送信部103を備える。
 ハイパーバイザ210は、仮想マシン優先制御部201、リングバッファ監視部202、仮想マシン管理テーブル203、仮想スイッチ204、仮想NIC207を備える。仮想NIC207は、受信用リングバッファ205、送信用リングバッファ206を備える。
 受信用リングバッファ205と送信用リングバッファ206とは、仮想NIC207に、ハイパーバイザ210と仮想マシン110との間の共有メモリとして備えられる。仮想マシン110は、仮想NIC207を介してパケットを送受信する。仮想NIC207は、仮想スイッチ204と物理NICを経由して、他の仮想マシンおよび他の物理マシンと通信する。
 受信用リングバッファ205は、パケットの優先度別に、例えば、優先度高、中、低の別にバッファを備える。リングバッファ監視部202は、受信用リングバッファ205の使用状況を一定周期で監視し、使用状況を仮想マシン優先制御部201へ通知する。仮想マシン優先制御部201は、通知された受信用リングバッファ205の使用状況に基づいて、仮想CPU31に割り当てる物理CPU21の優先度を制御する。この制御は仮想マシン管理テーブル203を参照して行う。
 仮想マシン管理テーブル203は、図3に示す内容で構成される。仮想マシン管理テーブル203は、パケットの優先度ごとの格納先の受信用リングバッファ205や、平常時と高負荷時とを判定する閾値(使用中のバッファの個数)、仮想マシン優先制御部201が優先度変更する際の物理CPU割り当て時間を設定する。
(動作の説明)
 本実施形態の仮想化システム1の動作について図を参照して説明する。
 まず、仮想マシン110宛のパケットの受信動作について説明する。図4は、仮想マシン110宛のパケットの受信動作を示すフローチャートである。
 仮想マシン110宛のパケットは、物理NIC41がパケットを受信後(S01)、仮想スイッチ204へ転送される(S02)。
 仮想スイッチ204は、MAC(Media Access Control)アドレス情報を元に転送先の仮想NIC207を特定する。さらに、パケットのヘッダ情報を確認し当該パケットの優先順位を識別する。優先順位を識別するための情報としては、CoS(Class of Service)値(IEEE 802.1QフレームのTAGフィールドのプライオリティ)を使用する。受信用リングバッファ205は、優先度に応じてクラス分けすることができる。例えば、図3の仮想マシン管理テーブルにあるように、0から7までの8段階の優先度を高、中、低の3つクラスに分けたリングバッファに分類する。仮想スイッチ204は、パケットの優先度を識別した後、宛先の仮想NIC207の受信用リングバッファ205に、優先度高、中、低のクラス別にパケットを書き込む(S03)。
 仮想マシン110の受信処理は、パケット受信部102が優先度別の受信用リングバッファ205から当該パケットをコピーすることで行う(S04)。パケット受信部102は当該パケットのポート番号からアプリケーションを特定し、アプリケーション101に渡し(S05)、終了する。
 次に、仮想マシン110の仮想CPU31に、物理CPU21を優先的に割り当てる動作について説明する。図5は、仮想CPU31に物理CPU21を優先的に割り当てる動作を示すフローチャートである。
 ハイパーバイザ210内のリングバッファ監視部202は、受信用リングバッファ205の使用中の個数を周期的に確認する(S11)。リングバッファ監視部202は、使用中の個数が図3の高負荷状態を示す閾値を越えているか否かを判定し(S12)、閾値を越えている場合(S12のYes)、仮想マシン優先制御部201へ受信用リングバッファ205の空き個数が少ないことを通知する(S13)。閾値を越えていない場合(S12のNo)、終了する。
 仮想マシン優先制御部201は、同じ物理CPU21を割り当てられている他の仮想マシンが高負荷状態であるか否かを確認する(S14)。他の仮想マシンが高負荷状態である場合(S14のYes)、終了する。他の仮想マシンが高負荷状態でない場合(S14のNo)、他の仮想マシンへの物理CPU21の割り当て時間を減らし、その分を高負荷な仮想マシン110の仮想CPU31に割り当てる(S15)。その後、該当の仮想マシン110の状態を高負荷状態に遷移させ(S16)、終了する。
 次に、仮想マシン110を高負荷状態から平常状態に遷移させる動作について説明する。図6は、仮想マシン110を高負荷状態から平常状態に遷移させる動作を示すフローチャートである。
 リングバッファ監視部202は、受信用リングバッファ205の使用中の個数を確認する(S21)。リングバッファ監視部202は、使用中の個数が図3の平常状態を示す閾値未満であるか否かを判定し(S22)、閾値未満でない場合(S22のNo)、終了する。閾値未満である場合(S22のYes)、リングバッファ監視部202は、仮想マシン優先制御部201へ平常時に戻ったことを通知する(S23)。仮想マシン優先制御部201は、高負荷状態が解消されたと判断し、仮想マシン110の仮想CPU31に割り当てる物理CPU21の割り当て時間を平常時に戻し(S24)、仮想マシン110を平常状態へ遷移させ(S25)、終了する。
 以上の動作において、仮想CPU31への物理CPU21の優先的な割り当ては、仮想マシン管理テーブル203を参照して実施される。仮想マシン管理テーブル203は、図3に示す設定内容を有する。リングバッファ監視部202が平常時か高負荷時かを判定する際は、このテーブルに設定された閾値の情報を参照する。また、仮想マシン優先制御部201が、平常時や高負荷時に物理CPU21の優先度を変更する際には、図3のテーブルに設定された物理CPU21の割り当てである物理CPU割り当て時間を参照して変更する。また、低優先のパケットについては優先制御しない設定も可能である。図3の設定例では、低優先のパケットについては物理CPU割り当て時間を常時50%としている。
 以上のように、本実施形態によれば、仮想マシンの負荷状態に応じて仮想マシンに割り当てる物理CPUの優先度の制御が可能となり、負荷による仮想マシンの処理性能の劣化を抑制することができる。
 本発明は上記実施形態に限定されることなく、請求の範囲に記載した発明の範囲内で種々の変形が可能であり、それらも本発明の範囲内に含まれるものである。
 また、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
 付記
(付記1)
物理CPUと、
前記物理CPUが割り当てられる仮想CPUを有する仮想マシンと、
前記仮想CPUへ前記物理CPUを割り当て、前記仮想マシンの負荷状態を確認し、前記負荷状態に基づいて、前記仮想CPUへの前記物理CPUの割り当てを増減するハイパーバイザと、を有する仮想化システム。
(付記2)
前記ハイパーバイザと前記仮想マシンとが共有するバッファを有し、前記バッファは前記仮想マシンが受信するパケットを保持し、前記負荷状態は前記パケットを保持している前記バッファの個数に基づく、付記1記載の仮想化システム。
(付記3)
前記ハイパーバイザは、前記物理CPUが割り当てられている別の仮想マシンの負荷状態を確認し、前記別の仮想マシンの負荷状態に基づいて、前記仮想CPUへの前記物理CPUの割り当てを増減する、付記1または2記載の仮想化システム。
(付記4)
前記バッファは、前記パケットを前記パケットの優先度で区別して保持し、前記ハイパーバイザは、前記優先度が相対的に高い前記パケットを保持している前記バッファの個数を確認し、前記個数に基づいて前記仮想CPUへの前記物理CPUの割り当てを増減する、付記2または3記載の仮想化システム。
(付記5)
前記ハイパーバイザは、前記バッファの個数が閾値を上回ると、前記仮想CPUへの前記物理CPUの割り当てを増す、付記2から4の内の1項記載の仮想化システム。
(付記6)
前記ハイパーバイザは、前記バッファの個数が閾値を下回ると、前記仮想CPUへの前記物理CPUの割り当てを減らす、付記2から5の内の1項記載の仮想化システム。
(付記7)
前記仮想マシンは仮想NICを有し、前記バッファは前記仮想NICに設けられる、付記2から6の内の1項記載の仮想化システム。
(付記8)
前記ハイパーバイザは前記パケットを受信する仮想スイッチを有し、前記仮想スイッチは前記仮想NICに接続する、付記7記載の仮想化システム。
(付記9)
前記仮想スイッチは、前記パケットの優先度を識別する、付記8記載の仮想化システム。
(付記10)
前記仮想スイッチは、前記パケットの有するCoS値に基づいて前記優先度を識別する、付記9記載の仮想化システム。
(付記11)
前記ハイパーバイザは、前記バッファの個数を確認する監視部を有する、付記2から10の内の1項記載の仮想化システム。
(付記12)
前記監視部は、周期的に前記確認をする、付記11記載の仮想化システム。
(付記13)
前記ハイパーバイザは、前記物理CPUの割り当てを増減する優先制御部を有する、付記1から12の内の1項記載の仮想化システム。
(付記14)
前記ハイパーバイザは、前記閾値、前記物理CPUの割り当て、前記パケットの優先度、を設定する管理テーブルを有する、付記5から13の内の1項記載の仮想化システム。
(付記15)
前記物理CPUの割り当ては、物理CPU割り当て時間による、付記1から14の内の1項記載の仮想化システム。
(付記16)
物理マシンで動作するハイパーバイザで制御され、前記物理マシンで動作する仮想マシンの負荷状態を確認し、前記負荷状態に基づいて、前記仮想マシンの仮想CPUへの、前記物理マシンの物理CPUの割り当てを増減する、仮想化方法。
(付記17)
前記ハイパーバイザと前記仮想マシンとが共有するバッファに、前記仮想マシンが受信するパケットを保持し、前記負荷状態は、前記パケットを保持している前記バッファの個数に基づく、付記16記載の仮想化方法。
(付記18)
前記物理CPUが割り当てられている別の仮想マシンの負荷状態を確認し、前記別の仮想マシンの負荷状態に基づいて、前記仮想CPUへの前記物理CPUの割り当てを増減する、付記16または17記載の仮想化方法。
(付記19)
前記パケットを前記パケットの優先度で区別して前記バッファに保持し、前記優先度の相対的に高い前記パケットを保持している前記バッファの個数を確認し、前記個数に基づいて前記仮想CPUへの前記物理CPUの割り当てを増減する、付記17または18記載の仮想化方法。
(付記20)
前記パケットの有するCoS値に基づいて前記優先度を区別する、付記19記載の仮想化方法。
(付記21)
前記バッファの個数が閾値を上回ると、前記仮想CPUへの前記物理CPUの割り当てを増す、付記17から20の内の1項記載の仮想化方法。
(付記22)
前記バッファの個数が閾値を下回ると、前記仮想CPUへの前記物理CPUの割り当てを減らす、付記17から21の内の1項記載の仮想化方法。
(付記23)
前記物理CPUの割り当ては、物理CPU割り当て時間による、付記16から22の内の1項記載の仮想化方法。
 この出願は、2014年7月11日に出願された日本出願特願2014-142990を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、コンピュータのシステムにおいて、物理マシン上に複数の仮想化マシンを動作させる仮想化システムへの利用が可能である。
 1、2  仮想化システム
 11  物理マシン
 20、21  物理CPU
 30、31  仮想CPU
 41  物理NIC
 100、110  仮想マシン
 101  アプリケーション
 102  パケット受信部
 103  パケット送信部
 200、210  ハイパーバイザ
 201  仮想マシン優先制御部
 202  リングバッファ監視部
 203  仮想マシン管理テーブル
 204  仮想スイッチ
 205  受信用リングバッファ
 206  送信用リングバッファ
 207  仮想NIC

Claims (10)

  1. 物理CPUと、
    前記物理CPUが割り当てられる仮想CPUを有する仮想マシンと、
    前記仮想CPUへ前記物理CPUを割り当て、前記仮想マシンの負荷状態を確認し、前記負荷状態に基づいて、前記仮想CPUへの前記物理CPUの割り当てを増減するハイパーバイザと、を有する仮想化システム。
  2. 前記ハイパーバイザと前記仮想マシンとが共有するバッファを有し、前記バッファは前記仮想マシンが受信するパケットを保持し、前記負荷状態は前記パケットを保持している前記バッファの個数に基づく、請求項1記載の仮想化システム。
  3. 前記ハイパーバイザは、前記物理CPUが割り当てられている別の仮想マシンの負荷状態を確認し、前記別の仮想マシンの負荷状態に基づいて、前記仮想CPUへの前記物理CPUの割り当てを増減する、請求項1または2記載の仮想化システム。
  4. 前記バッファは、前記パケットを前記パケットの優先度で区別して保持し、前記ハイパーバイザは、前記優先度が相対的に高い前記パケットを保持している前記バッファの個数を確認し、前記個数に基づいて前記仮想CPUへの前記物理CPUの割り当てを増減する、請求項2または3記載の仮想化システム。
  5. 前記ハイパーバイザは、前記バッファの個数が閾値を上回ると、前記仮想CPUへの前記物理CPUの割り当てを増す、請求項2から4の内の1項記載の仮想化システム。
  6. 前記ハイパーバイザは、前記バッファの個数が閾値を下回ると、前記仮想CPUへの前記物理CPUの割り当てを減らす、請求項2から5の内の1項記載の仮想化システム。
  7. 物理マシンで動作するハイパーバイザで制御され、前記物理マシンで動作する仮想マシンの負荷状態を確認し、
    前記負荷状態に基づいて、前記仮想マシンの仮想CPUへの、前記物理マシンの物理CPUの割り当てを増減する、仮想化方法。
  8. 前記ハイパーバイザと前記仮想マシンとが共有するバッファに、前記仮想マシンが受信するパケットを保持し、
    前記負荷状態は、前記パケットを保持している前記バッファの個数に基づく、請求項7記載の仮想化方法。
  9. 前記物理CPUが割り当てられている別の仮想マシンの負荷状態を確認し、前記別の仮想マシンの負荷状態に基づいて、前記仮想CPUへの前記物理CPUの割り当てを増減する、請求項7または8記載の仮想化方法。
  10. 前記パケットを前記パケットの優先度で区別して前記バッファに保持し、前記優先度の相対的に高い前記パケットを保持している前記バッファの個数を確認し、前記個数に基づいて前記仮想CPUへの前記物理CPUの割り当てを増減する、請求項8または9記載の仮想化方法。
PCT/JP2015/003391 2014-07-11 2015-07-07 仮想化システムおよび仮想化方法 WO2016006228A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-142990 2014-07-11
JP2014142990 2014-07-11

Publications (1)

Publication Number Publication Date
WO2016006228A1 true WO2016006228A1 (ja) 2016-01-14

Family

ID=55063880

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/003391 WO2016006228A1 (ja) 2014-07-11 2015-07-07 仮想化システムおよび仮想化方法

Country Status (1)

Country Link
WO (1) WO2016006228A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020166423A1 (ja) * 2019-02-15 2020-08-20 日本電信電話株式会社 リソース管理装置およびリソース管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001160041A (ja) * 1999-12-03 2001-06-12 Hitachi Ltd オンラインシステムのcpu負荷軽減方式
JP2003157177A (ja) * 2001-11-22 2003-05-30 Hitachi Ltd 仮想計算機システム及びプログラム
JP2004318474A (ja) * 2003-04-16 2004-11-11 Fujitsu Ltd システムの使用資源を調整する装置および方法
EP2698711A1 (en) * 2011-06-30 2014-02-19 Huawei Technologies Co., Ltd. Method for dispatching central processing unit of hotspot domain virtual machine and virtual machine system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001160041A (ja) * 1999-12-03 2001-06-12 Hitachi Ltd オンラインシステムのcpu負荷軽減方式
JP2003157177A (ja) * 2001-11-22 2003-05-30 Hitachi Ltd 仮想計算機システム及びプログラム
JP2004318474A (ja) * 2003-04-16 2004-11-11 Fujitsu Ltd システムの使用資源を調整する装置および方法
EP2698711A1 (en) * 2011-06-30 2014-02-19 Huawei Technologies Co., Ltd. Method for dispatching central processing unit of hotspot domain virtual machine and virtual machine system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020166423A1 (ja) * 2019-02-15 2020-08-20 日本電信電話株式会社 リソース管理装置およびリソース管理方法
JP2020135167A (ja) * 2019-02-15 2020-08-31 日本電信電話株式会社 リソース管理装置およびリソース管理方法
US20220138017A1 (en) * 2019-02-15 2022-05-05 Nippon Telegraph And Telephone Corporation Resource management device and resource management method
JP7331374B2 (ja) 2019-02-15 2023-08-23 日本電信電話株式会社 リソース管理装置およびリソース管理方法
US12039375B2 (en) 2019-02-15 2024-07-16 Nippon Telegraph And Telephone Corporation Resource management device and resource management method

Similar Documents

Publication Publication Date Title
US10530846B2 (en) Scheduling packets to destination virtual machines based on identified deep flow
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
CN105511954B (zh) 一种报文处理方法及装置
US8996756B2 (en) Using process location to bind IO resources on NUMA architectures
JP7000088B2 (ja) 通知制御装置、通知制御方法及びプログラム
US20170242596A1 (en) System and method of application aware efficient io scheduler
JP5789894B2 (ja) バッファマネージャおよびメモリ管理方法
KR102509988B1 (ko) 커넥션 기반 로드 밸런싱을 위한 저장 시스템 및 방법
KR20170030578A (ko) 프록시 기반 멀티스레딩 메시지 전달 통신을 위한 기술
CN114003369A (zh) 用于基于资源调度命令的系统和方法
CN113535319A (zh) 一种实现多rdma网卡虚拟化的方法、设备及存储介质
US11283723B2 (en) Technologies for managing single-producer and single consumer rings
US20170344266A1 (en) Methods for dynamic resource reservation based on classified i/o requests and devices thereof
JP2008181387A (ja) I/oバスシステム及びその管理方法
JP6418417B2 (ja) Usbデータ転送を管理するシステムおよび方法
US12131072B2 (en) Independent set data lanes for IOD SSD
JP6036445B2 (ja) 通信システム、中継装置、通信方法、及びプログラム
WO2016006228A1 (ja) 仮想化システムおよび仮想化方法
US9846658B2 (en) Dynamic temporary use of packet memory as resource memory
WO2020235055A1 (ja) 仮想マシン監視装置、仮想マシン監視方法およびプログラム
CN115378885B (zh) 超融合架构下的虚拟机业务网络带宽管理方法及装置
US20060153185A1 (en) Method and apparatus for dynamically changing ring size in network processing
US11271897B2 (en) Electronic apparatus for providing fast packet forwarding with reference to additional network address translation table
JP2013206041A (ja) 通信システム及び負荷分散処理装置
CN113535370A (zh) 一种实现负载均衡的多rdma网卡虚拟化的方法、设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15819529

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15819529

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP