IP Library Granted Patent US 8,291,413
Granted Patent B2
US 8,291,413 · App. 12/261,901 · Granted Oct 16, 2012

Virtual computer system managing schedule for allocating CPU to guest OSes and guest OS scheduling method

Assignees: Kabushiki Kaisha Toshiba; Toshiba Solutions Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,291,413
App. No.
12/261,901
Granted
Oct 16, 2012
Kind
B2
Abstract

According to one embodiment, a virtual machine manager (VMM) virtualizes hardware including a CPU to construct a plurality of virtual machines. A plurality of guest OSes are executed on the respective virtual machines. A detector included in VMM detects a change in the operating frequency of CPU. A scheduler is included in VMM. If a change in operating frequency is detected, and the operating frequency decreases below a prescribed frequency, the scheduler performs scheduling so as to increase a time for which the CPU is to be allocated to one or more predetermined particular guest OSes of the plurality of guest OSes.

Claims (54)

1. A virtual computer system, comprising:

hardware including a CPU; and

a virtual machine manager configured to virtualize the hardware to construct a plurality of virtual machines and to manage the plurality of virtual machines such that the plurality of virtual machines execute a plurality of guest OSes,

wherein the virtual machine manager includes:

a detector configured to detect a change in an operating frequency of the CPU;

a scheduler configured to manage a schedule for allocating the CPU to the plurality of guest OSes in a time-sharing manner, the scheduler being configured such that if the detector detects a change in the operating frequency and the operating frequency decreases below a predetermined prescribed frequency, the scheduler increases a time for which the CPU is to be allocated to one or more predetermined particular quest OSes of the plurality of guest OSes; and

a dispatcher configured to allocate the CPU to the plurality of guest OSes in a time-sharing manner according to the schedule managed by the scheduler;

wherein:

the scheduler is configured to increase the time for which the CPU is to be allocated to the one or more particular guest OSes so that the CPU is allocated to the one or more particular guest OSes for a time required to maintain an absolute throughput corresponding to a processing capability of the CPU required by the one or more particular guest OSes to operate at the prescribed frequency, and

the scheduler is configured such that when the prescribed frequency is defined as Fs, the operating frequency is defined as Fc, and the absolute throughput is defined as Rs, the scheduler determines a time corresponding to a throughput indicated by “Rs×(Fs/Fc)” to be the time required to maintain the absolute throughput.

2. The virtual computer system according to claim 1 , wherein:

the scheduler subtracts a second time for which the CPU is allocated to the one or more particular guest OSes from a first time for which the CPU is allowed to be allocated to the plurality of guest OSes to calculate an unallocated time for which the CPU is allowed to be allocated to remaining quest OSes which are all the plurality of guest OSes other than the one or more particular guest OSes, and

the scheduler is configured to adjust the schedule so that the CPU is equally allocated to the remaining guest OSes for the calculated unallocated time.

3. The virtual computer system according to claim 2 , wherein the scheduler is configured to, when adjusting the schedule so as to increase the time for which the CPU is to be allocated to the one or more particular guest OSes, reduce a magnitude of a unit of time for which the CPU is allocated to the plurality of guest OSes.

4. The virtual computer system according to claim 3 , wherein the scheduler is configured so that when the unit of time used if the operating frequency Fc is equal to the prescribed frequency Fs is defined as τ, the scheduler changes the magnitude of the unit of time from the τ to “τ×(Fc/Fs)”.

5. A virtual computer system, comprising:

hardware including a CPU; and

a virtual machine manager configured to virtualize the hardware to construct a plurality of virtual machines and to manage the plurality of virtual machines such that the plurality of virtual machines execute a plurality of guest OSes,

wherein the virtual machine manager includes:

a detector configured to detect a change in an operating frequency of the CPU;

a scheduler configured to manage a schedule for allocating the CPU to the plurality of quest OSes in a time-sharing manner, the scheduler being configured such that if the detector detects a change in the operating frequency and the operating frequency decreases below a predetermined prescribed frequency, the scheduler increases a time for which the CPU is to be allocated to one or more predetermined particular guest OSes of the plurality of guest OSes; and

a dispatcher configured to allocate the CPU to the plurality of guest OSes in a time-sharing manner according to the schedule managed by the scheduler;

wherein:

the scheduler is configured to increase the time for which the CPU is to be allocated to the one or more particular guest OSes so that the CPU is allocated to the one or more particular guest OSes for a time required to maintain an absolute throughput corresponding to a processing capability of the CPU required by the one or more particular guest OSes to operate at the prescribed frequency,

the virtual machine manager includes an allocation interface module configured to accept an allocation request for allocation of the absolute throughput which is issued by the one or more particular guest OSes, and

the scheduler is configured such that if the allocation interface module accepts the allocation request, the scheduler determines, for management, the absolute throughput indicated by the allocation request to be the processing capability of the CPU required by the one or more particular guest OSes to operate at the prescribed frequency.

6. The virtual computer system according to claim 5 , wherein:

the virtual machine manager includes a priority interface module configured to accept a setting request for setting of a priority which is issued by the one or more particular guest OSes, the priority indicating a priority used to ensure the absolute throughput required by the one or more particular guest OSes,

the scheduler is configured to manage the priority indicated by the setting request from the one or more particular guest OSes which has been accepted by the priority interface module, as a priority for the one or more particular guest OSes, and

the scheduler is configured such that if the operating frequency decreases below the prescribed frequency, the scheduler adjusts the schedule so as to maintain the absolute throughput required by the one or more particular guest OSes, in accordance with the priority for the one or more particular guest OSes.

7. A method of adjusting a schedule for allocating CPU to a plurality of guest OSes in a virtual computer system in a time-sharing manner, the method comprising:

detecting that an operating frequency of the CPU has decreased below a predetermined prescribed frequency;

if a decrease in the operating frequency below the predetermined prescribed frequency is detected, adjusting the schedule so as to increase a time for which the CPU is allocated to one or more predetermined particular guest OSes of the plurality of guest OSes; and

allocating the CPU to the plurality of guest OSes in a time-sharing manner according to the schedule,

wherein the time for which the CPU is to be allocated to the one or more particular guest OSes is a time required to maintain an absolute throughput corresponding to a processing capability of the CPU required by the one or more particular guest OSes to operate at the prescribed frequency,

wherein the adjusting includes:

when the prescribed frequency is defined as Fs, the operating frequency is defined as Fc, and the absolute throughput is defined as Rs, calculating a throughput indicated by “Rs×(Fs/Fc)”; and

determining a time corresponding to the calculated throughput to be the time required to maintain the absolute throughput.

8. The method according to claim 7 , wherein:

the adjusting further includes calculating an unallocated time for which the CPU is allowed to be allocated to remaining guest OSes which are all the plurality of guest OSes other than the one or more particular guest OSes, the unallocated time being calculated by subtracting a second time for which the CPU is allocated to the one or more particular quest OSes from a first time for which the CPU is allowed to be allocated to the plurality of guest OSes; and

in the adjusting, the schedule is adjusted such that the CPU is equally allocated to the remaining guest OSes for the calculated unallocated time.

9. The method according to claim 8 , wherein the adjusting further includes, when adjusting the schedule so as to increase the time for which the CPU is to be allocated to the one or more particular guest OSes, reducing a magnitude of a unit of time for which the CPU is allocated to the plurality of guest OSes.

10. The method according to claim 9 , wherein when the unit of time used if the operating frequency Fc is equal to the prescribed frequency Fs is defined as τ, in the reducing, the magnitude of the unit of time is changed from the τ to “τ×(Fc/Fs)”.

11. A method of adjusting a schedule for allocating CPU to a plurality of guest OSes in a virtual computer system in a time-sharing manner, the method comprising:

detecting that an operating frequency of the CPU has decreased below a predetermined prescribed frequency;

if a decrease in the operating frequency below the predetermined prescribed frequency is detected, adjusting the schedule so as to increase a time for which the CPU is allocated to one or more predetermined particular guest OSes of the plurality of guest OSes;

allocating the CPU to the plurality of guest OSes in a time-sharing manner according to the schedule,

wherein the time for which the CPU is to be allocated to the one or more particular quest OSes is a time required to maintain an absolute throughput corresponding to a processing capability of the CPU required by the one or more particular guest OSes to operate at the prescribed frequency;

accepting an allocation request for allocation of the absolute throughput which is issued by the one or more particular guest OSes; and

determining the absolute throughput indicated by the allocation request to be the processing capability of the CPU required by the one or more particular guest OSes to operate at the prescribed frequency, and entering the absolute throughput into a management table in association with the one or more particular guest OSes.

12. The method according to claim 11 , further comprising:

accepting a setting request for setting of a priority which is issued by the one or more particular guest OSes, the priority indicating a priority used to ensure the absolute throughput required by the one or more particular guest OSes; and

determining the priority indicated by the accepted setting request from the one or more particular guest OSes to be a priority for the one or more particular guest OSes, and entering the priority into the management table in association with the one or more particular guest OSes,

wherein in the adjusting, the schedule is adjusted so as to maintain the absolute throughput required by the one or more particular guest OSes, in accordance with the priority for the one or more particular guest OSes.

Assignments (5)
CHANGE OF CORPORATE NAME AND ADDRESS Recorded Feb 8, 2021
From: TOSHIBA SOLUTIONS CORPORATION
To: TOSHIBA DIGITAL SOLUTIONS CORPORATION
Reel/Frame 055259/0587 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY'S ADDRESS PREVIOUSLY RECORDED ON REEL 048547 FRAME 0098. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF ADDRESS. Recorded May 28, 2019
From: TOSHIBA SOLUTIONS CORPORATION
To: TOSHIBA SOLUTIONS CORPORATION
Reel/Frame 051297/0742 →
CHANGE OF ADDRESS Recorded Mar 8, 2019
From: TOSHIBA SOLUTIONS CORPORATION
To: TOSHIBA SOLUTIONS CORPORATION
Reel/Frame 048547/0098 →
CHANGE OF NAME Recorded Mar 8, 2019
From: TOSHIBA SOLUTIONS CORPORATION
To: TOSHIBA DIGITAL SOLUTIONS CORPORATION
Reel/Frame 048547/0215 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2008
From: MIZUNO, SATOSHI
To: KABUSHIKI KAISHA TOSHIBA; TOSHIBA SOLUTIONS CORPORATION
Reel/Frame 021766/0135 →
Priority Claims (1)
JP 2007-283721 · Oct 31, 2007 · national
Continuity (1)
Related Publication 20090113426A1 · Apr 30, 2009