Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5703799B2 - Computer, control method and program - Google Patents
[go: Go Back, main page]

JP5703799B2 - Computer, control method and program - Google Patents

Computer, control method and program Download PDF

Info

Publication number
JP5703799B2
JP5703799B2 JP2011022149A JP2011022149A JP5703799B2 JP 5703799 B2 JP5703799 B2 JP 5703799B2 JP 2011022149 A JP2011022149 A JP 2011022149A JP 2011022149 A JP2011022149 A JP 2011022149A JP 5703799 B2 JP5703799 B2 JP 5703799B2
Authority
JP
Japan
Prior art keywords
virtual machine
cpu
guest
physical processor
frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011022149A
Other languages
Japanese (ja)
Other versions
JP2012164032A (en
Inventor
岳生 村上
岳生 村上
政秀 野田
政秀 野田
矢崎 昌朋
昌朋 矢崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011022149A priority Critical patent/JP5703799B2/en
Publication of JP2012164032A publication Critical patent/JP2012164032A/en
Application granted granted Critical
Publication of JP5703799B2 publication Critical patent/JP5703799B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)

Description

この発明は、計算機、制御方法及びプログラムに関する。   The present invention relates to a computer, a control method, and a program.

従来、計算機において、一つの物理的なCPU(Central Processing Unit、中央処理装置)上で複数のOS(Operating System、オペレーティングシステム)を動作させて複数の仮想マシンを実行する仮想化システムがある。仮想化システムにおいて、各仮想マシンへ仮想バッテリを提供し、仮想マシンが駆動中であればCPU使用時間を放電量に換算し、仮想マシンが停止中であれば停止時間を充電量に換算して、仮想バッテリの残量を制御する技術がある。また、物理的なCPUに割り当てられている仮想マシンを削除した結果、仮想マシンの割り当てがなくなった物理的なCPUをスリープ状態に移行させることによって、消費電力の低減を図る技術がある。また、データ処理システム内に生成された区画に、物理リソースのセットのうちの少なくともいくつかの物理リソースを割り当て、割り当てられなかった物理リソースの電力消費を低減する技術がある。また、物理リソースに供給するクロック周波数を低くすることにより、電力消費量を低減する技術がある。   2. Description of the Related Art Conventionally, in a computer, there is a virtualization system that executes a plurality of virtual machines by operating a plurality of OSs (Operating Systems, operating systems) on a single physical CPU (Central Processing Unit). In the virtualization system, a virtual battery is provided to each virtual machine, and if the virtual machine is running, the CPU usage time is converted into a discharge amount, and if the virtual machine is stopped, the stop time is converted into a charge amount. There is a technique for controlling the remaining amount of the virtual battery. In addition, there is a technique for reducing power consumption by shifting a physical CPU, which has no virtual machine assigned as a result of deleting a virtual machine assigned to a physical CPU, to a sleep state. In addition, there is a technique for allocating at least some physical resources of a set of physical resources to a partition generated in the data processing system and reducing power consumption of physical resources that have not been allocated. In addition, there is a technique for reducing power consumption by lowering a clock frequency supplied to a physical resource.

特開2010−33207号公報JP 2010-33207 A 特開2009−140157号公報JP 2009-140157 A 特開2004−192612号公報JP 2004-192612 A

しかしながら、従来の技術では、物理的なCPUの負荷の状態にかかわらず、各仮想マシンは、予め設定されているクロック周波数で動作する。そのため、物理的なCPUが負荷の低い状態にあるため、各仮想マシンを低速で実行することができる状態であるにもかかわらず、仮想マシンに高いクロック周波数が設定されている場合には、物理的なCPUが高いクロック周波数で動作することがある。また、物理的なCPUの負荷に応じて物理的なCPUのクロック周波数の上げ下げを行う場合、クロック周波数が低くてもかまわない仮想マシンが物理的なCPUに割り当てられているときでも、物理的なCPUの負荷が高い状態のときには、物理的なCPUが高いクロック周波数で動作することがある。このように、物理的なCPUが低いクロック周波数で動作することができる状況のときでも、それよりも高いクロック周波数で物理的なCPUが動作することがあるため、無駄な電力を消費してしまうという問題点がある。   However, in the conventional technology, each virtual machine operates at a preset clock frequency regardless of the physical load state of the CPU. For this reason, the physical CPU is in a low-load state, so if each virtual machine can be executed at a low speed but a high clock frequency is set for the virtual machine, A typical CPU may operate at a high clock frequency. Also, when the clock frequency of the physical CPU is increased or decreased according to the load of the physical CPU, even when a virtual machine that may have a low clock frequency is assigned to the physical CPU, When the CPU load is high, the physical CPU may operate at a high clock frequency. Thus, even in a situation where the physical CPU can operate at a low clock frequency, the physical CPU may operate at a higher clock frequency, and thus wasteful power is consumed. There is a problem.

消費電力を削減することができる計算機、制御方法及びプログラムを提供することを目的とする。   An object of the present invention is to provide a computer, a control method, and a program that can reduce power consumption.

計算機は、1個以上の物理的なプロセッサ、管理表、決定部及び変更部を備えている。管理表は、複数の仮想マシンごとに、クロック周波数を制御する制御情報を管理する。仮想マシンは、物理的なプロセッサで実行されることによって実現される。制御情報は、仮想マシンの種別に応じて設定されている。決定部は、仮想マシンごとに、管理表の制御情報に基づいてしきい値を求める。決定部は、仮想マシンごとに、しきい値と物理的なプロセッサの利用率とに基づいてクロック周波数を決定する。変更部は、決定部により決定されたクロック周波数に基づいて物理的なプロセッサのクロック周波数を変更する。   The computer includes one or more physical processors, a management table, a determination unit, and a change unit. The management table manages control information for controlling the clock frequency for each of a plurality of virtual machines. The virtual machine is realized by being executed by a physical processor. The control information is set according to the type of virtual machine. The determination unit obtains a threshold value for each virtual machine based on the control information in the management table. The determination unit determines a clock frequency for each virtual machine based on a threshold value and a physical processor utilization rate. The changing unit changes the clock frequency of the physical processor based on the clock frequency determined by the determining unit.

この計算機、制御方法及びプログラムによれば、消費電力を削減することができる。   According to this computer, control method, and program, power consumption can be reduced.

図1は、実施例1にかかる計算機を示すブロック図である。FIG. 1 is a block diagram of the computer according to the first embodiment. 図2は、実施例2にかかる計算機のハードウェア構成を示すブロック図である。FIG. 2 is a block diagram of a hardware configuration of the computer according to the second embodiment. 図3は、実施例2にかかる計算機の機能的な構成を示すブロック図である。FIG. 3 is a block diagram of a functional configuration of the computer according to the second embodiment. 図4は、実施例2にかかる計算機の管理表の一例を示す図表である。FIG. 4 is a table illustrating an example of a management table of a computer according to the second embodiment. 図5は、実施例2にかかる制御方法におけるCPU周波数定期更新処理を示すフローチャートである。FIG. 5 is a flowchart of the CPU frequency periodic update process in the control method according to the second embodiment. 図6は、実施例2にかかる制御方法における仮想マシン割り当て処理を示すフローチャートである。FIG. 6 is a flowchart of the virtual machine assignment process in the control method according to the second embodiment. 図7は、実施例2にかかる制御方法におけるCPU周波数切り替え処理を示すフローチャートである。FIG. 7 is a flowchart of the CPU frequency switching process in the control method according to the second embodiment. 図8は、実施例2にかかる制御方法におけるフロント係数設定変更処理を示すフローチャートである。FIG. 8 is a flowchart of the front coefficient setting changing process in the control method according to the second embodiment. 図9は、CPUの利用率が下降していく例における各種情報の一例を示す図表である。FIG. 9 is a chart showing an example of various types of information in an example where the CPU usage rate decreases. 図10は、CPUの利用率が下降していく例におけるCPU周波数の一例を示す模式図である。FIG. 10 is a schematic diagram illustrating an example of the CPU frequency in an example in which the CPU usage rate decreases. 図11は、CPUの利用率が上昇していく例における各種情報の一例を示す図表である。FIG. 11 is a chart showing an example of various information in an example in which the usage rate of the CPU increases. 図12は、CPUの利用率が上昇していく例におけるCPU周波数の一例を示す模式図である。FIG. 12 is a schematic diagram illustrating an example of a CPU frequency in an example in which the CPU usage rate increases. 図13は、フォアグラウンドで動作する仮想マシンを切り替える例における各種情報の一例を示す図表である。FIG. 13 is a chart showing an example of various information in an example of switching virtual machines operating in the foreground. 図14は、フォアグラウンドで動作する仮想マシンを切り替える例におけるCPU周波数の一例を示す模式図である。FIG. 14 is a schematic diagram illustrating an example of a CPU frequency in an example of switching a virtual machine operating in the foreground. 図15は、新たに仮想マシンが起動する例における各種情報の一例を示す図表である。FIG. 15 is a chart illustrating an example of various information in an example in which a virtual machine is newly activated. 図16は、新たに仮想マシンが起動する例におけるCPU周波数の一例を示す模式図である。FIG. 16 is a schematic diagram illustrating an example of a CPU frequency in an example in which a virtual machine is newly started.

以下に添付図面を参照して、この計算機、制御方法及びプログラムの好適な実施の形態を詳細に説明する。計算機、制御方法及びプログラムは、仮想マシンごとに、仮想マシンの種別に応じた制御情報に基づいてしきい値を求め、しきい値とプロセッサの利用率(負荷)とに基づいてクロック周波数を決定し、プロセッサのクロック周波数を決定したクロック周波数に変更するものである。以下の各実施例の説明においては、同様の構成要素には同一の符号を付して、重複する説明を省略する。   Exemplary embodiments of a computer, a control method, and a program will be described below in detail with reference to the accompanying drawings. For each virtual machine, the computer, the control method, and the program obtain a threshold value based on control information corresponding to the type of virtual machine, and determine the clock frequency based on the threshold value and the processor utilization rate (load). Then, the clock frequency of the processor is changed to the determined clock frequency. In the following description of each embodiment, the same components are denoted by the same reference numerals, and redundant descriptions are omitted.

(実施例1)
図1は、実施例1にかかる計算機を示すブロック図である。図1に示すように、計算機は、1個以上の物理的なプロセッサ3、管理表4、決定部5及び変更部6を備えている。
(Example 1)
FIG. 1 is a block diagram of the computer according to the first embodiment. As shown in FIG. 1, the computer includes one or more physical processors 3, a management table 4, a determination unit 5, and a change unit 6.

管理表4は、複数の仮想マシン1,2ごとに、クロック周波数を制御する制御情報を管理する。仮想マシン1,2は、物理的なプロセッサ3で実行されることによって実現される。制御情報は、仮想マシン1,2の種別に応じて設定されている。決定部5は、仮想マシン1,2ごとに、管理表4の制御情報に基づいてしきい値を求める。決定部5は、仮想マシン1,2ごとに、しきい値と物理的なプロセッサ3の利用率とに基づいてクロック周波数を決定する。変更部6は、決定部5により決定されたクロック周波数に基づいて物理的なプロセッサ3のクロック周波数を変更する。   The management table 4 manages control information for controlling the clock frequency for each of the plurality of virtual machines 1 and 2. The virtual machines 1 and 2 are realized by being executed by the physical processor 3. The control information is set according to the type of the virtual machines 1 and 2. The determination unit 5 determines a threshold value for each of the virtual machines 1 and 2 based on the control information in the management table 4. The determining unit 5 determines the clock frequency for each of the virtual machines 1 and 2 based on the threshold value and the physical processor 3 utilization rate. The changing unit 6 changes the clock frequency of the physical processor 3 based on the clock frequency determined by the determining unit 5.

実施例1によれば、仮想マシン1,2の種別に応じて仮想マシン1,2のクロック周波数が決まり、それに応じて物理的なプロセッサ3のクロック周波数が変更される。例えば、物理的なプロセッサ3の利用率に連動してクロック周波数が変動する仮想マシン1,2の場合には、物理的なプロセッサ3の利用率に連動したクロック周波数で物理的なプロセッサ3が動作する。物理的なプロセッサ3の利用率に連動し、かつ重み付けされてクロック周波数が変動する仮想マシン1,2の場合には、物理的なプロセッサ3の利用率に連動し、かつ重み付けされたクロック周波数で物理的なプロセッサ3が動作する。一定のクロック周波数で動作する仮想マシン1,2の場合には、一定のクロック周波数で物理的なプロセッサ3が動作する。つまり、物理的なプロセッサ3が低いクロック周波数で動作することができる状況のときには、物理的なプロセッサ3が低いクロック周波数で動作するので、計算機の消費電力を削減することができる。   According to the first embodiment, the clock frequency of the virtual machines 1 and 2 is determined according to the type of the virtual machines 1 and 2, and the clock frequency of the physical processor 3 is changed accordingly. For example, in the case of virtual machines 1 and 2 whose clock frequency fluctuates in conjunction with the utilization rate of the physical processor 3, the physical processor 3 operates at a clock frequency that is linked to the utilization rate of the physical processor 3. To do. In the case of the virtual machines 1 and 2 that are linked to the utilization rate of the physical processor 3 and whose clock frequency varies by weighting, the virtual machines 1 and 2 that are linked to the utilization rate of the physical processor 3 and that have a weighted clock frequency. The physical processor 3 operates. In the case of the virtual machines 1 and 2 that operate at a constant clock frequency, the physical processor 3 operates at a constant clock frequency. That is, when the physical processor 3 can operate at a low clock frequency, the physical processor 3 operates at a low clock frequency, so that the power consumption of the computer can be reduced.

(実施例2)
・ハードウェア構成の説明
図2は、実施例2にかかる計算機のハードウェア構成を示すブロック図である。図2に示すように、計算機は、物理的なプロセッサとして例えばCPU11、表示部12、キー13、メインメモリ14及びNAND(Not AND)メモリ15を備えている。CPU11、表示部12、キー13、メインメモリ14及びNANDメモリ15は、バス16に接続されている。
(Example 2)
FIG. 2 is a block diagram of a hardware configuration of a computer according to the second embodiment. As shown in FIG. 2, the computer includes, for example, a CPU 11, a display unit 12, a key 13, a main memory 14, and a NAND (Not AND) memory 15 as physical processors. The CPU 11, display unit 12, key 13, main memory 14, and NAND memory 15 are connected to the bus 16.

CPU11は、計算機全体の制御を司る。CPU11は、後述するプログラムを実行し、後述する種々の仮想マシン(VM:Virtual Machine)や仮想マシンモニタを実現する。CPU11は、クロック周波数(CPU周波数)や駆動電圧を動的に変更することができるものである。表示部12は、例えば液晶パネルを備えている。キー13は、例えば数字や文字を入力するためのキーやボタンを備えている。キー13は、表示部12と一体化されたタッチパネルを備えており、表示部12に表示されたキーの画像に触れることにより数字や文字を入力することができるようになっていてもよい。   The CPU 11 controls the entire computer. The CPU 11 executes programs to be described later, and implements various virtual machines (VMs) and virtual machine monitors to be described later. The CPU 11 can dynamically change the clock frequency (CPU frequency) and the driving voltage. The display unit 12 includes a liquid crystal panel, for example. The key 13 includes keys and buttons for inputting numbers and characters, for example. The key 13 may be provided with a touch panel integrated with the display unit 12, and a number or a character may be input by touching an image of the key displayed on the display unit 12.

メインメモリ14は、CPU11の作業領域として用いられる。メインメモリ14には、例えばOSやアプリケーションのプログラムが展開されてもよい。CPU11は、メインメモリ14に展開されたOSやアプリケーションのプログラムを実行してもよい。メインメモリ14は、例えばRAM(Random Access Memory)を備えている。   The main memory 14 is used as a work area for the CPU 11. For example, an OS or an application program may be expanded in the main memory 14. The CPU 11 may execute an OS or application program expanded in the main memory 14. The main memory 14 includes, for example, a RAM (Random Access Memory).

NANDメモリ15は、例えばOSやアプリケーションのプログラムを格納している。OSやアプリケーションのプログラムは、NANDメモリ15から読み出されてメインメモリ14に展開されてもよい。NANDメモリ15は、不揮発性のメモリとして、例えばNAND型のフラッシュメモリを備えていてもよい。計算機は、NANDメモリ15の代わりに、他の不揮発性メモリを備えていてもよい。   The NAND memory 15 stores an OS and application programs, for example. The OS and application programs may be read from the NAND memory 15 and expanded in the main memory 14. The NAND memory 15 may include, for example, a NAND flash memory as a nonvolatile memory. The computer may include other nonvolatile memory instead of the NAND memory 15.

なお、計算機が携帯電話機などの無線通信端末である場合には、計算機は無線通信部を備えている。また、計算機は、画像処理や音声処理を行うDSP(Digital Signal Processor)や、外部メモリとのインタフェースなどを備えていてもよい。   When the computer is a wireless communication terminal such as a mobile phone, the computer includes a wireless communication unit. The computer may also include a DSP (Digital Signal Processor) that performs image processing and sound processing, an interface with an external memory, and the like.

・機能的な構成の説明
図3は、実施例2にかかる計算機の機能的な構成を示すブロック図である。図3に示すように、計算機は、複数の仮想マシン21〜25及び仮想マシンモニタ26を備えている。仮想マシン21〜25及び仮想マシンモニタ26は、CPU11が仮想マシン及び仮想マシンモニタを実現するプログラムを実行することにより実現されてもよい。例えば各仮想マシン21〜25では、独立してOSが実行されてもよい。以下の説明では、仮想マシン21〜25のID(Identifier、識別子)を例えばA、B、C、D及びEとする。
FIG. 3 is a block diagram of a functional configuration of the computer according to the second embodiment. As shown in FIG. 3, the computer includes a plurality of virtual machines 21 to 25 and a virtual machine monitor 26. The virtual machines 21 to 25 and the virtual machine monitor 26 may be realized by the CPU 11 executing a program for realizing the virtual machine and the virtual machine monitor. For example, in each of the virtual machines 21 to 25, the OS may be executed independently. In the following description, IDs (identifiers) of the virtual machines 21 to 25 are, for example, A, B, C, D, and E.

仮想マシン21,22は、ゲスト仮想マシン(以下、ゲストVMと表記する)である。ゲスト仮想マシン21及びゲスト仮想マシン22を、それぞれ、ゲストVM−A21及びゲストVM−B22と表記することがある。ゲストVM−A21及びゲストVM−B22は、ユーザーが使用するアプリケーションを動作させる仮想マシンである。ゲストVMは、使用形態に応じて、一つだけ起動されてもよいし、複数起動されてもよい。   The virtual machines 21 and 22 are guest virtual machines (hereinafter referred to as guest VMs). The guest virtual machine 21 and the guest virtual machine 22 may be referred to as a guest VM-A 21 and a guest VM-B 22 respectively. The guest VM-A 21 and the guest VM-B 22 are virtual machines that operate applications used by the user. Only one guest VM or a plurality of guest VMs may be activated depending on the usage pattern.

ゲストVMは、例えばフロントエンドドライバ27,28を備えている。フロントエンドドライバ27,28は、ゲストVMがデバイスを操作する際に利用されるモジュールである。フロントエンドドライバ27,28は、後述するドライバ仮想マシンと連携して、デバイスを操作する処理を行う。   The guest VM includes front-end drivers 27 and 28, for example. The front-end drivers 27 and 28 are modules used when the guest VM operates the device. The front-end drivers 27 and 28 perform processing for operating a device in cooperation with a driver virtual machine described later.

仮想マシン23,24は、ドライバ仮想マシン(以下、ドライバVMと表記する)である。ドライバ仮想マシン23及びドライバ仮想マシン24を、それぞれ、ドライバVM−C23及びドライバVM−D24と表記することがある。ドライバVM−C23及びドライバVM−D24は、デバイスを制御するデバイスドライバを動作させる仮想マシンである。デバイス種別ごとにドライバVMが起動されることがあるので、複数のドライバVMが起動されることがある。   The virtual machines 23 and 24 are driver virtual machines (hereinafter referred to as driver VMs). The driver virtual machine 23 and the driver virtual machine 24 may be referred to as a driver VM-C23 and a driver VM-D24, respectively. The driver VM-C 23 and the driver VM-D 24 are virtual machines that operate device drivers that control devices. Since the driver VM may be activated for each device type, a plurality of driver VMs may be activated.

ドライバVMは、例えばバックエンドドライバ29,30を備えている。バックエンドドライバ29,30は、ゲストVMのフロントエンドドライバ27,28からの要求を受けて、デバイスの操作を行う。図示例では、例えばドライバVM−C23のバックエンドドライバ29は、キー13の操作を行う。例えばドライバVM−D24のバックエンドドライバ30は、NANDメモリ15の操作を行う。   The driver VM includes back-end drivers 29 and 30, for example. The back-end drivers 29 and 30 operate the device in response to requests from the front-end drivers 27 and 28 of the guest VM. In the illustrated example, for example, the back-end driver 29 of the driver VM-C 23 operates the key 13. For example, the back end driver 30 of the driver VM-D 24 operates the NAND memory 15.

仮想マシン25は、サービス仮想マシン(以下、サービスVMと表記する)である。サービス仮想マシン25をサービスVM−E25と表記することがある。サービスVM−E25は、ユーザーにより直接操作されるわけではなく、バックグラウンドで動作する。サービスVM−E25は、例えばウイルスチェックなどシステムに必要な補助的なサービスを実施する。   The virtual machine 25 is a service virtual machine (hereinafter referred to as a service VM). The service virtual machine 25 may be referred to as a service VM-E25. The service VM-E 25 is not directly operated by the user but operates in the background. The service VM-E 25 implements auxiliary services necessary for the system such as virus checking.

仮想マシンモニタ26は、一つのCPU11を複数の仮想マシンとして利用する制御を行う。それによって、一つのCPU11を複数の仮想マシンとして利用することができる。仮想マシンモニタ26は、決定部として例えばゲスト電力制御モジュール31を備えている。ゲスト電力制御モジュール31は、例えば管理表としてゲスト電力制御管理表32を備えている。   The virtual machine monitor 26 performs control to use one CPU 11 as a plurality of virtual machines. Thereby, one CPU 11 can be used as a plurality of virtual machines. The virtual machine monitor 26 includes, for example, a guest power control module 31 as a determination unit. The guest power control module 31 includes a guest power control management table 32 as a management table, for example.

ゲスト電力制御モジュール31は、一定間隔またはゲストVMの切り替え時に動作して、ゲスト電力制御管理表32を参照し、更新の必要があるときにはゲスト電力制御管理表32を更新する。ゲスト電力制御モジュール31は、各仮想マシンのCPU周波数を変更する必要があるか否かを判断し、変更の必要がある場合には後述するCPU周波数切り替え処理を行う。   The guest power control module 31 operates at regular intervals or when the guest VM is switched, refers to the guest power control management table 32, and updates the guest power control management table 32 when updating is necessary. The guest power control module 31 determines whether or not it is necessary to change the CPU frequency of each virtual machine. If the change is necessary, the guest power control module 31 performs CPU frequency switching processing described later.

ゲスト電力制御管理表32は、仮想マシンごとに、仮想マシンの種別や動作状態に応じて電力制御を行うのに必要な情報を保持する。ゲスト電力制御管理表32は、例えばメインメモリ14やNANDメモリ15に記憶される。仮想マシンの種別には、例えば上述したゲストVMやドライバVMやサービスVMなどがある。仮想マシンの動作状態には、例えばフォアグラウンドで動作している状態とバックグラウンドで動作している状態がある。   The guest power control management table 32 holds information necessary for performing power control for each virtual machine according to the type and operating state of the virtual machine. The guest power control management table 32 is stored, for example, in the main memory 14 or the NAND memory 15. Examples of the virtual machine type include the guest VM, the driver VM, and the service VM described above. The operation state of the virtual machine includes, for example, a state operating in the foreground and a state operating in the background.

また、ゲスト電力制御管理表32の一部として、あるいはゲスト電力制御管理表32とは別に、後述するMaxデフォルト値及びMinデフォルト値、並びにフロント係数のデフォルト値が、例えばメインメモリ14やNANDメモリ15に記憶されていてもよい。   Further, as a part of the guest power control management table 32 or separately from the guest power control management table 32, the Max default value and the Min default value, which will be described later, and the default value of the front coefficient are, for example, the main memory 14 and the NAND memory 15. May be stored.

仮想マシンモニタ26は、画面切り替え制御モジュール33、CPUスケジューラ34、及び変更部として例えばCPU周波数変更処理モジュール35を備えている。画面切り替え制御モジュール33は、ユーザーが、計算機の図示しない画面切り替えキーを押下するなどの画面の切り替え操作を行ったときに呼び出される。画面切り替え制御モジュール33は、新規にフロント画面で操作されるゲストVM、すなわちフォアグラウンドで動作するゲストVMを決定し、フロント画面で操作されるゲストVMを切り替える。   The virtual machine monitor 26 includes a screen switching control module 33, a CPU scheduler 34, and a CPU frequency change processing module 35 as a change unit, for example. The screen switching control module 33 is called when the user performs a screen switching operation such as pressing a screen switching key (not shown) of the computer. The screen switching control module 33 determines a guest VM that is newly operated on the front screen, that is, a guest VM that operates in the foreground, and switches the guest VM that is operated on the front screen.

CPUスケジューラ34は、CPU11に仮想マシンを割り当てる制御を行う。割り当て方の一例として、例えばCREDITやSEDF(Simple Earliest Deadline First)やBVT(Borrowed Virtual Time)などのポリシーがある。また、複数のポリシーの中から適宜選択して割り当てるようにしてもよい。CPUスケジューラ34は、CPU11で動作させる仮想マシンの切り替えに合わせてゲスト電力制御モジュール31のCPU周波数切り替え処理を呼び出す。CPU周波数変更処理モジュール35は、CPU11のCPU周波数を変更する処理を実行する。   The CPU scheduler 34 performs control to allocate a virtual machine to the CPU 11. As an example of the allocation method, for example, there are policies such as CREDIT, SEDF (Simple Early Deadline First), and BVT (Borrowed Virtual Time). Moreover, you may make it select and assign suitably from several policies. The CPU scheduler 34 calls the CPU frequency switching process of the guest power control module 31 in accordance with the switching of the virtual machine operated by the CPU 11. The CPU frequency change processing module 35 executes processing for changing the CPU frequency of the CPU 11.

・ゲスト電力制御管理表の一例
図4は、実施例2にかかる計算機の管理表の一例を示す図表である。図4に示すように、ゲスト電力制御管理表32は、例えばVM_IDフィールド、VMタイプ係数フィールド、フロント係数フィールド及びCPU周波数フィールドを有する。VM_IDフィールドには、仮想マシンのIDが格納される。VMタイプ係数フィールドには、仮想マシンの種別に関する制御情報としてVMタイプ係数の値が格納される。仮想マシンの種別に関する制御情報は、仮想マシンの種別に応じて予め設定されていてもよい。
Example of Guest Power Control Management Table FIG. 4 is a table illustrating an example of a computer management table according to the second embodiment. As shown in FIG. 4, the guest power control management table 32 has, for example, a VM_ID field, a VM type coefficient field, a front coefficient field, and a CPU frequency field. The VM_ID field stores the virtual machine ID. In the VM type coefficient field, the value of the VM type coefficient is stored as control information related to the type of virtual machine. Control information related to the type of virtual machine may be set in advance according to the type of virtual machine.

フロント係数フィールドには、仮想マシンの動作状態に関する制御情報としてフロント係数の値が格納される。仮想マシンの動作状態に関する制御情報は、仮想マシンがフォアグラウンドで動作しているか、バックグラウンドで動作しているか、によって動的に変化してもよい。CPU周波数フィールドには、仮想マシンが動作する際にCPU11に設定されるCPU周波数が格納される。   In the front coefficient field, the value of the front coefficient is stored as control information related to the operating state of the virtual machine. The control information related to the operation state of the virtual machine may change dynamically depending on whether the virtual machine is operating in the foreground or the background. The CPU frequency field stores the CPU frequency set in the CPU 11 when the virtual machine operates.

・仮想マシンのCPU周波数の決定方法の一例
VMタイプ係数の値及びフロント係数の値は、例えば次の(1)式及び(2)式において用いられる。(1)式及び(2)式において、しきい値Max及びしきい値Minは、それぞれ、CPU11の利用率と比較されるしきい値の最大値及び最小値である。ゲスト電力制御モジュール31は、CPU11の利用率がしきい値Maxよりも大きい場合には仮想マシンのCPU周波数を高くし、CPU11の利用率がしきい値Minよりも小さい場合には仮想マシンのCPU周波数を低くするように、制御する。Maxデフォルト値及びMinデフォルト値は、それぞれ、しきい値の最大値及び最小値のデフォルト値であり、予め設定されていてもよい。
An example of a method for determining the CPU frequency of the virtual machine The value of the VM type coefficient and the value of the front coefficient are used in, for example, the following expressions (1) and (2). In the expressions (1) and (2), the threshold value Max and the threshold value Min are the maximum value and the minimum value of the threshold value to be compared with the usage rate of the CPU 11, respectively. The guest power control module 31 increases the CPU frequency of the virtual machine when the usage rate of the CPU 11 is larger than the threshold value Max, and the CPU of the virtual machine when the usage rate of the CPU 11 is smaller than the threshold value Min. Control to lower the frequency. The Max default value and the Min default value are the default values of the maximum value and the minimum value of the threshold value, respectively, and may be set in advance.

Figure 0005703799
Figure 0005703799

Figure 0005703799
Figure 0005703799

(1)式及び(2)式によれば、VMタイプ係数の値が大きいと、しきい値Max及びしきい値Minがともに大きくなるので、仮想マシンのCPU周波数は、CPU11の利用率が大きくなっても高くなりにくく、かつCPU11の利用率が小さくなると低くなりやすい。つまり、VMタイプ係数の値が大きい仮想マシンは、できるだけ低いCPU周波数で動作するように制御される。   According to the expressions (1) and (2), if the value of the VM type coefficient is large, both the threshold value Max and the threshold value Min are large. Therefore, the CPU frequency of the virtual machine has a large utilization rate of the CPU 11. Even if it becomes, it will become difficult to become high, and it will become low easily when the utilization factor of CPU11 becomes small. That is, a virtual machine having a large VM type coefficient is controlled to operate at the lowest possible CPU frequency.

それに対して、VMタイプ係数の値が小さいと、しきい値Max及びしきい値Minがともに小さくなるので、仮想マシンのCPU周波数は、CPU11の利用率が大きくなると高くなりやすく、かつCPU11の利用率が小さくなっても低くなりにくい。つまり、VMタイプ係数の値が小さい仮想マシンは、できるだけ高いCPU周波数で動作するように制御される。   On the other hand, if the value of the VM type coefficient is small, both the threshold value Max and the threshold value Min are small. Therefore, the CPU frequency of the virtual machine is likely to increase as the usage rate of the CPU 11 increases, and the usage of the CPU 11 is increased. Even if the rate decreases, it is difficult to decrease. That is, a virtual machine having a small VM type coefficient is controlled to operate at the highest CPU frequency possible.

例えば図4に示す例では、VMタイプ係数の標準値は例えば1である。仮想マシンのIDがA及びBであるゲストVMのVMタイプ係数は標準値に設定されている。ゲストVMは、CPU11の利用率に連動してCPU周波数が変動する仮想マシンである。   For example, in the example illustrated in FIG. 4, the standard value of the VM type coefficient is, for example, 1. The VM type coefficients of guest VMs whose virtual machine IDs are A and B are set to standard values. The guest VM is a virtual machine whose CPU frequency varies in conjunction with the usage rate of the CPU 11.

仮想マシンのIDがC及びDであるドライバVMのVMタイプ係数は標準値や標準値と異なる値、例えば1や1.2に設定されている。ドライバVMは、CPU11の利用率に連動し、かつ重み付けされてCPU周波数が変動する仮想マシンである。例えば、ドライバVM−CのVMタイプ係数の値は1であり、ドライバVM−DのVMタイプ係数の値は1.2であるので、ドライバVM−CはドライバVM−Dよりも高いCPU周波数で動作しやすいように設定されていることになる。   The VM type coefficient of the driver VM whose virtual machine IDs are C and D is set to a standard value or a value different from the standard value, for example, 1 or 1.2. The driver VM is a virtual machine that is linked to the usage rate of the CPU 11 and that is weighted to change the CPU frequency. For example, since the value of the VM type coefficient of the driver VM-C is 1 and the value of the VM type coefficient of the driver VM-D is 1.2, the driver VM-C has a higher CPU frequency than the driver VM-D. It is set to be easy to operate.

仮想マシンのIDがEであるサービスVMのVMタイプ係数の値は例えば0に設定されている。VMタイプ係数の値が例えば0に設定されている仮想マシンは、CPU11の利用率に連動しないで、一定のCPU周波数で動作する仮想マシンである。   The value of the VM type coefficient of the service VM whose virtual machine ID is E is set to 0, for example. A virtual machine in which the value of the VM type coefficient is set to 0, for example, is a virtual machine that operates at a constant CPU frequency without being linked to the usage rate of the CPU 11.

また、フロント係数の値についても同様であり、フロント係数の値が大きい仮想マシンは、できるだけ低いCPU周波数で動作するように制御される。フロント係数の値が小さい仮想マシンは、できるだけ高いCPU周波数で動作するように制御される。   The same applies to the value of the front coefficient, and a virtual machine having a large front coefficient value is controlled to operate at the lowest possible CPU frequency. A virtual machine having a small front coefficient value is controlled to operate at a CPU frequency as high as possible.

例えば図4に示す例では、フロント係数のデフォルト値は例えば0.9である。仮想マシンのIDがAであるゲストVMのフロント係数はデフォルト値に設定されている。仮想マシンのIDがBであるゲストVMのフロント係数はデフォルト値よりも大きい値、例えば1に設定されている。従って、ゲストVM−AはゲストVM−Bよりも高いCPU周波数で動作しやすいように設定されていることになり、ゲストVM−Aがフォアグラウンドで動作し、ゲストVM−Bがバックグラウンドで動作していることになる。   For example, in the example shown in FIG. 4, the default value of the front coefficient is, for example, 0.9. The front coefficient of the guest VM whose virtual machine ID is A is set to a default value. The front coefficient of the guest VM whose virtual machine ID is B is set to a value larger than the default value, for example, 1. Therefore, the guest VM-A is set to operate at a higher CPU frequency than the guest VM-B, the guest VM-A operates in the foreground, and the guest VM-B operates in the background. Will be.

・制御方法の説明
[CPU周波数定期更新処理]
図5は、実施例2にかかる制御方法におけるCPU周波数定期更新処理を示すフローチャートである。CPU周波数定期更新処理は、ゲスト電力制御モジュール31により一定間隔で定期的に実施される。
・ Explanation of control method [CPU frequency periodic update processing]
FIG. 5 is a flowchart of the CPU frequency periodic update process in the control method according to the second embodiment. The CPU frequency periodic update process is periodically performed by the guest power control module 31 at regular intervals.

図5に示すように、CPU周波数定期更新処理は、例えば計算機に内蔵されたタイマーの割り込みにより一定間隔おきに起動される。CPU周波数定期更新処理が開始されると、ゲスト電力制御モジュール31は、まず、例えばCPUスケジューラ34のCPU負荷計測モジュール(図3において図示省略)を呼び出し、直近の計算機全体でのCPU11の利用率を算出する(ステップS1)。   As shown in FIG. 5, the CPU frequency periodic update process is started at regular intervals, for example, by interruption of a timer built in the computer. When the CPU frequency periodic update process is started, the guest power control module 31 first calls, for example, a CPU load measurement module (not shown in FIG. 3) of the CPU scheduler 34 to determine the usage rate of the CPU 11 in the latest entire computer. Calculate (step S1).

次いで、ゲスト電力制御モジュール31は、ゲスト電力制御管理表32を参照し、一番目の仮想マシンのVMタイプ係数の値が0であるか否かを判断する(ステップS2)。なお、ステップS2をステップS1の前に行ってもよい。VMタイプ係数の値が0でない場合(ステップS2:No)、ゲスト電力制御モジュール31は、ゲスト電力制御管理表32を参照し、例えば上述した(1)式及び(2)式に基づいて、しきい値Max及びしきい値Minを計算する(ステップS3)。なお、ステップS1の前にステップS2及びステップS3を行ってもよい。   Next, the guest power control module 31 refers to the guest power control management table 32 and determines whether or not the value of the VM type coefficient of the first virtual machine is 0 (step S2). Step S2 may be performed before step S1. When the value of the VM type coefficient is not 0 (step S2: No), the guest power control module 31 refers to the guest power control management table 32 and performs, for example, the above-described formulas (1) and (2). The threshold value Max and the threshold value Min are calculated (step S3). Note that step S2 and step S3 may be performed before step S1.

次いで、ゲスト電力制御モジュール31は、ステップS1で算出したCPU11の利用率がしきい値Maxよりも大きいか否か、またはしきい値Minよりも小さいか否か、を判断する(ステップS4)。しきい値Maxよりも大きいか、またはしきい値Minよりも小さい場合(ステップS4:Yes)、ゲスト電力制御モジュール31は、当該仮想マシンのCPU周波数を決定する。そして、ゲスト電力制御モジュール31は、決定したCPU周波数が現在の設定値と異なる場合には、ゲスト電力制御管理表32のCPU周波数フィールドの、当該仮想マシンに対応する格納値を更新する(ステップS5)。   Next, the guest power control module 31 determines whether or not the usage rate of the CPU 11 calculated in step S1 is larger than the threshold value Max or smaller than the threshold value Min (step S4). When it is larger than the threshold value Max or smaller than the threshold value Min (step S4: Yes), the guest power control module 31 determines the CPU frequency of the virtual machine. If the determined CPU frequency is different from the current set value, the guest power control module 31 updates the stored value corresponding to the virtual machine in the CPU frequency field of the guest power control management table 32 (step S5). ).

ステップS5では、例えば、CPU11の利用率がしきい値Maxよりも大きい場合には、当該仮想マシンのCPU周波数を現在の設定値よりも高くしてもよい。CPU周波数を現在の設定値よりも高くする場合には、例えば複数段階に設定可能なCPU周波数の最も高い周波数が設定されてもよい。例えばCPU周波数が600MHz、500MHz、250MHz及び125MHzの4段階に設定可能である場合、最も高い600MHzが設定されてもよい。   In step S5, for example, when the usage rate of the CPU 11 is larger than the threshold value Max, the CPU frequency of the virtual machine may be set higher than the current set value. When the CPU frequency is set higher than the current set value, for example, the highest CPU frequency that can be set in multiple stages may be set. For example, when the CPU frequency can be set in four stages of 600 MHz, 500 MHz, 250 MHz, and 125 MHz, the highest 600 MHz may be set.

また、例えば、CPU11の利用率がしきい値Minよりも小さい場合には、当該仮想マシンのCPU周波数を現在の設定値よりも低くしてもよい。CPU周波数を現在の設定値よりも低くする場合には、例えば複数段階に設定可能なCPU周波数の一段低い周波数が設定されてもよい。例えばCPU周波数が600MHz、500MHz、250MHz及び125MHzの4段階に設定可能であり、現在の設定値が500MHzである場合、一段低い250MHzが設定されてもよい。   For example, when the usage rate of the CPU 11 is smaller than the threshold value Min, the CPU frequency of the virtual machine may be set lower than the current set value. When the CPU frequency is set lower than the current set value, for example, a frequency that is one step lower than the CPU frequency that can be set in multiple stages may be set. For example, if the CPU frequency can be set in four stages of 600 MHz, 500 MHz, 250 MHz, and 125 MHz, and the current setting value is 500 MHz, 250 MHz that is one step lower may be set.

次いで、ゲスト電力制御モジュール31は、ゲスト電力制御管理表32のCPU周波数フィールドの格納値が更新された仮想マシンが現在、CPU11で動作中である場合には、CPU周波数変更処理モジュール35を呼び出す。呼び出されたCPU周波数変更処理モジュール35は、CPU11のCPU周波数の設定を、ステップS5で決定された周波数に更新する(ステップS6)。   Next, the guest power control module 31 calls the CPU frequency change processing module 35 when the virtual machine whose stored value in the CPU frequency field of the guest power control management table 32 is currently being operated by the CPU 11. The called CPU frequency change processing module 35 updates the CPU frequency setting of the CPU 11 to the frequency determined in step S5 (step S6).

そして、ステップS7へ進む。一方、仮想マシンのVMタイプ係数の値が0である場合(ステップS2:Yes)、またはCPU11の利用率がしきい値Min以上で、かつしきい値Max以下である場合(ステップS4:No)も、ステップS7へ進む。   Then, the process proceeds to step S7. On the other hand, when the value of the VM type coefficient of the virtual machine is 0 (step S2: Yes), or when the usage rate of the CPU 11 is not less than the threshold value Min and not more than the threshold value Max (step S4: No). Also proceeds to step S7.

ゲスト電力制御モジュール31は、ゲスト電力制御管理表32にエントリのある全ての仮想マシンについて上述した一連の更新処理が終了したか否かを判断する(ステップS7)。終了していれば(ステップS7:Yes)、一連のCPU周波数定期更新処理が終了となる。終了していなければ(ステップS7:No)、ゲスト電力制御モジュール31は、ゲスト電力制御管理表32を参照し、次の仮想マシンについてステップS2〜ステップS7の処理を行う。ゲスト電力制御モジュール31は、以上の一連の処理を、ゲスト電力制御管理表32にエントリのある全ての仮想マシンについて終了するまで、繰り返す。   The guest power control module 31 determines whether or not the above-described series of update processing has been completed for all virtual machines having an entry in the guest power control management table 32 (step S7). If completed (step S7: Yes), a series of CPU frequency regular update processing is completed. If not completed (step S7: No), the guest power control module 31 refers to the guest power control management table 32 and performs the processes of step S2 to step S7 for the next virtual machine. The guest power control module 31 repeats the above series of processes until all the virtual machines having entries in the guest power control management table 32 are finished.

[仮想マシン割り当て処理]
図6は、実施例2にかかる制御方法における仮想マシン割り当て処理を示すフローチャートである。仮想マシン割り当て処理は、CPUスケジューラ34により実施される。
[Virtual machine assignment processing]
FIG. 6 is a flowchart of the virtual machine assignment process in the control method according to the second embodiment. The virtual machine assignment process is performed by the CPU scheduler 34.

図6に示すように、仮想マシン割り当て処理は、例えば計算機に内蔵されたタイマーの割り込みにより起動される。CPU11にある仮想マシンが割り当てられて動作しているときに仮想マシン割り当て処理が開始されると、CPUスケジューラ34は、それまでCPU11で動作していた仮想マシンの状態をメインメモリ14やNANDメモリ15に保存する(ステップS11)。CPU11で動作していた仮想マシンの状態は、CPU11のレジスタから得られる。   As shown in FIG. 6, the virtual machine allocation process is started by interruption of a timer built in the computer, for example. When the virtual machine assignment process is started while the virtual machine in the CPU 11 is assigned and operating, the CPU scheduler 34 displays the state of the virtual machine that has been operating in the CPU 11 until then in the main memory 14 and the NAND memory 15. (Step S11). The state of the virtual machine operating on the CPU 11 is obtained from the register of the CPU 11.

次いで、CPUスケジューラ34は、ポリシーに従って、次に動作させる仮想マシンを選択し、選択した仮想マシンの動作時間を決定する(ステップS12)。次いで、CPUスケジューラ34は、ステップS12で選択した仮想マシンの動作が開始された後の次のタイマーの割り込みタイミング、すなわちCPUスケジューラ34の起動タイミングを設定する(ステップS13)。   Next, the CPU scheduler 34 selects a virtual machine to be operated next in accordance with the policy, and determines an operation time of the selected virtual machine (step S12). Next, the CPU scheduler 34 sets an interrupt timing of the next timer after the operation of the virtual machine selected in step S12 is started, that is, an activation timing of the CPU scheduler 34 (step S13).

次いで、CPUスケジューラ34は、CPU11のCPU周波数を切り替える処理を行う(ステップS14)。CPU11のCPU周波数を切り替える処理(CPU周波数切り替え処理)については後述する。次いで、CPUスケジューラ34は、ステップS12で選択した仮想マシンの状態を、以前に保存したメモリ領域から読み出し、CPU11のレジスタに仮想マシンの状態を設定して復元する(ステップS15)。これによって、CPUスケジューラ34によって新たにスケジューリングされた仮想マシンの実行が開始される。そして、CPUスケジューラ34は、仮想マシン割り当て処理を終了する。   Next, the CPU scheduler 34 performs a process of switching the CPU frequency of the CPU 11 (step S14). Processing for switching the CPU frequency of the CPU 11 (CPU frequency switching processing) will be described later. Next, the CPU scheduler 34 reads the state of the virtual machine selected in step S12 from the previously saved memory area, sets the state of the virtual machine in the register of the CPU 11, and restores it (step S15). As a result, execution of the virtual machine newly scheduled by the CPU scheduler 34 is started. Then, the CPU scheduler 34 ends the virtual machine assignment process.

[仮想マシン切り替え時のCPU周波数切り替え処理]
図7は、実施例2にかかる制御方法におけるCPU周波数切り替え処理を示すフローチャートである。仮想マシン切り替え時のCPU周波数切り替え処理は、上述した仮想マシンの切り替え時にCPUスケジューラ34から呼び出される。
[CPU frequency switching processing when switching virtual machines]
FIG. 7 is a flowchart of the CPU frequency switching process in the control method according to the second embodiment. The CPU frequency switching process at the time of virtual machine switching is called from the CPU scheduler 34 at the time of switching the virtual machine described above.

図7に示すように、CPU周波数切り替え処理では、ゲスト電力制御モジュール31は、ゲスト電力制御管理表32から、切り替え前の仮想マシンのCPU周波数、及び切り替え後の仮想マシンのCPU周波数を参照する(ステップS21)。切り替え前の仮想マシンは、現在CPU11で動作中の仮想マシンである。切り替え後の仮想マシンは、次に動作する仮想マシンである。   As shown in FIG. 7, in the CPU frequency switching process, the guest power control module 31 refers to the CPU frequency of the virtual machine before switching and the CPU frequency of the virtual machine after switching from the guest power control management table 32 ( Step S21). The virtual machine before switching is a virtual machine currently operating on the CPU 11. The virtual machine after switching is a virtual machine that operates next.

次いで、ゲスト電力制御モジュール31は、切り替え前の仮想マシンのCPU周波数と、切り替え後の仮想マシンのCPU周波数とが異なるか否かを判断する(ステップS22)。異なる場合(ステップS22:Yes)、ゲスト電力制御モジュール31は、CPU周波数変更処理モジュール35を呼び出す。呼び出されたCPU周波数変更処理モジュール35は、CPU11のCPU周波数の設定を、次に動作する仮想マシンのCPU周波数に更新する(ステップS23)。そして、CPUスケジューラ34による仮想マシン割り当て処理に戻る。   Next, the guest power control module 31 determines whether or not the CPU frequency of the virtual machine before switching is different from the CPU frequency of the virtual machine after switching (step S22). If they are different (step S22: Yes), the guest power control module 31 calls the CPU frequency change processing module 35. The called CPU frequency change processing module 35 updates the CPU frequency setting of the CPU 11 to the CPU frequency of the virtual machine that operates next (step S23). Then, the process returns to the virtual machine assignment process by the CPU scheduler 34.

一方、切り替え前の仮想マシンのCPU周波数と、切り替え後の仮想マシンのCPU周波数とが同じである場合も(ステップS22:No)、CPUスケジューラ34による仮想マシン割り当て処理に戻る。   On the other hand, when the CPU frequency of the virtual machine before switching and the CPU frequency of the virtual machine after switching are the same (step S22: No), the CPU scheduler 34 returns to the virtual machine allocation processing.

[フロント係数設定変更処理]
図8は、実施例2にかかる制御方法におけるフロント係数設定変更処理を示すフローチャートである。ユーザーによる画面の切り替え操作によって画面切り替え制御モジュール33が呼び出されると、画面切り替え制御モジュール33によってフロント係数設定変更処理が呼び出される。
[Front coefficient setting change processing]
FIG. 8 is a flowchart of the front coefficient setting changing process in the control method according to the second embodiment. When the screen switching control module 33 is called by the screen switching operation by the user, the screen switching control module 33 calls the front coefficient setting change process.

図8に示すように、フロント係数設定変更処理が開始されると、ゲスト電力制御モジュール31は、ゲスト電力制御管理表32を参照し、一番目の仮想マシンがフォアグラウンドで動作しているか否かを判断する(ステップS31)。フォアグラウンドで動作している場合(ステップS31:Yes)、ゲスト電力制御モジュール31は、ゲスト電力制御管理表32のフロント係数フィールドの、当該仮想マシンに対応する格納値をデフォルト値に設定する(ステップS32)。   As shown in FIG. 8, when the front coefficient setting change process is started, the guest power control module 31 refers to the guest power control management table 32 and determines whether the first virtual machine is operating in the foreground. Judgment is made (step S31). When operating in the foreground (step S31: Yes), the guest power control module 31 sets the stored value corresponding to the virtual machine in the front coefficient field of the guest power control management table 32 to a default value (step S32). ).

そして、ステップS34へ進む。一方、仮想マシンがフォアグラウンドで動作していない場合(ステップS31:No)、ゲスト電力制御管理表32のフロント係数フィールドの、当該仮想マシンに対応する格納値をデフォルト値よりも大きい値に設定する(ステップS33)。そして、ステップS34へ進む。   Then, the process proceeds to step S34. On the other hand, when the virtual machine is not operating in the foreground (step S31: No), the stored value corresponding to the virtual machine in the front coefficient field of the guest power control management table 32 is set to a value larger than the default value ( Step S33). Then, the process proceeds to step S34.

ゲスト電力制御モジュール31は、ゲスト電力制御管理表32にエントリのある全ての仮想マシンについて上述した一連の変更処理が終了したか否かを判断する(ステップS34)。終了していれば(ステップS34:Yes)、一連のフロント係数設定変更処理が終了となる。終了していなければ(ステップS34:No)、ゲスト電力制御モジュール31は、ゲスト電力制御管理表32を参照し、次の仮想マシンについてステップS31〜ステップS34の処理を行う。ゲスト電力制御モジュール31は、以上の一連の処理を、ゲスト電力制御管理表32にエントリのある全ての仮想マシンについて終了するまで、繰り返す。   The guest power control module 31 determines whether the above-described series of change processing has been completed for all virtual machines having entries in the guest power control management table 32 (step S34). If it has been completed (step S34: Yes), a series of front coefficient setting change processing is completed. If it has not ended (step S34: No), the guest power control module 31 refers to the guest power control management table 32 and performs the processing of steps S31 to S34 for the next virtual machine. The guest power control module 31 repeats the above series of processes until all the virtual machines having entries in the guest power control management table 32 are finished.

・動作の具体例
以下の各具体例では、図3に示す構成を例にして説明する。例えば、設定可能なCPU周波数を600MHz、500MHz、250MHz及び125MHzとして説明する。例えば、Maxデフォルト値を80%とし、Minデフォルト値を75%として説明する。また、CPU周波数を現在の設定値よりも高くする場合には、設定可能なCPU周波数の最も高い周波数が設定され、CPU周波数を現在の設定値よりも低くする場合には、設定可能なCPU周波数の一段低い周波数が設定されるとして説明する。なお、設定可能なCPU周波数、Maxデフォルト値及びMinデフォルト値は、これに限らないし、CPU周波数の設定値を変更する場合もこの例に限らない。
Specific Examples of Operation In the following specific examples, the configuration shown in FIG. 3 will be described as an example. For example, description will be made assuming that the CPU frequency that can be set is 600 MHz, 500 MHz, 250 MHz, and 125 MHz. For example, it is assumed that the Max default value is 80% and the Min default value is 75%. Further, when the CPU frequency is set higher than the current set value, the highest settable CPU frequency is set. When the CPU frequency is set lower than the current set value, the settable CPU frequency is set. A description will be given assuming that a lower frequency is set. The CPU frequency, the Max default value, and the Min default value that can be set are not limited to this, and the case where the CPU frequency setting value is changed is not limited to this example.

[具体例1.CPUの利用率が下降していく例]
図9は、CPUの利用率が下降していく例における各種情報の一例を示す図表である。図9に示す図表において、各仮想マシンのしきい値Max及びしきい値Minは、上述した(1)式及び(2)式から算出したものである(図11、図13及び図15においても同じ)。具体例1では、ゲストVM−A21、ゲストVM−B22、ドライバVM−C23及びドライバVM−D24のCPU周波数が600MHzであり、サービスVM−E25のCPU周波数が250MHzである状態から説明する。
[Specific Example 1. Example of CPU usage rate going down]
FIG. 9 is a chart showing an example of various types of information in an example where the CPU usage rate decreases. In the chart shown in FIG. 9, the threshold value Max and the threshold value Min of each virtual machine are calculated from the above-described equations (1) and (2) (also in FIGS. 11, 13, and 15). the same). In specific example 1, the guest VM-A21, the guest VM-B22, the driver VM-C23, and the driver VM-D24 have a CPU frequency of 600 MHz, and the service VM-E25 has a CPU frequency of 250 MHz.

図10は、CPUの利用率が下降していく例におけるCPU周波数の一例を示す模式図である。直近のCPU利用率が100%である場合、ゲストVM−A21、ゲストVM−B22、ドライバVM−C23及びドライバVM−D24については、CPU利用率がしきい値Maxを超えているので、最も高い周波数である600MHzが設定される。サービスVM−E25は、しきい値Max及びしきい値Minがともに0である。しきい値Max及びしきい値Minがともに0である仮想マシンのCPU周波数は、CPU利用率に関係なく、一定のままである。従って、サービスVM−E25のCPU周波数は、250MHzのままである。   FIG. 10 is a schematic diagram illustrating an example of the CPU frequency in an example in which the CPU usage rate decreases. When the most recent CPU utilization is 100%, the guest VM-A21, guest VM-B22, driver VM-C23 and driver VM-D24 are the highest because the CPU utilization exceeds the threshold Max. A frequency of 600 MHz is set. In the service VM-E 25, the threshold value Max and the threshold value Min are both zero. The CPU frequency of the virtual machine whose threshold Max and threshold Min are both 0 remains constant regardless of the CPU usage rate. Therefore, the CPU frequency of the service VM-E 25 remains 250 MHz.

直近のCPU利用率が85%になると、ドライバVM−D24については、CPU利用率がしきい値Minよりも小さいので、一段低い周波数である500MHzが設定される。他の仮想マシンのCPU周波数は、変化しない。この場合、ゲスト電力制御管理表32のCPU周波数フィールドの、ドライバVM−D24に対応する格納値が500MHzとなる。   When the latest CPU usage rate becomes 85%, the CPU usage rate is smaller than the threshold value Min for the driver VM-D24, so 500 MHz which is a lower frequency is set. The CPU frequency of other virtual machines does not change. In this case, the stored value corresponding to the driver VM-D 24 in the CPU frequency field of the guest power control management table 32 is 500 MHz.

直近のCPU利用率が70%になると、ゲストVM−B22、ドライバVM−C23及びドライバVM−D24については、CPU利用率がしきい値Minよりも小さいので、それぞれ、一段低い周波数である500MHz、500MHz及び250MHzが設定される。他の仮想マシンのCPU周波数は、変化しない。この場合、ゲスト電力制御管理表32のCPU周波数フィールドの、ゲストVM−B22、ドライバVM−C23及びドライバVM−D24に対応する格納値は、それぞれ500MHz、500MHz及び250MHzとなる。   When the most recent CPU usage rate becomes 70%, the guest VM-B22, the driver VM-C23 and the driver VM-D24 have a CPU usage rate smaller than the threshold value Min, so that the respective lower frequencies are 500 MHz, 500 MHz and 250 MHz are set. The CPU frequency of other virtual machines does not change. In this case, the stored values corresponding to the guest VM-B 22, the driver VM-C 23, and the driver VM-D 24 in the CPU frequency field of the guest power control management table 32 are 500 MHz, 500 MHz, and 250 MHz, respectively.

直近のCPU利用率が65%になると、ゲストVM−A21、ゲストVM−B22、ドライバVM−C23及びドライバVM−D24については、CPU利用率がしきい値Minよりも小さいので、それぞれ、一段低い周波数である500MHz、250MHz、250MHz及び125MHzが設定される。サービスVM−E25のCPU周波数は、変化しない。この場合、ゲスト電力制御管理表32のCPU周波数フィールドの、ゲストVM−A21、ゲストVM−B22、ドライバVM−C23及びドライバVM−D24に対応する格納値は、それぞれ500MHz、250MHz、250MHz及び125MHzとなる。   When the most recent CPU usage rate is 65%, the guest VM-A21, guest VM-B22, driver VM-C23, and driver VM-D24 have a lower CPU usage rate than the threshold value Min, and therefore are one step lower. The frequencies 500 MHz, 250 MHz, 250 MHz, and 125 MHz are set. The CPU frequency of the service VM-E25 does not change. In this case, the stored values corresponding to the guest VM-A21, guest VM-B22, driver VM-C23 and driver VM-D24 in the CPU frequency field of the guest power control management table 32 are 500 MHz, 250 MHz, 250 MHz and 125 MHz, respectively. Become.

このように、CPUの利用率が下降していく場合、バックグラウンドで動作しているゲストVM−BのCPU周波数が、フォアグラウンドで動作しているゲストVM−AのCPU周波数よりも優先的に低くなっていく。また、同じドライバVMでも、VMタイプ係数の値が大きい仮想マシンのCPU周波数が、優先的に低くなっていく。   As described above, when the CPU usage rate decreases, the CPU frequency of the guest VM-B operating in the background is preferentially lower than the CPU frequency of the guest VM-A operating in the foreground. It will become. Further, even for the same driver VM, the CPU frequency of a virtual machine having a large VM type coefficient value is preferentially lowered.

[具体例2.CPUの利用率が上昇していく例]
図11は、CPUの利用率が上昇していく例における各種情報の一例を示す図表である。具体例2では、ゲストVM−A21、ゲストVM−B22、ドライバVM−C23及びドライバVM−D24のCPU周波数が125MHzであり、サービスVM−E25のCPU周波数が250MHzである状態から説明する。
[Specific Example 2. Example of increasing CPU usage rate]
FIG. 11 is a chart showing an example of various information in an example in which the usage rate of the CPU increases. In specific example 2, the guest VM-A21, the guest VM-B22, the driver VM-C23, and the driver VM-D24 have a CPU frequency of 125 MHz, and the service VM-E25 has a CPU frequency of 250 MHz.

図12は、CPUの利用率が上昇していく例におけるCPU周波数の一例を示す模式図である。直近のCPU利用率が65%である場合、ゲストVM−A21、ゲストVM−B22、ドライバVM−C23及びドライバVM−D24については、CPU利用率がしきい値Minよりも小さいので、一段低い周波数が設定される。ここでは、現在の設定値が最も低い125MHzであるので、125MHzが設定される。サービスVM−E25のCPU周波数は、250MHzのままである。   FIG. 12 is a schematic diagram illustrating an example of a CPU frequency in an example in which the CPU usage rate increases. When the latest CPU usage rate is 65%, the guest VM-A21, guest VM-B22, driver VM-C23, and driver VM-D24 have a CPU usage rate smaller than the threshold value Min, so that the frequency is one step lower. Is set. Here, since the current setting value is the lowest 125 MHz, 125 MHz is set. The CPU frequency of the service VM-E25 remains 250 MHz.

直近のCPU利用率が75%になると、ゲストVM−A21については、CPU利用率がしきい値Maxを超えているので、最も高い周波数である600MHzが設定される。他の仮想マシンのCPU周波数は、変化しない。この場合、ゲスト電力制御管理表32のCPU周波数フィールドの、ゲストVM−A21に対応する格納値が600MHzとなる。   When the most recent CPU usage rate is 75%, the guest VM-A 21 has the highest frequency of 600 MHz because the CPU usage rate exceeds the threshold Max. The CPU frequency of other virtual machines does not change. In this case, the stored value corresponding to the guest VM-A 21 in the CPU frequency field of the guest power control management table 32 is 600 MHz.

直近のCPU利用率が85%になると、ゲストVM−A21、ゲストVM−B22及びドライバVM−C23については、CPU利用率がしきい値Maxを超えているので、最も高い周波数である600MHzが設定される。他の仮想マシンのCPU周波数は、変化しない。この場合、ゲスト電力制御管理表32のCPU周波数フィールドの、ゲストVM−A21、ゲストVM−B22及びドライバVM−C23に対応する格納値が600MHzとなる。直近のCPU利用率が95%になった場合も同様である。   When the most recent CPU usage rate is 85%, the guest VM-A21, guest VM-B22, and driver VM-C23 have a CPU usage rate that exceeds the threshold Max, so the highest frequency of 600 MHz is set. Is done. The CPU frequency of other virtual machines does not change. In this case, the stored value corresponding to the guest VM-A 21, guest VM-B 22, and driver VM-C 23 in the CPU frequency field of the guest power control management table 32 is 600 MHz. The same applies when the most recent CPU usage rate reaches 95%.

このように、CPUの利用率が上昇していく場合、フォアグラウンドで動作しているゲストVM−A21のCPU周波数が、バックグラウンドで動作しているゲストVM−B22のCPU周波数よりも優先的に高くなっていく。また、同じドライバVMでも、VMタイプ係数の値が小さい仮想マシンのCPU周波数が、優先的に高くなっていく。   As described above, when the CPU utilization rate increases, the CPU frequency of the guest VM-A 21 operating in the foreground is preferentially higher than the CPU frequency of the guest VM-B 22 operating in the background. It will become. Further, even for the same driver VM, the CPU frequency of a virtual machine having a small VM type coefficient value is preferentially increased.

[具体例3.フォアグラウンドで動作する仮想マシンを切り替える例]
図13は、フォアグラウンドで動作する仮想マシンを切り替える例における各種情報の一例を示す図表である。具体例3では、具体例2の図11と同様に、ゲストVM−A21、ゲストVM−B22、ドライバVM−C23及びドライバVM−D24のCPU周波数が125MHzであり、サービスVM−E25のCPU周波数が250MHzである状態から説明する。図13に示す各種情報は、フォアグラウンドで動作する仮想マシンを切り替えた後の情報である。
[Specific Example 3. Example of switching virtual machines running in the foreground]
FIG. 13 is a chart showing an example of various information in an example of switching virtual machines operating in the foreground. In specific example 3, as in FIG. 11 of specific example 2, the CPU frequency of guest VM-A21, guest VM-B22, driver VM-C23 and driver VM-D24 is 125 MHz, and the CPU frequency of service VM-E25 is A description will be given from the state of 250 MHz. The various types of information shown in FIG. 13 are information after switching virtual machines that operate in the foreground.

図14は、フォアグラウンドで動作する仮想マシンを切り替える例におけるCPU周波数の一例を示す模式図である。直近のCPU利用率が65%である場合、具体例2と同様に、ゲストVM−A21、ゲストVM−B22、ドライバVM−C23及びドライバVM−D24については、125MHzのCPU周波数が設定される。サービスVM−E25のCPU周波数は、250MHzのままである。   FIG. 14 is a schematic diagram illustrating an example of a CPU frequency in an example of switching a virtual machine operating in the foreground. When the latest CPU usage rate is 65%, the CPU frequency of 125 MHz is set for the guest VM-A 21, guest VM-B 22, driver VM-C 23, and driver VM-D 24 as in the second specific example. The CPU frequency of the service VM-E25 remains 250 MHz.

直近のCPU利用率が75%になると、具体例2と同様に、ゲストVM−A21のCPU周波数は、600MHzに設定される。他の仮想マシンのCPU周波数は、変化しない。   When the most recent CPU usage rate becomes 75%, the CPU frequency of the guest VM-A 21 is set to 600 MHz as in the second specific example. The CPU frequency of other virtual machines does not change.

CPU利用率が75%のままであるが、フォアグラウンドで動作する仮想マシンがゲストVM−A21からゲストVM−B22に切り替わると、ゲストVM−A21はバックグラウンドでの動作に切り替わる。それによって、図13に示すように、ゲストVM−A21のフロント係数が1に更新され、ゲストVM−B22のフロント係数が0.9に更新される。そして、ゲストVM−A21のしきい値Max及びしきい値Minは、それぞれ80%及び75%に更新される。また、ゲストVM−B22のしきい値Max及びしきい値Minは、それぞれ72%及び68%に更新される。   Although the CPU usage rate remains 75%, when the virtual machine operating in the foreground is switched from the guest VM-A 21 to the guest VM-B 22, the guest VM-A 21 is switched to the operation in the background. As a result, as shown in FIG. 13, the front coefficient of the guest VM-A 21 is updated to 1, and the front coefficient of the guest VM-B 22 is updated to 0.9. Then, the threshold value Max and the threshold value Min of the guest VM-A 21 are updated to 80% and 75%, respectively. Further, the threshold value Max and the threshold value Min of the guest VM-B 22 are updated to 72% and 68%, respectively.

従って、ゲストVM−B22については、CPU利用率がしきい値Maxを超えることになるので、最も高い周波数である600MHzが設定される。他の仮想マシンのCPU周波数は、変化しない。この場合、図13に示すように、ゲスト電力制御管理表32のCPU周波数フィールドの、ゲストVM−B22に対応する格納値が600MHzとなる。   Therefore, for the guest VM-B22, since the CPU utilization rate exceeds the threshold value Max, 600 MHz, which is the highest frequency, is set. The CPU frequency of other virtual machines does not change. In this case, as shown in FIG. 13, the stored value corresponding to the guest VM-B 22 in the CPU frequency field of the guest power control management table 32 is 600 MHz.

直近のCPU利用率が70%になると、ゲストVM−A21、ドライバVM−C23及びドライバVM−D24については、CPU利用率がしきい値Minよりも小さくなるので、一段低い周波数が設定される。ゲストVM−A21のCPU周波数は、500MHzに設定される。ドライバVM−C23及びドライバVM−D24については、現在の設定値が最も低い125MHzであるので、125MHzが設定される(図14には現れていない)。他の仮想マシンのCPU周波数は、変化しない。この場合、ゲスト電力制御管理表32のCPU周波数フィールドの、ゲストVM−A21に対応する格納値が500MHzとなる。   When the most recent CPU usage rate becomes 70%, the CPU usage rate becomes smaller than the threshold value Min for the guest VM-A 21, the driver VM-C 23, and the driver VM-D 24, so a frequency that is one step lower is set. The CPU frequency of the guest VM-A 21 is set to 500 MHz. About driver VM-C23 and driver VM-D24, since the present setting value is the lowest 125 MHz, 125 MHz is set (not appearing in FIG. 14). The CPU frequency of other virtual machines does not change. In this case, the stored value corresponding to the guest VM-A 21 in the CPU frequency field of the guest power control management table 32 is 500 MHz.

このように、CPU利用率が上昇していくと、フォアグラウンドで動作しているゲストVM−A21のCPU周波数が、バックグラウンドで動作しているゲストVM−B22のCPU周波数よりも優先的に高くなっていく。そして、フォアグラウンドで動作する仮想マシンが切り替わると、新たにフォアグラウンドで動作することになったゲストVM−B22のCPU周波数が、新たにバックグラウンドで動作することになったゲストVM−A21のCPU周波数よりも優先的に高くなっていく。また、CPU利用率が下降してきたとき、バックグラウンドで動作するゲストVM−A21のCPU周波数が、フォアグラウンドで動作しているゲストVM−B22のCPU周波数よりも優先的に低くなっていく。   As described above, as the CPU usage rate increases, the CPU frequency of the guest VM-A 21 operating in the foreground is preferentially higher than the CPU frequency of the guest VM-B 22 operating in the background. To go. When the virtual machine operating in the foreground is switched, the CPU frequency of the guest VM-B 22 that newly operates in the foreground is higher than the CPU frequency of the guest VM-A 21 that newly operates in the background. Will also increase preferentially. Further, when the CPU usage rate decreases, the CPU frequency of the guest VM-A 21 operating in the background is preferentially lower than the CPU frequency of the guest VM-B 22 operating in the foreground.

[具体例4.新たに仮想マシンが起動する例]
図15は、新たに仮想マシンが起動する例における各種情報の一例を示す図表である。具体例4では、具体例1の図9と同様に、ゲストVM−A21、ゲストVM−B22、ドライバVM−C23及びドライバVM−D24のCPU周波数が600MHzであり、サービスVM−E25のCPU周波数が250MHzである状態から説明する。図15に示す各種情報は、新たにVM_IDがFである仮想マシン(ゲストVM−Fとする)が起動した後の情報である。
[Specific Example 4. Example of newly starting virtual machine]
FIG. 15 is a chart illustrating an example of various information in an example in which a virtual machine is newly activated. In specific example 4, as in FIG. 9 of specific example 1, the CPU frequency of guest VM-A21, guest VM-B22, driver VM-C23 and driver VM-D24 is 600 MHz, and the CPU frequency of service VM-E25 is A description will be given from the state of 250 MHz. The various types of information illustrated in FIG. 15 are information after a virtual machine with a new VM_ID F (referred to as a guest VM-F) is started.

図16は、新たに仮想マシンが起動する例におけるCPU周波数の一例を示す模式図である。直近のCPU利用率が100%である場合、具体例1と同様に、ゲストVM−A21、ゲストVM−B22、ドライバVM−C23及びドライバVM−D24については、600MHzのCPU周波数が設定される。サービスVM−E25のCPU周波数は、250MHzのままである。   FIG. 16 is a schematic diagram illustrating an example of a CPU frequency in an example in which a virtual machine is newly started. When the latest CPU usage rate is 100%, a CPU frequency of 600 MHz is set for the guest VM-A 21, guest VM-B 22, driver VM-C 23 and driver VM-D 24 as in the first specific example. The CPU frequency of the service VM-E25 remains 250 MHz.

直近のCPU利用率が85%になると、具体例1と同様に、ドライバVM−D24のCPU周波数が500MHzに設定される。他の仮想マシンのCPU周波数は、変化しない。   When the latest CPU usage rate becomes 85%, the CPU frequency of the driver VM-D 24 is set to 500 MHz, as in the first specific example. The CPU frequency of other virtual machines does not change.

ここで、CPU利用率が85%のままであるが、新たにゲストVM−Fが起動されたとする。ゲストVM−Fがバックグラウンドで動作すると、図15に示すように、CPU利用率がゲストVM−Fのしきい値Max(80%)を超えているので、ゲストVM−FのCPU周波数は、最も高い周波数である600MHzに設定される。   Here, it is assumed that the CPU utilization rate remains 85%, but the guest VM-F is newly activated. When the guest VM-F operates in the background, as shown in FIG. 15, since the CPU utilization rate exceeds the threshold value Max (80%) of the guest VM-F, the CPU frequency of the guest VM-F is The highest frequency is set to 600 MHz.

直近のCPU利用率が70%になると、ゲストVM−B22、ドライバVM−C23、ドライバVM−D24及びゲストVM−Fについては、CPU利用率がしきい値Minよりも小さいので、それぞれ、一段低い周波数である500MHz、500MHz、250MHz及び500MHzが設定される。他の仮想マシンのCPU周波数は、変化しない。この場合、ゲスト電力制御管理表32のCPU周波数フィールドの、ゲストVM−B22、ドライバVM−C23、ドライバVM−D24及びゲストVM−Fに対応する格納値は、それぞれ500MHz、500MHz、250MHz及び500MHzとなる。   When the most recent CPU usage rate is 70%, the guest VM-B22, the driver VM-C23, the driver VM-D24, and the guest VM-F have a lower CPU usage rate than the threshold value Min, and thus are one step lower. The frequencies 500 MHz, 500 MHz, 250 MHz, and 500 MHz are set. The CPU frequency of other virtual machines does not change. In this case, the stored values corresponding to the guest VM-B22, driver VM-C23, driver VM-D24, and guest VM-F in the CPU frequency field of the guest power control management table 32 are 500 MHz, 500 MHz, 250 MHz, and 500 MHz, respectively. Become.

直近のCPU利用率が65%になると、ゲストVM−A21、ゲストVM−B22、ドライバVM−C23、ドライバVM−D24及びゲストVM−Fについては、CPU利用率がしきい値Minよりも小さくなるので、一段低い周波数が設定される。ゲストVM−A21のCPU周波数は、500MHzに設定される。ゲストVM−B22、ドライバVM−C23及びゲストVM−FのCPU周波数は、250MHzに設定される。ドライバVM−D24のCPU周波数は、125MHzに設定される。サービスVM−E25のCPU周波数は、250MHzのままである。この場合、ゲスト電力制御管理表32のCPU周波数フィールドの、ゲストVM−A21、ゲストVM−B22、ドライバVM−C23、ドライバVM−D24及びゲストVM−Fに対応する格納値は、それぞれ500MHz、250MHz、250MHz、125MHz及び250MHzとなる。   When the most recent CPU usage rate is 65%, the CPU usage rate is smaller than the threshold value Min for the guest VM-A21, guest VM-B22, driver VM-C23, driver VM-D24, and guest VM-F. Therefore, a lower frequency is set. The CPU frequency of the guest VM-A 21 is set to 500 MHz. The CPU frequency of the guest VM-B22, driver VM-C23, and guest VM-F is set to 250 MHz. The CPU frequency of the driver VM-D 24 is set to 125 MHz. The CPU frequency of the service VM-E25 remains 250 MHz. In this case, the stored values corresponding to the guest VM-A21, guest VM-B22, driver VM-C23, driver VM-D24 and guest VM-F in the CPU frequency field of the guest power control management table 32 are 500 MHz and 250 MHz, respectively. 250 MHz, 125 MHz, and 250 MHz.

このように、新たに仮想マシンが起動しても、既に起動している仮想マシンと同様にCPU周波数が制御される。   In this way, even if a new virtual machine is activated, the CPU frequency is controlled in the same manner as the already activated virtual machine.

実施例2によれば、実施例1と同様の効果が得られる。   According to the second embodiment, the same effect as the first embodiment can be obtained.

上述した実施例1、2に関し、さらに以下の付記を開示する。   The following additional notes are disclosed with respect to the first and second embodiments.

(付記1)1個以上の物理的なプロセッサと、前記物理的なプロセッサで実行されることによって実現される複数の仮想マシンごとに、前記仮想マシンの種別に応じて設定される、クロック周波数を制御する制御情報を管理する管理表と、前記仮想マシンごとに、前記管理表の制御情報に基づいてしきい値を求め、前記しきい値と前記物理的なプロセッサの利用率とに基づいてクロック周波数を決定する決定部と、前記決定部により決定されたクロック周波数に基づいて前記物理的なプロセッサのクロック周波数を変更する変更部と、を備えることを特徴とする計算機。 (Supplementary Note 1) For one or more physical processors and a plurality of virtual machines realized by being executed by the physical processors, a clock frequency set according to the type of the virtual machine is set. A management table for managing control information to be controlled; and for each virtual machine, a threshold value is obtained based on the control information in the management table, and a clock is obtained based on the threshold value and the utilization rate of the physical processor. A computer comprising: a determining unit that determines a frequency; and a changing unit that changes a clock frequency of the physical processor based on the clock frequency determined by the determining unit.

(付記2)前記制御情報は、前記仮想マシンごとに、前記仮想マシンがフォアグラウンドで動作しているか、バックグラウンドで動作しているか、に応じて設定される情報を含むことを特徴とする付記1に記載の計算機。 (Supplementary note 2) The control information includes, for each virtual machine, information set according to whether the virtual machine is operating in the foreground or the background. The calculator described in.

(付記3)前記決定部は、前記仮想マシンごとに、前記しきい値の最大値と最小値とを求め、前記物理的なプロセッサの利用率が前記しきい値の最大値よりも大きい場合にクロック周波数を上げ、前記物理的なプロセッサの利用率が前記しきい値の最小値よりも小さい場合にクロック周波数を下げるように決定することを特徴とする付記1または2に記載の計算機。 (Additional remark 3) The said determination part calculates | requires the maximum value and minimum value of the said threshold value for every said virtual machine, and when the utilization factor of the said physical processor is larger than the maximum value of the said threshold value 3. The computer according to appendix 1 or 2, wherein the clock frequency is increased, and the clock frequency is determined to be decreased when the utilization rate of the physical processor is smaller than the minimum value of the threshold value.

(付記4)前記決定部は、前記仮想マシンごとに、決定したクロック周波数に基づいて前記管理表を更新することを特徴とする付記1〜3のいずれか一つに記載の計算機。 (Additional remark 4) The said determination part updates the said management table based on the determined clock frequency for every said virtual machine, The computer as described in any one of Additional remark 1-3 characterized by the above-mentioned.

(付記5)前記仮想マシンの種別の一つは、前記物理的なプロセッサの利用率に連動してクロック周波数が変動する仮想マシンであることを特徴とする付記1〜4のいずれか一つに記載の計算機。 (Supplementary Note 5) One of the types of the virtual machines is any one of Supplementary Notes 1 to 4, wherein the virtual machine has a clock frequency that varies in accordance with a utilization rate of the physical processor. Listed calculator.

(付記6)前記仮想マシンの種別の一つは、前記物理的なプロセッサの利用率に連動し、かつ重み付けされてクロック周波数が変動する仮想マシンであることを特徴とする付記1〜5のいずれか一つに記載の計算機。 (Additional remark 6) One of the types of the said virtual machines is a virtual machine which is linked with the utilization rate of the said physical processor, and is weighted and the clock frequency fluctuates, Any of additional remarks 1-5 A calculator according to one of the above.

(付記7)前記仮想マシンの種別の一つは、一定のクロック周波数で動作する仮想マシンであることを特徴とする付記1〜6のいずれか一つに記載の計算機。 (Additional remark 7) One of the said virtual machine types is a virtual machine which operate | moves with a fixed clock frequency, The computer as described in any one of additional marks 1-6 characterized by the above-mentioned.

(付記8)物理的なプロセッサの利用率を求め、前記物理的なプロセッサで実行されることによって実現される複数の仮想マシンごとに、前記仮想マシンの種別に応じて設定される、クロック周波数を制御する制御情報に基づいてしきい値を求め、前記仮想マシンごとに、前記しきい値と前記物理的なプロセッサの利用率とに基づいてクロック周波数を決定することを特徴とする制御方法。 (Supplementary Note 8) Obtaining the utilization rate of a physical processor, and for each of a plurality of virtual machines realized by being executed by the physical processor, a clock frequency set according to the type of the virtual machine A control method comprising: obtaining a threshold value based on control information to be controlled, and determining a clock frequency based on the threshold value and a utilization rate of the physical processor for each virtual machine.

(付記9)前記決定されたクロック周波数に基づいて前記物理的なプロセッサのクロック周波数を変更することを特徴とする付記8に記載の制御方法。 (Supplementary note 9) The control method according to supplementary note 8, wherein the clock frequency of the physical processor is changed based on the determined clock frequency.

(付記10)前記制御情報は、前記仮想マシンごとに、前記仮想マシンがフォアグラウンドで動作しているか、バックグラウンドで動作しているか、に応じて設定される情報を含むことを特徴とする付記8または9に記載の制御方法。 (Additional remark 10) The said control information contains the information set according to whether the said virtual machine is operate | moving in a foreground, or is operating in the background for every said virtual machine Or the control method of 9.

(付記11)前記仮想マシンごとに、前記しきい値の最大値と最小値とを求め、前記物理的なプロセッサの利用率が前記しきい値の最大値よりも大きい場合にクロック周波数を上げ、前記物理的なプロセッサの利用率が前記しきい値の最小値よりも小さい場合にクロック周波数を下げるように決定することを特徴とする付記8〜10のいずれか一つに記載の制御方法。 (Supplementary Note 11) For each of the virtual machines, obtain the maximum value and the minimum value of the threshold value, and increase the clock frequency when the utilization rate of the physical processor is larger than the maximum value of the threshold value, The control method according to any one of appendices 8 to 10, wherein when the utilization rate of the physical processor is smaller than the minimum value of the threshold value, the clock frequency is determined to be lowered.

(付記12)物理的なプロセッサの利用率を求め、前記物理的なプロセッサで実行されることによって実現される複数の仮想マシンごとに、前記仮想マシンの種別に応じて設定される、クロック周波数を制御する制御情報をメモリから読み出して前記制御情報に基づいてしきい値を求め、前記仮想マシンごとに、前記しきい値と前記物理的なプロセッサの利用率とに基づいてクロック周波数を決定する、処理をコンピュータに実行させるプログラム。 (Additional remark 12) Obtaining the utilization rate of the physical processor, for each of a plurality of virtual machines realized by being executed by the physical processor, the clock frequency set according to the type of the virtual machine, Read control information to be controlled from a memory, obtain a threshold value based on the control information, and determine a clock frequency based on the threshold value and the utilization rate of the physical processor for each virtual machine. A program that causes a computer to execute processing.

(付記13)前記決定されたクロック周波数に基づいて前記物理的なプロセッサのクロック周波数を変更することを特徴とする付記12に記載のプログラム。 (Supplementary note 13) The program according to supplementary note 12, wherein the clock frequency of the physical processor is changed based on the determined clock frequency.

(付記14)前記制御情報は、前記仮想マシンごとに、前記仮想マシンがフォアグラウンドで動作しているか、バックグラウンドで動作しているか、に応じて設定される情報を含むことを特徴とする付記12または13に記載のプログラム。 (Supplementary note 14) The control information includes, for each virtual machine, information set according to whether the virtual machine is operating in the foreground or the background. Or the program of 13.

(付記15)前記仮想マシンごとに、前記しきい値の最大値と最小値とを求め、前記物理的なプロセッサの利用率が前記しきい値の最大値よりも大きい場合にクロック周波数を上げ、前記物理的なプロセッサの利用率が前記しきい値の最小値よりも小さい場合にクロック周波数を下げるように決定することを特徴とする付記12〜14のいずれか一つに記載のプログラム。 (Supplementary note 15) For each of the virtual machines, the maximum value and the minimum value of the threshold value are obtained, and when the utilization rate of the physical processor is larger than the maximum value of the threshold value, the clock frequency is increased, 15. The program according to any one of appendices 12 to 14, wherein when the usage rate of the physical processor is smaller than the minimum value of the threshold value, it is determined to lower the clock frequency.

1,2,21〜25 仮想マシン
3,11 プロセッサ
4,32 管理表
5,31 決定部
6,35 変更部
1, 2, 21-25 Virtual machine 3, 11 Processor 4, 32 Management table 5, 31 Determining unit 6, 35 Changing unit

Claims (5)

1個以上の物理的なプロセッサと、
前記物理的なプロセッサで実行されることによって実現される複数の仮想マシンごとに、前記仮想マシンの種別に応じて設定される、クロック周波数を制御する制御情報を管理する管理表と、
前記仮想マシンごとに、前記管理表の制御情報に基づいて前記仮想マシンに要求される処理能力を提供可能な前記物理的なプロセッサの利用率を示すしきい値を求め、前記しきい値と前記物理的なプロセッサの利用率との比較結果に基づいてクロック周波数を決定する決定部と、
前記決定部により決定されたクロック周波数に基づいて前記物理的なプロセッサのクロック周波数を変更する変更部と、
を備えることを特徴とする計算機。
One or more physical processors;
A management table for managing control information for controlling the clock frequency, which is set according to the type of the virtual machine, for each of the plurality of virtual machines realized by being executed by the physical processor;
For each of the virtual machines, a threshold indicating a utilization rate of the physical processor capable of providing the processing capability required for the virtual machine based on the control information of the management table is obtained, and the threshold and the threshold A determination unit that determines a clock frequency based on a comparison result with a utilization rate of a physical processor;
A changing unit that changes the clock frequency of the physical processor based on the clock frequency determined by the determining unit;
A computer comprising:
前記制御情報は、前記仮想マシンごとに、前記仮想マシンがフォアグラウンドで動作しているか、バックグラウンドで動作しているか、に応じて設定される情報を含むことを特徴とする請求項1に記載の計算機。   The said control information contains the information set according to whether the said virtual machine is operate | moving in the foreground or the background for every said virtual machine. calculator. 前記決定部は、前記仮想マシンごとに、前記しきい値の最大値と最小値とを求め、前記物理的なプロセッサの利用率が前記しきい値の最大値よりも大きい場合にクロック周波数を上げ、前記物理的なプロセッサの利用率が前記しきい値の最小値よりも小さい場合にクロック周波数を下げるように決定することを特徴とする請求項1または2に記載の計算機。   The determination unit obtains the maximum and minimum values of the threshold value for each virtual machine, and increases the clock frequency when the physical processor utilization rate is larger than the maximum value of the threshold value. 3. The computer according to claim 1, wherein, when the utilization factor of the physical processor is smaller than the minimum value of the threshold value, it is determined to lower the clock frequency. 4. 物理的なプロセッサの利用率を求め、
前記物理的なプロセッサで実行されることによって実現される複数の仮想マシンごとに、前記仮想マシンの種別に応じて設定される、クロック周波数を制御する制御情報に基づいて前記仮想マシンに要求される処理能力を提供可能な前記物理的なプロセッサの利用率を示すしきい値を求め、
前記仮想マシンごとに、前記しきい値と前記物理的なプロセッサの利用率との比較結果に基づいてクロック周波数を決定することを特徴とする制御方法。
Find the physical processor utilization,
Requested by the virtual machine based on control information for controlling a clock frequency, which is set according to the type of the virtual machine for each of a plurality of virtual machines realized by being executed by the physical processor Determining a threshold value indicating a utilization rate of the physical processor capable of providing processing power ;
A control method, comprising: determining a clock frequency for each virtual machine based on a comparison result between the threshold and a utilization rate of the physical processor.
物理的なプロセッサの利用率を求め、
前記物理的なプロセッサで実行されることによって実現される複数の仮想マシンごとに、前記仮想マシンの種別に応じて設定される、クロック周波数を制御する制御情報をメモリから読み出して前記制御情報に基づいて前記仮想マシンに要求される処理能力を提供可能な前記物理的なプロセッサの利用率を示すしきい値を求め、
前記仮想マシンごとに、前記しきい値と前記物理的なプロセッサの利用率との比較結果に基づいてクロック周波数を決定する、
処理をコンピュータに実行させるプログラム。
Find the physical processor utilization,
For each of a plurality of virtual machines realized by being executed by the physical processor, the control information for controlling the clock frequency, which is set according to the type of the virtual machine, is read from the memory and based on the control information Obtaining a threshold value indicating a utilization rate of the physical processor capable of providing the processing capability required for the virtual machine ,
For each virtual machine, a clock frequency is determined based on a comparison result between the threshold and the physical processor utilization rate.
A program that causes a computer to execute processing.
JP2011022149A 2011-02-03 2011-02-03 Computer, control method and program Expired - Fee Related JP5703799B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011022149A JP5703799B2 (en) 2011-02-03 2011-02-03 Computer, control method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011022149A JP5703799B2 (en) 2011-02-03 2011-02-03 Computer, control method and program

Publications (2)

Publication Number Publication Date
JP2012164032A JP2012164032A (en) 2012-08-30
JP5703799B2 true JP5703799B2 (en) 2015-04-22

Family

ID=46843379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011022149A Expired - Fee Related JP5703799B2 (en) 2011-02-03 2011-02-03 Computer, control method and program

Country Status (1)

Country Link
JP (1) JP5703799B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101864980B1 (en) * 2014-06-24 2018-06-05 인텔 코포레이션 Virtual machine power management
WO2020008468A1 (en) * 2018-07-02 2020-01-09 Telefonaktiebolaget Lm Ericsson (Publ) Software switch and method therein

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739532B2 (en) * 2004-06-07 2010-06-15 Intel Corporation Method, apparatus and system for enhanced CPU frequency governers
JP2009110404A (en) * 2007-10-31 2009-05-21 Toshiba Corp Virtual machine system and guest OS scheduling method in the same system
JP4839328B2 (en) * 2008-01-21 2011-12-21 株式会社日立製作所 Server power consumption control apparatus, server power consumption control method, and computer program
WO2010097885A1 (en) * 2009-02-24 2010-09-02 株式会社東芝 Portable terminal

Also Published As

Publication number Publication date
JP2012164032A (en) 2012-08-30

Similar Documents

Publication Publication Date Title
CN109906421B (en) Processor core partitioning based on thread importance
KR102206364B1 (en) Memory collection method and device
CN108984264B (en) Virtual GPU (graphics processing Unit) implementation method, device and system
JP5839119B2 (en) Information processing apparatus, battery remaining amount notification method, and battery remaining amount notification program
WO2021008543A1 (en) Resource scheduling method and electronic device
KR101799253B1 (en) Systems and methods for providing dynamic cache extension in a multi-cluster heterogeneous processor architecture
US20130081016A1 (en) Virtual computer system, virtual computer control method and accumulation circuit
US9696787B2 (en) Dynamic control of processors to reduce thermal and power costs
EP3535655A1 (en) Thread importance based processor core parking and frequency selection
JP5696603B2 (en) Computer system, power control method and program for computer system
CN107566609B (en) Download task processing method, device, terminal and storage medium
US20130298132A1 (en) Multi-core processor system and scheduling method
JP5703799B2 (en) Computer, control method and program
CN107870792B (en) A kind of starting method of mobile terminal, mobile terminal and media product
JP4697805B2 (en) Data processing device
CN111124655A (en) Network request scheduling method, terminal device and storage medium
JPWO2012001776A1 (en) Multi-core system, scheduling method and scheduling program
JP2011209846A (en) Multiprocessor system and task allocation method for the same
CN109669528B (en) Terminal processing component control method and device, computer equipment and storage medium
CN109753339B (en) Resource allocation method and device and electronic equipment
JP4409568B2 (en) Band control program and multiprocessor system
JP2005115620A (en) Task management method and electronic device having task management means
JP5505517B2 (en) Information processing apparatus, power control method, and power control program
CN117632462A (en) Task resource scheduling method and server
JP6435911B2 (en) Information processing apparatus, activation processing method, and activation processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131007

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140825

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150209

R150 Certificate of patent or registration of utility model

Ref document number: 5703799

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees