CN102971710B - 虚拟计算机系统、虚拟计算机控制方法、及集成电路 - Google Patents

虚拟计算机系统、虚拟计算机控制方法、及集成电路 Download PDF

Info

Publication number
CN102971710B
CN102971710B CN201180033251.4A CN201180033251A CN102971710B CN 102971710 B CN102971710 B CN 102971710B CN 201180033251 A CN201180033251 A CN 201180033251A CN 102971710 B CN102971710 B CN 102971710B
Authority
CN
China
Prior art keywords
processor
virtual machine
mentioned
state
virtual
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
CN201180033251.4A
Other languages
English (en)
Other versions
CN102971710A (zh
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.)
III Holdings 12 LLC
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of CN102971710A publication Critical patent/CN102971710A/zh
Application granted granted Critical
Publication of CN102971710B publication Critical patent/CN102971710B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

在具备多个处理器、使用这些多个处理器将多个虚拟计算机并行地执行的虚拟计算机系统中,想要不牺牲虚拟计算机系统的性能而抑制耗电。在有多个没有被分配虚拟计算机的处理器的情况下,对没有被分配虚拟计算机的处理器中的1个处理器供给电源而成为待机状态,对其余的处理器不供给电源。

Description

虚拟计算机系统、虚拟计算机控制方法、及集成电路
技术领域
本发明涉及将多个虚拟计算机并行地执行的虚拟计算机系统。
背景技术
已知有具备多个处理器、使用这些多个处理器并行地执行多个虚拟计算机的虚拟计算机系统(参照专利文献1)。
在这种虚拟计算机系统中,将各虚拟计算机分配给1或多个处理器来加以执行。
另一方面,如果处理器的数量比虚拟计算机的数量多,则有对一部分处理器不分配虚拟计算机的情况。
此外,作为用来削减具备多个处理器的虚拟计算机系统的耗电的技术,例如已知有记载在专利文献2、专利文献3中的技术等。
专利文献2中记载的技术是在虚拟计算机系统中对于一部分的处理器没有分配虚拟计算机的情况下、将向该处理器的电源供给切断的技术,专利文献3中记载的技术是在虚拟计算机系统中存在没有被分配虚拟计算机的处理器的情况下使该处理器成为休眠(sleep)状态的技术。
专利文献1:日本特开2006-113767号公报
专利文献2:日本特开2004-192612号公报
专利文献3:日本特开2009-140157号公报
发明概要
发明要解决的课题
一般而言,在将被切断了电源供给的处理器起动的情况下,在该处理器能够稳定执行处理之前,典型地讲,需要几毫秒~几十毫秒。
在专利文献2所公开的技术中,在要对没有被分配虚拟计算机的处理器新分配虚拟计算机的情况下,需要使这些处理器新起动。
因而,即使要对没有被分配虚拟计算机的处理器新分配虚拟计算机,到新起动的处理器开始处理之前,典型地要花费几毫秒~几十毫秒的时间,有虚拟计算机系统的性能下降的问题。
在专利文献3所公开的技术中,没有被分配虚拟计算机的全部的处理器在新被分配虚拟计算机之前为休眠状态。
但是,休眠状态的处理器尽管不能进行有关虚拟计算机的处理,虽比通常动作状态耗电少,但也消耗一定量的电力。
因而,如果没有被分配虚拟计算机的处理器的数量变多,则有由不进行有关虚拟计算机的处理的处理器带来的耗电变多的问题。
发明内容
所以,本发明是鉴于这样的问题而做出的,目的是提供一种在防止虚拟计算机系统的性能的下降的同时抑制耗电的虚拟计算机系统。
为了解决上述问题,有关本发明的虚拟计算机系统,具有多个处理器,使多个虚拟计算机动作,其特征在于,具备:分配机构,对被供给电力的处理器分配虚拟计算机;以及电力供给机构,在上述分配机构对被供给电力而没有被分配虚拟计算机的处理器分配虚拟计算机的情况下,当存在多个没有被供给电力的处理器时,对没有被供给电力的处理器中的一部分处理器供给电力,维持对没有被供给电力的处理器中的上述一部分处理器以外的处理器不供给电力的状态。
发明效果
具备上述结构的有关本发明的虚拟计算机系统,在对被供给电力而没有被分配虚拟计算机的处理器分配虚拟计算机的情况下,能够为接着对新的处理器分配虚拟计算机时准备、使电力供给机构新供给电力的处理器成为待机状态。
此外,对没有被分配虚拟计算机的处理器中的、为接着对新的处理器分配虚拟计算机时准备而待机的处理器以外的处理器不供给电力。
因而,能够在防止虚拟计算机系统的性能下降的同时抑制耗电。
附图说明
图1是表示虚拟计算机系统100的主要的硬件结构的框图。
图2是表示电源控制块111的结构的框图。
图3是表示时钟控制块112的结构的框图。
图4是表示构成虚拟计算机系统100的主要的功能块的功能结构图。
图5是虚拟计算机信息的数据结构图。
图6是处理器信息的数据结构图。
图7是系统起动处理的流程图。
图8是系统更新处理的流程图。
图9是虚拟计算机分配处理的流程图之1。
图10是虚拟计算机分配处理的流程图之2。
图11是虚拟计算机分配变更处理的流程图。
图12是处理器更新处理的流程图。
图13是虚拟计算机信息的数据结构图。
图14是处理器信息的数据结构图。
图15是表示构成虚拟计算机系统100的主要的功能块的功能结构图。
图16是虚拟计算机信息的数据结构图。
图17是处理器信息的数据结构图。
图18是表示构成虚拟计算机系统100的主要的功能块的结构图。
图19是表示变形虚拟计算机系统1900的主要的硬件结构的框图。
图20是表示电源控制块1911的结构的框图。
图21是表示时钟控制块1912的结构的框图。
图22是表示构成变形虚拟计算机系统1900的主要的功能块的功能结构图。
图23是虚拟计算机信息的数据结构图。
图24是处理器信息的数据结构图。
图25是变形系统起动处理的流程图。
图26是变形处理器更新处理的流程图之1。
图27是变形处理器更新处理的流程图之2。
图28是变形系统更新处理的流程图。
图29是变形虚拟计算机分配处理的流程图之1。
图30是变形虚拟计算机分配处理的流程图之2。
图31是变形虚拟计算机分配变更处理的流程图。
图32是虚拟计算机信息的数据结构图。
图33是处理器信息的数据结构图。
图34是表示构成变形虚拟计算机系统1900的主要的功能块的功能结构图。
图35是表示在变形例中、在虚拟计算机系统上实现的分配机构3501和电力供给机构3502的示意图。
具体实施方式
<实施方式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输入装置

Claims (12)

1.一种虚拟计算机系统,具有多个处理器,使多个虚拟计算机动作,该多个处理器为被供给电力而动作的第1状态、被供给比上述第1状态少的电力而动作的第2状态、和不被供给电力而停止的第3状态中的某个状态,其特征在于,具备:
分配机构,对被供给电力的处理器分配虚拟计算机;以及
电力供给机构,在上述分配机构对处于上述第2状态而没有被分配虚拟计算机的处理器分配虚拟计算机的情况下,当存在多个处于上述第3状态的处理器时,对处于上述第3状态的处理器中的一部分处理器供给电力而使之成为上述第2状态,维持对处于上述第3状态的处理器中的上述一部分处理器以外的处理器不供给电力的状态,
上述电力供给机构,对要被分配虚拟计算机的处于上述第2状态的处理器供给电力而使之成为上述第1状态。
2.如权利要求1所述的虚拟计算机系统,其特征在于,
具备时钟供给机构,该时钟供给机构仅对处理器中的被供给电力的处理器供给时钟信号。
3.如权利要求2所述的虚拟计算机系统,其特征在于,
具备时钟控制机构,该时钟控制机构控制对被供给电力的处理器供给的时钟信号,以使得对处于上述第1状态且被分配了虚拟计算机的处理器供给的时钟信号的频率比处于上述第2状态而没有被分配虚拟计算机的处理器供给的时钟信号的频率高。
4.如权利要求1所述的虚拟计算机系统,其特征在于,
具备电压控制机构,该电压控制机构控制被供给电力的处理器的电源电压,以使得处于上述第1状态且被分配了虚拟计算机的处理器的电源电压比处于上述第2状态而没有被分配虚拟计算机的处理器的电源电压高。
5.如权利要求1所述的虚拟计算机系统,其特征在于,
上述电力供给机构还在处于上述第1状态且被分配了虚拟计算机的处理器变为没有被分配虚拟计算机的状态的情况下,将处于上述第2状态而没有被分配虚拟计算机的处理器中的至少1个处理器的电力供给停止。
6.如权利要求1所述的虚拟计算机系统,其特征在于,
上述分配机构如以下这样进行上述虚拟计算机的分配:在对被分配了第1虚拟计算机的第1处理器分配该第1虚拟计算机以外的虚拟计算机的情况下,当作为该第1虚拟计算机的处理对象的处理满足规定条件时,如果存在处于上述第2状态而没有被分配虚拟计算机的第2处理器,则将上述第1虚拟计算机从上述第1处理器变更分配给上述第2处理器。
7.如权利要求6所述的虚拟计算机系统,其特征在于,
上述分配机构进行分配,以使上述第1虚拟计算机专有上述第2处理器而动作。
8.如权利要求1所述的虚拟计算机系统,其特征在于,
上述分配机构如以下这样进行上述虚拟计算机的分配:在对被分配了第1虚拟计算机的第1处理器未分配该第1虚拟计算机以外的虚拟计算机的情况下,当作为该第1虚拟计算机的处理对象的处理满足第1规定条件时,如果存在被分配了作为处理对象的处理满足第2规定条件的虚拟计算机的第2处理器,则将上述第1虚拟计算机从上述第1处理器变更分配给上述第2处理器。
9.如权利要求1所述的虚拟计算机系统,其特征在于,
上述虚拟计算机系统具有多个第1种处理器、和与第1种处理器相比处理能力和耗电低的多个第2种处理器;
上述分配机构如以下这样进行上述虚拟计算机的分配:对于被分配给处理器的虚拟计算机中的每一个虚拟计算机,在作为该虚拟计算机的处理对象的处理满足规定条件的情况下,变更所分配的处理器的处理器种类;
上述电力供给机构如以下这样进行上述电力的供给:在上述分配机构对处于上述第2状态而没有被分配虚拟计算机的第1种处理器分配虚拟计算机的情况下,当存在多个处于上述第3状态的第1种处理器时,对处于上述第3状态的第1种处理器中的一部分处理器供给电力而使之成为上述第2状态,维持对处于上述第3状态的第1种处理器中的上述一部分处理器以外的处理器不供给电力的状态,在上述分配机构对处于上述第2状态而没有被分配虚拟计算机的第2种处理器分配虚拟计算机的情况下,当存在多个处于上述第3状态的第2种处理器时,对处于上述第3状态的第2种处理器中的一部分处理器供给电力而使之成为上述第2状态,维持对处于上述第3状态的第2种处理器中的上述一部分处理器以外的处理器不供给电力的状态。
10.如权利要求9所述的虚拟计算机系统,其特征在于,
上述电力供给机构还在处于上述第1状态且被分配了虚拟计算机的第1种处理器变为没有被分配虚拟计算机的状态的情况下,将处于上述第2状态而没有被分配虚拟计算机的第1种处理器中的至少1个第1种处理器的电力供给停止,在处于上述第1状态且被分配了虚拟计算机的第2种处理器变为没有被分配虚拟计算机的状态的情况下,将处于上述第2状态而没有被分配虚拟计算机的第2种处理器中的至少1个第2种处理器的电力供给停止。
11.如权利要求1所述的虚拟计算机系统,其特征在于,
上述处理器、上述分配机构以及上述电力供给机构由集成电路构成。
12.一种控制方法,控制具有多个处理器、使多个虚拟计算机动作的虚拟计算机系统,该多个处理器为被供给电力而动作的第1状态、被供给比上述第1状态少的电力而动作的第2状态、和不被供给电力而停止的第3状态中的某个状态,其特征在于,具备:
分配步骤,对被供给电力的处理器分配虚拟计算机;以及
电力供给步骤,在上述分配步骤对处于上述第2状态而没有被分配虚拟计算机的处理器分配虚拟计算机的情况下,当存在多个处于上述第3状态的处理器时,对处于上述第3状态的处理器中的一部分处理器供给电力而使之成为上述第2状态,维持对处于上述第3状态的处理器中的上述一部分处理器以外的处理器不供给电力的状态,
上述电力供给步骤中,对要被分配虚拟计算机的处于上述第2状态的处理器供给电力而使之成为上述第1状态。
CN201180033251.4A 2010-07-06 2011-06-27 虚拟计算机系统、虚拟计算机控制方法、及集成电路 Expired - Fee Related CN102971710B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010-154068 2010-07-06
JP2010154068 2010-07-06
PCT/JP2011/003662 WO2012004948A1 (ja) 2010-07-06 2011-06-27 仮想計算機システム、仮想計算機制御方法、及び集積回路

Publications (2)

Publication Number Publication Date
CN102971710A CN102971710A (zh) 2013-03-13
CN102971710B true CN102971710B (zh) 2016-06-29

Family

ID=45440943

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180033251.4A Expired - Fee Related CN102971710B (zh) 2010-07-06 2011-06-27 虚拟计算机系统、虚拟计算机控制方法、及集成电路

Country Status (5)

Country Link
US (1) US9069589B2 (zh)
EP (1) EP2592549B1 (zh)
JP (1) JP5815524B2 (zh)
CN (1) CN102971710B (zh)
WO (1) WO2012004948A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8346935B2 (en) * 2010-01-15 2013-01-01 Joyent, Inc. Managing hardware resources by sending messages amongst servers in a data center
US8555276B2 (en) 2011-03-11 2013-10-08 Joyent, Inc. Systems and methods for transparently optimizing workloads
JP5835342B2 (ja) * 2011-10-31 2015-12-24 富士通株式会社 情報処理装置、情報処理装置の制御方法、仮想マシン制御プログラム及び情報処理システム
US8782224B2 (en) 2011-12-29 2014-07-15 Joyent, Inc. Systems and methods for time-based dynamic allocation of resource management
JP5998566B2 (ja) * 2012-03-27 2016-09-28 富士通株式会社 移動制御プログラム、移動制御方法および制御装置
US8826279B1 (en) 2013-03-14 2014-09-02 Joyent, Inc. Instruction set architecture for compute-based object stores
US8881279B2 (en) 2013-03-14 2014-11-04 Joyent, Inc. Systems and methods for zone-based intrusion detection
US8943284B2 (en) 2013-03-14 2015-01-27 Joyent, Inc. Systems and methods for integrating compute resources in a storage area network
US8677359B1 (en) 2013-03-14 2014-03-18 Joyent, Inc. Compute-centric object stores and methods of use
US9104456B2 (en) * 2013-03-14 2015-08-11 Joyent, Inc. Zone management of compute-centric object stores
US9092238B2 (en) 2013-03-15 2015-07-28 Joyent, Inc. Versioning schemes for compute-centric object stores
US8793688B1 (en) 2013-03-15 2014-07-29 Joyent, Inc. Systems and methods for double hulled virtualization operations
US8775485B1 (en) 2013-03-15 2014-07-08 Joyent, Inc. Object store management operations within compute-centric object stores
US20160149566A1 (en) * 2013-06-27 2016-05-26 Emory University Devices, Methods and Computer Readable Storage Media Storing Instructions for Generating Pulse Signals
US9760390B2 (en) 2013-07-16 2017-09-12 Empire Technology Development Llc Processor identification for virtual machines
US9634486B2 (en) * 2014-07-09 2017-04-25 Qualcomm Incorporated Dynamic power rail control for clusters of loads
CN104679218A (zh) 2015-02-13 2015-06-03 小米科技有限责任公司 控制功耗的方法和装置
US10976801B2 (en) * 2018-09-20 2021-04-13 Intel Corporation System, apparatus and method for power budget distribution for a plurality of virtual machines to execute on a processor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1717657A (zh) * 2002-11-27 2006-01-04 国际商业机器公司 基于特定于应用的冗余特征的自动功率控制策励
US7441135B1 (en) * 2008-01-14 2008-10-21 International Business Machines Corporation Adaptive dynamic buffering system for power management in server clusters
CN101689106A (zh) * 2007-06-12 2010-03-31 松下电器产业株式会社 多处理器控制装置、多处理器控制方法以及多处理器控制电路

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007183B2 (en) 2002-12-09 2006-02-28 International Business Machines Corporation Power conservation by turning off power supply to unallocated resources in partitioned data processing systems
JP2006113767A (ja) 2004-10-14 2006-04-27 Sony Corp 情報処理システム、および、情報処理方法、並びに、プログラム
US7756972B2 (en) 2005-12-06 2010-07-13 Cisco Technology, Inc. System for power savings in server farms
JP4609380B2 (ja) * 2006-05-31 2011-01-12 日本電気株式会社 仮想サーバ管理システムおよびその方法ならびに管理サーバ装置
US8468230B2 (en) 2007-10-18 2013-06-18 Fujitsu Limited Method, apparatus and recording medium for migrating a virtual machine
JP5104588B2 (ja) 2007-10-18 2012-12-19 富士通株式会社 マイグレーションプログラム、および仮想マシン管理装置
JP5433837B2 (ja) * 2007-12-05 2014-03-05 株式会社日立製作所 仮想計算機システム、仮想計算機の制御方法及びプログラム
JP2009237859A (ja) * 2008-03-27 2009-10-15 Nec Corp 仮想マシン管理システム
US8892916B2 (en) * 2008-08-06 2014-11-18 International Business Machines Corporation Dynamic core pool management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1717657A (zh) * 2002-11-27 2006-01-04 国际商业机器公司 基于特定于应用的冗余特征的自动功率控制策励
CN101689106A (zh) * 2007-06-12 2010-03-31 松下电器产业株式会社 多处理器控制装置、多处理器控制方法以及多处理器控制电路
US7441135B1 (en) * 2008-01-14 2008-10-21 International Business Machines Corporation Adaptive dynamic buffering system for power management in server clusters

Also Published As

Publication number Publication date
JPWO2012004948A1 (ja) 2013-09-02
EP2592549A1 (en) 2013-05-15
EP2592549B1 (en) 2020-10-14
JP5815524B2 (ja) 2015-11-17
US9069589B2 (en) 2015-06-30
US20130081016A1 (en) 2013-03-28
WO2012004948A1 (ja) 2012-01-12
EP2592549A4 (en) 2013-12-04
CN102971710A (zh) 2013-03-13

Similar Documents

Publication Publication Date Title
CN102971710B (zh) 虚拟计算机系统、虚拟计算机控制方法、及集成电路
US6986069B2 (en) Methods and apparatus for static and dynamic power management of computer systems
JP5400482B2 (ja) 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム
JP4426976B2 (ja) マルチプロセッサ・コンピュータ・システムの計算コンポーネント内の電力を管理する方法およびコンピュータ・プログラム
CN104516769B (zh) 用于验证逻辑分区配置之间的切换的方法、介质及系统
EP1031924A2 (en) Computer executing multiple operating system
CN102110023B (zh) 一种多用户操作系统并行运行的控制方法、系统及计算机
US11740921B2 (en) Coordinated container scheduling for improved resource allocation in virtual computing environment
CN104714846A (zh) 资源处理方法、操作系统及设备
CN108028804A (zh) 基于结构限制的虚拟计算环境中虚拟机的管理
CN109960589A (zh) 嵌入式系统的系统软件层的实现方法、装置及可读介质
CN108664440A (zh) 接口服务器和机箱
CN104181836B (zh) 信号切换装置
CN111290858B (zh) 输入输出资源管理方法、装置、计算机设备和存储介质
KR101557995B1 (ko) 다중 운영체제를 지원하는 단말기 및 그 단말기에 대한시스템 자원 할당 방법
KR102129563B1 (ko) 시스템 자원의 최적화를 통한 컴퓨터 에너지 절감 장치 및 방법
JP5447648B2 (ja) デバイス設定プログラム、方法、及び情報処理装置
US20170269944A1 (en) Method for optimizing performance of computationally intensive applications
TWI733744B (zh) 計算設備及計算設備儲存部件的管理方法及系統
CN106598908B (zh) 计算设备及计算设备存储部件的管理方法及系统
CN114281526B (zh) 一种fru信息存储器的自适应控制权分配方法、系统及装置
RU2823113C1 (ru) Вычислительный модуль с динамическим перераспределением вычислительных ресурсов
CN118170522B (zh) 任务调度方法、装置、电子设备及可读存储介质
CN111221583B (zh) 多智能卡启动管理装置及系统
JP7086320B1 (ja) システム構築支援装置、システム構築支援装置の動作方法及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MATSUSHITA ELECTRIC (AMERICA) INTELLECTUAL PROPERT

Free format text: FORMER OWNER: MATSUSHITA ELECTRIC INDUSTRIAL CO, LTD.

Effective date: 20141010

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20141010

Address after: Seaman Avenue Torrance in the United States of California No. 2000 room 200

Applicant after: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA

Address before: Osaka Japan

Applicant before: Matsushita Electric Industrial Co.,Ltd.

C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Seaman Avenue Torrance the American city of California, No. 20000, room 200, 90503

Applicant after: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA

Address before: Seaman Avenue Torrance in the United States of California No. 2000 room 200

Applicant before: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA

COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM:

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20170602

Address after: Delaware

Patentee after: III Holdings 12 LLC

Address before: Seaman Avenue Torrance the American city of California, No. 20000, room 200, 90503

Patentee before: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160629

CF01 Termination of patent right due to non-payment of annual fee