WO2015146104A1 - 仮想マシンシステムおよびその制御方法およびその制御プログラム記録媒体 - Google Patents

仮想マシンシステムおよびその制御方法およびその制御プログラム記録媒体 Download PDF

Info

Publication number
WO2015146104A1
WO2015146104A1 PCT/JP2015/001577 JP2015001577W WO2015146104A1 WO 2015146104 A1 WO2015146104 A1 WO 2015146104A1 JP 2015001577 W JP2015001577 W JP 2015001577W WO 2015146104 A1 WO2015146104 A1 WO 2015146104A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
cpu
virtual
operation period
scheduler
Prior art date
Application number
PCT/JP2015/001577
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 日本電気株式会社
Priority to CN201580016848.6A priority Critical patent/CN106133691A/zh
Priority to JP2016510008A priority patent/JPWO2015146104A1/ja
Priority to EP15769462.1A priority patent/EP3125114A4/en
Priority to US15/128,704 priority patent/US20170132030A1/en
Publication of WO2015146104A1 publication Critical patent/WO2015146104A1/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Definitions

  • the present invention relates to a virtual machine system, a control method thereof, and a control program recording medium thereof.
  • the scheduler of the hypervisor allocates hardware resources to each virtual machine in a time-sharing manner, and multiple virtual machines operate. In order to efficiently use hardware resources, it is important how to control the scheduler.
  • Patent Document 1 a predetermined cycle is divided into a period allocated to a virtual machine that requires real-time access and a period allocated to a virtual machine that requires non-real-time access, and a priority is given to each virtual machine.
  • a technique for realizing efficiency is disclosed.
  • the present invention has been made in view of the above problems, and an object of the present invention is to provide a virtual machine system that improves the utilization efficiency of hardware resources.
  • a virtual machine system of the present invention includes a CPU resource that performs arithmetic processing, a plurality of virtual machines that operate on the CPU resource, and a scheduler that controls an operation schedule of the CPU resource.
  • a hypervisor that mediates between the CPU resource and the virtual machine; and a scheduler control unit that controls the scheduler, wherein the scheduler control unit includes a plurality of operations that operate at least once in a predetermined operation cycle of the CPU resource.
  • the effect of the present invention is that the hardware resource utilization efficiency of the virtual machine system can be improved.
  • FIG. 1 shows a block diagram of the virtual machine system of the present embodiment.
  • the virtual machine system includes a CPU resource 100 that performs arithmetic processing, a plurality of virtual machines VM that operate on the CPU resource 100, and a hypervisor 200 that mediates between the CPU resource 100 and the virtual machine VM.
  • the hypervisor 200 has a scheduler 210 that controls the operation schedule of CPU resources, and the virtual machine system has scheduler control means 300 that controls the scheduler 210.
  • the scheduler control unit 300 includes a virtual CPU generation unit 310 that generates a plurality of virtual CPUs each operating once in a predetermined operation cycle of the CPU resource 100, and a virtual machine group generation that groups the virtual machines VM into a plurality of groups. Means 320. Furthermore, the scheduler control means 300 has virtual machine operation period setting means 330 for assigning each virtual machine group VMG to each virtual CPU_VCPU. The virtual machine operation period setting unit 330 also sets an operation period for each virtual machine so as to guarantee an operation within the virtual CPU_VCPU operation period for the first virtual machine VM in the virtual machine group VMG.
  • FIG. 1 shows an example in which the virtual machine group VMG0 includes virtual machines VM_000, VM001, VM002,. Also, an example is shown in which the virtual machine group VMG1 includes virtual machines VM_100, VM101, VM102,..., And the virtual machine group VMGn includes virtual machines VM_n00, VMn01, VMn02,. Further, the virtual CPU0_VCPU0, the virtualized CPU1_VCPU1,..., And the virtualized CPUn_VCPUn are generated in the CPU resource 100.
  • CPU resources can be allocated to a plurality of virtual machines without waste, and operations can be guaranteed for virtual machines that require operation guarantee within a predetermined period.
  • FIG. 2 is a schematic diagram illustrating an example of a method of assigning a virtual machine group (VM group) to a virtualized CPU.
  • VM group virtual machine group
  • n + 1 VM groups are assigned to n + 1 virtual CPUs (VCPUs).
  • VM group 0 is assigned to VCPU0
  • VM group 1 is assigned to VCPU1,...
  • VMCPUn is assigned to VM group n.
  • FIG. 3 is a timing chart showing an example in which an operation period of the VCPU is assigned in a predetermined cycle TC of CPU resources.
  • periods operation periods T0, T1,..., Tn
  • each virtual CPU VCPU0, VCPU1,..., VCPUn
  • FIG. 4 is a timing chart schematically showing a method of assigning the operation period of each virtual machine within the operation period of each virtualization CPU.
  • the first virtual machine in each group is assumed to be a virtual machine ending with zero.
  • the first virtual machine VM in the group is guaranteed to operate within the operation period.
  • the VM000 in the VCPU0 operation period, the VM000 is guaranteed to operate, and the other virtual machines VM001, VM002,.
  • the VM 100 is guaranteed to operate, and the other virtual machines VM101, VM102,.
  • FIG. 5 is a block diagram showing a third embodiment of the present invention.
  • the operation period unit setting unit 340 is provided in the virtual machine operation period setting unit 330.
  • the operation period unit setting unit 340 sets a unit for assigning an operation period to one virtual machine VM.
  • VMG0 has VM_000, VM_001, VM_002,...
  • VMG1 has VM_100, VM_101, VM_102,...
  • VMGn has VM_n00, VM_n01, VM_n02,.
  • the CPU resource 100 includes VCPU0, VCPU1,..., VCPUn.
  • the operation period unit setting means 340 will be described. First, the operation when the operation period unit is not set will be described for comparison.
  • the operation period unit is also referred to as granularity.
  • FIG. 6 is a timing chart showing an example of the operation when the operation period unit is not set.
  • the other virtual machines VM operate for 0.1 ms each time.
  • the scheduler assigns the operation to each virtual machine VM0, VM1, VM2,. First, VM0 operates for 0.4 ms, and then VM1 operates for 0.1 ms. Thereafter, the operation is switched to VM2, VM3,..., VM7 every 0.1 ms. Then, after 1.6 ms from the first operation, VM0 operates again for 0.4 ms. In this way, a maximum of 8 switching occurs in 1.6 ms. If VMs are frequently switched in this way, the non-operation period associated with the switching increases, and the CPU resource utilization efficiency decreases.
  • FIG. 7 is a timing chart showing this state.
  • the setting unit is set to 0.4 ms according to VM0.
  • VM0 operates for 0.4 ms
  • VM1 operates for 0.4 ms.
  • VM2 and VM3 operate by 0.4 ms each, and after 1.6 ms, VM0 operates again by 0.4 ms.
  • the operation is sequentially switched to VM4 and VM5.
  • switching occurs only 4 times within 1.6 ms. For this reason, the loss due to the switching of the VM is reduced.
  • the utilization efficiency of CPU resources can be increased.
  • the user can set an appropriate granularity using the operation period unit setting means 340.
  • the granularity should not be too small or too large, but according to the present embodiment, the granularity can be set to an appropriate value. For this reason, it is possible to minimize the sum of the loss due to switching and the loss due to the allocation period being too large, and to increase the utilization efficiency of CPU resources.
  • FIG. 8 is a block diagram showing a fourth embodiment of the present invention.
  • the scheduler control means 300 has a backup VCPU generation means 350.
  • the spare VCPU generation unit 350 generates a spare VCPU_RVCPU in the CPU resource 100.
  • the scheduler 210 according to the present embodiment has a spare CPU allocation unit 211 that allocates a virtual machine to this RVCPU.
  • the other element of the same symbol as FIG. 5 described in the figure is used by the same meaning as FIG. Therefore, the description is omitted.
  • the virtual machine operation period setting means 330 does not set a schedule for the spare VCPU_RVCPU in advance. Then, during the operation period of the spare VCPU_RVCPU, the operation is preferentially assigned to the busy virtual machine according to the operation state of each virtual machine.
  • the allocation control is performed by the backup VCPU allocation unit 211.
  • FIG. 9 is a timing chart showing the operation at this time.
  • An RVCPU operation period Tr is assigned to the spare VCPU_RVCPU.
  • the VM allocation in Tr is performed by the backup VCPU allocation means 211 on an ad hoc basis. For example, it is possible to flexibly cope with assignment of a VM that has been executed within a cycle and whose operation is guaranteed.
  • Two or more spare virtualization CPUs can be provided.
  • FIG. 9 illustrates periods T1, T2,... During which other virtual CPUs operate.
  • the spare CPU allocation period can be used according to the situation. CPU resources can be effectively used.
  • FIG. 10 is a block diagram showing the fifth embodiment.
  • the CPU resource 100 has a plurality of CPU groups 110 that are physically separated.
  • the CPU 100 has a CPU group a 110a, a CPU group b 110b, a CPU group c 110c,.
  • Each of these CPU groups corresponds to a virtual CPU generation unit 310, a virtual machine group generation unit 320, and a virtual machine operation period setting unit 330, and scheduling is performed for each CPU group.
  • the scheduler unit 210a that controls the CPU group a110a is controlled by a scheduler control unit 300a having 310a, 320a, and 330a.
  • the CPU groups b110b, 110c,... Are controlled by the scheduler control units 300b, 300c,.
  • the scheduler control unit 300b includes a virtual CPU generation unit 310b, a virtual machine group generation unit 320b, and a virtual machine operation period setting unit 330b.
  • the scheduler control unit 300c includes a virtual CPU generation unit 310c, a virtual machine group generation unit 320c, and a virtual machine operation period setting unit 330c. Further, the virtual machine groups VMGa0, VMGa1,... Operate on the CPU group a110a, and the virtual machine groups VMGb0, VMGb1,.
  • the first to fourth embodiments may be applied to each CPU group, as in the case where the CPU resource 100 is regarded as one CPU. it can.
  • the scope of the present invention also includes a program for causing a computer to execute the processes of the first to fifth embodiments and a recording medium storing the program.
  • a recording medium for example, a magnetic disk, a magnetic tape, an optical disk, a magneto-optical disk, a semiconductor memory, or the like can be used.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Numerical Control (AREA)

Abstract

 [課題] ハイパーバイザー型の仮想マシンシステムで、ハードウェアリソースの利用効率を最大化する。 [解決手段] スケジューラ制御手段300は、CPUリソース100の所定動作周期に各1回動作する複数の仮想化CPUを生成する仮想化CPU生成手段310と、仮想マシンVMを複数のグループにグループ分けする仮想マシングループ生成手段320と、を有している。さらに、各仮想マシングループVMGを前記各仮想化CPU_VCPUに割り当てる仮想マシン動作期間設定手段330を有している。仮想マシン動作期間設定手段330はまた、仮想マシングループVMG内の先頭の仮想マシンVMに対し仮想化CPU_VCPU動作期間内での動作を保証するように各仮想マシンに動作期間を設定する。

Description

仮想マシンシステムおよびその制御方法およびその制御プログラム記録媒体
 本発明は、仮想マシンシステムおよびその制御方法およびその制御プログラム記録媒体に関する。
 サーバ仮想化機能の広まりにより、CPU(Central Processing Unit)などのハードウェアリソース上で、複数の仮想マシンを動作させ、ハードウェアリソースを効率的に利用することが多くなってきた。
 ハイパーバイザー型の仮想化では、ハイパーバイザーの持つスケジューラが各仮想マシンに時分割でハードウェアリソースを割り当てて処理し、複数の仮想マシンが動作する。ハードウェアリソースを効率的に利用するためにはスケジューラをどのように制御するかが重要である。
 例えば特許文献1には、所定の周期を、リアルタイムアクセスを必要とする仮想マシンに割り当てる期間と、非リアルタイムアクセスで良い仮想マシンに割り当てる期間とに分割し、各仮想マシンに優先度を付与することにより、効率化を実現する技術が開示されている。
特開2011-198346号公報 特開2003-177928号公報
 しかしながら、特許文献1の技術では、全ての仮想マシンにそれぞれ優先度を付与するため、動作の順番を制御するための負荷が大きくなっていた。また、動作時間の動作期間単位を小さくし過ぎて、仮想マシンの切替えが頻繁に発生し、ハードウェアリソースを無駄に消費してしまう恐れがあった。
 本発明は、上記の問題点に鑑みてなされたものであり、ハードウェアリソースの利用効率を向上させる仮想マシンシステムを提供することを目的としている。
 上記の課題を解決するため、本発明の仮想マシンシステムは、演算処理を行うCPUリソースと、前記CPUリソース上で動作する複数の仮想マシンと、前記CPUリソースの動作スケジュールを制御するスケジューラを具備し前記CPUリソースと前記仮想マシンとを仲介するハイパーバイザーと、前記スケジューラを制御するスケジューラ制御手段と、を有し、前記スケジューラ制御手段は、前記CPUリソースの所定動作周期に少なくとも1回動作する複数の仮想化CPUを生成する仮想化CPU生成手段と、複数の前記仮想マシンを複数のグループにグループ分けして仮想マシングループを生成する仮想マシングループ生成手段と、各前記仮想マシングループを前記各仮想化CPUに割り当てるとともに前記仮想マシングループ内の先頭の前記仮想マシンに対し前記仮想化CPUの動作期間内での動作を保証するように各仮想マシンに動作期間を設定する仮想マシン動作期間設定手段と、を有している。
 本発明の効果は、仮想マシンシステムのハードウェアリソース利用効率を向上させることができることである。
本発明第1の実施の形態を示すブロック図である。 本発明第2の実施の形態の仮想マシングループと仮想化CPUとの対応例を示す模式図である。 本発明第2の実施の形態の仮想化CPU動作期間の割り当て例を示すタイミングチャートである。 本発明第2の実施の形態の仮想マシングループ内での動作期間の割り当て例を示すタイミングチャートである。 本発明第3の実施の形態を示すブロック図である。 本発明第3の実施の形態比較例を示すタイミングチャートである。 本発明第3の実施の形態を示すタイミングチャートである。 本発明第4の実施の形態を示すブロック図である。 本発明第4の実施の形態を示すタイミングチャートである。 本発明第5の実施の形態を示すブロック図である。
 以下、図面を参照しながら本発明について詳細に説明する。
 〔第1の実施形態〕
 図1に本実施の形態の仮想マシンシステムのブロック図を示す。
 仮想マシンシステムは、演算処理を行うCPUリソース100と、CPUリソース100上で動作する複数の仮想マシンVMと、CPUリソース100と仮想マシンVMとを仲介するハイパーバイザー200と、を有している。
 ハイパーバイザー200は、CPUリソースの動作スケジュールを制御するスケジューラ210を有し、仮想マシンシステムはスケジューラ210を制御するスケジューラ制御手段300を有している。
 スケジューラ制御手段300は、CPUリソース100の所定動作周期に各1回動作する複数の仮想化CPUを生成する仮想化CPU生成手段310と、仮想マシンVMを複数のグループにグループ分けする仮想マシングループ生成手段320と、を有している。さらに、スケジューラ制御手段300は、各仮想マシングループVMGを各仮想化CPU_VCPUに割り当てる仮想マシン動作期間設定手段330を有している。仮想マシン動作期間設定手段330は、また、仮想マシングループVMG内の先頭の仮想マシンVMに対し仮想化CPU_VCPU動作期間内での動作を保証するように各仮想マシンに動作期間を設定する。
 図1では、仮想マシングループVMG0が、仮想マシンVM_000、VM001、VM002、・・・を包含する例を示している。また仮想マシングループVMG1が、仮想マシンVM_100、VM101、VM102、・・・を包含し、仮想マシングループVMGnが、仮想マシンVM_n00、VMn01、VMn02、・・・を包含する例を示している。また、CPUリソース100に、仮想化CPU0_VCPU0、仮想化CPU1_VCPU1、・・・、仮想化CPUn_VCPUnが生成していることを例示している。
 以上のような構成とすることにより、複数の仮想マシンに無駄なくCPUリソースを割り当てるとともに、所定期間内での動作保証が必要な仮想マシンに対しては動作を保証することができる。
 〔第2の実施形態〕
 図2は仮想マシングループ(VMグループ)を、仮想化CPUに割り当てる方法の一例を示した模式図である。この例では、n+1個のVMグループをn+1個の仮想化CPU(VCPU)に割り当てている。図では、VMグループ0はVCPU0に、VMグループ1はVCPU1に、・・・、VMグループnにVCPUnを割り当てた様子を示している。
 図3はCPUリソースの所定周期TCにおいて、VCPUの動作期間を割り当てた例を示すタイミングチャートである。1周期TCの間に、それぞれの仮想化CPU(VCPU0、VCPU1、・・・、VCPUn)が各1回動作する期間(動作期間T0、T1、・・・、Tn)を設けている。
 図4は、各仮想化CPUの動作期間内で各仮想マシンの動作期間を割り当てる方法を模式的に示したタイミングチャートである。ここでは各グループにおける先頭の仮想マシンを末尾が0の仮想マシンとしている。グループ内で先頭の仮想マシンVMには当該動作期間内での動作が保証される。図4の例では、VCPU0動作期間では、VM000が動作保証、他の仮想マシンVM001、VM002、・・・は非動作保証である。またVCPU1動作期間では、VM100が動作保証、他の仮想マシンVM101、VM102、・・・は非動作保証である。
 以上のように、本実施の形態に従えば、動作保証が必要なVMの動作を保証しつつ動作期間の割り当るスケジューリングが容易に実行できる。
 なお上記の説明では、1周期TC内で、各仮想化CPUが1回動作すると仮定したが、1周期TC内に2回以上動作する仮想化CPUがあっても問題ない。
 〔第3の実施形態〕
 図5は本発明第3の実施の形態を示すブロック図である。本実施の形態では、仮想マシン動作期間設定手段330に、動作期間単位設定手段340を設けている。動作期間単位設定手段340は、1つの仮想マシンVMに動作期間を割り当てるときの単位を設定するものである。なお、ここでは、次の包含関係を例示している。VMG0がVM_000、VM_001、VM_002、・・・を有し、VMG1がVM_100、VM_101、VM_102、・・・を有し、VMGnはVM_n00、VM_n01、VM_n02、・・・を有している。また、CPUリソース100は、VCPU0、VCPU1、・・・、VCPUnを有している。
 次に、動作期間単位設定手段340の動作について説明する。まず比較のために動作期間単位を設定しない場合の動作について説明する。なお、動作期間単位は粒度とも称する。
 図6は動作期間単位を設定しない場合の動作の一例を示すタイミングチャートである。ここでは、VM0に対して、1.6msの期間内に0.4msの動作を保証する必要がある場合を考える。その他の仮想マシンVMは1回につき0.1ms動作するものとする。
 動作期間単位の設定を行わない場合、スケジューラが0.1ms単位で各仮想マシンVM0、VM1、VM2、・・・に動作の割り当てを行ったものと仮定する。最初にVM0が0.4ms動作し、次にVM1が0.1ms動作する。以降、0.1ms毎にVM2、VM3、・・・、VM7と動作が切り替わる。そして最初の動作から1.6ms後に再びVM0が0.4ms動作する。こうして1.6msの間に最大8回の切り替えが発生することになる。このようにVMの切り替えが頻繁に行われると、切替えに伴う非動作期間が多くなり、CPUリソースの利用効率が低下する。
 一方、動作期間単位を適切に設定した場合は、切替えの頻発によるロスを小さくすることができる。図7はこの様子を示すタイミングチャートである。ここではVM0に合わせて、設定単位を0.4msに設定している。図7では、まずVM0が0.4ms動作し、次いでVM1が0.4ms動作する。次いでVM2、VM3が0.4msずつ動作し、1.6ms後に再びVM0が0.4ms動作する。以降VM4、VM5と順次動作が切り替わっていく。この場合は1.6msの間に4回しか切替えが生じない。このため、VMの切り替えによるロスが減少している。このように粒度を適切に設定することにより、CPUリソースの利用効率を高くすることができる。
 一方、粒度を大きくしすぎると、各VMに対して必要な動作以上の時間が割り当てられ、CPUが動作していない空白時間が生じるケースが多くなる。このため、CPUの能力をフルに活用できなくなる。したがって、粒度を大きくすることも、避ける必要がある。本実施の形態では、ユーザは、動作期間単位設定手段340を用いて、適切な粒度を設定することができる。
 以上説明したように、粒度は小さすぎても大きすぎてもいけないが、本実施の形態によれば、粒度を適切な値に設定することができる。このため、切替えによるロスと割り当て期間が大きすぎることによるロスとの総和を最小化し、CPUリソースの利用効率を高めることが可能となる。
 〔第4の実施形態〕
 図8は本発明第4の実施の形態を示すブロック図である。本実施の形態ではスケジューラ制御手段300が、予備VCPU生成手段350を有している。予備VCPU生成手段350は、CPUリソース100に予備VCPU_RVCPUを生成する。また本実施の形態のスケジューラ210は、このRVCPUに対して仮想マシンを割り当てる予備CPU割り当て手段211を有する。なお、図中に記載された図5と同じ記号のその他の要素は、図5と同じ意味で使用している。このため説明は省略する。
 仮想マシン動作期間設定手段330は、予備VCPU_RVCPUに対して予めスケジュールを設定しない。そして予備VCPU_RVCPUの動作期間には、各仮想マシンの動作状況に応じて、ビジー状態となっている仮想マシンに優先的に動作を割り当てる。その割り当て制御は、予備VCPU割り当て手段211が行う。
 図9はこの時の動作を示すタイミングチャートである。予備VCPU_RVCPUにはRVCPU動作期間Trが割り当てられる。そしてTrにおけるVMの割り当ては、予備VCPU割り当て手段211が臨機応変に行う。例えば周期内で実行済みの動作保証されたVMに対し再び割り当てを行うといった柔軟な対応ができる。なお、予備仮想化CPUは2つ以上設けることもできる。なお図9には、その他の仮想化CPUが動作する期間T1、T2、・・・を例示している。
 以上説明したように、本実施の形態によれば、予備CPUの割り当て期間を状況に応じて使えるため。CPUリソースを有効活用することが可能となる。
 〔第5の実施形態〕
 図10は第5の実施の形態を示すブロック図である。本実施の形態では、CPUリソース100が物理的に分離した複数のCPUグループ110を有する。
 図10の例では、CPU100は、CPUグループa110a、CPUグループb110b、CPUグループc110c、・・・を有している。これらのCPUグループそれぞれに、仮想化CPU生成手段310、仮想マシングループ生成手段320、仮想マシン動作期間設定手段330が対応し、CPUグループごとにスケジューリングが行われる。CPUグループa110aを制御するスケジューラユニット210aは、310a、320a、330aを有するスケジューラ制御ユニット300aによって制御される。CPUグループb110b、110c、・・・も同様にスケジューラ制御ユニット300b、300c、・・・によって制御される。この例では、スケジューラ制御ユニット300bは、仮想化CPU生成手段310b、仮想マシングループ生成手段320b、仮想マシン動作期間設定手段330bを有している。またスケジューラ制御ユニット300cは、仮想化CPU生成手段310c、仮想マシングループ生成手段320c、仮想マシン動作期間設定手段330cを有している。また仮想マシングループVMGa0、VMGa1、・・・はCPUグループa110a上で動作し、仮想マシングループVMGb0、VMGb1、・・・はCPUグループa110b上で動作する。
 上記のように、CPUグループごとにスケジュール制御を行うと、CPUリソース100を1つのCPUとみなした時と同様に、それぞれのCPUグループごとに第1から第4の実施の形態を適用することができる。
 以上説明したように、本実施の形態によれば、CPUリソースが物理的に分離した複数のCPUグループを有する場合にも、リソースの利用効率を高くすることができる。
 以上の第1から第5の実施形態の処理をコンピュータに実行させるプログラムおよび該プログラムを格納した記録媒体も本発明の範囲に含む。記録媒体としては、例えば、磁気ディスク、磁気テープ、光ディスク、光磁気ディスク、半導体メモリ、などを用いることができる。
 以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上記実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
 この出願は、2014年3月27日に出願された日本出願特願2014-065793を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 100  CPUリソース
 110  CPUグループ
 200  ハイパーバイザー
 210  スケジューラ
 211  予備VCPU割り当て手段
 300  スケジューラ制御手段
 310  仮想化CPU生成手段
 320  仮想マシングループ生成手段
 330  仮想マシン動作期間設定手段
 340  動作期間単位設定手段
 350  予備VCPU生成手段
 VM  仮想マシン
 T  動作期間
 TC  周期

Claims (10)

  1.  演算処理を行うCPUリソースと、前記CPUリソース上で動作する複数の仮想マシンと、前記CPUリソースの動作スケジュールを制御するスケジューラを具備し前記CPUリソースと前記仮想マシンとを仲介するハイパーバイザーと、前記スケジューラを制御するスケジューラ制御手段と、を有し、
     前記スケジューラ制御手段は、前記CPUリソースの所定動作周期に少なくとも1回動作する複数の仮想化CPUを生成する仮想化CPU生成手段と、複数の前記仮想マシンを複数のグループにグループ分けして仮想マシングループを生成する仮想マシングループ生成手段と、各前記仮想マシングループを前記各仮想化CPUに割り当てるとともに前記仮想マシングループ内の先頭の前記仮想マシンに対し前記仮想化CPUの動作期間内での動作を保証するように各仮想マシンに動作期間を設定する仮想マシン動作期間設定手段と、を有することを特徴とする仮想マシンシステム。
  2.  前記仮想マシン動作期間設定手段が、動作期間の単位を設定する動作期間単位設定手段を有している、ことを特徴とする請求項1に記載の仮想マシンシステム。
  3.  前記スケジューラ制御手段が、予め仮想マシンを割り当てない予備仮想化CPUを少なくとも1つ生成する予備仮想化CPU生成手段を有している、ことを特徴とする請求項1または請求項2に記載の仮想マシンシステム。
  4.  前記スケジューラが、それぞれの前記仮想マシンの動作状態に応じて前記予備仮想化CPUへ割り当てる前記仮想マシンを決定する予備仮想化CPU割り当て手段を有する、こと特徴とする請求項3に記載の仮想マシンシステム。
  5.  前記CPUリソースが前記仮想化CPUを内包する複数のCPUグループを有し、前記スケジューラがそれぞれの前記仮想化CPUグループに対応するスケジューラユニットを有し、前記スケジューラ制御部が前記スケジューラユニットを制御するスケジューラ制御ユニットを有する、ことを特徴とする請求項1乃至請求項4いずれか一項に記載の仮想マシンシステム。
  6.  演算処理を行うCPUリソースに複数の仮想化CPUを生成し、複数の前記仮想化マシンをグループ分けして複数の仮想化マシングループを生成し、生成した前記仮想化マシングループを前記仮想化CPUに割り当て、前記仮想マシングループ内の先頭の前記仮想マシンに対し前記仮想化CPUの動作期間内での動作を保証するように前記仮想マシンの動作期間を設定する、ことを特徴とする仮想マシンシステムの制御方法。
  7.  前記仮想マシン動作期間設定手段が動作期間の単位を設定する、ことを特徴とする請求項6に記載の仮想マシンシステムの制御方法。
  8.  予め仮想マシンを割り当てない予備仮想化CPUを少なくとも1つ生成する、ことを特徴とする請求項6または請求項7に記載の仮想マシンシステムの制御方法。
  9.  演算処理を行うCPUリソースに複数の仮想化CPUを生成するステップと、複数の前記仮想化マシンをグループ分けして複数の仮想化マシングループを生成するステップと、生成した前記仮想化マシングループを前記仮想化CPUに割り当てるステップと、前記仮想マシングループ内の先頭の前記仮想マシンに対し前記仮想化CPUの動作期間内での動作を保証するように各前記仮想マシンの動作期間を設定するステップと、を有することを特徴とする仮想マシンシステムの制御プログラムを格納した記録媒体。
  10.  前記仮想マシン動作期間設定手段が動作期間の単位を設定するステップ、を有することを特徴とする請求項9に記載の仮想マシンシステムの制御プログラムを格納した記録媒体。
PCT/JP2015/001577 2014-03-27 2015-03-20 仮想マシンシステムおよびその制御方法およびその制御プログラム記録媒体 WO2015146104A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201580016848.6A CN106133691A (zh) 2014-03-27 2015-03-20 虚拟机系统及其控制方法和控制程序记录介质
JP2016510008A JPWO2015146104A1 (ja) 2014-03-27 2015-03-20 仮想マシンシステムおよびその制御方法およびその制御プログラム
EP15769462.1A EP3125114A4 (en) 2014-03-27 2015-03-20 Virtual machine system, control method therfor, and control program recording medium therefor
US15/128,704 US20170132030A1 (en) 2014-03-27 2015-03-20 Virtual machine system, control method thereof, and control program recording medium thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014065793 2014-03-27
JP2014-065793 2014-03-27

Publications (1)

Publication Number Publication Date
WO2015146104A1 true WO2015146104A1 (ja) 2015-10-01

Family

ID=54194654

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/001577 WO2015146104A1 (ja) 2014-03-27 2015-03-20 仮想マシンシステムおよびその制御方法およびその制御プログラム記録媒体

Country Status (5)

Country Link
US (1) US20170132030A1 (ja)
EP (1) EP3125114A4 (ja)
JP (1) JPWO2015146104A1 (ja)
CN (1) CN106133691A (ja)
WO (1) WO2015146104A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101816718B1 (ko) * 2016-09-22 2018-02-22 고려대학교 산학협력단 Cpu 네트워크 통합 스케줄링 시스템 및 그 제어방법
CN108984267A (zh) * 2018-07-09 2018-12-11 北京东土科技股份有限公司 工业服务器的微内核架构控制系统及工业服务器

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108037994B (zh) * 2017-11-15 2020-12-22 中国电子科技集团公司第三十二研究所 一种支持异构环境下多核并行处理的调度机制
CN113238832A (zh) * 2021-05-20 2021-08-10 元心信息科技集团有限公司 虚拟处理器的调度方法、装置、设备及计算机存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005327279A (ja) * 2004-05-11 2005-11-24 Internatl Business Mach Corp <Ibm> 仮想計算機をマイグレーションするためのシステム、方法、およびプログラム
JP2010277177A (ja) * 2009-05-26 2010-12-09 Panasonic Corp マルチオペレーティングシステム制御方法及びプロセッサシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2682770B2 (ja) * 1992-05-15 1997-11-26 富士通株式会社 仮想計算機システムのcpu制御方式
CN100517237C (zh) * 2006-09-28 2009-07-22 联想(北京)有限公司 一种虚拟机系统及其cpu调度方法
US9740533B2 (en) * 2009-08-03 2017-08-22 Oracle International Corporation Altruistic dependable memory overcommit for virtual machines
JP5396339B2 (ja) * 2009-10-28 2014-01-22 株式会社日立製作所 リソース制御方法及びリソース制御システム
CN102426475A (zh) * 2011-11-04 2012-04-25 中国联合网络通信集团有限公司 桌面虚拟化环境下的节能方法、节能管理服务器及系统
CN104011680B (zh) * 2011-12-26 2017-03-01 英特尔公司 在物理处理单元中调度虚拟机的虚拟中央处理单元

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005327279A (ja) * 2004-05-11 2005-11-24 Internatl Business Mach Corp <Ibm> 仮想計算機をマイグレーションするためのシステム、方法、およびプログラム
JP2010277177A (ja) * 2009-05-26 2010-12-09 Panasonic Corp マルチオペレーティングシステム制御方法及びプロセッサシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3125114A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101816718B1 (ko) * 2016-09-22 2018-02-22 고려대학교 산학협력단 Cpu 네트워크 통합 스케줄링 시스템 및 그 제어방법
CN108984267A (zh) * 2018-07-09 2018-12-11 北京东土科技股份有限公司 工业服务器的微内核架构控制系统及工业服务器
CN108984267B (zh) * 2018-07-09 2020-11-13 北京东土科技股份有限公司 工业服务器的微内核架构控制系统及工业服务器

Also Published As

Publication number Publication date
US20170132030A1 (en) 2017-05-11
EP3125114A4 (en) 2017-12-27
JPWO2015146104A1 (ja) 2017-04-13
EP3125114A1 (en) 2017-02-01
CN106133691A (zh) 2016-11-16

Similar Documents

Publication Publication Date Title
JP6381956B2 (ja) 動的仮想マシンサイジング
WO2015146104A1 (ja) 仮想マシンシステムおよびその制御方法およびその制御プログラム記録媒体
JP2013518330A (ja) 非機能要件に基づく仮想マシンの配置の抽象化方法およびシステム
JP2008186136A (ja) 計算機システム
KR101392584B1 (ko) 리소스 모니터링을 이용한 동적 데이터 처리 장치 및 그 방법
WO2018040845A1 (zh) 一种计算资源调度方法及装置
JP2017538184A (ja) 入出力(i/o)割込みの改良型優先ルーティングを実施する方法、システムおよびプログラム
JP2016115065A (ja) 情報処理装置、情報処理システム、タスク処理方法、及び、プログラム
WO2015015756A1 (ja) 不揮発性メモリ搭載サーバの省電力制御システム、制御装置、制御方法および制御プログラム
JP6239400B2 (ja) 制御装置
Baresi et al. Towards vertically scalable spark applications
US20160124763A1 (en) Limited virtual device polling based on virtual cpu pre-emption
JP7196439B2 (ja) 仮想化環境におけるデバイスへのアクセス方法
Gouasmi et al. Cost-efficient distributed MapReduce job scheduling across cloud federation
CN104714843A (zh) 多内核操作系统实例支持多处理器的方法及装置
Iserte et al. Dynamic management of resource allocation for OmpSs jobs
KR20160112749A (ko) 멀티 코어 시스템 및 그 스케줄링 방법
Kim et al. Adaptable scheduling schemes for scientific applications on science cloud
EP3502887B1 (en) Interrupt handling for multiple virtual machines
Shao et al. Virtual machine resource management for high performance computing applications
US20180349167A1 (en) Balancing processing loads of virtual machines
Zhang et al. High performance and scalable virtual machine storage I/O stack for multicore systems
Khan et al. Improved scheduling of virtual machines on cloud with multi-tenancy and resource heterogeneity
WO2023230909A1 (zh) 调度方法及相关装置
Jiang et al. Developing co-scheduling mechanisms for virtual machines in clouds

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

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2015769462

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015769462

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016510008

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15128704

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE