[go: up one dir, main page]

WO2012104940A1 - 仮想計算機システム、デバイス共有制御方法、プログラム、及び集積回路 - Google Patents

仮想計算機システム、デバイス共有制御方法、プログラム、及び集積回路 Download PDF

Info

Publication number
WO2012104940A1
WO2012104940A1 PCT/JP2011/006049 JP2011006049W WO2012104940A1 WO 2012104940 A1 WO2012104940 A1 WO 2012104940A1 JP 2011006049 W JP2011006049 W JP 2011006049W WO 2012104940 A1 WO2012104940 A1 WO 2012104940A1
Authority
WO
WIPO (PCT)
Prior art keywords
power saving
virtual machine
virtual
control
state
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.)
Ceased
Application number
PCT/JP2011/006049
Other languages
English (en)
French (fr)
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.)
Panasonic Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp filed Critical Panasonic Corp
Priority to CN201180016621.3A priority Critical patent/CN102822800B/zh
Priority to US13/638,732 priority patent/US9009509B2/en
Priority to JP2012555577A priority patent/JP5830038B2/ja
Publication of WO2012104940A1 publication Critical patent/WO2012104940A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a technique for causing a hypervisor to control a device when the virtual machine is shifted to a power saving state in a virtual machine system including a virtual machine, a device occupied by each virtual machine, and a hypervisor. is there.
  • Virtual computer control technology has been mainly used in general-purpose large-scale computers, but in recent years, physical technology has been used mainly in data centers that use inexpensive computers based on the architecture of PCs (Personal Computers). It is also used for the purpose of reducing operational costs such as reducing the number of computers, reducing power consumption, and simplifying management.
  • the first method is a method in which the virtual machine uses the device exclusively.
  • this first method is called a proprietary method.
  • the virtual machine uses the device exclusively. Therefore, at the time of device control, the processor does not need to consider sharing of devices by a plurality of virtual machines, and generally the performance degradation due to virtualization is small.
  • the occupation method the amount of power consumption increases according to the number of physical devices, so the power consumption is larger than the second method described later.
  • the second method is a method in which a plurality of virtual machines share and use a device.
  • this second method is called a sharing method.
  • virtual machines share and use devices. Therefore, at the time of device control, it is necessary for the processor to consider sharing of devices by a plurality of virtual machines, and generally performance degradation due to virtualization is large. On the other hand, since the number of operating physical devices decreases, the power consumption is smaller than in the first method.
  • the two methods have a trade-off relationship between performance and power consumption. Therefore, there is a demand for device control technology that achieves both performance and power consumption.
  • Patent Documents 1 to 3 are cited as existing technologies related to device control, and an outline of these technologies will be described.
  • Patent Document 1 a device control method is switched from a dedicated method to a shared method or from a shared method to a dedicated method in accordance with a change in the usage status of a virtual device, thereby avoiding a performance degradation. How to share is described.
  • Patent Document 2 the use of physical resources of a virtual machine is managed by a management operating system that manages the physical resources allocated to the virtual machine, thereby saving the unused physical resources shared by a plurality of virtual machines.
  • a method for enabling power control and reducing power consumption is described.
  • Patent Document 3 in an information processing apparatus that controls hardware resources corresponding to each of a plurality of OSs, when the OS issues a power-on state control command to the device, the device is directly input / output using the I / O method It is described that when a control is performed and the OS issues a power-off state control command to the device, the device performs input / output control using an emulation method.
  • Patent Documents 1 and 3 have a problem that the power consumption of the device cannot be reduced because there is no means for controlling the power saving of the device. Further, in the method described in Patent Document 2, there is a means for saving power of an inactive device, but there is no means for switching a device control method. Therefore, when a device is shared and controlled by a plurality of virtual machines, the performance is improved. There is a problem of lowering.
  • JP 2008-146666 A Japanese Patent Laid-Open No. 2006-113767 JP 2009-223793 A
  • An object of the present invention is to provide a virtual machine system and the like that reduce power consumption while avoiding performance degradation due to device sharing.
  • a virtual machine system includes a plurality of virtual machines, a plurality of devices provided corresponding to each virtual machine, a plurality of devices occupied by the corresponding virtual machines, and a hypervisor that controls the virtual machines.
  • a virtual computer system comprising: a device control unit that controls a corresponding device; and a power saving control unit that performs power saving control of the corresponding virtual computer, wherein the hypervisor
  • the overall power saving control unit, from the power saving control unit changes the corresponding virtual machine from a normal state to a power saving state.
  • the virtual machine information is referred to, and it is determined whether or not two or more predetermined number of virtual machines including the virtual machine that has output the transition request are in a power saving state, and the device
  • the control change unit operates one device to be operated among devices corresponding to the virtual computers in the power saving state when the overall power saving control unit determines that a predetermined number of virtual computers are in the power saving state.
  • the device and the remaining devices are determined as degenerate devices, and the operation device is caused to degenerate control of the degenerate device.
  • a device sharing control method, a program, and an integrated circuit according to another aspect of the present invention have the characteristics of the virtual computer system described above.
  • FIG. 1 It is a block diagram which shows the structure of the virtual machine system in Embodiment 1 of this invention. It is a figure which shows an example of the virtual computer information table with which the virtual computer information storage part in Embodiment 1 of this invention is provided. 4 is a flowchart for explaining an operation when the virtual machine system in Embodiment 1 of the present invention transitions from a normal state to a power saving state. 4 is a flowchart for explaining an operation when the virtual machine system according to Embodiment 1 of the present invention returns from a power saving state to a normal state. It is the figure which showed an example of the virtual machine table in Embodiment 3 of this invention.
  • FIG. 10 is an explanatory diagram illustrating an example of an operation of a virtual computer system according to a third embodiment.
  • FIG. 1 is a block diagram showing a configuration of a virtual machine system according to Embodiment 1 of the present invention.
  • a virtual computer system according to Embodiment 1 of the present invention includes a plurality (N) of virtual computers AA01-1 to AA01-N (N is an integer of 2 or more) and N virtual computers.
  • Devices AA08-1 to AA08-N provided corresponding to AA01-1 to AA01-N and a hypervisor AA04 for controlling the virtual machines AA01-1 to AA01-N are provided.
  • the virtual machines AA01-1 to AA01-N and the devices AA08-1 to AA08-N are not distinguished, the virtual machines are given the symbols “AA01” and the devices “AA08”.
  • the virtual machine AA01 exclusively controls the corresponding device AA08 in a state other than the power saving state, that is, in the normal state.
  • the virtual machines AA01-1 to AA01-N respectively include power saving control units AA02-1 to AA02-N and devices AA08-1 to AA08-N that perform power saving control of the virtual machines AA01-1 to AA01-N.
  • Device control units AA03-1 to AA03-N to be controlled are provided.
  • the power saving control unit is denoted by “AA02” and is assigned to the device control unit.
  • the code “AA03” is attached.
  • power saving control refers to controlling the transition of the device AA08 to the power saving state and the return of the device AA08 from the power saving state.
  • the power saving control unit AA02 When the virtual computer AA01 transitions to the power saving state, the power saving control unit AA02 outputs a transition request indicating that the virtual computer AA01 transitions from the normal state to the power saving state to the overall power saving control unit AA06. Further, when the virtual computer AA01 returns from the power saving state to the normal state, the power saving control unit AA02 issues a return request indicating that the virtual computer AA01 returns from the power saving state to the normal state from the overall power saving control unit AA06. receive.
  • the power saving control unit AA02 when transitioning the virtual machine AA01 from the normal state to the power saving state, stops the process being executed on the virtual machine AA01 and periodically executes the process on the virtual machine AA01. Power saving processing is performed such as stopping or shifting the exclusive device AA08 from the normal state to the power saving state.
  • the power saving control unit AA02 outputs a transition request to the device control unit AA03 when changing the device AA08 from the normal state to the power saving state, and changes the device AA08 from the normal state to the power saving state.
  • the device control unit AA03 When the device AA08 transitions from the normal state to the power saving state, the device control unit AA03 performs power saving processing such as stopping the clock supply to the device AA08 and cutting off the power supply to the device AA08. Any of these power saving processes may be used alone or in combination. In addition, these power saving processes are merely examples of processes when each of the virtual computer AA01 and the device AA08 is shifted to the power saving state, and the present invention is not limited to these processes.
  • the power saving control unit AA02 when returning the virtual machine AA01 from the power saving state to the normal state, resumes the stopped process or the periodically stopped process on the virtual machine AA01.
  • a return process is performed in which the device AA08 dedicated to AA01 is returned from the power saving state to the normal state.
  • the power saving control unit AA02 outputs a return request to the device control unit AA03, and the device control unit AA03 returns the device AA08 from the power saving state to the normal state. You can do it.
  • the device control unit AA03 When the device control unit AA03 returns the device AA08 from the power saving state to the normal state, for example, the device control unit AA03 performs return processing such as restarting the supply of the clock to the device AA08 or restarting the power supply to the device AA08. That is, the power saving control unit AA02 may perform a return process corresponding to the above power saving process.
  • the hypervisor AA04 performs virtual machine information storage unit AA05 that stores a virtual machine information table (an example of virtual machine information) including information related to the state of the virtual machine AA01 and the control of the device AA08, and performs power saving control of the entire virtual machine system.
  • a virtual machine information table an example of virtual machine information
  • An overall power saving control unit AA06 and a device control change unit AA07 that changes the control of the device AA08 are provided.
  • the change in control of the device AA08 depends on the type of the device AA08. For example, when the device AA08 is a timer, a change in control such as stopping the timer operation or restarting the timer operation is applied.
  • FIG. 2 is a diagram illustrating an example of the virtual machine information table BB01 stored in the virtual machine information storage unit AA05 according to the first embodiment of the present invention.
  • the virtual machine information table BB01 includes virtual machine state information indicating whether or not the virtual machine AA01 is in the power saving state, device control information indicating the control content of the device AA08, and control of the device AA08.
  • Device control change information indicating whether or not the device has been changed.
  • the virtual machine state information indicates the state of the virtual machine AA01
  • the device control information and the device control change information indicate information related to the control of the device AA08.
  • FIG. 2 shows a virtual machine information table BB01 when a timer is employed as the device AA08.
  • virtual machine state information is “power saving state”
  • device control information is “timeout after 3 seconds”
  • device control change information is “control change”. "Yes”. Therefore, the virtual computer AA01-1 is in the power saving state, the device AA08-1 has been controlled to time out after 3 seconds and the virtual computer AA01-1 is returned to the normal state, and the device AA08-1 It is shown that the control to time out after 3 seconds is changed.
  • virtual machine state information is “power saving state”
  • device control information is “timeout after 2 seconds”
  • device control change information is “no control change”. It has become. Therefore, the virtual computer AA01-2 is in the power saving state, the device AA08-2 times out after 2 seconds and the virtual computer AA01-2 returns to the normal state, and the device AA08-2 times out after 2 seconds. It shows that the control has not changed.
  • the overall power saving control unit AA06 when the overall power saving control unit AA06 receives from the power saving control unit AA02 a transition request for transitioning the corresponding virtual machine AA01 from the normal state to the power saving state, the overall power saving control unit AA06 refers to the virtual machine information table BB01. Then, it is determined whether all the virtual machines AA01 are in the power saving state.
  • the device control changing unit AA07 selects one device to be operated from all the devices AA08 as the operating device, and the remaining devices The device is determined as a degenerate device, and the active device is degenerated to control the degenerate device.
  • the device AA08 is constituted by, for example, a timer, and when the corresponding virtual machine AA01 enters the power saving state, the device AA08 measures the time-out time until the corresponding virtual machine AA01 returns to the normal state.
  • the device AA08 includes a register, and writes a time at any time in the register when the timing operation is started.
  • FIG. 3 is a flowchart for explaining the operation when the virtual machine system in Embodiment 1 of the present invention transitions from the normal state to the power saving state.
  • devices AA08-1, AA08-2, and AA08-N exist as devices AA08.
  • the overall power saving control unit AA06 receives a transition request for causing the corresponding virtual machine AA01 to transition from the normal state to the power saving state from the power saving control unit AA02 of a certain virtual machine AA01 (step CC01).
  • the corresponding virtual computer AA01 is, for example, the power saving control unit AA02-1
  • the power saving control unit AA02-1 belongs to the virtual computer AA01-1, and therefore the virtual computer AA01-1 corresponds to the virtual computer AA01-1. It becomes computer AA01.
  • the overall power saving control unit AA06 updates the “virtual machine state information” in the virtual machine information table BB01 based on the request for transition to the power saving state received in step CC01 (step CC02).
  • the “virtual machine state information” of the virtual machine AA01-1 in the virtual machine information table BB01 is set to “ Update from “normal state” to “power saving state”.
  • the overall power saving control unit AA06 refers to the virtual machine state information in the virtual machine information table BB01 and determines whether all of the virtual machines AA01 are in the power saving state (step CC03).
  • step CC03 If it is determined that all of the virtual machines AA01 are in the power saving state, that is, all of the virtual machines AA01-1, AA01-2, and AA01-N are in the power saving state (YES in step CC03), the processing is performed. Proceeding to step CC04, if all of the virtual machines AA01 are not in the power saving state, that is, if it is determined that at least one of the virtual machines AA01-1, AA01-2, AA01-N is in the normal state (step The process is terminated.
  • the device control change unit AA07 acquires control information of all the devices AA08 (step CC04).
  • the device control change unit AA07 reads the control information from this register.
  • the device control change unit AA07 can recognize the timeout time until each virtual machine AA01 returns to the normal state by reading the control information from the register of each device AA08.
  • the method of reading the control information from the register is merely an example, and the present invention is not limited to this method.
  • a shared memory shared by the virtual machine AA01 and the hypervisor AA04 is further provided in the virtual machine system.
  • Each device AA08 writes the control information in this shared memory.
  • device control change part AA07 may employ
  • the device control change unit AA07 updates the device control information in the virtual machine information table BB01 with the control information of the device AA08 acquired in Step CC04 (Step CC05).
  • the device control change unit AA07 since the device AA08 is a timer, the device control change unit AA07 writes the timeout time until the corresponding virtual computer AA01 returns to the normal state in the virtual computer information table BB01.
  • the device control change unit AA07 is referred to as “3 seconds”, “2 seconds”, and “8 seconds” from the devices AA08-1, AA08-2, and AA08-N, respectively, by the process of step CC04. Acquired control information. Therefore, in the virtual machine information table BB01 of FIG. 2, “timeout after 3 seconds”, “timeout after 2 seconds” in the “device control information” column of the virtual machines AA01-1, AA-01-2, AA01-N, “Timeout after 8 seconds” is written.
  • the device control change unit AA07 refers to the virtual machine information table BB01 and determines whether or not the control of the active device AA08 can be degenerated (step CC06).
  • the device control change unit AA07 may determine whether or not the device is a degenerate device from the type of the device AA08, for example. Specifically, the device control change unit AA07 outputs a type acquisition request to each device AA08 and acquires information indicating the type from the device AA08. Then, the device control change unit AA07 may determine that degeneration is possible when all the types of devices AA08 are the same and the type of the device AA08 corresponds to a predetermined degradable device.
  • the device AA08 when the device AA08 receives the type acquisition request from the device control change unit AA07, the device AA08 may be designed so as to output information indicating its type to the device control change unit AA07. Examples of the information indicating the type include “timer” and “network card”. In this example, a timer is employed as the device AA08, and it is predetermined that the timer can be degenerated. Therefore, the device control change unit AA07 transmits “timer” as information indicating the type from all the devices AA08, and determines YES in step CC06.
  • step CC06 is always YES.
  • the device control change unit AA07 cannot recognize the device type in advance.
  • the virtual computer system can be made versatile.
  • step CC06 If the device control change unit AA07 determines that degeneration is possible (YES in step CC06), the process proceeds to step CC07. If it is determined that degeneration is not possible (NO in step CC06), the process proceeds to step CC11.
  • the device control change unit AA07 determines one active device from all the devices AA08, and determines the remaining devices AA08 as degenerate devices (CC07).
  • the device AA08 is a timer, and the timeout time of each timer corresponding to each virtual machine AA01 is stored in the virtual machine information table BB01.
  • the device control change unit AA07 refers to the virtual machine information table BB01, determines the device AA08 with the minimum timeout time as an active device, and determines the remaining devices AA08 as degenerated devices.
  • the remaining time is determined from the timeout time of the timer with the minimum timeout time and the timeout time of the remaining timer when the degeneration is released.
  • the timer timeout time can be specified. Then, when the timer with the minimum timeout time has timed out, the timing operation of the remaining timer is restarted, and if the restarted timer is timed to the specified timeout time, the virtual computer AA01 corresponding to the remaining timer is initially set. The normal state can be restored with the timeout time.
  • the device control change unit AA07 determines the timer with the minimum timeout time as the operating device and the remaining timers as the degenerate devices.
  • step CC07 the process of step CC07 will be described in detail with reference to FIG.
  • the timer with the minimum timeout time is the timer of the virtual machine AA01-2, that is, the device AA08-2. Therefore, the device control change unit AA07 determines the device AA08-2 as an active device and the devices AA08-1 and AA08-N other than the device AA08-2 as degenerate devices.
  • the device control change unit AA07 stops the degenerate device and shifts to the power saving state, and causes the active device to degenerate control of the degenerate device. That is, the device control change unit AA07 causes only the device AA08-2 to perform the timing operation and stops the timing operations of the devices AA08-1 and AA08-N.
  • the operation time of the devices AA08-1 and AA03-N is shortened and power saving can be achieved as compared with the configuration in which all devices AA08 perform the timing operation.
  • a timer is adopted as the device AA08, but the present invention is not limited to the timer.
  • any device may be used as long as it can maintain control consistency even when the operation device is degenerated to control the degeneration device.
  • a periodically driven device or a network interface card (NIC) described in Embodiment 3 can be used.
  • the device control change unit AA07 updates “device control change information” in the virtual machine information table BB01 (step CC08).
  • the device AA08-2 since the timeout time of the device AA08-2 is minimum, the device AA08-2 is determined as the active device, and the remaining devices AA08-1 and AA08-N are degenerated devices. As determined. Therefore, the device control change unit AA07 sets the “device control change information” of the virtual machine AA01-2 to “no control change” and sets the “device control change information” of the virtual machines AA01-1 and AA01-N to “control”. Changed ”is set.
  • the device control change unit AA07 refers to the “device control change information” in the virtual machine information table BB01, and changes the control of the device AA08 of the virtual machine AA01 that is set to “control changed” (step CC09). ).
  • “device control change information” of the virtual machines AA01-1 and AA01-N is set to “control changed”. Therefore, the device control change unit AA07 stops the control of the devices AA08-1 and AA08-N and operates only the device AA08-2.
  • the overall power saving control unit AA06 sets the state of the degenerate device to the power saving state (step CC10).
  • the states of the devices AA08-1 and AA08-N of the virtual machines AA01-1 and AA01-N whose “device control change information” is “control changed” are set to the power saving state.
  • the state of the device AA08-2 of the virtual machine AA01-2 in which “device control change information” is “no control change” is set to the normal state.
  • the entire power saving control unit AA06 performs processing for transitioning the entire virtual machine system to the power saving state because all the virtual machines AA01 are in the power saving state, and the power saving state of the entire virtual machine system is saved.
  • the state is set (step CC11).
  • FIG. 4 is a flowchart for explaining an operation when the virtual machine system according to Embodiment 1 of the present invention returns from the power saving state to the normal state.
  • the overall power saving control unit AA06 performs processing for returning the entire virtual machine system to the normal state, and sets the entire virtual machine system state from the power saving state to the normal state.
  • the interrupt include a timeout interrupt that occurs when the active device times out.
  • the overall power saving control unit AA06 refers to the virtual machine information table BB01 and determines whether there is a degenerate device (step DD02).
  • the overall power saving control unit AA06 is degenerated. Determine that there is a device.
  • the process proceeds to step DD03, and if it is determined that there is no degenerate device (NO in step DD02), the process is performed. Proceed to step DD07.
  • the overall power saving control unit AA06 sets the state of the degenerate device to the normal state (step DD03).
  • the overall power saving control unit AA06 is The state of these devices AA08 is set from the power saving state to the normal state.
  • the device control changing unit AA07 returns the control of the degenerate device to before the change based on the information in the virtual machine information table BB01 (step DD04). For example, it is assumed that a timeout interrupt occurs due to the timeout of the device AA08-2 and the flowchart of FIG. 4 is started.
  • the timeout time of the device AA08-2 is 2 seconds. Therefore, it can be seen that two seconds have elapsed since the operations of the devices AA08-1 and AA08-N were stopped. Further, from the “device control information” in the virtual machine information table BB01, the timeout time of the device AA08-1 is 3 seconds after the operation stop, and the timeout time of the device AA08-N is 8 seconds after the operation stop. I understand.
  • the virtual machines AA01-1 and AA01-N can be restored according to the original time-out time.
  • the device control change unit AA07 determines that the devices AA08-1 and AA08-N are one second after six seconds after subtracting the timeout time of the device AA08-2 from the timeout time of the devices AA08-1 and AA08-N. The operations of the devices AA08-1 and AA08-N are restarted so as to time out.
  • the devices AA08-1 and AA08-N time out after 1 second and 6 seconds from the present time, and the virtual machines AA01-1 and AA01-N can be restored according to the original time-out time.
  • FIG. 4 may be executed before an interrupt occurs and the device AA08-2 times out.
  • an interrupt for returning the virtual machine AA01-2 may occur before the timeout time of the device AA08-2 elapses, and the flowchart of FIG. 4 may be executed.
  • the device control change unit AA07 reads the control information from the register of the device AA08-2 which is an active device. For example, assume that this elapsed time is 1 second.
  • the device control change unit AA07 determines that the devices AA08-1 and AA08-N have a timeout time of 3 seconds, a value obtained by subtracting an acquired elapsed time of 1 second from 8 seconds, and a device after 7 seconds.
  • the operations of the devices AA08-1 and AA08-N are restarted so that AA08-1 and AA08-N time out.
  • the virtual machines AA01-1 and AA01-N can be restored according to the original timeout time.
  • the device control change unit AA07 updates “device control change information” in the virtual machine information table BB01 based on the processing of step DD04 (step DD05).
  • the device control change unit AA07 calculates the new timeout time of the devices AA08-1 and AA08-N as 1 second and 6 seconds. . Therefore, the device control changing unit AA07 sets “device control information” of the devices AA08-1 and AA08-N as “timeout after 1 second” and “timeout after 6 seconds”.
  • the device control change unit AA07 updates “device control change information” in the virtual machine information table BB01 (step DD06).
  • the device control change unit AA07 returns the “device control change information” of the virtual machine AA01 corresponding to the degenerated device from “control change” to “no control change”.
  • the device control change unit AA07 identifies the virtual computer AA01 to be returned from the power saving state based on the factor that the virtual computer system has returned from the power saving state, and stores “virtual computer state information” in the virtual computer information table BB01. Update (step DD07).
  • the device control change unit AA07 can recognize that a timeout interrupt has occurred from the device AA08-2 by referring to the interrupt control register. As a result, the device control change unit AA07 can recognize the virtual computer AA01-2 to be restored from the power saving state to the normal state. Then, the device control change unit AA07 updates the “virtual machine state information” of the virtual machine AA01-2 from “power saving state” to “normal state”.
  • the overall power saving control unit AA06 performs the following operation on the power saving control unit AA02 of the virtual machine AA01-2 whose “virtual machine state information” is changed from “power saving state” to “normal state” in step DD07.
  • a return request for returning from the power saving state to the normal state is output (step DD08).
  • the virtual machine AA01 in the normal state occupies the corresponding device AA08, so that it is possible to suppress the performance degradation.
  • the control of the degenerated device is degenerated to the active device, so that power consumption can be reduced.
  • the device control change unit AA07 degenerates the device AA08 when all the virtual machines AA01 are in the power saving state, but the present invention is not limited to this.
  • the overall power saving control unit AA06 receives a transition request from a certain virtual machine AA01, whether or not two or more predetermined number of virtual machines AA01 including the virtual machine AA01 that has output the transition request are in a power saving state. Determine.
  • the device control changing unit AA07 selects 1 of the devices corresponding to the virtual machine AA01 in the power saving state.
  • One device may be determined as an active device, and the remaining devices may be determined as degenerated devices, and the active device may be degenerated.
  • the predetermined number may be any number as long as it is two or more. For example, a value corresponding to the target power saving amount may be adopted as appropriate.
  • step CC03 in FIG. 3 if a predetermined number of virtual machines AA01 are in the power saving state, it is determined YES, and if all the virtual machines AA01 are in the normal state, it is determined NO.
  • step CC07 among the devices AA08 corresponding to the virtual computer AA01 in the power saving state, the device AA08 having the minimum timeout time is determined as an active device, and the remaining devices are determined as degenerated devices.
  • a virtual machine AA01 that hardly enters a power saving state there may be a mixture of a virtual machine AA01 that hardly enters a power saving state and a virtual machine AA01 that frequently enters a power saving state.
  • the device AA08-1 to AA08-N may be grouped by an arbitrary number, and a process for determining whether or not to execute a process of degenerating in units of groups may be executed.
  • the devices AA08-1 to AA08-N are divided into a group G1 of devices AA08-1 to AA08-3 and a group G2 of devices AA08-4 to AA08-N.
  • the degeneration process may be performed on condition that all the virtual computers AA01-1 to AA01-3 in the group G1 are in the power saving state. Further, the degeneration process may be performed on condition that all the virtual computers AA01-4 to AA08-N in the group G2 are in the power saving state.
  • the degeneration is canceled for the group G1, and any one of the virtual machines AA01-4 to AA01-N in the group G2 is released.
  • the degeneration may be released for the group G2.
  • Embodiment 2 The virtual computer system according to the second embodiment is characterized in that, in the virtual computer system according to the first embodiment, when the control of the degenerate device is degenerated to the active device, the clocking operation of the active device is performed with low accuracy. Note that in this embodiment, the same elements as those in Embodiment 1 are not described, and the drawings in Embodiment 1 are used as appropriate.
  • a timer is employed as the device AA08.
  • the timer of the present embodiment is a timer that can be switched between a first operation mode that performs a timekeeping operation with a predetermined first accuracy and a second operation mode that performs a timekeeping operation with a lower accuracy than the first accuracy. .
  • Low accuracy indicates that the time resolution is lower than that of high accuracy. Therefore, when the timer is set to the second operation mode, the power consumption of the timer is lower than when the timer is set to the first operation mode.
  • the timer when measuring the waiting time when accepting an operation from the user on the touch panel, it is preferable to set the timer to the first operation mode because high-accuracy timing is required.
  • the device control unit AA03 sets the corresponding device AA08 in the first operation mode in advance, and changes the operation mode of the corresponding device AA08 from the first operation first mode to the second operation mode even if the corresponding virtual machine AA01 enters the power saving state. Do not switch to operating mode.
  • step CC09 in FIG. 3 in the first embodiment, the device control change unit AA07 stops the operations of the devices AA08-1 and AA08-N that are degenerate devices, and only the device AA08-2 that is an active device operates. I was letting.
  • the device control changing unit AA07 stops the operation for the degenerate device as in the first embodiment, but the operation mode is set to the first operation for the device AA08-2 that is the active device. The mode is switched from the mode to the second operation mode to perform the timing operation.
  • step DD04 shown in FIG. 4 in the second embodiment, the device control change unit AA07 switches the operation mode from the second operation mode to the first operation mode only for the device AA08-02 that is the active device, and For the devices AA08-1 and AA08-N which are degenerate devices, the timing operation is resumed while the first operation mode is maintained.
  • the operation mode of the timer is not switched and the operation mode of only the active device is changed from the first operation mode when degeneration is started.
  • the operation mode of only the active device is switched from the second operation mode to the first operation mode.
  • FIG. 6A and 6B are explanatory diagrams of an example of the operation of the virtual machine system according to the second embodiment.
  • FIG. 6A shows a case where the conventional configuration is followed, and
  • FIG. 6B shows the embodiment. The case of 2 is shown.
  • FIG. 6 it is assumed that there are three devices AA08-1, AA08-2, and AA08-N as the device AA08.
  • the devices AA08-1 and AA08-N change from the first operation mode M1 to the second operation mode M2. Can be switched.
  • the device AA08-2 is switched from the first operation mode M1 to the second operation mode M2.
  • a timeout interrupt is generated from the device AA08-2 and the virtual machine AA01-2 returns from the power saving state to the normal state, so that the device AA08-2 switches from the second operation mode M2 to the first operation mode M1.
  • the degeneration period ends.
  • the timing operations of the devices AA08-1 and AA08-N are resumed.
  • the virtual machines AA01-1 and AA01-N are in the power saving state, the timing operations are resumed in the second operation mode M2.
  • the virtual machines AA01-1 and AA01-N return from the power saving state to the normal state, so that the devices AA08-01 and AA08-N are switched from the second operation mode M2 to the first operation mode M1. .
  • switching from the first operation mode M1 to the second operation mode M2 occurs in each of the devices AA08-1, AA08-2, and AA08-N, and time T1, T2 , T3, T4, T5, and T6, it can be seen that switching of the operation mode has occurred six times.
  • the virtual machines AA01-1, AA08-N are in the power saving state from the normal state, but the operation mode of the devices AA08-1, AA08-N is the first operation mode.
  • the mode is not switched from M1 to the second operation mode M2.
  • the device AA08-2 is determined as the active device, and the devices AA08-1, AA08-N are determined as the degenerate devices, and the degeneration period starts. In the degeneration period, only the device AA08-2 which is an active device performs the time measuring operation in the second operation mode M2.
  • a timeout interrupt is generated from the device AA08-2 and the virtual machine AA01-2 returns from the power saving state to the normal state, so that the device AA08-2 switches from the second operation mode M2 to the first operation mode M1.
  • the degeneration period ends.
  • the timing operation is resumed by the devices AA08-1 and AA08-N.
  • the devices AA08-1 and AA08-N resume the timing operation in the first operation mode M1 without switching the operation mode.
  • the virtual computers AA01-1 and AA01-N return from the power saving state to the normal state.
  • the devices AA08-01 and AA08-N are not switched to the second operation mode M2, and the first The operation mode M1 is maintained. Accordingly, in the example of FIG. 6B, the operation mode is switched only twice at times T3 and T4.
  • the number of times of switching the accuracy of the device AA08 can be greatly reduced.
  • the degeneration period only the operating device performs the timing operation, and the operating device performs the timing operation in the second operation mode, so that the power consumption can be reduced.
  • the device AA08 is degenerated when all the virtual machines AA01 are in the power saving state. However, as described in the first embodiment, a predetermined number of virtual machines AA01 are saved. When the power state is entered, the device AA08 may be degenerated.
  • the virtual machine system according to the third embodiment is characterized in that a NIC (Network interface card) is adopted as the device AA08.
  • NIC Network interface card
  • the computer may leave the NIC operating in order to respond to communication from the outside.
  • the NIC can assign a plurality of NIC functions to a single NIC by assigning a plurality of IP addresses to the single NIC by a function called an IP alias.
  • each virtual computer AA01 occupies a corresponding NIC.
  • the NIC is kept in operation.
  • the remaining NICs' IP addresses are assigned to one NIC serving as an active device, and the remaining NICs are stopped. As a result, the control of the remaining NICs is reduced to one NIC.
  • FIG. 5 is a diagram showing an example of the virtual machine table EE01 in the third embodiment of the present invention.
  • the device AA08 is a NIC
  • the “device control information” is different from FIG.
  • “with control change” indicates an active device
  • “without control change” indicates a degenerate device.
  • the “device control change information” of the virtual machine AA01-1 is “control changed”, and the remaining virtual machines AA01-2 and AA01-N
  • the “device control change information” is “no control change”
  • the device AA08-1 of the virtual machine AA01-1 is the active device
  • the devices AA08-2 to AA08-N of the virtual machines AA01-2 and AA01-N are It is determined as a degenerate device.
  • the “device control information” of the virtual machine AA01-1 is “waiting for a packet (virtual machine AA01-1 to virtual machine AA01-N)”, but the remaining virtual machines AA01-2 to AA01-N are “ “Device control information” is “waiting for packet”.
  • FIG. 7 is an explanatory diagram showing an example of the operation of the virtual machine system according to the third embodiment.
  • the virtual machines AA01-1 and AA08-N transition to the power saving state, so that the devices AA08-1 and AA08-N enter a packet waiting state.
  • the device control change unit AA07 determines an operating device.
  • the device AA08-2 is determined as the active device, and the devices AA08-1 and AA08-N are determined as the degenerate devices. Therefore, the device control change unit AA07 operates only the device AA08-2 and stops the devices AA08-1 and AA08-N.
  • the device control changing unit AA07 may obtain the operating rate of each virtual computer AA01 and determine the device AA08 having the highest operating rate as the operating device.
  • the device control change unit AA07 measures the operating time of each virtual machine AA01 in a past fixed period, for example, and divides the measured operating time by the past fixed period, thereby obtaining each virtual machine AA01. What is necessary is just to obtain an operating rate.
  • the device control change unit AA07 manages, for example, the time when each virtual computer AA01 transitions to the power saving state and the time when each virtual computer AA01 returns to the normal state as an operation history log, and according to this operation history log, each virtual computer AA01 What is necessary is just to obtain
  • the device AA08-2 receives packets transmitted to the virtual machines AA01-1 and AA08-N during the degeneration period.
  • the possibility of passing the packet received by the device AA08-2 to the virtual computers AA01-1 and AA01-N different from the corresponding virtual computer AA01-2 decreases, and the processing load of the device AA08-2 is reduced. Can be reduced.
  • the device control change unit AA07 may determine the device AA08 having the widest communication band as the active device.
  • each device AA08 may be configured with NICs having different communication bands. In this case, it is not preferable to determine a NIC having a narrow communication band as an operating device because the processing load of the NIC increases. Therefore, the device control change unit AA07 determines the device AA08 having the widest communication band as an active device. If this configuration is adopted, the device control change unit AA07 may recognize the communication band of each device AA08.
  • the device AA08-2 receives, for example, a packet transmitted to the virtual machine AA01-1, passes the received packet to the virtual machine AA01-1, and passes the received packet to the virtual machine AA01-1. Is restored to the normal state.
  • the device control change unit AA07 returns the IP address assigned to the device AA08-2 to the devices AA08-1 and AA08-N, restarts the operations of the devices AA08-1 and AA08-3, and ends the degeneration period. .
  • the device AA08 is degenerated when all the virtual machines AA01 are in the power saving state. However, as described in the first embodiment, at least two virtual machines AA01 are saved. When the power state is entered, the device AA08 may be degenerated.
  • Each functional block of the virtual machine system shown in FIG. 1 is typically realized as a program processed in cooperation with a processor and an external memory, but may be realized by an LSI which is an integrated circuit. Each of these functional blocks may be individually made into one chip, or may be made into one chip so as to include a part or all of them.
  • the name used here is LSI, but it may also be called IC, system LSI, super LSI, or ultra LSI depending on the degree of integration.
  • the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • the present invention can be applied to any computer, electronic device, information device, AV device, communication device, and home appliance as long as it is a computer processing device including a processor and a timer.
  • a computer processing device including a processor and a timer.
  • Personal digital assistants cell phones, smartphones, PDAs, etc.
  • televisions hard disk recorders, various disk recorders using DVD and Blu-ray discs, various disk players using DVD and Blu-ray discs, and car navigation systems It can also be applied to.
  • the virtual machine system described above includes a plurality of virtual machines, a plurality of devices provided corresponding to each virtual machine, a plurality of devices occupied by the corresponding virtual machines, and a hypervisor that controls the virtual machines.
  • a virtual machine system wherein the virtual machine includes a device control unit that controls a corresponding device and a power saving control unit that performs power saving control of the corresponding virtual machine, and the hypervisor is in a state of each virtual machine
  • An overall power saving control unit that manages virtual machine information, a virtual machine information storage unit that stores virtual machine information including information on the status of the virtual machine and control of the device, and a device control change unit that changes control of the device
  • the overall power saving control unit transitions the corresponding virtual machine from the normal state to the power saving state from the power saving control unit.
  • a transition request is received, the virtual machine information is referred to, and it is determined whether or not a predetermined number of virtual machines including the virtual machine that has output the transition request are in a power saving state, and the device control
  • the overall power saving control unit determines that a predetermined number of virtual machines are in the power saving state
  • the changing unit selects one device to be operated from among devices corresponding to the virtual machines in the power saving state.
  • the remaining device is determined as a degenerate device, and the operation device is caused to degenerate control of the degenerate device.
  • each virtual machine when the virtual machine system is in a normal state, each virtual machine can occupy and use the corresponding device. Therefore, compared with the case where a configuration in which a plurality of virtual machines share one device as in the sharing method is adopted, it is possible to suppress a decrease in the performance of the virtual machine system.
  • the degeneration means that the control of the degenerate device is left to the active device, the operation of the degenerate device is stopped or operated in the power saving state, and only the active device is operated in the normal state.
  • the device control change unit restarts the operation of the degenerate device when any one of the virtual machines in the power saving state returns to the normal state.
  • the device is preferably a timer.
  • the device since the device is configured by the timer, it is possible to cause the active device to degenerate control of the degenerate device.
  • the timer counts the time until the corresponding virtual machine returns to the normal state, and the device control change unit returns to the normal state among the timers corresponding to the virtual machines in the power saving state. It is preferable to determine the timer corresponding to the virtual machine with the earliest time as the active device.
  • the timer corresponding to the virtual machine that is restored to the normal state earliest is determined as the operating device. Therefore, when the timer of the active device times out, the timeout time of the timer of the degenerate device can be obtained by using the timeout time or the timed time of this timer. Therefore, the remaining virtual machines in the power saving state can be restored with the initial timeout time.
  • the timer can switch between a first operation mode in which a time measurement operation is performed with a predetermined first accuracy and a second operation mode in which a time measurement operation is performed with a lower accuracy than the first accuracy, and the device control unit Sets the corresponding timer in the first operation mode in advance, and does not switch the operation mode of the timer even when the corresponding virtual machine enters the power saving state, and the device control change unit sets the degenerate device to the operating device It is preferable to switch the operation device to the second operation mode when degenerating the control, and to switch the operation device to the first operation mode when returning the control of the degeneration device.
  • the operation mode is switched from the first operation mode to the second operation mode when only the active device is degenerated and the degeneration is released, and the operation mode of the degenerate device is maintained in the first mode. Therefore, the number of times of switching the operation mode is reduced, and the overhead caused by the switching of the operation mode can be reduced.
  • the device is preferably a communication device.
  • device degeneration can be realized by assigning the communication address of the communication device of the degenerate device to the communication device of the active device, for example.
  • the device control change unit determines, as the operation device, a device corresponding to a virtual computer having the highest operation rate among devices corresponding to a virtual computer in a power saving state.
  • the device control change unit determines, as the active device, a device having the widest communication band among devices corresponding to a virtual machine in a power saving state.
  • the device control change unit determines whether or not the device is a degenerate device based on the type of the device, and determines that the device is a degenerate device. It is preferable to cause the device to degenerate control of the degenerate device.
  • the state of the virtual machine is virtual machine state information indicating whether or not the virtual machine is in a power saving state, and the information related to the control of the device includes device control information indicating a control content of the device and It is preferable that device control change information indicating whether or not the control of the device is changed is included.
  • the device control change unit updates the device control change information of the active device or the degenerate device when causing the active device to degenerate control of the degenerate device.
  • the virtual machine status information and device control change information can be updated with high accuracy.
  • the device control changing unit preferably causes the operating device to degenerate control of the degenerate device.
  • the present invention it is possible to suppress a decrease in performance of a virtual computer system and simultaneously reduce a power consumption, which is useful in a computer, a home appliance, a portable terminal, etc. in which a plurality of virtual computers are operated.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

全体省電力制御部AA06は、ある仮想計算機AA01から省電力状態への遷移要求を受け取った場合、仮想計算機情報テーブルBB01を参照し、2以上の所定個数の仮想計算機AA01が省電力状態にあるか否かを判定する。デバイス制御変更部AA07は、全体省電力制御部AA06により全ての仮想計算機AA01が省電力状態にあると判定された場合、省電力状態の仮想計算機AA01に対応する全てのデバイスAA08の中から、稼働させる1つのデバイスを稼働デバイス、残りのデバイスを縮退デバイスとして決定し、稼働デバイスに縮退デバイスの制御を縮退させる。

Description

仮想計算機システム、デバイス共有制御方法、プログラム、及び集積回路
 本発明は、仮想計算機と、各仮想計算機により占有されるデバイスと、ハイパバイザとを備える仮想計算機システムにおいて、各仮想計算機を省電力状態に遷移させる際に、ハイパバイザにデバイスを制御させる技術に関するものである。
 近年、一つの計算機を論理的に分割し、仮想的に複数の独立した仮想計算機として動作させることを可能とする仮想化技術が普及している。仮想計算機の制御技術は、これまで汎用大型計算機において主に活用されてきたが、近年では、PC(Personal Computer)のアーキテクチャをベースにした安価な計算機を用いるデータセンターなどを中心に、物理的な計算機の台数削減、消費電力の低減、及び管理の簡略化といった運用コストの削減を目的としても活用されている。
 仮想化技術を活用した仮想計算機システムにおけるデバイスの制御には、大きく二つの方式がある。
 第一の方式は、仮想計算機がデバイスを専有して使用する方式である。以降、この第一の方式を専有方式と呼ぶ。専有方式では、仮想計算機がデバイスを専有して使用する。そのため、デバイスの制御時において、プロセッサは複数の仮想計算機によるデバイスの共有を考慮する必要が無く、一般的に仮想化に伴う性能の低下が小さい。一方、占有方式は、物理デバイスの数に応じて電力の消費量が増大するため、消費電力が後述する第二の方式よりも大きい。
 第二の方式は、複数の仮想計算機がデバイスを共有して使用する方式である。以降、この第二の方式を共有方式と呼ぶ。共有方式では、仮想計算機がデバイスを共有して使用する。そのため、デバイスの制御時において、プロセッサは複数の仮想計算機によるデバイスの共有を考慮する必要があり、一般的に仮想化に伴う性能の低下が大きい。一方で、稼働する物理デバイスの数が減少するため、消費電力は第一の方式よりも小さい。
 このように、二つの方式は性能と消費電力とがトレードオフの関係にある。そのため、性能と消費電力とを両立したデバイスの制御技術が求められている。
 ここで、デバイス制御に関連した既存技術として、特許文献1~3を挙げ、これらの技術に関して概略を説明する。
 特許文献1には、仮想デバイスの使用状況の変化に応じて、デバイスの制御方式を専有方式から共有方式へ、あるいは共有方式から専有方式へと切り替えることで、性能の低下を回避しつつ、デバイスを共有する方法が記載されている。
 特許文献2では、仮想計算機に割り当てられた物理資源を管理する管理オペレーティングシステムによって、仮想計算機の物理資源の使用状況を管理することで、複数の仮想計算機に共用される未稼働の物理資源の省電力制御を可能とし、消費電力を削減する方法が記載されている。
 特許文献3では、複数のOSのそれぞれに対応するハードウェア資源を制御する情報処理装置において、OSがデバイスに対して電源オンの状態制御命令を発行すると、デバイスを直接I/O方式で入出力制御を行い、OSがデバイスに対して電源オフの状態制御命令を発行すると、デバイスをエミュレーション方式で入出力制御を行うことが記載されている。
 しかしながら、特許文献1、3に記載の方法では、デバイスを省電力制御する手段が無いため、デバイスの消費電力を削減することができないという課題がある。また、特許文献2に記載の方法では、未稼働のデバイスを省電力化する手段はあるが、デバイスの制御方式を切り替える手段が無いため、複数の仮想計算機でデバイスを共有制御した場合、性能が低下するという課題がある。
特開2008-146566号公報 特開2006-113767号公報 特開2009-223793号公報
 本発明の目的は、デバイスの共有による性能の低下を回避すると同時に、電力消費量を削減する仮想計算機システム等を提供することを目的とする。
 本発明の一局面による仮想計算機システムは、複数の仮想計算機と、各仮想計算機に対応して複数設けられ、対応する仮想計算機により占有される複数のデバイスと、前記仮想計算機を制御するハイパバイザとを備える仮想計算機システムであって、前記仮想計算機は、対応するデバイスを制御するデバイス制御部と、対応する仮想計算機の省電力制御を行う省電力制御部とを備え、前記ハイパバイザは、各仮想計算機の状態を管理する全体省電力制御部と、前記仮想計算機の状態と前記デバイスの制御に関する情報とを含む仮想計算機情報を記憶する仮想計算機情報記憶部と、前記デバイスの制御を変更するデバイス制御変更部とを備え、前記全体省電力制御部は、前記省電力制御部から、対応する仮想計算機を通常状態から省電力状態に遷移させる遷移要求を受け取った場合、前記仮想計算機情報を参照し、前記遷移要求を出力した仮想計算機を含む2以上の所定個数の仮想計算機が省電力状態にあるか否かを判定し、前記デバイス制御変更部は、前記全体省電力制御部により所定個数の仮想計算機が省電力状態にあると判定された場合、省電力状態にある仮想計算機に対応するデバイスのうち、稼働させる1つのデバイスを稼働デバイス、残りのデバイスを縮退デバイスとして決定し、前記稼働デバイスに前記縮退デバイスの制御を縮退させる。
 また、本発明の別の一局面によるデバイス共有制御方法、プログラム、及び集積回路は、上記の仮想計算機システムの特徴を備えている。
本発明の実施の形態1における仮想計算機システムの構成を示すブロック図である。 本発明の実施の形態1における仮想計算機情報記憶部が備える仮想計算機情報テーブルの一例を示す図である。 本発明の実施の形態1における仮想計算機システムが通常状態から省電力状態へ遷移する際の動作を説明するためのフローチャートである。 本発明の実施の形態1における仮想計算機システムが省電力状態から通常状態へ復帰する際の動作を説明するためのフローチャートである。 本発明の実施の形態3における仮想計算機テーブルの一例を示した図である。 (A)、(B)は、実施の形態2における仮想計算機システムの動作の一例の説明図であり、(A)は従来の構成を踏襲した場合を示し、(B)は実施の形態2の場合を示している。 実施の形態3による仮想計算機システムの動作の一例を示す説明図である。
 以下本発明の実施の形態について、図面を参照しながら説明する。
 (実施の形態1)
 図1は、本発明の実施の形態1における仮想計算機システムの構成を示すブロック図である。本発明の実施の形態1における仮想計算機システムは、図1に示すように、複数(N個)の仮想計算機AA01-1~AA01-N(Nは2以上の整数)と、N個の仮想計算機AA01-1~AA01-Nに対応して設けられたデバイスAA08-1~AA08-Nと、仮想計算機AA01-1~AA01-Nを制御するハイパバイザAA04とを備えている。
 ここで、仮想計算機AA01-1~AA01-N及びデバイスAA08-1~AA08-Nを区別しない場合、仮想計算機に対して“AA01”、デバイスに対して“AA08”の符号を付す。
 なお、仮想計算機AA01は、省電力状態以外の状態、すなわち、通常状態にある場合、対応するデバイスAA08を専有して制御する。
 仮想計算機AA01-1~AA01-Nは、それぞれ、仮想計算機AA01-1~AA01-Nの省電力制御を行う省電力制御部AA02-1~AA02-Nと、デバイスAA08-1~AA08-Nを制御するデバイス制御部AA03-1~AA03-Nとを備えている。以下、省電力制御部AA02-1~AA02-N及びデバイス制御部AA03-1~AA03-Nを区別しない場合、省電力制御部に対して“AA02”の符号を付し、デバイス制御部に対して“AA03”の符号を付す。
 ここで、省電力制御とは、デバイスAA08の省電力状態への遷移と、デバイスAA08の省電力状態からの復帰とを制御することをいう。
 省電力制御部AA02は、仮想計算機AA01が省電力状態に遷移する時、全体省電力制御部AA06に対し、仮想計算機AA01が通常状態から省電力状態に遷移することを示す遷移要求を出力する。また、省電力制御部AA02は、仮想計算機AA01が省電力状態から通常状態に復帰する時、全体省電力制御部AA06から仮想計算機AA01が省電力状態から通常状態に復帰することを示す復帰要求を受け取る。
 なお、省電力制御部AA02は、仮想計算機AA01を通常状態から省電力状態に遷移させる場合、仮想計算機AA01上で実行中の処理を停止させる、仮想計算機AA01上で周期的に実行される処理を停止させる、又は専有するデバイスAA08を通常状態から省電力状態に遷移させるといった省電力処理を行う。なお、省電力制御部AA02は、デバイスAA08を通常状態から省電力状態に遷移させる際、デバイス制御部AA03に遷移要求を出力し、デバイス制御部AA03にデバイスAA08を通常状態から省電力状態に変更させる。
 デバイス制御部AA03は、デバイスAA08が通常状態から省電力状態に遷移する場合、デバイスAA08へのクロックの供給を停止する、デバイスAA08への電源供給を遮断するといった省電力処理を行う。これらの省電力処理は、それぞれで任意のものを単独、もしくは組み合わせて使用して良い。また、これらの省電力処理は、仮想計算機AA01及びデバイスAA08それぞれを省電力状態へ遷移させる際の処理の一例にすぎず、本発明はこれらの処理に限定されるものではない。
 一方、省電力制御部AA02は、仮想計算機AA01を省電力状態から通常状態に復帰させる場合、仮想計算機AA01上で停止中の処理や周期的に実行される停止中の処理を再開する、仮想計算機AA01が専有するデバイスAA08を省電力状態から通常状態に復帰させるといった復帰処理を行う。なお、省電力制御部AA02は、デバイスAA08を省電力状態から通常状態に復帰させる場合、デバイス制御部AA03に復帰要求を出力し、デバイス制御部AA03にデバイスAA08を省電力状態から通常状態に復帰させればよい。
 デバイス制御部AA03は、デバイスAA08を省電力状態から通常状態に復帰させる場合、例えばデバイスAA08へのクロックの供給を再開する、デバイスAA08への電源供給を再開する、といった復帰処理を行う。つまり、省電力制御部AA02は、上記の省電力処理に対応する復帰処理を行えば良い。
 ハイパバイザAA04は、仮想計算機AA01の状態及びデバイスAA08の制御に関する情報を含む仮想計算機情報テーブル(仮想計算機情報の一例)を記憶する仮想計算機情報記憶部AA05と、仮想計算機システム全体の省電力制御を行う全体省電力制御部AA06と、デバイスAA08の制御を変更するデバイス制御変更部AA07とを備える。
 デバイスAA08の制御の変更は、デバイスAA08の種類に依存するが、例えばデバイスAA08がタイマの場合、タイマの動作を停止させる、タイマの動作を再開させる、といった制御の変更が適用される。
 図2は、本発明の実施の形態1における仮想計算機情報記憶部AA05が記憶する仮想計算機情報テーブルBB01の一例を示す図である。
 図2に示すように、仮想計算機情報テーブルBB01は、仮想計算機AA01が省電力状態にあるか否かを示す仮想計算機状態情報と、デバイスAA08の制御内容を示すデバイス制御情報と、デバイスAA08の制御を変更したか否かを示すデバイス制御変更情報とを備える。ここで、仮想計算機状態情報が上記の仮想計算機AA01の状態を示し、デバイス制御情報とデバイス制御変更情報とが上記のデバイスAA08の制御に関する情報を示す。
 図2は、デバイスAA08としてタイマを採用した場合の仮想計算機情報テーブルBB01である。図2において仮想計算機AA01-1の列を参照すると、“仮想計算機状態情報”が“省電力状態”、“デバイス制御情報”が“3秒後にタイムアウト”、“デバイス制御変更情報”が“制御変更あり”となっている。そのため、仮想計算機AA01-1は省電力状態にあること、デバイスAA08-1が3秒後にタイムアウトして仮想計算機AA01-1を通常状態に復帰させるように制御されていたこと、及びデバイスAA08-1の3秒後にタイムアウトする制御が変更されたことが表されている。
 一方、仮想計算機AA01-2の列を参照すると、“仮想計算機状態情報”が“省電力状態”、“デバイス制御情報”が“2秒後にタイムアウト”、“デバイス制御変更情報”が“制御変更なし”となっている。そのため、仮想計算機AA01-2は省電力状態にあること、デバイスAA08-2が2秒後にタイムアウトして仮想計算機AA01-2を通常状態に復帰させること、及びデバイスAA08-2の2秒後にタイムアウトする制御が変更されていないことが表されている。
 図1に戻り、全体省電力制御部AA06は、省電力制御部AA02から、対応する仮想計算機AA01を通常状態から省電力状態に遷移させる遷移要求を受け取った場合、仮想計算機情報テーブルBB01を参照し、全ての仮想計算機AA01が省電力状態にあるか否かを判定する。
 デバイス制御変更部AA07は、全体省電力制御部AA06により全ての仮想計算機AA01が省電力状態にあると判定された場合、全てのデバイスAA08の中から、稼働させる1つのデバイスを稼働デバイス、残りのデバイスを縮退デバイスとして決定し、稼働デバイスに縮退デバイスの制御を縮退させる。
 デバイスAA08は、例えばタイマにより構成され、対応する仮想計算機AA01が省電力状態になった場合、対応する仮想計算機AA01が通常状態に復帰するまでのタイムアウト時間を計時する。なお、デバイスAA08は、レジスタを備え、計時動作を開始するとレジスタに随時計時時間を書き込む。
 図3は、本発明の実施の形態1における仮想計算機システムが通常状態から省電力状態へ遷移する際の動作を説明するためのフローチャートである。以下、デバイスAA08として、デバイスAA08-1,AA08-2,AA08-Nが存在するものとして説明する。
 まず、全体省電力制御部AA06は、ある仮想計算機AA01の省電力制御部AA02から、対応する仮想計算機AA01を通常状態から省電力状態に遷移させる遷移要求を受け取る(ステップCC01)。ここで、対応する仮想計算機AA01とは、例えば省電力制御部AA02-1であれば、省電力制御部AA02-1は仮想計算機AA01-1に属しているため仮想計算機AA01-1が対応する仮想計算機AA01となる。
 次に、全体省電力制御部AA06は、ステップCC01で受け取った省電力状態への遷移要求に基づき、仮想計算機情報テーブルBB01の“仮想計算機状態情報”を更新する(ステップCC02)。
 例えば、全体省電力制御部AA06が、省電力制御部AA02-1から省電力状態への遷移要求を受け取った場合、仮想計算機情報テーブルBB01の仮想計算機AA01-1の“仮想計算機状態情報”を“通常状態”から“省電力状態”に更新する。
 次に、全体省電力制御部AA06は、仮想計算機情報テーブルBB01の仮想計算機状態情報を参照し、仮想計算機AA01の全てが省電力状態にあるか否かを判定する(ステップCC03)。
 ここで、仮想計算機AA01が全て省電力状態にある、すなわち仮想計算機AA01-1,AA01-2,AA01-Nの全てが省電力状態にあると判定された場合(ステップCC03でYES)、処理をステップCC04に進め、仮想計算機AA01の全てが省電力状態ではない場合、すなわち、仮想計算機AA01-1,AA01-2,AA01-Nの少なくともいずれか1つが通常状態にあると判定された場合(ステップCC03でNO)、処理が終了される。
 次に、デバイス制御変更部AA07は、全てのデバイスAA08の制御情報を取得する(ステップCC04)。ここで、制御情報はデバイスAA08のレジスタに書き込まれているため、デバイス制御変更部AA07は、このレジスタから制御情報を読み出す。
 デバイスAA08がタイマの場合、デバイスAA08は、レジスタに現在の計時時間を制御情報として書き込んでいる。よって、デバイス制御変更部AA07は、各デバイスAA08のレジスタから制御情報を読み出すことで、各仮想計算機AA01が通常状態に復帰するまでのタイムアウト時間を認識することができる。
 なお、レジスタから制御情報を読み出す方法はあくまで一例であり、本発明はこの方法に限定されるものではない。例えば、仮想計算機AA01とハイパバイザAA04とにより共有される共有メモリを仮想計算機システムに更に設ける。そして、各デバイスAA08はこの共有メモリに制御情報を書き込む。そして、デバイス制御変更部AA07は、この共有メモリに書き込まれた各デバイスAA08の制御情報を読み出すという方法を採用してもよい。
 次に、デバイス制御変更部AA07は、ステップCC04で取得したデバイスAA08の制御情報で、仮想計算機情報テーブルBB01のデバイス制御情報を更新する(ステップCC05)。本実施の形態では、デバイスAA08はタイマであるため、デバイス制御変更部AA07は、対応する仮想計算機AA01が通常状態に復帰するまでのタイムアウト時間を仮想計算機情報テーブルBB01に書き込む。
 図2の例では、ステップCC04の処理により、デバイス制御変更部AA07は、デバイスAA08-1,AA08-2,AA08-Nから、それぞれ、“3秒”、“2秒”、“8秒”という制御情報を取得した。そのため、図2の仮想計算機情報テーブルBB01では、仮想計算機AA01-1,AA-01-2,AA01-Nの“デバイス制御情報”の欄に“3秒後にタイムアウト”、“2秒後にタイムアウト”、“8秒後にタイムアウト”が書き込まれている。
 次に、デバイス制御変更部AA07は、仮想計算機情報テーブルBB01を参照して、稼働中のデバイスAA08の制御が縮退可能か否かを判定する(ステップCC06)。
 ここで、デバイス制御変更部AA07は、例えばデバイスAA08の種類から、縮退可能なデバイスであるか否かを判定すればよい。具体的には、デバイス制御変更部AA07は、各デバイスAA08に種類取得依頼を出力してデバイスAA08から種類を示す情報を取得する。そして、デバイス制御変更部AA07は、全てのデバイスAA08の種類が同一であり、かつ、デバイスAA08の種類が予め定められた縮退可能なデバイスに該当する場合、縮退可能と判断すればよい。
 この場合、デバイスAA08は、デバイス制御変更部AA07から種類取得依頼を受け取ると、自身の種類を示す情報をデバイス制御変更部AA07に出力する仕様に設計すればよい。種類を示す情報としては、例えば、“タイマ”や“ネットワークカード”等が該当する。そして、この例では、デバイスAA08としてタイマが採用されており、タイマは縮退可能であると予め定められている。したがって、デバイス制御変更部AA07は、全てのデバイスAA08から種類を示す情報として“タイマ”が送信され、ステップCC06でYESと判定する。
 なお、デバイス制御変更部AA07にデバイスAA08の種類を示す情報を予め持たせておけば、ステップCC06の処理を設ける必要はない。例えば、全てのデバイスAA08がタイマであることをデバイス制御変更部AA07に予め認識させておけば、タイマは縮退可能なデバイスであるため、ステップCC06は常にYESとなる。
 しかしながら、仮想計算機システムを購入したユーザが、任意にデバイスを取り付けることも考えられる。この場合、デバイス制御変更部AA07に予めデバイスの種類を認識させることができない。
 そこで、ステップCC06の処理を設け、デバイス制御変更部AA07にデバイスAA08の種類を認識させることで、仮想計算機システムに汎用性を持たせることができる。
 デバイス制御変更部AA07は、縮退可能と判断した場合(ステップCC06でYES)、処理をステップCC07に進め、縮退可能でないと判断した場合(ステップCC06でNO)、処理をステップCC11に進める。
 次に、デバイス制御変更部AA07は、全てのデバイスAA08の中から1つの稼働デバイスを決定し、残りのデバイスAA08を縮退デバイスとして決定する(CC07)。
 この例では、デバイスAA08がタイマであり、各仮想計算機AA01に対応する各タイマのタイムアウト時間が仮想計算機情報テーブルBB01に記憶されている。
 したがって、デバイス制御変更部AA07は、仮想計算機情報テーブルBB01を参照し、タイムアウト時間が最小のデバイスAA08を稼働デバイスとして決定し、残りのデバイスAA08を縮退デバイスとして決定する。
 デバイスAA08がタイマである場合、タイムアウト時間が最小のタイマ以外のタイマを停止させたとしても、タイムアウト時間が最小のタイマのタイムアウト時間と残りのタイマのタイムアウト時間とから、縮退の解除時に、残りのタイマのタイムアウト時間を特定することができる。そして、タイムアウト時間が最小のタイマがタイムアウトした時に、残りのタイマの計時動作を再開させ、再開させたタイマを、特定したタイムアウト時間まで計時させれば残りのタイマに対応する仮想計算機AA01を当初のタイムアウト時間で通常状態に復帰させることができる。
 そこで、本実施の形態では、デバイス制御変更部AA07は、タイムアウト時間が最小のタイマを稼働デバイス、残りのタイマを縮退デバイスとして決定している。
 以下、図2を用いてステップCC07の処理を具体的に説明する。仮想計算機情報テーブルBB01において、タイムアウト時間が最小のタイマは、仮想計算機AA01-2のタイマ、すなわち、デバイスAA08-2である。したがって、デバイス制御変更部AA07は、デバイスAA08-2を稼働デバイス、デバイスAA08-2以外のデバイスAA08-1,AA08-Nを縮退デバイスとして決定する。
 そして、デバイス制御変更部AA07は、縮退デバイスを停止させて省電力状態に遷移させ、稼働デバイスに縮退デバイスの制御を縮退させる。つまり、デバイス制御変更部AA07は、デバイスAA08-2のみに計時動作を行わせ、デバイスAA08-1,AA08-Nの計時動作を停止させる。
 これにより、全てのデバイスAA08に計時動作を行わせる構成に比べて、デバイスAA08-1,AA03-Nの稼働時間が短くなり、省電力化を図ることができる。
 なお、ここでは、デバイスAA08としてタイマを採用したが、本発明はタイマに限定されるものではない。すなわち、稼働デバイスに縮退デバイスの制御を縮退させたとしても制御の整合性を保つことが可能なデバイスであれば、どのようなデバイスであっても良い。例えば周期的に駆動するデバイスや、実施の形態3で示すネットワークインターフェースカード(NIC)を採用することも可能である。
 次に、デバイス制御変更部AA07は、仮想計算機情報テーブルBB01の“デバイス制御変更情報”を更新する(ステップCC08)。図2に示す仮想計算機情報テーブルBB01の例では、デバイスAA08-2のタイムアウト時間が最小であるため、デバイスAA08-2が稼働デバイスとして決定され、残りのデバイスAA08-1,AA08-Nが縮退デバイスとして決定されている。そのため、デバイス制御変更部AA07は、仮想計算機AA01-2の“デバイス制御変更情報”を“制御変更なし”と設定し、仮想計算機AA01-1,AA01-Nの“デバイス制御変更情報”を“制御変更あり”と設定する。
 次に、デバイス制御変更部AA07は、仮想計算機情報テーブルBB01の“デバイス制御変更情報”を参照し、“制御変更あり”と設定されている仮想計算機AA01のデバイスAA08の制御を変更する(ステップCC09)。図2の例では、仮想計算機AA01-1,AA01-Nの“デバイス制御変更情報”が“制御変更あり”と設定されている。したがって、デバイス制御変更部AA07は、デバイスAA08-1,AA08-Nの制御を停止させ、デバイスAA08-2のみ稼働させる。
 次に、全体省電力制御部AA06は、縮退デバイスの状態を省電力状態に設定する(ステップCC10)。図2の例では、“デバイス制御変更情報”が“制御変更あり”となっている仮想計算機AA01-1,AA01-NのデバイスAA08-1,AA08-Nの状態が省電力状態に設定され、“デバイス制御変更情報”が“制御変更なし”となっている仮想計算機AA01-2のデバイスAA08-2の状態が通常状態に設定される。
 次に、全体省電力制御部AA06は、全ての仮想計算機AA01が省電力状態になったため、仮想計算機システム全体を省電力状態に遷移させるための処理を行い、仮想計算機システム全体の状態を省電力状態に設定する(ステップCC11)。
 図4は、本発明の実施の形態1における仮想計算機システムが省電力状態から通常状態へ復帰する際の動作を説明するためのフローチャートである。
 まず、全体省電力制御部AA06は、割り込み等のイベントが発生すると、仮想計算機システム全体を通常状態に復帰させるための処理を行い、仮想計算機システム全体の状態を省電力状態から通常状態に設定する(ステップDD01)。ここで、割り込みとしては、例えば、稼働デバイスがタイムアウトしたときに発生するタイムアウト割り込みが挙げられる。
 次に、全体省電力制御部AA06は、仮想計算機情報テーブルBB01を参照し、縮退デバイスがあるか否かを判定する(ステップDD02)。図2に示す仮想計算機情報テーブルBB01の例では、仮想計算機AA01-1,AA01-Nの“デバイス制御変更情報”が“制御変更あり”となっているため、全体省電力制御部AA06は、縮退デバイスがあると判定する。ここで、全体省電力制御部AA06は、縮退デバイスがあると判定した場合(ステップDD02でYES)、処理をステップDD03に進め、縮退デバイスが無いと判定した場合(ステップDD02でNO)、処理をステップDD07に進める。
 次に、全体省電力制御部AA06は、縮退デバイスの状態を通常状態に設定する(ステップDD03)。
 図2の例では、仮想計算機AA01-1,AA01-NのデバイスAA08-1,AA08-Nの“デバイス制御変更情報”が“制御変更あり”となっているため、全体省電力制御部AA06は、これらのデバイスAA08の状態を省電力状態から通常状態に設定する。
 次に、デバイス制御変更部AA07は、仮想計算機情報テーブルBB01の情報に基づき、縮退デバイスの制御を変更前に戻す(ステップDD04)。例えば、デバイスAA08-2のタイムアウトを契機にタイムアウト割り込みが発生し、図4のフローチャートが開始されたとする。
 この場合、仮想計算機情報テーブルBB01において、仮想計算機AA01-2の“デバイス制御情報”からデバイスAA08-2のタイムアウト時間が2秒であることが分かる。したがって、デバイスAA08-1,AA08-Nの動作を停止させてから、2秒が経過したことが分かる。また、仮想計算機情報テーブルBB01の“デバイス制御情報”から、デバイスAA08-1は、タイムアウト時間が動作停止時から3秒後、デバイスAA08-Nはタイムアウト時間が動作停止時から8秒後であることが分かる。
 そのため、デバイスAA08-1を現時点から1秒後、デバイスAA08-Nを現時点から6秒後にタイムアウトさせれば、仮想計算機AA01-1,AA01-Nを当初のタイムアウト時間通りに復帰させることができる。
 そこで、デバイス制御変更部AA07は、デバイスAA08-1,AA08-Nのタイムアウト時間からデバイスAA08-2のタイムアウト時間を差し引いた値である1秒後、6秒後にデバイスAA08-1,AA08-NがタイムアウトするようにデバイスAA08-1,AA08-Nの動作を再開させる。
 これにより、デバイスAA08-1,AA08-Nは現時点から1秒後、6秒後にタイムアウトし、仮想計算機AA01-1,AA01-Nを当初のタイムアウト時間通りに復帰させることができる。
 なお、何らかの割り込みが発生して、デバイスAA08-2がタイムアウトする前に図4のフローチャートが実行されることもある。例えば、デバイスAA08-2のタイムアウト時間が経過する前に仮想計算機AA01-2を復帰させる割り込みが発生し、図4のフローチャートが実行されることもある。
 この場合、デバイス制御変更部AA07は、稼働デバイスであるデバイスAA08-2のレジスタから制御情報を読み出す。例えば、この経過時間が1秒であったとする。
 すると、デバイス制御変更部AA07は、デバイスAA08-1,AA08-Nのタイムアウト時間である3秒、8秒から取得した経過時間である1秒を差し引いた値である2秒後、7秒後にデバイスAA08-1,AA08-NがタイムアウトするようにデバイスAA08-1,AA08-Nの動作を再開させる。これにより、仮想計算機AA01-1,AA01-Nを当初のタイムアウト時間通りに復帰させることができる。
 次に、デバイス制御変更部AA07は、ステップDD04の処理に基づき、仮想計算機情報テーブルBB01の“デバイス制御変更情報”を更新する(ステップDD05)。デバイスAA08-2によるタイムアウト割り込みが発生して図4のフローチャートが開始された場合、デバイス制御変更部AA07は、デバイスAA08-1,AA08-Nの新たなタイムアウト時間を1秒、6秒と算出する。したがって、デバイス制御変更部AA07は、デバイスAA08-1,AA08-Nの“デバイス制御情報”を“1秒後にタイムアウト”、“6秒後にタイムアウト”と設定する。
 次に、デバイス制御変更部AA07は、仮想計算機情報テーブルBB01の“デバイス制御変更情報”を更新する(ステップDD06)。ここで、デバイス制御変更部AA07は、縮退デバイスに対応する仮想計算機AA01の“デバイス制御変更情報”を“制御変更あり”から“制御変更なし”に戻す。
 次に、デバイス制御変更部AA07は、仮想計算機システムが省電力状態から復帰した要因に基づき、省電力状態から復帰させる仮想計算機AA01を特定し、仮想計算機情報テーブルBB01の“仮想計算機状態情報”を更新する(ステップDD07)。
 デバイスAA08-2のタイムアウトに起因してタイムアウト割り込みが発生する場合、デバイスAA08-2は、割り込み制御用のレジスタに自身の識別番号や割り込み要因を書き込む。したがって、デバイス制御変更部AA07は、この割り込み制御用のレジスタを参照することで、デバイスAA08-2からタイムアウト割り込みが発生したことを認識することができる。これにより、デバイス制御変更部AA07は、省電力状態から通常状態に復帰させる仮想計算機AA01-2を認識することができる。そして、デバイス制御変更部AA07は、仮想計算機AA01-2の“仮想計算機状態情報”を“省電力状態”から“通常状態”に更新する。
 次に、全体省電力制御部AA06は、ステップDD07で“仮想計算機状態情報”が“省電力状態”から“通常状態”に変更された仮想計算機AA01-2の省電力制御部AA02に対して、省電力状態からの通常状態に復帰させるための復帰要求を出力する(ステップDD08)。
 このように、実施の形態1の仮想計算機システムによれば、通常状態にある仮想計算機AA01は、対応するデバイスAA08を占有するため、性能の低下を抑制することができる。一方、全ての仮想計算機が省電力状態に遷移すると、稼動デバイスに縮退デバイスの制御が縮退されるため、消費電力を削減することができる。
 なお、上記説明では、デバイス制御変更部AA07は、全ての仮想計算機AA01が省電力状態になったときに、デバイスAA08を縮退させていたが、本発明はこれに限定されない。
 すなわち、全体省電力制御部AA06は、ある仮想計算機AA01から遷移要求を受け取った場合、遷移要求を出力した仮想計算機AA01を含む2以上の所定個数の仮想計算機AA01が省電力状態にあるか否かを判定する。そして、デバイス制御変更部AA07は、全体省電力制御部AA06により所定個数の仮想計算機AA01が省電力状態にあると判定された場合、省電力状態にある仮想計算機AA01に対応するデバイスのうち、1つのデバイスを稼働デバイス、残りのデバイスを縮退デバイスとして決定し、稼働デバイスに縮退デバイスの制御を縮退させてもよい。なお、所定個数としては、2以上であればどのような数を採用してもよく、例えば、目標とする省電力量に応じた値を適宜採用すればよい。
 この場合、図3のステップCC03において、所定個数の仮想計算機AA01が省電力状態の場合、YESと判定され、全ての仮想計算機AA01が通常状態の場合、NOと判定される。
 そして、ステップCC07において、省電力状態にある仮想計算機AA01に対応するデバイスAA08のうち、タイムアウト時間が最小のデバイスAA08が稼働デバイスとして決定され、残りのデバイスが縮退デバイスとして決定される。
 仮想計算機システムの使用態様によっては、殆ど省電力状態にならない仮想計算機AA01と頻繁に省電力状態になる仮想計算機AA01とが混在する場合がある。
 この場合、全ての仮想計算機AA01が省電力状態になることはほとんど無くなってしまい、デバイスAA08を縮退させる構成を採用した意味が事実上無くなってしまう。
 そこで、殆ど省電力状態にならない仮想計算機AA01と頻繁に省電力状態になる仮想計算機AA01とが混在するような場合、全ての仮想計算機AA01が省電力状態にならなくても所定個数の仮想計算機が省電力状態になれば、デバイスAA08を縮退させる構成を採用することが好ましい。
 一方、全ての仮想計算機AA01が頻繁に省電力状態になるような場合、所定個数の仮想計算機AA01が省電力状態になったときに、デバイスAA08を縮退させる構成を採用すると、縮退デバイスや稼働デバイスの管理が煩雑化する虞がある。よって、全ての仮想計算機AA01が頻繁に省電力状態になるような場合は、全ての仮想計算機AA01が省電力状態である場合にデバイスAA08を縮退させる構成を採用することが好ましい。
 また、デバイスAA08-1~AA08-Nを任意の個数でグループ分けし、グループ単位で縮退する処理を実行するか否かの処理を実行してもよい。例えば、デバイスAA08-1~AA08-NをデバイスAA08-1~AA08-3のグループG1と、デバイスAA08-4~AA08-NのグループG2とに分ける。この場合、グループG1の仮想計算機AA01-1~AA01-3が全て省電力状態になったことを条件に縮退する処理を行えばよい。また、グループG2の仮想計算機AA01-4~AA08-Nの全てが省電力状態になったことを条件に縮退する処理を行えばよい。
 また、グループG1の仮想計算機AA01-1~AA01-3のいずれか1つが通常状態に復帰した場合、グループG1につき縮退を解除し、グループG2の仮想計算機AA01-4~AA01-Nのいずれか1つが通常状態に復帰した場合、グループG2につき縮退を解除してもよい。
 (実施の形態2)
 実施の形態2による仮想計算機システムは、実施の形態1の仮想計算機システムにおいて、縮退デバイスの制御を稼働デバイスに縮退させる際、稼働デバイスの計時動作を低精度で行わせることを特徴としている。なお、本実施の形態において、実施の形態1と同じものは説明を省略し、図面も実施の形態1の図面を適宜用いる。
 実施の形態2において、デバイスAA08としてタイマを採用する。但し、本実施の形態のタイマは、所定の第1精度で計時動作を行う第1動作モードと、第1精度よりも低精度で計時動作を行う第2動作モードとが切り替え可能なタイマである。
 低精度とは、例えば計時の分解能が高精度の場合に比べて低いことを示す。そのため、タイマを第2動作モードに設定した場合、第1動作モードに設定した場合に比べて、タイマの消費電力は低くなる。
 例えば、タッチパネルにおいてユーザからの操作を受け付ける際の待ち時間を計時するような場合、高精度な計時が要求されるため、タイマを第1動作モードに設定することが好ましい。
 実施の形態2による仮想計算機システムと実施の形態1による仮想計算機システムとの動作の違いは下記のようになる。まず、デバイス制御部AA03は、対応するデバイスAA08を予め第1動作モードに設定し、対応する仮想計算機AA01が省電力状態になっても対応するデバイスAA08の動作モードを第動作1モードから第2動作モードに切り替えないようにする。
 そして、図3のステップCC09において、実施の形態1では、デバイス制御変更部AA07は、縮退デバイスであるデバイスAA08-1,AA08-Nの動作を停止させ、稼働デバイスであるデバイスAA08-2のみ稼働させていた。実施の形態2では、ステップCC09において、デバイス制御変更部AA07は、縮退デバイスについては実施の形態1と同様に動作を停止させるが、稼働デバイスであるデバイスAA08-2については動作モードを第1動作モードから第2動作モードに切り替えて計時動作を行わせる。
 また、図4に示すステップDD04において、実施の形態2では、デバイス制御変更部AA07は、稼働デバイスであるデバイスAA08-02のみ、動作モードを第2動作モードから第1動作モードに切り替え、かつ、縮退デバイスであるデバイスAA08-1,AA08-Nについては第1動作モードを維持した状態で計時動作を再開させる。
 一般に、省電力状態では、精度の高い計時動作は必要ないため、仮想計算機AA01が省電力状態になると、対応するタイマの動作モードが低精度の第2動作モードに切り替えられる。これにより、消費電力の削減が可能である。
 しかしながら、仮想計算機AA01が省電力状態へ遷移する都度、仮想計算機AA01に対応するタイマの動作モードを切り替えた場合、仮想計算機AA01の数だけ動作モードの切り替えが発生してしまう。
 そこで、実施の形態2では、各仮想計算機AA01が省電力状態へ遷移する際には、タイマの動作モードを切り替えず、縮退が開始される際に、稼働デバイスのみ動作モードを第1動作モードから第2動作モードに切り替え、縮退が終了される際には稼動デバイスのみの動作モードを第2動作モードから第1動作モードに切り替える。これにより、デバイスAA08の動作モードを切り替える回数が削減され、動作モードの切り替えによって生じるオーバーヘッドを軽減することができる。
 図6(A)、(B)は、実施の形態2における仮想計算機システムの動作の一例の説明図であり、(A)は従来の構成を踏襲した場合を示し、(B)は実施の形態2の場合を示している。なお、図6では、デバイスAA08として、デバイスAA08-1,AA08-2,AA08-Nの3個のデバイスが存在するものとする。
 図6(A)では、従来の構成が踏襲されているため、仮想計算機AA01が通常状態から省電力状態になると対応するデバイスAA08が第1動作モードから第2動作モードに切り替えられ、仮想計算機AA01が省電力状態から通常状態になると対応するデバイスAA08が第2動作モードから第1モードに切り替えられる。
 具体的には、時刻T1,T2にて、仮想計算機AA01-1,AA01-Nが省電力状態になったため、デバイスAA08-1,AA08-Nが第1動作モードM1から第2動作モードM2に切り替えられる。
 時刻T3にて、仮想計算機AA01-2が省電力状態になったため、デバイスAA08-2が第1動作モードM1から第2動作モードM2に切り替えられる。
 また、時刻T3にて、全ての仮想計算機AA01が省電力状態になったため、タイムアウト時間が最小のデバイスAA08-2が稼働デバイス、デバイスAA08-1,AA08-Nが縮退デバイスとして決定され、稼働デバイスに縮退デバイスの制御が縮退される。これにより、縮退期間が開始される。縮退期間では稼働デバイスであるデバイスAA08-2のみが第2動作モードM2で計時動作を行う。
 時刻T4にて、デバイスAA08-2からタイムアウト割り込みが発生して仮想計算機AA01-2が省電力状態から通常状態に復帰したため、デバイスAA08-2が第2動作モードM2から第1動作モードM1に切り替えられ、縮退期間が終了される。同時に、デバイスAA08-1,AA08-Nの計時動作が再開されるが、仮想計算機AA01-1,AA01-Nは省電力状態であるため、第2動作モードM2で計時動作が再開される。
 時刻T5,T6にて、仮想計算機AA01-1,AA01-Nが省電力状態から通常状態に復帰したため、デバイスAA08-01,AA08-Nは第2動作モードM2から第1動作モードM1に切り替えられる。
 このように図6(A)の例では、デバイスAA08-1,AA08-2,AA08-Nのそれぞれにおいて、第1動作モードM1から第2動作モードM2への切り替えが発生し、時刻T1,T2,T3,T4,T5,T6にて6回の動作モードの切り替えが発生していることが分かる。
 一方、図6(B)では、仮想計算機AA01が省電力状態になっても対応するデバイスAA08を第1動作モードM1から第2動作モードM2に切り替えず、縮退期間が開始される際、稼働デバイスのみ第1動作モードM1から第2動作モードM2に動作モードを切り替えている。
 具体的には、時刻T1,T2にて、仮想計算機AA01-1,AA08-Nは通常状態から省電力状態になっているが、デバイスAA08-1,AA08-Nは動作モードが第1動作モードM1から第2動作モードM2に切り替えられていない。
 時刻T3にて、仮想計算機AA01-2が省電力状態になったため、デバイスAA08-2が稼働デバイス、デバイスAA08-1,AA08-Nが縮退デバイスとして決定され、縮退期間が開始される。縮退期間では稼働デバイスであるデバイスAA08-2のみが第2動作モードM2で計時動作を行う。
 時刻T4にて、デバイスAA08-2からタイムアウト割り込みが発生して仮想計算機AA01-2が省電力状態から通常状態に復帰したため、デバイスAA08-2が第2動作モードM2から第1動作モードM1に切り替えられ、縮退期間が終了する。同時に、デバイスAA08-1,AA08-Nにより計時動作が再開されるが、このとき、デバイスAA08-1,AA08-Nは、動作モードを切り替えず、第1動作モードM1で計時動作を再開する。
 時刻T5,T6にて、仮想計算機AA01-1,AA01-Nが省電力状態から通常状態に復帰するが、デバイスAA08-01,AA08-Nは、第2動作モードM2に切り替えられず、第1動作モードM1が維持される。したがって、図6(B)の例では、動作モードの切り替えが時刻T3,T4の2回しか発生していない。
 このように実施の形態2の構成を採用すれば、デバイスAA08の精度の切り替え回数を大幅に減少させることができる。一方、縮退期間では、稼働デバイスのみ計時動作を行い、稼働デバイスは第2動作モードで計時動作を行っているため、電力消費量の低下を図ることができる。
 なお、実施の形態2では、全ての仮想計算機AA01が省電力状態になったときに、デバイスAA08を縮退させていたが、実施の形態1で述べたように、所定個数の仮想計算機AA01が省電力状態になったとき、デバイスAA08を縮退させてもよい。
 (実施の形態3)
 実施の形態3による仮想計算機システムは、デバイスAA08としてNIC(Network interface card:通信装置の一例)を採用したことを特徴とする。なお、本実施の形態において、実施の形態1,2と同じものは説明を省略する。
 NICを備える計算機は、省電力状態に遷移する際、外部からの通信に応答するため、NICを稼動したままの状態にすることがある。また、NICは、IPエイリアスと呼ばれる機能によって、単体のNICに複数のIPアドレスを割り当てることで、複数のNICの機能を単体のNICに割り当てることが可能である。
 実施の形態3の計算機システムでは、通常状態においては、各仮想計算機AA01は対応するNICをそれぞれ専有する。そして、仮想計算機AA01が個別に省電力状態へ遷移する際は、NICを稼動させたままの状態とする。そして、全ての仮想計算機AA01が省電力状態になると、稼働デバイスとなる1つのNICに、残りのNICのIPアドレスを割り当て、残りのNICを停止させる。これにより、1つのNICに残りのNICの制御が縮退される。
 そして、ある1つの仮想計算機AA01に対して外部からパケットが送信され、当該仮想計算機AA01が通常状態に復帰すると、1つのNICに割り当てられていたIPアドレスを他のNICに戻して全てのNICを稼働させる。これにより、電力消費量を抑制することができる。
 図5は、本発明の実施の形態3における仮想計算機テーブルEE01の一例を示した図である。本実施の形態では、デバイスAA08がNICであるため、“デバイス制御情報”が図3と相違している。また、本実施の形態では、“制御変更あり”が稼働デバイスであることを示し、“制御変更なし”が縮退デバイスであることを示している。
 図5の例では、全ての仮想計算機AA01が省電力状態にあるが、仮想計算機AA01-1の“デバイス制御変更情報”が“制御変更あり”、残りの仮想計算機AA01-2,AA01-Nの“デバイス制御変更情報”が“制御変更なし”となっており、仮想計算機AA01-1のデバイスAA08-1が稼働デバイス、仮想計算機AA01-2,AA01-NのデバイスAA08-2~AA08-Nが縮退デバイスとして決定されている。
 そのため、仮想計算機AA01-1の“デバイス制御情報”は“パケット待ち(仮想計算機AA01-1~仮想計算機AA01-N)”となっているが、残りの仮想計算機AA01-2~AA01-Nの“デバイス制御情報”は“パケット待ち”になっている。
 これにより、デバイスAA08-1にデバイスAA08-2~AA08-NのIPアドレスが割り当てられていることが示されている。
 図7は、実施の形態3による仮想計算機システムの動作の一例を示す説明図である。時刻T1,T2にて、仮想計算機AA01-1,AA08-Nが省電力状態に遷移したため、デバイスAA08-1,AA08-Nはパケット待ち状態になる。
 時刻T3にて、仮想計算機AA01-2が省電力状態に遷移し、全ての仮想計算機AA01が省電力状態になったため、デバイス制御変更部AA07は、稼働デバイスを決定する。図7の例では、デバイスAA08-2が稼働デバイス、デバイスAA08-1,AA08-Nが縮退デバイスとして決定されたとする。したがって、デバイス制御変更部AA07は、デバイスAA08-2のみ稼働させ、デバイスAA08-1,AA08-Nを停止させる。
 稼働デバイスを決定するにあたり、デバイス制御変更部AA07は、例えば、各仮想計算機AA01の稼働率を求め、稼働率が最も高いデバイスAA08を稼働デバイスとして決定すればよい。
 ここで、稼働率を求めるにあたり、デバイス制御変更部AA07は、例えば過去一定期間における各仮想計算機AA01の稼働時間を計測し、計測した稼働時間を過去一定期間で割ることで、各仮想計算機AA01の稼働率を求めればよい。ここで、デバイス制御変更部AA07は、例えば、各仮想計算機AA01が省電力状態に遷移した時刻及び通常状態に復帰した時刻を稼働履歴ログとして管理し、この稼働履歴ログにしたがって、各仮想計算機AA01が通常状態にある時間を稼働時間として求めればよい。
 こうすることで、縮退期間において、デバイスAA08-2が仮想計算機AA01-1,AA08-Nに向けて送信されたパケットを受信する可能性を低くすることができる。その結果、デバイスAA08-2が受信したパケットを対応している仮想計算機AA01-2とは別の仮想計算機AA01-1,AA01-Nに渡す可能性が低下し、デバイスAA08-2の処理負担を軽減することができる。
 あるいは、デバイス制御変更部AA07は、通信帯域が最も広いデバイスAA08を稼働デバイスとして決定してもよい。仮想計算機システムの使用態様によっては、各デバイスAA08が通信帯域の異なるNICで構成されることもある。この場合、通信帯域の狭いNICを稼働デバイスとして決定すると、このNICの処理負担が増大するために好ましくない。そこで、デバイス制御変更部AA07は、通信帯域が最も広いデバイスAA08を稼働デバイスとして決定する。なお、この構成を採用する場合、デバイス制御変更部AA07に対して各デバイスAA08の通信帯域を認識させておけばよい。
 図7に戻り、時刻T4にて、デバイスAA08-2は、例えば仮想計算機AA01-1に向けて送信されたパケットを受信し、仮想計算機AA01-1に受信したパケットを渡し、仮想計算機AA01-1を通常状態に復帰させる。このとき、デバイス制御変更部AA07は、デバイスAA08-2に割り当てたIPアドレスをデバイスAA08-1,AA08-Nに戻し、デバイスAA08-1,AA08-3の動作を再開させ、縮退期間を終了させる。
 なお、実施の形態3では、全ての仮想計算機AA01が省電力状態になったときに、デバイスAA08を縮退させていたが、実施の形態1で述べたように、少なくとも2つの仮想計算機AA01が省電力状態になったとき、デバイスAA08を縮退させてもよい。
 図1に示す仮想計算機システムの各機能ブロックは、典型的にはプロセッサと外部メモリとの協同で処理されるプログラムとして実現されるが、集積回路であるLSIで実現してもよい。これらの各機能ブロックは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI又はウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
 さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。
 また、本発明は、プロセッサとタイマとを備えた計算機処理装置であれば、あらゆる計算機、電子機器、情報機器、AV機器、通信機器及び家電機器にも適用可能であり、例えば、PC(パーソナルコンピュータ)、携帯情報端末(携帯電話、スマートフォン及びPDAなど)、テレビ、ハーディスクレコーダー、DVD及びブルーレイディスクなどを用いた各種ディスクレコーダー、DVD及びブルーレイディスクなどを用いた各種ディスクプレイヤー、並びにカーナビゲーションシステムなどにも応用できる。
 また、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定するものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
 上述した仮想計算機システムの技術的特徴は下記のようにまとめられる。
 (1)上述した仮想計算機システムは、複数の仮想計算機と、各仮想計算機に対応して複数設けられ、対応する仮想計算機により占有される複数のデバイスと、前記仮想計算機を制御するハイパバイザとを備える仮想計算機システムであって、前記仮想計算機は、対応するデバイスを制御するデバイス制御部と、対応する仮想計算機の省電力制御を行う省電力制御部とを備え、前記ハイパバイザは、各仮想計算機の状態を管理する全体省電力制御部と、前記仮想計算機の状態と前記デバイスの制御に関する情報とを含む仮想計算機情報を記憶する仮想計算機情報記憶部と、前記デバイスの制御を変更するデバイス制御変更部とを備え、前記全体省電力制御部は、前記省電力制御部から、対応する仮想計算機を通常状態から省電力状態に遷移させる遷移要求を受け取った場合、前記仮想計算機情報を参照し、前記遷移要求を出力した仮想計算機を含む2以上の所定個数の仮想計算機が省電力状態にあるか否かを判定し、前記デバイス制御変更部は、前記全体省電力制御部により所定個数の仮想計算機が省電力状態にあると判定された場合、省電力状態にある仮想計算機に対応するデバイスのうち、稼働させる1つのデバイスを稼働デバイス、残りのデバイスを縮退デバイスとして決定し、前記稼働デバイスに前記縮退デバイスの制御を縮退させる。
 この構成によれば、仮想計算機システムが通常状態にある場合は、各仮想計算機は対応するデバイスを占有して使用することができる。そのため、共有方式のように複数の仮想計算機が1つのデバイスを共有する構成を採用した場合に比べて、仮想計算機システムの性能の低下を抑制することができる。
 一方、ある仮想計算機から省電力状態への遷移要求が出力されると、省電力状態にある仮想計算機が2以上の所定個数に到達しているか否かが判定される。そして、省電力状態にある仮想計算機のデバイスの中から1つのデバイスが稼働デバイス、残りのデバイスが縮退デバイスとして決定され、縮退デバイスの制御が稼働デバイスに縮退される。ここで、縮退とは、縮退デバイスの制御を稼働デバイスに委ね、縮退デバイスの動作を停止または省電力状態で稼働させ、稼働デバイスのみを通常状態で動作させることを指す。
 したがって、所定個数の仮想計算機が省電力状態になった場合、省電力状態にある仮想計算機に対応するデバイスのうち、1つのデバイスのみが稼働することになり、残りのデバイスは動作を停止することになる。その結果、占有方式のように全てのデバイスが常に動作する構成に比べて省電力化を図ることができる。
 (2)前記デバイス制御変更部は、省電力状態にある仮想計算機のうち、いずれか1つの仮想計算機が通常状態に復帰する際に、前記縮退デバイスの動作を再開させることが好ましい。
 この構成によれば、省電力状態にある仮想計算機のうちいずれか1つの仮想計算機が通常状態に復帰したことをトリガーに縮退が解除されるため、処理の簡便化を図ることができる。
 (3)前記デバイスは、タイマであることが好ましい。
 この構成によれば、デバイスがタイマにより構成されているため、稼働デバイスに縮退デバイスの制御を縮退させることができる。
 (4)前記タイマは、対応する仮想計算機が通常状態に復帰するまでの時間をカウントし、前記デバイス制御変更部は、省電力状態にある仮想計算機に対応するタイマのうち、通常状態に復帰する時間が最も早い仮想計算機に対応するタイマを前記稼働デバイスとして決定することが好ましい。
 この構成によれば、通常状態に最も早く復帰する仮想計算機に対応するタイマが稼働デバイスとして決定される。そのため、稼働デバイスのタイマがタイムアウトした際に、このタイマのタイムアウト時間や計時時間を用いて縮退デバイスのタイマのタイムアウト時間を求めることができる。そのため、省電力状態にある残りの仮想計算機を当初のタイムアウト時間で復帰させることができる。
 (5)前記タイマは、所定の第1精度で計時動作を行う第1動作モードと前記第1精度よりも低精度で計時動作を行う第2動作モードとが切り替え可能であり、前記デバイス制御部は、対応するタイマを予め第1動作モードに設定し、対応する仮想計算機が省電力状態になっても前記タイマの動作モードを切り替えず、前記デバイス制御変更部は、前記稼働デバイスに前記縮退デバイスの制御を縮退させる際、前記稼働デバイスを前記第2動作モードに切り替え、前記縮退デバイスの制御を元に戻す際、前記稼働デバイスを前記第1動作モードに切り替えることが好ましい。
 この構成によれば、稼働デバイスのみが縮退時及び縮退の解除時において動作モードが第1動作モードから第2動作モードに切り替えられ、縮退デバイスは動作モードが第1モードに維持される。したがって、動作モードの切り替え回数が削減され、動作モードの切り替えによって生じるオーバーヘッドを軽減することができる。
 (6)前記デバイスは、通信装置であることが好ましい。
 この構成によれば、デバイスを通信装置で構成したため、例えば稼働デバイスの通信装置に縮退デバイスの通信装置の通信アドレスを割り当てることで、デバイスの縮退を実現することができる。
 (7)前記デバイス制御変更部は、省電力状態にある仮想計算機に対応するデバイスのうち、稼働率が最も高い仮想計算機に対応するデバイスを前記稼働デバイスとして決定することが好ましい。
 この構成によれば、稼働デバイスの通信装置が、対応する仮想計算機とは別の仮想計算機に向けて送信されたパケットを受信する可能性を低くすることができる。その結果、稼働デバイスの通信装置が、受信したパケットを対応する仮想計算機とは別の仮想計算機に渡す処理が発生する可能性が低下し、この通信装置の処理負担を軽減することができる。
 (8)前記デバイス制御変更部は、省電力状態にある仮想計算機に対応するデバイスのうち、通信帯域が最も広いデバイスを前記稼働デバイスとして決定することが好ましい。
 この構成によれば、通信帯域が狭い通信装置が稼働デバイスとして決定されなくなるため、この通信装置の処理負担が増大することを防止することができる。
 (9)前記デバイス制御変更部は、前記デバイスの種類に基づき、前記デバイスが縮退可能なデバイスであるか否かを判定し、前記デバイスが縮退可能なデバイスであると判定した場合に、前記稼働デバイスに前記縮退デバイスの制御を縮退させることが好ましい。
 この構成によれば、仮想計算機システムを購入したユーザが任意にデバイスを取り付ける構成を採用した場合であっても、デバイスの種類から縮退可能なデバイスか否かが判定されるため、仮想計算機システムに汎用性を持たせることができる。
 (10)前記仮想計算機の状態は、前記仮想計算機が省電力状態にあるか否かを示す仮想計算機状態情報であり、前記デバイスの制御に関する情報は、前記デバイスの制御内容を示すデバイス制御情報及び前記デバイスの制御を変更したか否かを示すデバイス制御変更情報を含むことが好ましい。
 この構成によれば、仮想計算機状態情報を参照することで、各仮想計算機が現在、省電力状態にあるか否か、各デバイスの現在の制御内容、及び各デバイスの制御の変更の有無を認識することができる。
 (11)前記全体省電力制御部は、前記省電力制御部から省電力状態への遷移要求を受け取った際に、前記遷移要求を出力した仮想計算機の仮想計算機状態情報を通常状態から省電力状態に更新し、前記デバイス制御変更部は、前記稼働デバイスに前記縮退デバイスの制御を縮退させる際に、前記稼働デバイス又は前記縮退デバイスの前記デバイス制御変更情報を更新することが好ましい。
 この構成によれば、仮想計算機状態情報及びデバイス制御変更情報を精度良く更新することができる。
 (12)前記デバイス制御変更部は、前記全体省電力制御部により全ての仮想計算機が省電力状態にあると判定された場合、前記稼働デバイスに前記縮退デバイスの制御を縮退させることが好ましい。
 この構成によれば、全ての仮想計算機が省電力状態になったことをトリガーにデバイスが縮退されるため、処理の簡便化を図ることができる。
 本発明によれば、仮想計算機システムの性能の低下を抑制すると同時に電力消費量の低下を図ることができ、複数の仮想計算機が稼働する計算機、家電機器、携帯端末等において有用である。

Claims (15)

  1.  複数の仮想計算機と、各仮想計算機に対応して複数設けられ、対応する仮想計算機により占有される複数のデバイスと、前記仮想計算機を制御するハイパバイザとを備える仮想計算機システムであって、
     前記仮想計算機は、
     対応するデバイスを制御するデバイス制御部と、
     対応する仮想計算機の省電力制御を行う省電力制御部とを備え、
     前記ハイパバイザは、
     各仮想計算機の状態を管理する全体省電力制御部と、
     前記仮想計算機の状態と前記デバイスの制御に関する情報とを含む仮想計算機情報を記憶する仮想計算機情報記憶部と、
     前記デバイスの制御を変更するデバイス制御変更部とを備え、
     前記全体省電力制御部は、前記省電力制御部から、対応する仮想計算機を通常状態から省電力状態に遷移させる遷移要求を受け取った場合、前記仮想計算機情報を参照し、前記遷移要求を出力した仮想計算機を含む2以上の所定個数の仮想計算機が省電力状態にあるか否かを判定し、
     前記デバイス制御変更部は、前記全体省電力制御部により所定個数の仮想計算機が省電力状態にあると判定された場合、省電力状態にある仮想計算機に対応するデバイスのうち、稼働させる1つのデバイスを稼働デバイス、残りのデバイスを縮退デバイスとして決定し、前記稼働デバイスに前記縮退デバイスの制御を縮退させる仮想計算機システム。
  2.  前記デバイス制御変更部は、省電力状態にある仮想計算機のうち、いずれか1つの仮想計算機が通常状態に復帰する際に、前記縮退デバイスの制御を元に戻す請求項1記載の仮想計算機システム。
  3.  前記デバイスは、タイマである請求項1又は2記載の仮想計算機システム。
  4.  前記タイマは、対応する仮想計算機が通常状態に復帰するまでの時間をカウントし、
     前記デバイス制御変更部は、省電力状態にある仮想計算機に対応するタイマのうち、通常状態に復帰する時間が最も早い仮想計算機に対応するタイマを前記稼働デバイスとして決定する請求項3記載の仮想計算機システム。
  5.  前記タイマは、所定の第1精度で計時動作を行う第1動作モードと前記第1精度よりも低精度で計時動作を行う第2動作モードとが切り替え可能であり、
     前記デバイス制御部は、対応するタイマを予め第1動作モードに設定し、対応する仮想計算機が省電力状態になっても前記タイマの動作モードを切り替えず、
     前記デバイス制御変更部は、前記稼働デバイスに前記縮退デバイスの制御を縮退させる際、前記稼働デバイスを前記第2動作モードに切り替え、前記縮退デバイスの制御を元に戻す際、前記稼働デバイスを前記第1動作モードに切り替える請求項3又は4記載の仮想計算機システム。
  6.  前記デバイスは、通信装置である請求項1又は2記載の仮想計算機システム。
  7.  前記デバイス制御変更部は、省電力状態にある仮想計算機に対応するデバイスのうち、稼働率が最も高い仮想計算機に対応するデバイスを前記稼働デバイスとして決定する請求項6記載の仮想計算機システム。
  8.  前記デバイス制御変更部は、省電力状態にある仮想計算機に対応するデバイスのうち、通信帯域が最も広いデバイスを前記稼働デバイスとして決定する請求項6記載の仮想計算機システム。
  9.  前記デバイス制御変更部は、前記デバイスの種類に基づき、前記デバイスが縮退可能なデバイスであるか否かを判定し、前記デバイスが縮退可能なデバイスであると判定した場合に、前記稼働デバイスに前記縮退デバイスの制御を縮退させる請求項1~8のいずれかに記載の仮想計算機システム。
  10.  前記仮想計算機の状態は、前記仮想計算機が省電力状態にあるか否かを示す仮想計算機状態情報であり、
     前記デバイスの制御に関する情報は、前記デバイスの制御内容を示すデバイス制御情報及び前記デバイスの制御を変更したか否かを示すデバイス制御変更情報を含む請求項1~9のいずれかに記載の仮想計算機システム。
  11.  前記全体省電力制御部は、前記省電力制御部から省電力状態への遷移要求を受け取った際に、前記遷移要求を出力した仮想計算機の仮想計算機状態情報を通常状態から省電力状態に更新し、
     前記デバイス制御変更部は、前記稼働デバイスに前記縮退デバイスの制御を縮退させる際に、前記稼働デバイス又は前記縮退デバイスの前記デバイス制御更新情報を更新する請求項10記載の仮想計算機システム。
  12.  前記デバイス制御変更部は、前記全体省電力制御部により全ての仮想計算機が省電力状態にあると判定された場合、前記稼働デバイスに前記縮退デバイスの制御を縮退させる請求項1~11のいずれかに記載の仮想計算機システム。
  13.  複数の仮想計算機と、各仮想計算機に対応して複数設けられ、対応する仮想計算機により占有される複数のデバイスと、前記仮想計算機を制御するハイパバイザとを備える仮想計算機システムによるデバイス共有制御方法であって、
     前記仮想計算機が、対応するデバイスを制御するデバイス制御ステップと、
     前記仮想計算機が、対応する仮想計算機の省電力制御を行う省電力制御ステップと、
     前記ハイパバイザが、各仮想計算機の状態を管理する全体省電力制御ステップと、
     前記ハイパバイザが、前記デバイスの制御を変更するデバイス制御変更ステップとを備え、
     前記全体省電力制御ステップは、前記省電力制御ステップにより、対応する仮想計算機を通常状態から省電力状態に遷移させる遷移要求を受け取った場合、前記仮想計算機の状態と前記デバイスの制御に関する情報とを含む仮想計算機情報を参照し、前記遷移要求を出力した仮想計算機を含む2以上の所定個数の仮想計算機が省電力状態にあるか否かを判定し、
     前記デバイス制御変更ステップは、前記全体省電力制御ステップにより所定個数の仮想計算機が省電力状態にあると判定された場合、省電力状態にある仮想計算機に対応するデバイスのうち、稼働させる1つのデバイスを稼働デバイス、残りのデバイスを縮退デバイスとして決定し、前記稼働デバイスに前記縮退デバイスの制御を縮退させるデバイス共有制御方法。
  14.  複数の仮想計算機と、各仮想計算機に対応して複数設けられ、対応する仮想計算機により占有される複数のデバイスと、前記仮想計算機を制御するハイパバイザとを備える仮想計算機システムとしてコンピュータを機能させるプログラムであって、
     前記仮想計算機を、
     対応するデバイスを制御するデバイス制御部と、
     対応する仮想計算機の省電力制御を行う省電力制御部として機能させ、
     前記ハイパバイザを、
     各仮想計算機の状態を管理する全体省電力制御部と、
     前記仮想計算機の状態と前記デバイスの制御に関する情報とを含む仮想計算機情報を記憶する仮想計算機情報記憶部と、
     前記デバイスの制御を変更するデバイス制御変更部として機能させ、
     前記全体省電力制御部は、前記省電力制御部から、対応する仮想計算機を通常状態から省電力状態に遷移させる遷移要求を受け取った場合、前記仮想計算機情報を参照し、前記遷移要求を出力した仮想計算機を含む2以上の所定個数の仮想計算機が省電力状態にあるか否かを判定し、
     前記デバイス制御変更部は、前記全体省電力制御部により所定個数の仮想計算機が省電力状態にあると判定された場合、省電力状態にある仮想計算機に対応するデバイスのうち、稼働させる1つのデバイスを稼働デバイス、残りのデバイスを縮退デバイスとして決定し、前記稼働デバイスに前記縮退デバイスの制御を縮退させるプログラム。
  15.  複数の仮想計算機と、各仮想計算機に対応して複数設けられ、対応する仮想計算機により占有される複数のデバイスと、前記仮想計算機を制御するハイパバイザとを備える仮想計算機システムの集積回路であって、
     前記仮想計算機は、
     対応するデバイスを制御するデバイス制御部と、
     対応する仮想計算機の省電力制御を行う省電力制御部とを備え、
     前記ハイパバイザは、
     各仮想計算機の状態を管理する全体省電力制御部と、
     前記仮想計算機の状態と前記デバイスの制御に関する情報とを含む仮想計算機情報を記憶する仮想計算機情報記憶部と、
     前記デバイスの制御を変更するデバイス制御変更部とを備え、
     前記全体省電力制御部は、前記省電力制御部から、対応する仮想計算機を通常状態から省電力状態に遷移させる遷移要求を受け取った場合、前記仮想計算機情報を参照し、前記遷移要求を出力した仮想計算機を含む2以上の所定個数の仮想計算機が省電力状態にあるか否かを判定し、
     前記デバイス制御変更部は、前記全体省電力制御部により所定個数の仮想計算機が省電力状態にあると判定された場合、省電力状態にある仮想計算機に対応するデバイスのうち、稼働させる1つのデバイスを稼働デバイス、残りのデバイスを縮退デバイスとして決定し、前記稼働デバイスに前記縮退デバイスの制御を縮退させる集積回路。
PCT/JP2011/006049 2011-02-04 2011-10-28 仮想計算機システム、デバイス共有制御方法、プログラム、及び集積回路 Ceased WO2012104940A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201180016621.3A CN102822800B (zh) 2011-02-04 2011-10-28 虚拟计算机系统、器件共享控制方法
US13/638,732 US9009509B2 (en) 2011-02-04 2011-10-28 Virtual computer system, device sharing control method, computer-readable recording medium, and integrated circuit
JP2012555577A JP5830038B2 (ja) 2011-02-04 2011-10-28 仮想計算機システム、デバイス共有制御方法、プログラム、及び集積回路

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011022373 2011-02-04
JP2011-022373 2011-02-04

Publications (1)

Publication Number Publication Date
WO2012104940A1 true WO2012104940A1 (ja) 2012-08-09

Family

ID=46602188

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/006049 Ceased WO2012104940A1 (ja) 2011-02-04 2011-10-28 仮想計算機システム、デバイス共有制御方法、プログラム、及び集積回路

Country Status (4)

Country Link
US (1) US9009509B2 (ja)
JP (1) JP5830038B2 (ja)
CN (1) CN102822800B (ja)
WO (1) WO2012104940A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016084237A1 (ja) * 2014-11-28 2016-06-02 株式会社日立製作所 仮想計算機システムの制御方法及び仮想計算機システム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311209B2 (en) * 2012-11-27 2016-04-12 International Business Machines Corporation Associating energy consumption with a virtual machine

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006113767A (ja) * 2004-10-14 2006-04-27 Sony Corp 情報処理システム、および、情報処理方法、並びに、プログラム
JP2009151745A (ja) * 2007-11-28 2009-07-09 Hitachi Ltd 仮想マシンモニタ及びマルチプロセッサシステム
JP2010211546A (ja) * 2009-03-11 2010-09-24 Nec Corp 仮想マシン管理システム、仮想マシン管理方法、仮想マシン管理装置及び仮想マシン管理プログラム
JP2010257209A (ja) * 2009-04-24 2010-11-11 Fujitsu Ltd バススイッチ,コンピュータシステム及びコンピュータシステムの管理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03122727A (ja) 1989-10-05 1991-05-24 Nec Corp 仮想計算機システムのタイマ制御方式
JP2001043098A (ja) * 1999-07-29 2001-02-16 Matsushita Electric Ind Co Ltd オペレーティングシステムおよび仮想計算機システム
US7401240B2 (en) * 2004-06-03 2008-07-15 International Business Machines Corporation Method for dynamically managing power in microprocessor chips according to present processing demands
EP1708411A1 (en) * 2005-03-28 2006-10-04 Canon Kabushiki Kaisha A network device having a power saving mode, and a control method therefor
JP4295783B2 (ja) 2006-12-13 2009-07-15 株式会社日立製作所 計算機、仮想デバイスの制御方法
US8819675B2 (en) 2007-11-28 2014-08-26 Hitachi, Ltd. Virtual machine monitor and multiprocessor system
JP5251188B2 (ja) 2008-03-18 2013-07-31 富士通株式会社 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
US8689017B2 (en) * 2009-03-12 2014-04-01 Cisco Technology, Inc. Server power manager and method for dynamically managing server power consumption
JP2011002993A (ja) 2009-06-18 2011-01-06 Toyota Motor Corp ウォッチドックタイマ監視装置、ウォッチドックタイマ監視方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006113767A (ja) * 2004-10-14 2006-04-27 Sony Corp 情報処理システム、および、情報処理方法、並びに、プログラム
JP2009151745A (ja) * 2007-11-28 2009-07-09 Hitachi Ltd 仮想マシンモニタ及びマルチプロセッサシステム
JP2010211546A (ja) * 2009-03-11 2010-09-24 Nec Corp 仮想マシン管理システム、仮想マシン管理方法、仮想マシン管理装置及び仮想マシン管理プログラム
JP2010257209A (ja) * 2009-04-24 2010-11-11 Fujitsu Ltd バススイッチ,コンピュータシステム及びコンピュータシステムの管理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016084237A1 (ja) * 2014-11-28 2016-06-02 株式会社日立製作所 仮想計算機システムの制御方法及び仮想計算機システム
JPWO2016084237A1 (ja) * 2014-11-28 2017-06-29 株式会社日立製作所 仮想計算機システムの制御方法及び仮想計算機システム

Also Published As

Publication number Publication date
US20130024705A1 (en) 2013-01-24
US9009509B2 (en) 2015-04-14
JP5830038B2 (ja) 2015-12-09
JPWO2012104940A1 (ja) 2014-07-03
CN102822800A (zh) 2012-12-12
CN102822800B (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
JP4938080B2 (ja) マルチプロセッサ制御装置、マルチプロセッサ制御方法及びマルチプロセッサ制御回路
CN106255937B (zh) 具有始终通电的处理器的片上系统
US8689017B2 (en) Server power manager and method for dynamically managing server power consumption
RU2592415C2 (ru) Устройство формирования изображения и способ управления им
US10620686B2 (en) Semiconductor integrated circuit
US20160216752A1 (en) System on chip, method of managing power thereof, and electronic device
CN1758183A (zh) 集成电路器件
CN101542442A (zh) 多处理器控制装置、其控制方法及集成电路
TW201602791A (zh) 具有重組態系統單晶片並支援儘記憶體通訊模式之常開處理器之系統單晶片
US8683249B2 (en) Switching a processor and memory to a power saving mode when waiting to access a second slower non-volatile memory on-demand
TWI553549B (zh) 包括多個不同處理器核心之處理器
CN106020417B (zh) 内存装置及其节能控制方法
US8819680B2 (en) Computer system for controlling the execution of virtual machines
US9601180B2 (en) Automatic partial array self-refresh
JP2014016782A (ja) 情報処理装置およびプログラム
WO2013048536A1 (en) Apparatus and method for managing register information in a processing system
US10146483B2 (en) Memory system
JP5830038B2 (ja) 仮想計算機システム、デバイス共有制御方法、プログラム、及び集積回路
US20160224053A1 (en) Timer-based processing unit operational scaling employing timer resetting on idle process scheduling
US9766685B2 (en) Controlling power consumption of a processor using interrupt-mediated on-off keying
JP2008225859A (ja) Sramシステムおよびsramシステムの制御方法
WO2013079988A1 (en) Integrated circuit device, asymmetric multi-core processing module, electronic device and method of managing execution of computer program code therefor
JP2008262451A (ja) メモリ電源管理装置及びメモリ電源管理方法
JP2012116138A (ja) 制御装置、制御プログラム、画像形成装置
JP3699947B2 (ja) マイクロコントローラ

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180016621.3

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2012555577

Country of ref document: JP

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

Ref document number: 11857447

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13638732

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11857447

Country of ref document: EP

Kind code of ref document: A1