具体实施方式
<实施方式1>
<概要>
以下,作为有关本发明的虚拟计算机系统的一实施方式,对具备4个处理器、使用这些处理器并行地执行多个虚拟计算机的虚拟计算机系统进行说明。
该虚拟计算机系统为在对一部分的处理器没有分配虚拟计算机的情况下、接着对新的处理器分配虚拟计算机的情况准备,进行对没有被分配虚拟计算机的处理器中的1个处理器供给电力而成为待机状态、对其他的没有被分配虚拟计算机的处理器不供给电力的控制。
以下,参照附图对有关本实施方式1的虚拟计算机系统的结构进行说明。
图1是表示虚拟计算机系统100的主要的硬件结构的框图。
如该图所示,虚拟计算机系统100由系统LSI(LargeScaleIntegration:大规模集成电路)110、硬盘装置130、输出装置131和输入装置132构成。
系统LSI110是集成了处理器A101、处理器B102、处理器C103、处理器D104、电源控制块111、时钟控制块112、ROM(ReadOnlyMemory)113、RAM(RandomAccessMemory)114、硬盘装置接口115、输出装置接口116、输入装置接口117和内部总线120的集成电路,连接在硬盘装置130、输出装置131和输入装置132上。
处理器A101、处理器B102、处理器C103和处理器D104分别连接在内部总线120、电源控制块111、和时钟控制块112上,通过分别执行存储在ROM113、RAM114、或硬盘装置130中的程序,控制电源控制块111、时钟控制块112、ROM113、RAM114、硬盘装置130、输出装置131和输入装置132,实现各种各样的功能。
处理器A101~处理器D104是分别具有相同的功能的处理器,具有电源电压为1.2V、以动作频率1GHz动作的通常动作模式、和电源电压为1.0V、以动作频率500MHz动作的节电模式的两个模式。
此外,处理器A101~处理器D104通过被供给的电源的电压从0V变化为1.0V以上、被供给时钟信号而起动。
电源控制块111连接在内部总线120、处理器A101、处理器B102、处理器C103和处理器D104上,受处理器A101、处理器B102、处理器C103、或处理器D104控制,具有切换向处理器A101~处理器D104供给的电源的电压的功能。
图2是表示电源控制块111的主要的硬件结构的框图。
如该图所示,电源控制块111由开关设定寄存器210、电源开关211、电源开关212、电源开关213和电源开关214构成。
开关设定寄存器210连接在内部总线120、电源开关211、电源开关212、电源开关213和电源开关214上,是由处理器A101、处理器B102、处理器C103、或处理器D104将值写入的8位的寄存器。
电源开关211连接在开关设定寄存器210、供给1.2V的电压的1.2V电源配线221、供给1.0V的电压的1.0V电源配线222、供给0V的电压的接地配线223、和用来对处理器A101供给电压的处理器A电源配线231上,是按照写入在开关设定寄存器210的第0位和第1位中的值、选择1.2V电源配线221、1.0V电源配线222和接地配线223的3个配线中的一个配线、将选择的配线与处理器A电源配线231电连接的开关。
电源开关212~电源开关214分别是与电源开关211同样的开关。
电源开关212是按照写入在开关设定寄存器210的第2位和第3位中的值、选择与用来对处理器B102供给电压的处理器B电源配线232电连接的电源配线的开关,电源开关213是按照写入在开关设定寄存器210的第4位和第5位中的值、选择与用来对处理器C103供给电压的处理器C电源配线233电连接的电源配线的开关,电源开关214是按照写入在开关设定寄存器210的第6位和第7位中的值、选择与用来对处理器D104供给电压的处理器D电源配线234电连接的电源配线的开关。
电源控制块111还具有在虚拟计算机系统100被复位的情况下,通过向开关设定寄存器210代入初始值而对处理器A101供给1.2V的电压、对处理器B102供给1.0V的电压、对处理器C103和处理器D104供给0V的电压的功能。
再次回到图1,继续虚拟计算机系统100的主要的硬件结构的说明。
时钟控制块112与内部总线120、处理器A101、处理器B102、处理器C103和处理器D104连接,受处理器A101、处理器B102、处理器C103、或处理器D104控制,具有切换向处理器A101~处理器D104供给的时钟信号的频率的功能。
图3是表示时钟控制块112的主要的硬件结构的结构图。
如该图所示,时钟控制块112由选择器设定寄存器310、1GHzPLL(PhaseLockedLoop:锁相环)301、1/2分频电路302、选择器311、选择器312、选择器313、和选择器314构成。
选择器设定寄存器310连接在内部总线120、选择器311、选择器312、选择器313、和选择器314上,是由处理器A101、处理器B102、处理器C103、或处理器D104写入值的8位的寄存器。
1GHzPLL301连接在1/2分频电路302、选择器311、选择器312、选择器313、和选择器314上,具有生成1GHz的频率的时钟信号并输出的功能。
1/2分频电路302连接在1GHzPLL301、选择器311、选择器312、选择器313、和选择器314上,具有将输入的1GHz的频率的时钟信号进行2分频、将500MHz的频率的时钟信号输出的功能。
选择器311连接在选择器设定寄存器310、1GHzPLL301、1/2分频电路302、地电位303、和用来对处理器A101供给时钟信号的处理器A时钟配线321上,是按照写入在选择器设定寄存器310的第0位和第1位中的值选择1GHz的频率的时钟信号、500MHz的频率的时钟信号、和0MHz的频率的时钟信号中的一个时钟信号,并经由处理器A时钟配线321向处理器A101输出的选择器。
选择器312~选择器314分别是与选择器311同样的选择器。
选择器312是按照写入在选择器设定寄存器310的第2位和第3位中的值、选择经由处理器B时钟配线322向处理器B102输出的时钟信号并输出的选择器,选择器313是按照写入在选择器设定寄存器310的第4位和第5位中的值、选择经由处理器C时钟配线323向处理器C103输出的时钟信号并输出的选择器,选择器314是按照写入在选择器设定寄存器310的第6位和第7位中的值选择经由处理器D时钟配线324向处理器D104输出的时钟信号并输出的选择器。
时钟控制块112还具有在虚拟计算机系统100被复位的情况下向选择器设定寄存器310代入初始值,对处理器A101输出1GHz的时钟信号、对处理器B102输出500MHz的时钟信号、对处理器C103和处理器D104供给0Hz的时钟信号的功能。
再次回到图1,继续虚拟计算机系统100的主要的硬件结构的说明。
ROM113与内部总线120连接,存储有规定处理器A101~处理器D104的动作的程序、和处理器A101~处理器D104利用的数据。
RAM114与内部总线120连接,存储有规定处理器A101~处理器D104的动作的程序、将随着处理器A101~处理器D104执行程序而发生的数据暂时存储。
硬盘装置接口115、输出装置接口116、和输入装置接口117分别与内部总线120连接,分别具有对内部总线120与硬盘装置130之间的信号的交换进行中介的功能、对内部总线120与输出装置131之间的信号的交换进行中介的功能、对内部总线120与输入装置132之间的信号的交换进行中介的功能。
内部总线120连接在处理器A101、处理器B102、处理器C103、处理器D104、电源控制块111、时钟控制块112、ROM113、RAM114、硬盘装置接口115、输出装置接口116、和输入装置接口117上,具有对所连接的电路间的信号进行传递的功能。
硬盘装置130与硬盘装置接口115连接,受处理器A101、处理器B102、处理器C103、或处理器D104控制,具有向内置的硬盘写入数据的功能、和将写入在内置的硬盘中的数据读出的功能。
输出装置131与输出装置接口116连接,受处理器A101、处理器B102、处理器C103、或处理器D104控制,具有使用内置的显示器显示字符串等的功能。
输入装置132与输入装置接口107连接,受处理器A101、处理器B102、处理器C103、或处理器D104控制,具有通过附属的键盘、鼠标等受理来自用户的操作命令、将受理的操作命令向处理器A101、处理器B102、处理器C103、或处理器D104发送的功能。
上述的虚拟计算机系统100通过处理器A101、处理器B102、处理器C103、或处理器D104执行存储在ROM113、RAM114、或硬盘装置130中的程序,实现各种各样的功能。
以下,对由上述硬件实现的虚拟计算机系统100的功能使用附图进行说明。
图4是对表示构成虚拟计算机系统100的主要的功能块的功能结构图、加上表示对处理器A101分配了3个虚拟计算机、对处理器C103分配了1个虚拟计算机的状态的示意图后的图。
如该图所示,虚拟计算机系统100由管理器(hypervisor)440和多个虚拟计算机(这里,是虚拟计算机A411、虚拟计算机B412、虚拟计算机C413和虚拟计算机D414)构成。
虚拟计算机A411是在虚拟计算机系统100上实现的虚拟计算机,第1OS(OperatingSystem)421、任务A431、任务B432动作,这里,分配给处理器A101而动作。
虚拟计算机B412是在虚拟计算机系统100上实现的虚拟计算机,第2OS422、任务I433和任务J434动作,这里分配给处理器A101而动作。
虚拟计算机C413是在虚拟计算机系统100上实现的虚拟计算机,第3OS423、任务M435和任务N436动作,这里分配给处理器A101而动作。
虚拟计算机A411、虚拟计算机B412、和虚拟计算机C413通过处理器A101以分时方式依次重复地进行有关各虚拟计算机的处理来实现。
虚拟计算机D414是在虚拟计算机系统100上实现的虚拟计算机,第4OS424、任务P437和任务Q438动作,这里,分配给处理器C103而动作。
管理器440是由负荷监视机构441、虚拟计算机分配机构442、虚拟计算机管理机构443、处理器管理机构444、虚拟计算机信息存储机构445和处理器信息存储机构446构成的、比OS特权级别高的软件。
负荷监视机构441连接于在虚拟计算机中动作的各个OS和虚拟计算机管理机构443上,具有计测时间的经过的定时器功能、和按照每规定时间T1(例如100μs)从各OS取得存在于由该OS管理的任务等待矩阵中的任务的数量、将从OS取得的任务的数量的信息和用来确定该OS动作的虚拟计算机的虚拟计算机ID的组向虚拟计算机管理机构443输出的功能。
虚拟计算机管理机构443连接在负荷监视机构441、虚拟计算机分配机构442、和虚拟计算机信息存储机构445上,具有以下的4个功能。
功能1:在管理器440起动时、生成虚拟计算机信息以使作为执行对象的虚拟计算机的全部与处理器A101建立对应、并将所生成的虚拟计算机信息向虚拟计算机信息存储机构445存储的功能。
功能2:如果从负荷监视机构441接受到任务的数量的信息与虚拟计算机ID的组、则基于接受到的任务的数量的信息和虚拟计算机ID的组将存储在虚拟计算机信息存储机构445中的虚拟计算机信息更新的功能。
功能3:在基于从负荷监视机构441接受到的任务的数量的信息和虚拟计算机ID的组将存储在虚拟计算机信息存储机构445中的虚拟计算机信息更新后的情况下、当在更新前的任务的数量和更新后的任务的数量中有变化时将与该任务的数量对应的虚拟计算机ID向虚拟计算机分配机构442输出的功能。
功能4:如果从虚拟计算机分配机构442接受到虚拟计算机ID和处理器ID的组、则基于接受到的虚拟计算机ID和处理器ID的组将存储在虚拟计算机信息存储机构445中的虚拟计算机信息更新的功能。
图5是由虚拟计算机管理机构443生成、由虚拟计算机信息存储机构445存储的虚拟计算机信息的数据结构图。
如该图所示,虚拟计算机信息是将虚拟计算机ID501、任务数502和处理器ID503建立了对应的信息。
虚拟计算机ID501是用来确定虚拟计算机的信息。
任务数502是表示存在于任务等待矩阵中的任务的数量的信息,该任务等待矩阵是由在通过所对应的虚拟计算机ID确定的虚拟计算机中动作的OS来管理的。
处理器ID503是用来确定由通过所对应的虚拟计算机ID确定的虚拟计算机进行动作的处理器的信息。
再次回到图4继续虚拟计算机系统100的功能结构的说明。
虚拟计算机信息存储机构445连接在虚拟计算机管理机构443和虚拟计算机分配机构442上,是用来存储虚拟计算机信息的存储区域,作为RAM114的一部分的区域安装。
处理器管理机构444连接在虚拟计算机分配机构442和处理器信息存储机构446上,具有以下的3个功能。
功能1:在管理器440起动时,处理器A101的属性为“共有”(后述),处理器B102的属性为“待机”,处理器C103和处理器D104的属性分别为“关闭”,与处理器A101建立对应的虚拟计算机数为表示作为执行对象的虚拟计算机的总数的信息,生成处理器信息、以使与处理器B102、处理器C103和处理器D104分别建立对应的虚拟计算机数分别为表示是初始值的“0”的信息,并将所生成的处理器信息向处理器信息存储机构446存储的功能。
功能2:如果从虚拟计算机分配机构442接受到处理器ID和属性的组、则基于接受到的处理器ID和属性的组、将存储在处理器信息存储机构446中的处理器信息更新的功能。
功能3:基于存储在处理器信息存储机构446中的处理器信息向各处理器供给时钟信号和电源电压的功能。
图6是由处理器管理机构444生成、向处理器信息存储机构446存储的处理器信息的数据结构图。
如该图所示,处理器信息是将处理器ID601、属性602、和虚拟计算机数603建立了对应的信息。
处理器ID601是用来确定处理器的信息。
属性602是表示由对应的处理器ID确定的处理器的属性的信息。
处理器A101~处理器D104分别将“专有”、“共有”、“待机”、“关闭”的4个属性中的1个属性建立对应。
“专有”属性是表示处理器的状态为在电源电压是1.2V、以动作频率1GHz动作的通常动作模式下动作、将在本处理器上动作的虚拟计算机的数量限定为1个的状态的属性。
“共有”属性是表示处理器的状态为在电源电压是1.2V、以动作频率1GHz动作的通常动作模式下动作、将在本处理器上动作的虚拟计算机的数量设为1个以上的状态的属性。
在“共有”属性的处理器上动作的虚拟计算机有多个情况下,处理器以分时方式执行虚拟计算机。
“待机”属性是表示处理器的状态为电源电压是1.0V、以动作频率500MHz动作的节电模式下动作、在本处理器上不使虚拟计算机动作的状态的属性。
“关闭”属性是表示处理器的状态为不动作的状态、即被供给0V的电源电压的状态的属性。
虚拟计算机数603是表示在由对应的处理器ID确定的处理器上动作的虚拟计算机的数量的信息。
再次回到图4,继续虚拟计算机系统100的功能结构的说明。
处理器信息存储机构446与处理器管理机构444连接,是用来存储处理器信息的存储区域,作为RAM114的一部分的区域安装。
虚拟计算机分配机构442连接在虚拟计算机管理机构443、处理器管理机构444、虚拟计算机信息存储机构445和处理器信息存储机构446上,具有以下的4个功能。
功能1:基于存储在虚拟计算机信息存储机构445中的虚拟计算机信息、和存储在处理器信息存储机构446中的处理器信息变更处理器的属性的功能。
功能2:在变更了处理器的属性的情况下、将用来确定变更了属性的处理器的处理器ID和变更后的属性的组向处理器管理机构444输出的功能。
功能3:基于存储在虚拟计算机信息存储机构445中的虚拟计算机信息、将在处理器上动作的虚拟计算机向其他处理器移动、在该移动目的地的处理器中使该虚拟计算机动作的功能。
功能4:在已使虚拟计算机移动的情况下、将用来确定移动后的虚拟计算机的虚拟计算机ID、和用来确定移动后的处理器的处理器ID的组向处理器管理机构444输出的功能。
以下,参照附图说明如以上那样构成的虚拟计算机系统100进行的动作。
<动作>
这里,说明虚拟计算机系统100进行的动作之中的、作为特征性的动作的系统起动处理和系统更新处理。
<系统起动处理>
系统起动处理是在虚拟计算机系统100被复位的情况下将虚拟计算机系统100起动的处理。
图7是系统起动处理的流程图。
如果虚拟计算机系统100被复位,则电源控制块111对处理器A101供给1.2V的电源电压,对处理器B102供给1.0V的电源电压,时钟控制块112对处理器A101供给1GHz的时钟信号,对处理器B102供给500MHz的时钟信号,处理器A101和处理器B102起动(步骤S700)。
如果处理器A101起动,则处理器A101将管理器440起动(步骤S710)。
如果管理器440起动,则虚拟计算机管理机构443生成虚拟计算机信息,以将作为执行对象的虚拟计算机的全部与处理器A101建立对应,将所生成的虚拟计算机信息向虚拟计算机信息存储机构445存储(步骤S720)。
在此时生成的虚拟计算机信息的任务数502中,分别代入表示作为初始值的“0”的信息。
如果步骤S720的处理结束,则处理器管理机构444生成处理器信息,以使处理器A101的属性为“共有”、处理器B102的属性为“待机”、处理器C103和处理器D104的属性分别为“关闭”、与处理器A101建立对应的虚拟计算机数为表示虚拟计算机的总数的信息、与处理器B102、处理器C103和处理器D104分别建立对应的虚拟计算机数分别为表示作为初始值的“0”的信息,将所生成的处理器信息向处理器信息存储机构446存储(步骤S730)。
如果步骤S730的处理结束,则虚拟计算机分配机构442基于存储在虚拟计算机信息存储机构445中的虚拟计算机信息,在处理器A101中使全部的虚拟计算机动作(步骤S740)。
如果步骤S740的处理结束,则虚拟计算机系统100将该系统起动处理结束。
<系统更新处理>
系统更新处理是根据分别存在于在各虚拟计算机上动作的OS所管理的等待矩阵中的任务的数量的变动、将各处理器的属性动态地变更、并对向各虚拟计算机的处理器的分配进行动态变更的处理。
图8是系统更新处理的流程图。
负荷监视机构441在虚拟计算机系统100的工作中,利用定时器功能,按照每规定时间T1(例如100μs),取得存在于由各虚拟计算机的OS管理的任务等待矩阵中的任务的数量(步骤S800),将从OS取得的任务的数量的信息、和用来确定该OS动作的虚拟计算机的虚拟计算机ID的组向虚拟计算机管理机构443输出。
如果步骤S800的处理结束,则负荷监视机构441将定时器起动,新开始规定时间T1(例如100μs)的计测(步骤S810)。
如果步骤S810的处理结束,则虚拟计算机管理机构443基于接受到的任务的数量的信息和虚拟计算机ID的组,将存储在虚拟计算机信息存储机构445中的虚拟计算机信息更新(步骤S820)。
如果步骤S820的处理结束,则虚拟计算机管理机构443检查在更新前的任务数和更新后的任务数中是否有变化(步骤S830)。
在步骤S830的处理中,在更新前的任务数和更新后的任务数中有变化的情况下(步骤S830:是),虚拟计算机管理机构443将与该任务数对应的虚拟计算机ID向虚拟计算机分配机构442输出,虚拟计算机系统100实施虚拟计算机分配处理(步骤S840)。
图9、图10是虚拟计算机系统100进行的虚拟计算机分配处理的流程图。
虚拟计算机分配机构442如果接受到与变化的任务数对应的虚拟计算机ID,则从接受到的虚拟计算机ID中选择1个。
虚拟计算机分配机构442如果选择1个虚拟计算机ID,则将存储在虚拟计算机信息存储机构445中的虚拟计算机信息和存储在处理器信息存储机构446中的处理器信息读出,检查由所选择的虚拟计算机ID确定的虚拟计算机动作的处理器的属性是否是“共有”(步骤S900)。
在步骤S900的处理中,在由选择的虚拟计算机ID确定的虚拟计算机动作的处理器的属性是“共有”的情况下(步骤S900:是),虚拟计算机分配机构442检查与该虚拟计算机建立了对应的任务数是否是第1规定量(例如30)以上(步骤S910)。
在步骤S910的处理中,在任务数是第1规定量(例如30)以上的情况下(步骤S910:是),虚拟计算机分配机构442检查是否对由所选择的虚拟计算机ID确定的虚拟计算机进行动作的处理器分配了其他虚拟计算机并且正在动作(步骤S920)。
在步骤S920的处理中,在对处理器分配了其他虚拟计算机并且正在动作的情况下(步骤S920:是),虚拟计算机分配机构442检查是否存在“待机”属性的处理器(步骤S930)。
在步骤S930中,在存在“待机”属性的处理器的情况下(步骤S930:是),虚拟计算机分配机构442使用处理器管理机构444将存储在处理器信息存储机构446中的处理器信息更新,以使该“待机”属性的处理器的属性成为“专有”(步骤S940)。
如果步骤S940的处理结束,则虚拟计算机分配机构442将被分配并执行由所选择的虚拟计算机ID确定的虚拟计算机的处理器,从该虚拟计算机当前被分配而正在动作的处理器(以后,称作移动源处理器)向在步骤S940的处理中将属性从“待机”更新为“专有”的处理器(以后,称作移动目标处理器)变更(步骤S950:虚拟计算机分配变更处理)。
图11是虚拟计算机系统100进行的虚拟计算机分配变更处理的流程图。
如果虚拟计算机系统100开始虚拟计算机分配变更处理,则虚拟计算机分配机构442检查在移动源处理器中作为对象的虚拟计算机是否是处理中(步骤S1100)。
在步骤S1100中,在移动源处理器中作为对象的虚拟计算机是处理中的情况下(步骤S1100:是),将该处理中的虚拟计算机的状态(存储在各种寄存器中的数据等的、为了恢复虚拟计算机的处理而需要的数据群)向RAM114的规定的区域保存(步骤S1110)。
在步骤S1100中,在移动源处理器中作为对象的虚拟计算机不是处理中的情况下(步骤S1100:否),由于该虚拟计算机为分时方式的保存状态,所以该虚拟计算机的状态被保存到RAM114的规定的区域中(步骤S1120)。
在步骤S1110的处理结束的情况下,或在步骤S1120的处理结束的情况下,虚拟计算机分配机构442检查在移动目标处理器中虚拟计算机是否是动作中(步骤S1130)。
在步骤S1130的处理中,在移动目标处理器中虚拟计算机是动作中的情况下(步骤S1130:是),虚拟计算机分配机构442如果在移动目标处理器的分时处理中成为进行作为对象的虚拟计算机的处理的时间,则利用所保存的虚拟计算机的状态,使在移动目标处理器中作为对象的虚拟计算机恢复而动作(步骤S1140)。
在步骤S1130的处理中,在移动目标处理器中虚拟计算机不是动作中的情况下(步骤S1130:否),虚拟计算机分配机构442利用所保存的虚拟计算机的状态,使在移动目标处理器中作为对象的虚拟计算机恢复而动作(步骤S1150)。
在步骤S1140的处理结束的情况下,或在步骤S1150的处理结束的情况下,虚拟计算机系统100结束该虚拟计算机分配变更处理。
再次回到图9,继续虚拟计算机分配处理的说明。
在步骤S950的处理结束的情况下,或在步骤S930的处理中不存在“待机”属性的处理器的情况下(步骤S930:否),虚拟计算机分配机构442检查是否存在“关闭”属性的处理器(步骤S960)。
在步骤S960的处理中,在存在“关闭”属性的处理器的情况下(步骤S960:是),虚拟计算机分配机构442使用处理器管理机构444将存储在处理器信息存储机构446中的处理器信息更新,以使该“关闭”属性的处理器的属性成为“待机”(步骤S970)。
在步骤S920的处理中,在没有对处理器分配其他虚拟计算机而动作的情况下(步骤S920:否),虚拟计算机分配机构442使用处理器管理机构444将存储在处理器信息存储机构446中的处理器信息更新,以使该“共有”属性的处理器的属性成为“专有”(步骤S990)。
在步骤S900的处理中,在由所选择的虚拟计算机ID确定的虚拟计算机动作的处理器的属性不是“共有”的情况下,即在属性是“专有”的情况下(步骤S900:否),虚拟计算机分配机构442检查与该虚拟计算机建立了对应的任务数是否是第2规定量(例如25)以下(图10的步骤S1000)。
在步骤S1000的处理中,在任务数是第2规定量(例如25)以下的情况下(步骤S1000:是),虚拟计算机分配机构442检查是否存在“共有”属性的处理器(步骤S1010)。
在步骤S1010的处理中,在存在“共有”属性的处理器的情况下(步骤S1010:是),虚拟计算机系统100将被分配并执行由所选择的虚拟计算机ID确定的虚拟计算机的处理器作为移动源处理器,将“共有”属性的处理器作为移动目标处理器,执行上述的虚拟计算机分配处理(参照图11)(步骤S1020)。
如果步骤S1020的处理结束,则虚拟计算机分配机构442使用处理器管理机构444将存储在处理器信息存储机构446中的处理器信息更新,以使移动源处理器的属性成为“关闭”(步骤S1030)。
在步骤S1010的处理中,在不存在“共有”属性的处理器的情况下(步骤S1010:否),虚拟计算机分配机构442使用处理器管理机构444将存储在处理器信息存储机构446中的处理器信息更新,以使被分配并执行由所选择的虚拟计算机ID确定的虚拟计算机的处理器的属性成为“共有”(步骤S1040)。
在步骤S910的处理中任务数不是第1规定量(例如30)以上的情况下(步骤S910:否),在步骤S990的处理结束的情况下,在步骤S960的处理中不存在“关闭”属性的处理器的情况下(步骤S960:否),在步骤S1000的处理中任务数不是第2规定量(例如25)以下的情况下(步骤S1000:否),在步骤S1030的处理结束的情况下,或在步骤S1040的处理结束的情况下,虚拟计算机分配机构442检查在接受到的虚拟计算机ID中是否有还没有选择过的虚拟计算机ID(图9的步骤S980)。
在步骤S980的处理中存在还没有选择过的虚拟计算机ID的情况下(步骤S980:是),虚拟计算机分配机构442选择还没有选择过的虚拟计算机ID中的1个,再次回到步骤S900的处理,进行步骤S900以后的处理。
在步骤S980的处理中不存在还没有选择过的虚拟计算机ID的情况下(步骤S980:否),虚拟计算机系统100结束该虚拟计算机分配处理。
再次回到图8,继续系统更新处理的说明。
如果步骤S840的处理结束,则处理器管理机构444检查是否存在在步骤S840的虚拟计算机分配处理中、存储在处理器信息存储机构446中的处理器信息的属性已被更新的处理器(步骤S850)。
在步骤S850的处理中,在处理器信息的属性被更新的情况下(步骤S850:是),处理器管理机构444对属性被更新的处理器分别实施处理器更新处理(步骤S860)。
图12是处理器管理机构444进行的处理器更新处理的流程图。
如果开始处理器更新处理,则处理器管理机构444检查作为对象的处理器的当前的属性是否是“专有”或“共有”(步骤S1200)。
在步骤S1200的处理中,在作为对象的处理器的当前的属性是“专有”或“共有”的情况下(步骤S1200:是),进行变更或继续,以使向该处理器供给的电源电压成为1.2V,并且进行变更或继续,以使供给的时钟信号的频率为1GHz(步骤S1210)。
在步骤S1200的处理中,在作为对象的处理器的当前的属性不是“专有”或“共有”的情况下(步骤S1200:否),处理器管理机构444检查作为对象的处理器的当前的属性是否是“待机”(步骤S1220)。
在步骤S1220的处理中,在作为对象的处理器的当前的属性是“待机”的情况下(步骤S1220:是),处理器管理机构444进行变更,以使向该处理器供给的电源电压成为1.0V,并进行变更,以使供给的时钟信号的频率成为500MHz(步骤S1230)。
在步骤S1220的处理中,在作为对象的处理器的当前的属性不是“待机”的情况下(步骤S1220:否),处理器管理机构444进行变更,以使向该处理器供给的电源电压成为0V,并进行变更,以使供给的时钟信号的频率成为0Hz(步骤S1240)。
在步骤S1210的处理结束的情况下,在步骤S1230的处理结束的情况下,在步骤S1240的处理结束的情况下,处理器管理机构444结束该处理器更新处理。
再次回到图8,继续系统更新处理的说明。
在步骤S830的处理中在更新前的任务数和更新后的任务数中没有变化的值的情况下(步骤S830:否),在步骤S850的处理中处理器信息的属性没有被更新的情况下(步骤S850:否),或在步骤S860的处理结束的情况下,负荷监视机构441待机,直到由起动中的定时器计测的时间成为规定时间T1(例如100μs)(步骤S870)。
如果计测的时间成为规定时间T1(例如100μs),则负荷监视机构441再次回到步骤S800的处理,进行步骤S800以下的处理。
<具体例>
以下,对上述系统更新处理使用具体例补充说明。
该具体例是在时刻t1、在存储在虚拟计算机信息存储机构445中的虚拟计算机信息是图13所示的信息、存储在处理器信息存储机构446中的处理器信息是图14所示的信息、虚拟计算机A411、虚拟计算机B412和虚拟计算机C413被分配给处理器A101执行、处理器B102以节电模式起动且为新的虚拟计算机的分配准备而待机、处理器C103和处理器D104为没有被供给电源的状态的情况下(图15参照),在时刻t2、在第3OS423管理的任务等待矩阵中存在的任务数从5变化为40时的例子。
在时刻t2以后,如果成为负荷监视机构441取得在由各虚拟计算机的OS管理的任务等待矩阵中存在的任务数的最初的定时,则负荷监视机构441取得在由各虚拟计算机的OS管理的任务等待矩阵中存在的任务数,将定时器起动,虚拟计算机管理机构443将虚拟计算机信息更新(步骤S800~步骤S820)。
更新后的虚拟计算机信息为图16所示的信息。
由于虚拟计算机C413的任务数从5变化为40(步骤S830:是),所以虚拟计算机系统100实施虚拟计算机分配处理(步骤S840)。
由于虚拟计算机C413动作的处理器A101的属性是“共有”(参照图14,步骤S900:是),任务数是第1规定量(例如30)以上(参照图16,步骤S910:是),对处理器A101分配了其他处理器(步骤S920:是),存在“待机”属性的处理器B102(参照图14,步骤S930:是),所以虚拟计算机分配机构442将处理器B102的属性变更为“专有”,将处理器信息更新(步骤S940),执行虚拟计算机分配处理(步骤S950)。
虚拟计算机分配机构442将虚拟计算机C413被分配给处理器A101而正在动作的状态变更为虚拟计算机C413被分配给处理器B102而正在动作的状态(步骤S1100~步骤S1140)。
由于处理器C103的属性是“关闭”(步骤S960:是),所以将处理器C103的属性变更为“待机”,将处理器信息更新(步骤S970)。
除此以外没有任务数发生变化的虚拟计算机(步骤S980:否),所以虚拟计算机分配机构442结束虚拟计算机分配处理,处理器管理机构444检查是否存在处理器信息的属性被更新的处理器(步骤S850)。
此时的存储在处理器信息存储机构446中的处理器信息为图17所示的信息,可知处理器B102和处理器C103的属性被变更(步骤S850:是)。
由于处理器B102的属性是“专有”(步骤S1200:是),所以处理器管理机构444将向处理器B102供给的电源电压从1.0V变更为1.2V,将向处理器B102供给的时钟信号的频率从500MHz变更为1GHz(步骤S1210),使处理器B102为通常动作模式。
由于处理器C103的属性是“待机”(步骤S1200:否~步骤S1220:是),所以处理器管理机构444对处理器C103供给1.0V的电源电压,供给500MHz的时钟信号,使处理器C103以节电模式动作(参照图18)。
然后,负荷监视机构441待机,直到由起动中的定时器计测的时间成为规定时间T1(例如100μs)(步骤S870)。
<总结>
根据上述虚拟计算机系统100,在需要对没有被分配虚拟计算机的处理器新分配虚拟计算机而动作的情况下,对没有被分配虚拟计算机的处理器中的、为“待机”属性已经是起动中的处理器分配虚拟计算机而使之动作。
因而,不会有在新被分配虚拟计算机的处理器开始处理之前需要达几毫秒的时间的情况。
此外,根据上述虚拟计算机系统100,在没有被分配虚拟计算机的处理器有多个的情况下,使1个处理器起动为“待机”属性,将其他处理器的电源关闭。
因而,与对没有被分配虚拟计算机的处理器的全部供给电源的方式的虚拟计算机系统相比,即使没有被分配虚拟计算机的处理器的数量变多,由不会进行有关虚拟计算机的处理的处理器带来的耗电也不会变大。
此外,根据上述虚拟计算机系统100,被起动为“待机”属性的处理器以比通常模式耗电少的节电模式动作。
因而,与为新被分配虚拟计算机的情况准备而待机的起动中的处理器以通常模式动作的方式的虚拟计算机系统相比,能够将由不会进行有关虚拟计算机的处理的处理器带来的耗电抑制得较低。
<实施方式2>
<概要>
以下,作为有关本发明的虚拟计算机系统的一实施方式,对将实施方式1的虚拟计算机系统100的一部分变形的变形虚拟计算机系统进行说明。
实施方式1的虚拟计算机系统100是具备4个处理器的结构,但该变形虚拟计算机代替4个处理器而具备3个节电处理器和3个高性能处理器。
这里,节电处理器和高性能处理器是具有相同的ISA(InstructionSetArchitecture:指令集体系结构)的处理器。节电处理器与高性能处理器相比,耗电较小,但处理能力较小。
该变形虚拟计算机系统将多个虚拟计算机并行地执行,在对多个节电处理器没有分配虚拟计算机的情况下,为接着对新的节电处理器分配虚拟计算机的情况准备,进行对没有被分配虚拟计算机的节电处理器中的1个处理器供给电力而成为待机状态、对其他没有被分配虚拟计算机的节电处理器不供给电力的控制,在对多个高性能处理器没有分配虚拟计算机的情况下,为接着对新的高性能处理器分配虚拟计算机的情况准备,进行对没有被分配虚拟计算机的高性能处理器中的1个处理器供给电力而成为待机状态、对其他没有被分配虚拟计算机的高性能处理器不供给电力的控制。
以下,对于有关本实施方式2的变形虚拟计算机系统的结构,参照附图以与实施方式1的虚拟计算机系统100的不同点为中心进行说明。
图19是表示变形虚拟计算机系统1900的主要的硬件结构的框图。
如该图所示,变形虚拟计算机系统1900是从实施方式1的虚拟计算机系统100变形、以将系统LSI110变更为系统LSI1910的结构。
系统LSI1910是与实施方式1的系统LSI110相比,将电源控制块111变形为电源控制块1911、将时钟控制块112变形为时钟控制块1912、将处理器A101~处理器D104去除、追加了节电处理器A1901、节电处理器B1902、节电处理器C1903、高性能处理器A1904、高性能处理器B1905和高性能处理器C1906的结构。
节电处理器A1901、节电处理器B1902和节电处理器C1903分别连接在内部总线120、电源控制块1911和时钟控制块1912上,通过执行分别存储在ROM113、RAM114、或硬盘装置130中的程序,控制电源控制块1911、时钟控制块1912、ROM113、RAM114、硬盘装置130、输出装置131和输入装置132,实现各种各样的功能。
节电处理器A1901~节电处理器C1903是分别具有相同功能的处理器,具有电源电压是1.0V、以动作频率500MHz动作的通常动作模式、和电源电压是0.8V、以动作频率250MHz动作的节电模式的两个模式。
此外,节电处理器A1901~节电处理器C1903通过被供给的电源的电压从0V变化为0.8V以上、被供给时钟信号而起动。
高性能处理器A1904、高性能处理器B1905和高性能处理器C1906分别连接在内部总线120、电源控制块1911和时钟控制块1912上,通过分别执行存储在ROM113、RAM114、或硬盘装置130中的程序,控制电源控制块1911、时钟控制块1912、ROM113、RAM114、硬盘装置130、输出装置131和输入装置132,实现各种各样的功能。
高性能处理器A1904~高性能处理器C1906是具有与节电处理器A1901~节电处理器C1903相同的ISA的处理器,分别具有相同的功能,具有电源电压是1.2V、以动作频率1GHz动作的通常动作模式、和电源电压是1.0V、以动作频率500MHz动作的节电模式的两个模式。
此外,高性能处理器A1904~高性能处理器C1906通过被供给的电源的电压从0V变化为1.0V以上、被供给时钟信号而起动。
电源控制块1911连接在内部总线120、节电处理器A1901、节电处理器B1902、节电处理器C1903、高性能处理器A1904、高性能处理器B1905和高性能处理器C1906上,受节电处理器A1901、节电处理器B1902、节电处理器C1903、高性能处理器A1904、高性能处理器B1905、或高性能处理器C1906控制,具有切换向节电处理器A1901~节电处理器C1903、高性能处理器A1904~高性能处理器C1906供给的电源的电压的功能。
图20是表示电源控制块1911的主要的硬件结构的结构图。
如该图所示,电源控制块1911由开关设定寄存器2010、电源开关2011、电源开关2012、电源开关2013、电源开关2014、电源开关2015和电源开关2016构成。
开关设定寄存器2010连接在内部总线120、电源开关2011、电源开关2012、电源开关2013、电源开关2014、电源开关2015、和电源开关2016上,是由节电处理器A1901、节电处理器B1902、节电处理器C1903、高性能处理器A1904、高性能处理器B1905、或高性能处理器C1906写入值的12位的寄存器。
电源开关2011连接在开关设定寄存器2010、供给1.2V的电压的1.2V电源配线221、供给1.0V的电压的1.0V电源配线222、供给0V的电压的接地配线223、和用来对高性能处理器A1904供给电压的高性能处理器A电源配线2031上,是按照写入在开关设定寄存器2010的第0位、第1位中的值来选择1.2V电源配线221、1.0V电源配线222、接地配线223的3个配线中的一个配线,并将所选择的配线、高性能处理器A电源配线2031电连接的开关。
电源开关2012和电源开关2013是分别与电源开关2011同样的开关。
电源开关2012是按照写入在开关设定寄存器2010的第2位和第3位中的值选择与用来对高性能处理器B1905供给电压的高性能处理器B电源配线2032电连接的电源配线的开关,电源开关2013是按照写入在开关设定寄存器2010的第4位和第5位中的值来选择与用来对高性能处理器C1906供给电压的高性能处理器C电源配线2033电连接的电源配线的开关。
电源开关2014连接在开关设定寄存器2010、供给1.0V的电压的1.0V电源配线222、供给0.8V的电压的0.8V电源配线2024、供给0V的电压的接地配线223、和用来对节电处理器A1901供给电压的节电处理器A电源配线2034上,是按照写入在开关设定寄存器2010的第6位和第7位中的值来选择1.0V电源配线222、0.8V电源配线2024、和接地配线223的3个配线中的一个配线,并将选择的配线与节电处理器A电源配线2034电连接的开关。
电源开关2015和电源开关2016分别是与电源开关2014同样的开关。
电源开关2015是按照写入在开关设定寄存器2010的第8位和第9位中的值选择与用来对节电处理器B1902供给电压的节电处理器B电源配线2035电连接的电源配线的开关,电源开关2016是按照写入在开关设定寄存器2010的第10位和第11位中的值选择与用来对节电处理器C1903供给电压的节电处理器C电源配线2036电连接的电源配线的开关。
电源控制块1911还具有在变形虚拟计算机系统1900被复位的情况下、通过在开关设定寄存器2010中代入初始值,对节电处理器A1901供给1.0V的电压、对节电处理器B1902、节电处理器C1903、高性能处理器A1904、高性能处理器B1905、和高性能处理器C1906供给0V的电压的功能。
再次回到图19,继续变形虚拟计算机系统1900的主要的硬件结构的说明。
时钟控制块1912连接在内部总线120、节电处理器A1901、节电处理器B1902、节电处理器C1903、高性能处理器A1904、高性能处理器B1905、和高性能处理器C1906上,受节电处理器A1901、节电处理器B1902、节电处理器C1903、高性能处理器A1904、高性能处理器B1905、或高性能处理器C1906控制,具有切换向节电处理器A1901~节电处理器C1903、高性能处理器A1904~高性能处理器C1906供给的时钟信号的频率的功能。
图21是表示时钟控制块1912的主要的硬件结构的结构图。
如该图所示,时钟控制块1912由选择器设定寄存器2110、1GHzPLL2101、1/2分频电路2102、1/4分频电路2103、选择器2111、选择器2112、选择器2113、选择器2114、选择器2115、和选择器2116构成。
选择器设定寄存器2110连接在内部总线120、选择器2111、选择器2112、选择器2113、选择器2114、选择器2115、和选择器2116上,是由节电处理器A1901、节电处理器B1902、节电处理器C1903、高性能处理器A1904、高性能处理器B1905、或高性能处理器C1906写入值的12位的寄存器。
1GHzPLL2101连接在1/2分频电路2102、1/4分频电路2103、选择器2111、选择器2112和选择器2113上,与实施方式1的1GHzPLL301同样,具有生成1GHz的频率的时钟信号并输出的功能。
1/2分频电路2102连接在1GHzPLL2101、选择器2111、选择器2112、选择器2113、选择器2114、选择器2115和选择器2116上,与实施方式1的1/2分频电路302同样,具有将输入的1GHz的频率的时钟信号2分频、输出500MHz的频率的时钟信号的功能。
1/4分频电路2103连接在1GHzPLL2101、选择器2114、选择器2115、和选择器2116上,具有将输入的1GHz的频率的时钟信号4分频、输出250MHz的频率的时钟信号的功能。
选择器2111连接在选择器设定寄存器2110、1GHzPLL2101、1/2分频电路2102、地电位303、和用来对高性能处理器A1904供给时钟信号的高性能处理器A时钟配线2121上,是按照写入在选择器设定寄存器2110的第0位和第1位中的值选择1GHz的频率的时钟信号、500MHz的频率的时钟信号和0MHz的频率的时钟信号中的一个时钟信号,经由高性能处理器A时钟配线2121向高性能处理器A1904输出的选择器。
选择器2112和选择器2113分别是与选择器2111同样的选择器。
选择器2112是按照写入在选择器设定寄存器2110的第2位和第3位中的值、选择经由高性能处理器B时钟配线2122向高性能处理器B1905输出的时钟信号并输出的选择器,选择器2113是按照写入在选择器设定寄存器2110的第4位和第5位中的值选择经由高性能处理器C时钟配线2123向高性能处理器C1906输出的时钟信号并输出的选择器。
选择器2114连接在选择器设定寄存器2110、1/2分频电路2102、1/4分频电路2103、地电位303、和用来对节电处理器A1901供给时钟信号的节电处理器A时钟配线2124上,是按照写入在选择器设定寄存器2110的第6位和第7位中的值选择500MHz的频率的时钟信号、250MHz的频率的时钟信号和0MHz的频率的时钟信号中的一个时钟信号,经由节电处理器A时钟配线2124向节电处理器A1901输出的选择器。
选择器2115和选择器2116是分别与选择器2114同样的选择器。
选择器2115是按照写入在选择器设定寄存器2110的第8位和第9位中的值、选择经由节电处理器B时钟配线2125向节电处理器B1902输出的时钟信号并输出的选择器,选择器2116是按照写入在选择器设定寄存器2110的第10位和第11位中的值、选择经由节电处理器C时钟配线2126向节电处理器C1903输出的时钟信号并输出的选择器。
时钟控制块1912还具有在变形虚拟计算机系统1900被复位的情况下、通过在选择器设定寄存器2110中代入初始值、对节电处理器A1901输出500MHz的时钟信号、对节电处理器B1902、节电处理器C1903、高性能处理器A1904、高性能处理器B1905、和高性能处理器C1906供给0Hz的时钟信号的功能。
以下,对通过上述硬件实现的变形虚拟计算机系统1900的功能,使用附图进行说明。
图22是对表示构成变形虚拟计算机系统1900的主要的功能块的功能结构图添加了表示对节电处理器A1901、节电处理器B1902和节电处理器C1903分别分配了1个虚拟计算机的状态的示意图的图。
如该图所示,变形虚拟计算机系统1900是与实施方式1的虚拟计算机系统100相比将管理器440变形为管理器2240的结构。
管理器2240是从实施方式1的管理器440变形,以将虚拟计算机分配机构442变更为虚拟计算机分配机构2242、将虚拟计算机管理机构443变更为虚拟计算机管理机构2243、将处理器管理机构444变更为处理器管理机构2244的结构。
虚拟计算机管理机构2243是将实施方式1的虚拟计算机管理机构443的一部分的功能变形的结构,连接在负荷监视机构441、虚拟计算机分配机构2242和虚拟计算机信息存储机构445上,除了虚拟计算机管理机构443的功能2、功能3和功能4以外,还具有以下的功能1a。
功能1a:在管理器2240起动时、生成虚拟计算机信息以使作为执行对象的全部的虚拟计算机分别与1个处理器建立对应,并将所生成的虚拟计算机信息向虚拟计算机信息存储机构存储的功能。
这里,分配作为执行对象的虚拟计算机的处理器的顺序为节电处理器A1901、节电处理器B1902、节电处理器C1903、高性能处理器A1904、高性能处理器B1905、高性能处理器C1906的顺序。
图23是由虚拟计算机管理机构2243生成、由虚拟计算机信息存储机构445存储的虚拟计算机信息的数据结构图。
如该图所示,虚拟计算机信息与实施方式1的虚拟计算机信息同样,是将虚拟计算机ID2301、任务数2302与处理器ID2303建立了对应的信息。
再次回到图22,继续变形虚拟计算机系统1900的功能结构的说明。
处理器管理机构2244是将实施方式1的处理器管理机构444的一部分的功能变形的结构,连接在虚拟计算机分配机构2242和处理器信息存储机构446上,除了处理器管理机构444的功能2和功能3以外,还具有以下的功能1a、功能1b、功能1c和功能1d的功能。
功能1a:在管理器2240起动时生成处理器信息以使作为执行对象的虚拟计算机的数的处理器的属性成为“执行”(后述)的功能。
这里,设为“执行”属性的处理器的顺序为节电处理器A1901、节电处理器B1902、节电处理器C1903、高性能处理器A1904、高性能处理器B1905、高性能处理器C1906的顺序。
功能1b:在生成处理器信息的情况下、生成处理器信息,以使得当存在属性不为“执行”的节电处理器时,使属性不为“执行”的节电处理器中的1个处理器的属性成为“待机”,如果还存在属性不为“执行”或“待机”的节电处理器则使该处理器的属性成为“关闭”的功能。
功能1c:在生成处理器信息的情况下、生成处理器信息,以使得当存在属性不为“执行”的高性能处理器时,使属性不为“执行”的高性能处理器中的1个处理器的属性成为“待机”,如果还存在属性不为“执行”或“待机”的高性能处理器则使该处理器的属性成为“关闭”的功能。
功能1d:将在管理器2240起动时生成的处理器信息向处理器信息存储机构446存储的功能。
图24是由处理器管理机构2244生成、向处理器信息存储机构446存储的处理器信息的数据结构图。
如该图所示,处理器信息是将处理器ID2401与属性2402建立了对应的信息。
处理器ID2401是用来确定处理器的信息。
属性2402是表示由对应的处理器ID确定的处理器的属性的信息。
节电处理器A1901~节电处理器C1903、高性能处理器A1904~高性能处理器C1906分别与“执行”、“待机”、“关闭”的3个属性中的1个属性建立对应。
“执行”属性表示是在本处理器上使虚拟计算机动作的状态,是如果是节电处理器则在电源电压是1.0V、以动作频率500MHz动作的通常动作模式下动作的状态,如果是高性能处理器则在电源电压是1.2V、以动作频率1GHz动作的通常动作模式动作的状态的属性。
“待机”属性表示是在本处理器上不使虚拟计算机动作的状态,是如果是节电处理器则在电源电压是0.8V、以动作频率250MHz动作的节电模式下动作的状态,如果是高性能处理器则在电源电压是1.0V、以动作频率500MHz动作的节电模式下动作的状态的属性。
“关闭”属性是表示处理器的状态为动作的状态、即被供给0V的电源电压的状态的属性。
再次回到图22,继续变形虚拟计算机系统1900的功能结构的说明。
虚拟计算机分配机构2242是将实施方式1的虚拟计算机分配机构442的一部分的功能变形的结构,连接在虚拟计算机管理机构2243、处理器管理机构2244、虚拟计算机信息存储机构445、和处理器信息存储机构446上,具有与虚拟计算机分配机构442同样的功能。
虚拟计算机分配机构2242具有与虚拟计算机分配机构442同样的功能,但作为对象的处理器是节电处理器和高性能处理器的两种这一点,以及处理器的属性是“执行”、“待机”和“关闭”的3种这一点与虚拟计算机分配机构442不同,所以虚拟计算机分配机构2242进行的动作的一部分与虚拟计算机分配机构442的动作的一部分不同。
对虚拟计算机分配机构2242进行的动作中的、与虚拟计算机分配机构442进行的动作的不同点在后面叙述。
对于如以上那样构成的变形虚拟计算机系统1900进行的动作,以下参照附图进行说明。
<动作>
这里,对变形虚拟计算机系统1900进行的动作中的、作为特征性的动作的变形系统起动处理和变形系统更新处理进行说明。
<变形系统起动处理>
变形系统起动处理是将实施方式1的系统起动处理的一部分变形的,是在变形虚拟计算机系统1900被复位的情况下将变形虚拟计算机系统1900起动的处理。
图25是变形系统起动处理的流程图。
如果变形虚拟计算机系统1900被复位,则电源控制块1911对节电处理器A1901供给1.0V的电压,时钟控制块1912对节电处理器A1901供给500MHz的时钟信号,节电处理器A1901起动(步骤S2500)。
如果节电处理器A1901起动,则节电处理器A1901将管理器2240起动(步骤S2510)。
如果管理器2240起动,则虚拟计算机管理机构2243生成虚拟计算机信息,以使作为执行对象的全部的虚拟计算机分别与1个处理器建立对应,将所生成的虚拟计算机信息向虚拟计算机信息存储机构存储(步骤S2520)。
此时,与作为执行对象的虚拟计算机建立了对应的处理器的顺序为节电处理器A1901、节电处理器B1902、节电处理器C1903、高性能处理器A1904、高性能处理器B1905、高性能处理器C1906的顺序,在生成的虚拟计算机信息的任务数2302中,分别代入表示作为初始值的“0”的信息。
如果步骤S2520的处理结束,则处理器管理机构2244生成处理器信息,以使得:与作为执行对象的虚拟计算机建立了对应的处理器的各自的属性为“执行”、此外当存在属性不为“执行”的节电处理器时使属性不为“执行”的节电处理器中的1个处理器的属性为“待机”、如果还存在属性不为“执行”或“待机”的节电处理器则使该处理器的属性为“关闭”、并且当存在属性不为“执行”的高性能处理器时、使属性不为“执行”的高性能处理器中的1个处理器的属性为“待机”、如果还存在属性不为“执行”或“待机”的高性能处理器则使该处理器的属性为“关闭”,并且将所生成的处理器信息向处理器信息存储机构446存储(步骤S2530)。
如果步骤S2530的处理结束,则处理器管理机构2244对节电处理器A1901以外的处理器分别基于存储在处理器信息存储机构446中的处理器信息实施变形处理器更新处理(步骤S2540)。
图26、图27是处理器管理机构2244进行的变形处理器更新处理的流程图。
如果开始变形处理器更新处理,则处理器管理机构2244检查对象的处理器是否是节电处理器(步骤S2600)。
在步骤S2600的处理中,在对象的处理器是节电处理器的情况下(步骤S2600:是),处理器管理机构2244检查作为对象的处理器的当前的属性是否是“执行”(步骤S2610)。
在步骤S2610的处理中,在属性是“执行”的情况下(步骤S2610:是),处理器管理机构2244变更,以使对该处理器供给的电源电压成为1.0V,并进行变更,以使供给的时钟信号的频率为500MHz(步骤S2620)。
在步骤S2610的处理中,在作为对象的处理器的当前的属性不是“执行”的情况下(步骤S2610:否),处理器管理机构2244检查作为对象的处理器的当前的属性是否是“待机”(步骤S2630)。
在步骤S2630的处理中,在作为对象的处理器的当前的属性是“待机”的情况下(步骤S2630:是),处理器管理机构2244进行变更,以使对该处理器供给的电源电压为0.8V,并进行变更,以使供给的时钟信号的频率为250MHz(步骤S2640)。
在步骤S2630的处理中,在作为对象的处理器的当前的属性不是“待机”的情况下(步骤S2630:否),处理器管理机构2244进行变更,以使对该处理器供给的电源电压成为0V,并进行变更,以使供给的时钟信号的频率成为0Hz(步骤S2650)。
在步骤S2600的处理中,在对象的处理器不是节电处理器、即是高性能处理器的情况下(步骤S2600:否),处理器管理机构2244检查作为对象的处理器的当前的属性是否是“执行”(步骤S2710)。
在步骤S2710的处理中,在属性是“执行”的情况下(步骤S2710:是),处理器管理机构2244进行变更,以使对该处理器供给的电源电压为1.2V,并进行变更,以使供给的时钟信号的频率为1GHz(步骤S2720)。
在步骤S2710的处理中,在作为对象的处理器的当前的属性不是“执行”的情况下(步骤S2710:否),处理器管理机构2244检查作为对象的处理器的当前的属性是否是“待机”(步骤S2730)。
在步骤S2730的处理中,在作为对象的处理器的当前的属性是“待机”的情况下(步骤S2730:是),处理器管理机构2244进行变更,以使对该处理器供给的电源电压为1.0V,并进行变更以使供给的时钟信号的频率为500MHz(步骤S2740)。
在步骤S2730的处理中,在作为对象的处理器的当前的属性不是“待机”的情况下(步骤S2730:否),处理器管理机构2244进行变更,以使对该处理器供给的电源电压为0V,并进行变更,以使供给的时钟信号的频率为0Hz(步骤S2750)。
在步骤S2620的处理结束的情况下,在步骤S2640的处理结束的情况下,在步骤S2650的处理结束的情况下,在步骤S2720的处理结束的情况下,在步骤S2740的处理结束的情况下,在步骤S2750的处理结束的情况下,处理器管理机构2244结束该变形处理器更新处理。
如果步骤S2540的处理(变形处理器更新处理)结束,则虚拟计算机分配机构2242基于存储在虚拟计算机信息存储机构445中的虚拟计算机信息,在与虚拟计算机建立了对应的处理器中使虚拟计算机动作(步骤S2550)。
如果步骤S2550的处理结束,则变形虚拟计算机系统1900结束该变形系统起动处理。
<变形系统更新处理>
变形系统更新处理是将实施方式1的系统更新处理的一部分变形的处理,是根据在各虚拟计算机上动作的OS管理的等待矩阵各自中存在的任务的数量的变动,动态地变更各处理器的属性,动态地变更各虚拟计算机向处理器的分配的处理。
图28是变形系统更新处理的流程图。
变形系统更新处理中的步骤S2800、步骤S2810、步骤S2820、步骤S2830的处理分别是与实施方式1的系统更新处理(参照图8)的步骤S800、步骤S810、步骤S820、步骤S830的处理同样的处理,所以这里省略说明。
在步骤S2830的处理中,在更新前的任务数和更新后的任务数中有变化的情况下(步骤S2830:是),虚拟计算机管理机构2243将与该任务数对应的虚拟计算机ID向虚拟计算机分配机构2242输出,变形虚拟计算机系统1900实施变形虚拟计算机分配处理(步骤S2840)。
图29、图30是变形虚拟计算机系统1900进行的变形虚拟计算机分配处理的流程图。
虚拟计算机分配机构2242如果接受到与变化的任务数对应的虚拟计算机ID,则从接受到的虚拟计算机ID中选择1个。
虚拟计算机分配机构2242如果选择1个虚拟计算机ID,则将存储在虚拟计算机信息存储机构445中的虚拟计算机信息读出,检查由所选择的虚拟计算机ID确定的虚拟计算机动作的处理器是否是节电处理器(步骤S2900)。
在步骤S2900的处理中,在由所选择的虚拟计算机ID确定的虚拟计算机动作的处理器是节电处理器的情况下(步骤S2900:是),虚拟计算机分配机构2242检查与该虚拟计算机建立了对应的任务数是否是第1规定量(例如30)以上(步骤S2910)。
在步骤S2910的处理中,在任务数是第1规定量(例如30)以上的情况下(步骤S2910:是),虚拟计算机分配机构2242检查是否存在“待机”属性的高性能处理器(步骤S2920)。
在步骤S2920的处理中,在存在“待机”属性的高性能处理器的情况下(步骤S2920:是),虚拟计算机分配机构2242使用处理器管理机构2244将存储在处理器信息存储机构446中的处理器信息更新,以使该“待机”属性的高性能处理器的属性成为“执行”(步骤S2925)。
如果步骤S2925的处理结束,则虚拟计算机分配机构2242将被分配并执行了由所选择的虚拟计算机ID确定的虚拟计算机的处理器从当前被分配该虚拟计算机正在动作的处理器(以后,称作移动源处理器)向在步骤S2920的处理中判明了存在的“待机”属性的处理器(以后,称作移动目标处理器)变更(步骤S2930:变形虚拟计算机分配变更处理)。
图31是变形虚拟计算机系统1900进行的变形虚拟计算机分配变更处理的流程图。
如果变形虚拟计算机系统1900开始变形虚拟计算机分配变更处理,则虚拟计算机分配机构2242将移动源处理器中的虚拟计算机的状态(存储在各种寄存器中的数据等的、为了使虚拟计算机的处理恢复而需要的数据群)向RAM114的规定的区域保存(步骤S3100),在移动目标处理器中使作为对象的虚拟计算机恢复而动作(步骤S3110)。
如果步骤S3110的处理结束,则变形虚拟计算机系统1900结束该变形虚拟计算机分配变更处理。
再次回到图29,继续变形虚拟计算机分配处理的说明。
在步骤S2930的处理结束的情况下,或者在步骤S2920的处理中不存在“待机”属性的高性能处理器的情况下(步骤S2920:否),虚拟计算机分配机构2242检查是否存在“关闭”属性的高性能处理器(步骤S2940)。
在步骤S2940的处理中,在存在“关闭”属性的高性能处理器的情况下(步骤S2940:是),虚拟计算机分配机构2242使用处理器管理机构2244将存储在处理器信息存储机构446中的处理器信息更新,以使该“关闭”属性的高性能处理器的属性成为“待机”(步骤S2950)。
在步骤S2950的处理结束的情况下,虚拟计算机分配机构2242检查是否存在“待机”属性的节电处理器(步骤S2960)。
在步骤S2960的处理中,在存在“待机”属性的节电处理器的情况下(步骤S2960:是),虚拟计算机分配机构2242使用处理器管理机构2244将存储在处理器信息存储机构446中的处理器信息更新,以使移动源处理器的属性成为“关闭”(步骤S2970)。
在步骤S2960的处理中,在不存在“待机”属性的节电处理器的情况下(步骤S2960:否),虚拟计算机分配机构2242使用处理器管理机构2244将存储在处理器信息存储机构446中的处理器信息更新,以使移动源处理器的属性成为“待机”(步骤S2980)。
在步骤S2900的处理中,在由所选择的虚拟计算机ID确定的虚拟计算机动作的处理器不是节电处理器的情况下,即在是高性能处理器的情况下(步骤S2900:否),虚拟计算机分配机构2242检查与该虚拟计算机建立了对应的任务数是否是第2规定量(例如25)以下(步骤S3000)。
在步骤S3000的处理中,在任务数是第2规定量(例如25)以下的情况下(步骤S3000:是),虚拟计算机分配机构2242检查是否存在“待机”属性的节电处理器(步骤S3010)。
在步骤S3010的处理中,在存在“待机”属性的节电处理器的情况下(步骤S3010:是),虚拟计算机分配机构2242将被分配并执行由所选择的虚拟计算机ID确定的虚拟计算机的处理器作为移动源处理器,将在步骤S2920的处理中判明为存在的“待机”属性的处理器作为移动目标处理器,实施变形虚拟计算机分配变更处理(步骤S3020)。
在步骤S3020的处理结束的情况下,或在步骤S3010的处理中不存在“待机”属性的节电处理器的情况下(步骤S3010:否),虚拟计算机分配机构2242检查是否存在“关闭”属性的节电处理器(步骤S3030)。
在步骤S3030的处理中,在存在“关闭”属性的节电处理器的情况下(步骤S3030:是),虚拟计算机分配机构2242使用处理器管理机构2244将存储在处理器信息存储机构446中的处理器信息更新,以使该“关闭”属性的节电处理器的属性成为“待机”(步骤S3040)。
在步骤S3040的处理结束的情况下,虚拟计算机分配机构2242检查是否存在“待机”属性的高性能处理器(步骤S3050)。
在步骤S3050的处理中,在存在“待机”属性的高性能处理器的情况下(步骤S3050:是),虚拟计算机分配机构2242使用处理器管理机构2244将存储在处理器信息存储机构446中的处理器信息更新,以使移动源处理器的属性成为“关闭”(步骤S3060)。
在步骤S3050的处理中,在不存在“待机”属性的节电处理器的情况下(步骤S3050:否),虚拟计算机分配机构2242使用处理器管理机构2244将存储在处理器信息存储机构446中的处理器信息更新,以使移动源处理器的属性成为“待机”(步骤S3070)。
在步骤S2910的处理中,在任务数不是第1规定量(例如30)以上的情况下(步骤S2910:否),在步骤S2940的处理中,在不存在“关闭”属性的高性能处理器的情况下(步骤S2940:否),在步骤S2970的处理结束的情况下,在步骤S2980的处理结束的情况下,在步骤S3000的处理中任务数不是第2规定量(例如25)以下的情况下(步骤S3000:否),在步骤S3030的处理中不存在“关闭”属性的节电处理器的情况下(步骤S3030:否),在步骤S3060的处理结束的情况下,在步骤S3070的处理结束的情况下,虚拟计算机分配机构2242检查在接受到的虚拟计算机ID中是否有还没有选择过的虚拟计算机ID(图29的步骤S2990)。
在步骤S2990的处理中,在存在还没有选择过的虚拟计算机ID的情况下(步骤S2990:是),虚拟计算机分配机构2242选择还没有选择过的虚拟计算机ID中的1个,再次回到步骤S2900的处理,进行步骤S2900以后的处理。
在步骤S2990的处理中,在不存在还没有选择过的虚拟计算机ID的情况下(步骤S2990:否),变形虚拟计算机系统1900结束该虚拟计算机分配处理。
再次回到图28,继续变形系统更新处理的说明。
如果步骤S2840的处理结束,则处理器管理机构2244检查在步骤S2840的虚拟计算机分配处理中是否存在存储在处理器信息存储机构446中的处理器信息的属性被更新的处理器(步骤S2850)。
在步骤S2850的处理中,在处理器信息的属性被更新的情况下(步骤S2850:是),处理器管理机构2244对属性被更新的处理器分别实施处理器更新处理(参照图26、图27)(步骤S2860)。
在步骤S2830的处理中在更新前的任务数和更新后的任务数中没有变化的值的情况下(步骤S2830:否),在步骤S2850的处理中处理器信息的属性没有被更新的情况下(步骤S2850:否),或在步骤S2860的处理结束的情况下,负荷监视机构441待机,直到由起动中的定时器计测的时间成为规定时间T1(例如100μs)(步骤S2870)。
如果计测的时间成为规定时间T1(例如100μs),则负荷监视机构441再次回到步骤S2800的处理,进行步骤S2800以下的处理。
<具体例>
以下,对上述变形系统更新处理使用具体例补充说明。
该具体例是在时刻t1,在存储在虚拟计算机信息存储机构445中的虚拟计算机信息是图23所示的信息,存储在处理器信息存储机构446中的处理器信息是图24所示的信息,虚拟计算机A411被分配给节电处理器A1901并执行,虚拟计算机B412被分配给节电处理器B1902并执行,虚拟计算机C413被分配给节电处理器C1903并执行,高性能处理器A1904以节电模式起动并为新的虚拟计算机的分配准备而待机,高性能处理器B1905和高性能处理器C1906为没有被供给电源的状态的情况下(图22参照),在时刻t2,第3OS管理的任务等待矩阵中存在的任务数从5变化为40时的例子。
在时刻t2以后,负荷监视机构441如果成为取得在由各虚拟计算机的OS管理的任务等待矩阵中存在的任务数的最初的定时,则负荷监视机构441取得在由各虚拟计算机的OS管理的任务等待矩阵中存在的任务数,将定时器起动,虚拟计算机管理机构2243将虚拟计算机信息更新(步骤S2800~步骤S2820)。
更新后的虚拟计算机信息成为图32所示的信息。
由于虚拟计算机C413的任务数从5变化为40(步骤S2830:是),所以变形虚拟计算机系统1900实施变形虚拟计算机分配处理(步骤S2840)。
由于虚拟计算机C413动作的处理器是节电处理器(参照图32,步骤S2900:是),任务数是第1规定量(例如30)以上(步骤S2910:是),存在“待机”属性的高性能处理器A1904(参照图24,步骤S2920:是),所以虚拟计算机分配机构2242将高性能处理器A1904的属性变更为“执行”,将处理器信息更新(步骤S2925),执行变形虚拟计算机分配变更处理(步骤S2940)。
虚拟计算机分配机构2242将虚拟计算机C413被分配给节电处理器C1903而动作的状态变更为虚拟计算机C413被分配给高性能处理器A1904而动作的状态(步骤S3100~步骤S3110)。
由于高性能处理器B1905的属性是“关闭”(步骤S2940),所以将高性能处理器B1905的属性变更为“待机”而将处理器信息更新(步骤S2950),由于没有“待机”属性的节电处理器(步骤S2960:否),所以将节电处理器C1903的属性变更为“待机”,将处理器信息更新(步骤S2980)。
除此以外没有任务数变化的虚拟计算机(步骤S2990:否),所以虚拟计算机分配机构2242将变形虚拟计算机分配处理结束,处理器管理机构2244检查是否存在处理器信息的属性被更新的处理器(步骤S2850)。
此时的存储在处理器信息存储机构446中的处理器信息存储在图33中,可知节电处理器C1903、高性能处理器A1904、高性能处理器B1905的属性被变更(步骤S2860:是)。
由于节电处理器C1903是节电处理器(步骤S2600:是),属性是“待机”(步骤S2610:否~步骤S2630:是),所以处理器管理机构2244将向节电处理器C1903供给的电源电压从1.0V变更为0.8V,将向节电处理器C1903供给的时钟信号的频率从500MHz变更为250MHz(步骤S2640),使节电处理器C1903成为节电模式。
由于高性能处理器A1904是高性能处理器(步骤S2600:否),属性是“执行”(步骤S2710:是),所以处理器管理机构2244将向高性能处理器A1904供给的电源电压从1.0V变更为1.2V,将向高性能处理器A1904供给的时钟信号的频率从500MHz变更为1GHz(步骤S2720),使高性能处理器A1904成为通常动作模式。
由于高性能处理器B1905是高性能处理器(步骤S2600:否),属性是“待机”(步骤S2710:否~步骤S2730:是),所以处理器管理机构224对高性能处理器B1905供给1.0V的电源电压,供给500MHz的时钟信号,使高性能处理器B1905以节电模式起动(参照图34)。
然后,负荷监视机构441待机,直到由起动中的定时器计测的时间成为规定时间T1(例如100μs)(步骤S2870)。
<总结>
根据上述变形虚拟计算机系统1900,如果分配给节电处理器而动作的虚拟计算机的任务数为第1规定量以上,则能够将该虚拟计算机分配给处理能力比节电处理器高的高性能处理器而动作。
此外,根据上述变形虚拟计算机系统1900,如果分配给高性能处理器而动作的虚拟计算机的任务数成为第2规定量以下,则能够将该虚拟计算机分配给比高性能处理器耗电少的节电处理器而动作。
<补充>
以上,作为有关本发明的虚拟计算机系统的一实施方式,在实施方式1、实施方式2中,对两个虚拟计算机系统的例子进行了说明,但也可以如以下这样变形,本发明当然并不限定于由上述实施方式表示那样的虚拟计算机系统。
(1)在实施方式1中,对虚拟计算机系统100具备4个处理器的情况下的例子进行了说明,但只要具备多个处理器,处理器的数量并不一定限于4,例如处理器的数量也可以是3、10等。
(2)在实施方式2中,对各处理器在通常模式时电源电压是1.2V、以动作频率1GHz动作,在节电模式时电源电压是1.0V、以动作频率500MHz动作的情况的例子进行了说明,但并不一定需要在通常模式时电源电压是1.2V、以动作频率1GHz动作、在节电模式时电源电压是1.0V、以动作频率500MHz动作,只要通常模式时的数据处理能力是节电模式时的数据处理能力以上、通常模式时的耗电是节电模式时的耗电以上,例如也可以是,在通常模式时电源电压是1.5V、以动作频率200MHz动作,在节电模式时电源电压是1.2V、以动作频率100MHz动作。
进而,在通常模式和节电模式中,电源电压和动作频率也可以相同,即也可以不进行通常模式与节电模式的区别。
(3)在实施方式1中,对虚拟计算机系统100基于存在于在虚拟计算机中动作的OS管理的任务等待矩阵中的任务的数量,将处理器的属性变更的情况的例子进行了说明,但只要能够基于可能成为表示虚拟计算机的负荷量的指标的值变更处理器的属性,并不一定需要基于任务的数量变更处理器的属性,例如也可以基于根据任务的种类而加权后的任务的数量来变更处理器的属性,也可以基于任务的种类来变更处理器的属性。
(4)在实施方式1中,对各虚拟计算机被分配给1个处理器而动作的情况的例子进行了说明,但只要能够实现虚拟计算机,被分配1个虚拟计算机的处理器并不一定需要是1个,例如也可以将1个虚拟计算机分配给两个处理器而动作。
(5)在实施方式1中,对虚拟计算机系统100在对一部分的处理器没有分配虚拟计算机的情况下、进行为接着对新的处理器分配虚拟计算机的情况准备,而对没有被分配虚拟计算机的处理器中的1个处理器供给电力而成为待机状态、对其他没有被分配虚拟计算机的处理器不供给电力的控制的例子进行了说明,但只要存在作为待机状态的处理器,设为待机状态的处理器的数量并不限定于1个,例如也可以进行控制以使成为待机状态的处理器为两个,例如也可以如进行控制以使得在从上午9时到下午7时的时刻中成为待机状态的处理器是两个、在除此以外的时刻成为待机状态的处理器为1个那样,进行控制以使得根据时刻而变动成为待机状态的处理器的数量。
(6)在实施方式1中,对虚拟计算机系统100在存在“待机”属性的处理器的情况下、当对已被分配虚拟计算机的处理器不再分配虚拟计算机时、将该新没有被分配虚拟计算机的处理器设为“关闭”属性的情况下的例子进行了说明,但只要能够控制以使得至少存在1个待机属性的处理器就可以,不一定需要将新没有被分配虚拟计算机的处理器设为“关闭”属性,例如也可以将“待机”属性的处理器设为“关闭”属性、将新没有被分配虚拟计算机的处理器设为“待机”属性。
(7)在实施方式1中,对处理器A101、处理器B102、处理器C103、处理器D104、电源控制块111、时钟控制块112、ROM113、RAM114、硬盘装置接口115、输出装置接口116、输入装置接口117、和内部总线120集成在1个系统LSI110中的例子进行了说明,但这些电路并不一定需要集成在1个LSI中,只要能够实现由系统LSI110实现的功能,例如也可以是各电路分别集成在相互不同的集成电路中的结构。
(8)在实施方式1中,对第1规定量例如是30、第2规定量例如是25的情况下的例子进行了说明,但只要第1规定量是第2规定量以上就可以,第1规定量并不一定需要是30,第2规定量并不一定需要是25,例如也可以第1规定量是100、第2规定量是90,也可以第1规定量和第2规定量都是40。
(9)在实施方式1中,对在处理器使多个虚拟计算机动作的情况下使各个虚拟计算机以分时方式依次重复动作的例子进行了说明,但只要能够使多个虚拟计算机动作,并不一定需要以分时方式依次重复动作,例如也可以是,处理器具有能够使多个线程并行动作的多线程处理功能,使多个虚拟计算机利用该多线程处理功能并行地动作。
(10)在实施方式1中,对“待机”属性的处理器的电源电压是1.0V、以动作频率500MHz动作的例子进行了说明,但只要“待机”属性的处理器被供给动作所需要的电源电压,并不一定需要电源电压是1.0V,此外,并不一定需要以动作频率500MHz动作。
例如,“待机”属性的处理器也可以是电源电压为1.2V、动作频率为0Hz、即不动作的状态,也可以是电源电压为1.2V、以动作频率1GHz动作。
(11)在实施方式2中,对节电处理器的数量和高性能处理器的数量相同的情况下的例子进行了说明,但只要节电处理器的数量是多个、高性能处理器的数量是多个,并不一定需要节电处理器的数量与高性能处理器的数量相同。
(12)在实施方式2中,对节电处理器和高性能处理器是相同的ISA的情况下的例子进行了说明,但并不一定需要是相同的ISA。
在不同的ISA中,在执行没有安装的命令的情况下,例如可以通过由管理器等进行命令的仿真来代用。
(13)在实施方式2中,对虚拟计算机管理机构2243将在管理器2240起动时分配作为执行对象的虚拟计算机的处理器的顺序设为节电处理器A1901、节电处理器B1902、节电处理器C1903、高性能处理器A1904、高性能处理器B1905、高性能处理器C1906的顺序的情况下的例子进行了说明,但只要顺序唯一地决定就可以,并不一定需要是节电处理器A1901、节电处理器B1902、节电处理器C1903、高性能处理器A1904、高性能处理器B1905、高性能处理器C1906的顺序。
(14)在实施方式1中,对开关设定寄存器210的位数是8位的情况的例子进行了说明,但只要是能够设定对各处理器供给的电源电压的位数,并不一定需要是8位。
此外,在实施方式1中,对在虚拟计算机系统100中处理器的数量是4、对各处理器供给的电源电压是3种的情况下、使开关设定寄存器210的位数为8位的例子进行了说明,但只要是处理器的数量及电源电压的种类与虚拟计算机系统100相互不同的虚拟计算机系统,当然可以反映该虚拟计算机系统中的处理器的数量及电源电压的种类而决定开关设定寄存器的位数。
同样,在实施方式2中,对开关设定寄存器2010的位数是12位的情况下的例子进行了说明,但只要是能够设定对各处理器供给的电源电压的位数,并不一定需要是12位。
此外,同样在实施方式2中,对在虚拟计算机系统1900中节电处理器的数量是3、向各节电处理器供给的电源电压是3种、高性能处理器的数量是3、对各高性能处理器供给的电源电压是3种的情况下、使开关设定寄存器2010的位数为12位的例子进行了说明,但如果是处理器的数量及电源电压的种类与虚拟计算机系统1900相互不同的虚拟计算机系统,则当然可以反映该虚拟计算机系统中的处理器的数量及电源电压的种类来决定开关设定寄存器的位数。
(15)在实施方式1中,对选择器设定寄存器310的位数是8位的情况下的例子进行了说明,但只要是能够设定对各处理器供给的时钟信号的频率的位数就可以,并不一定需要是8位。
此外,在实施方式1中,对在虚拟计算机系统100中、在处理器的数量是4、向各处理器供给的时钟信号是3种的情况下、使选择器设定寄存器310的位数为8位的例子进行了说明,但如果是处理器的数量及时钟信号的种类与虚拟计算机系统100相互不同的虚拟计算机系统,则当然可以反映该虚拟计算机系统中的处理器的数量及时钟信号的种类来决定选择器设定寄存器的位数。
同样,在实施方式2中,对选择器设定寄存器2110的位数是12位的情况下的例子进行了说明,但只要是能够设定向各处理器供给的时钟信号的频率的位数,并不一定需要是12位。
此外,同样,在实施方式2中,对在虚拟计算机系统1900中、节电处理器的数量是3、对各节电处理器供给的时钟信号是3种、高性能处理器的数量是3、对各高性能处理器供给的时钟信号是3种的情况下、使选择器设定寄存器2110的位数为12位的例子进行了说明,但如果是处理器的数量及时钟信号的种类与虚拟计算机系统1900相互不同的虚拟计算机系统,则当然可以反映该虚拟计算机系统中的处理器的数量及时钟信号的种类来决定选择器设定寄存器的位数。
(16)以下,再对有关本发明的一实施方式的虚拟计算机系统的结构及其变形例和各效果进行说明。
(a)有关本发明的一实施方式的虚拟计算机系统,具有多个处理器,使多个虚拟计算机动作,其特征在于,具备:分配机构,对被供给电力的处理器分配虚拟计算机;以及电力供给机构,在上述分配机构对被供给电力而没有被分配虚拟计算机的处理器分配虚拟计算机的情况下,当存在多个没有被供给电力的处理器时,对没有被供给电力的处理器中的一部分处理器供给电力,维持对没有被供给电力的处理器中的上述一部分处理器以外的处理器不供给电力的状态。
具备上述结构的有关本发明的虚拟计算机系统在对被供给电力而没有被分配虚拟计算机的处理器分配虚拟计算机的情况下,能够为接着对新的处理器分配虚拟计算机时准备,使电力供给机构新供给电力的处理器成为待机状态。
此外,对没有被分配虚拟计算机的处理器中的、为接着对新的处理器分配虚拟计算机时准备而待机的处理器以外的处理器不供给电力。
因而,能够在防止虚拟计算机系统的性能下降的同时抑制耗电。
图35是示意地表示在上述变形例中、在具有多个处理器、使多个虚拟计算机动作的虚拟计算机系统上实现的分配机构3501和电力供给机构3502的示意图。
在该图中,分配机构3501具有对被供给电力的处理器分配虚拟计算机的功能。该分配部3501作为一例,作为实施方式1(参照图4)的管理器440的功能的一部分实现。
电力供给机构3502具有以下功能:在分配机构3501对被供给电力而没有被分配虚拟计算机的处理器分配虚拟计算机的情况下,当存在多个没有被供给电力的处理器时,对没有被供给电力的处理器中的一部分处理器供给电力,维持对没有被供给电力的处理器中的上述一部分处理器以外的处理器不供给电力的状态。该电力供给机构3502作为一例,作为实施方式1的管理器440的功能的一部分实现。
(b)此外,上述虚拟计算机系统也可以具备时钟供给机构,该时钟供给机构仅对处理器中的被供给电力的处理器供给时钟信号。
通过这样的结构,由于不再对不动作的处理器供给时钟信号,所以能够在防止虚拟计算机系统的性能的下降的同时抑制耗电。
(c)此外,上述虚拟计算机系统也可以具备时钟控制机构,该时钟控制机构控制对被供给电力的处理器供给的时钟信号,以使得对被供给电力且被分配了虚拟计算机的处理器供给的时钟信号的频率比被供给电力而没有被分配虚拟计算机的处理器供给的时钟信号的频率高。
通过做成这样的结构,由于能够使待机中的处理器的耗电比被分配了虚拟计算机的处理器的耗电低,所以能够在防止虚拟计算机系统的性能的下降的同时抑制耗电。
(d)此外,上述虚拟计算机系统也可以具备电压控制机构,该电压控制机构控制被供给电力的处理器的电源电压,以使得被供给电力且被分配了虚拟计算机的处理器的电源电压比被供给电力而没有被分配虚拟计算机的处理器的电源电压高。
通过做成这样的结构,由于能够使待机中的处理器的耗电比被分配了虚拟计算机的处理器的耗电低,所以能够在防止虚拟计算机系统的性能的下降的同时抑制耗电。
(e)此外,上述虚拟计算机系统也可以是,上述电力供给机构还在被供给电力且被分配了虚拟计算机的处理器变为没有被分配虚拟计算机的状态的情况下,将被供给电力而没有被分配虚拟计算机的处理器中的至少1个处理器的电力供给停止。
通过做成这样的结构,由于能够减少待机中的处理器的数量,所以能够抑制耗电。
(f)此外,上述虚拟计算机系统也可以是,上述分配机构如以下这样进行上述虚拟计算机的分配:在对被分配了第1虚拟计算机的第1处理器分配该第1虚拟计算机以外的虚拟计算机的情况下,当作为该第1虚拟计算机的处理对象的处理满足规定条件时,如果存在被供给电力而没有被分配虚拟计算机的第2处理器,则将上述虚拟计算机从上述第1处理器变更分配给上述第2处理器。
通过做成这样的结构,如果在被分配了多个虚拟计算机的处理器中动作的虚拟计算机中有负荷变大的虚拟计算机,则能够将该虚拟计算机分配给其他处理器,使该处理器由该虚拟计算机专有而动作。
(g)此外,上述虚拟计算机系统也可以是,上述分配机构如以下这样进行上述虚拟计算机的分配:在对被分配了第1虚拟计算机的第1处理器未分配该第1虚拟计算机以外的虚拟计算机的情况下,当作为该第1虚拟计算机的处理对象的处理满足第1规定条件时,如果存在被分配了作为处理对象的处理满足第2规定条件的虚拟计算机的第2处理器,则将上述第1虚拟计算机从上述第1处理器变更分配给上述第2处理器。
通过做成这样的结构,如果对处理器专有而动作的虚拟计算机的负荷变小,则能够使该虚拟计算机与其他虚拟计算机将处理器共有而动作。
(h)此外,上述虚拟计算机系统也可以是,上述虚拟计算机系统具有多个第1种处理器、和与第1种处理器相比处理能力和耗电低的多个第2种处理器;上述分配机构如以下这样进行上述虚拟计算机的分配:对于没有被分配给处理器的虚拟计算机中的每一个虚拟计算机,在作为该虚拟计算机的处理对象的处理满足规定条件的情况下,变更所分配的处理器的处理器种类;上述电力供给机构如以下这样进行上述电力的供给:在上述分配机构对被供给电力而没有被分配虚拟计算机的第1种处理器分配虚拟计算机的情况下,当存在多个没有被供给电力的第1种处理器时,对没有被供给电力的第1种处理器中的一部分处理器供给电力,维持对没有被供给电力的第1种处理器中的上述一部分处理器以外的处理器不供给电力的状态,在上述分配机构对被供给电力而没有被分配虚拟计算机的第2种处理器分配虚拟计算机的情况下,当存在多个没有被供给电力的第2种处理器时,对没有被供给电力的第2种处理器中的一部分处理器供给电力,维持对没有被供给电力的第2种处理器中的上述一部分处理器以外的处理器不供给电力的状态。
通过做成这样的结构,处理器的种类比1个虚拟计算机系统更细致,能够进行虚拟计算机系统的性能和耗电的权衡的调整。
(i)此外,上述虚拟计算机系统也可以是,上述电力供给机构还在被供给电力且被分配了虚拟计算机的第1种处理器变为没有被分配虚拟计算机的状态的情况下,将被供给电力而没有被分配虚拟计算机的第1种处理器中的至少1个第1种处理器的电力供给停止,在被供给电力且被分配了虚拟计算机的第2种处理器变为没有被分配虚拟计算机的状态的情况下,将被供给电力而没有被分配虚拟计算机的第2种处理器中的至少1个第2种处理器的电力供给停止。
通过做成这样的结构,能够减少待机中的第1种处理器的数量和待机中的第2种处理器的数量,所以能够抑制耗电。
工业实用性
本发明能够在具有多个处理器、使多个虚拟计算机动作的系统中广泛使用。
标号说明
100虚拟计算机系统
101处理器A
102处理器B
103处理器C
104处理器D
110系统LSI
111电源控制块
112时钟控制块
113ROM
114RAM
115硬盘装置接口
116输出装置接口
117输入装置接口
120内部总线
130硬盘装置
131输出装置
132输入装置