用户产生的数据中心节电的制作方法

文档序号:6496775阅读:203来源:国知局
用户产生的数据中心节电的制作方法
【专利摘要】本文描述的技术用于提供数据中心的节电。一些示例技术可以从数据中心的多个虚拟机中识别一些用户提供的硬件独立的节电编码。这些技术可以将用户提供的硬件独立的节电编码的至少一部分转换成装置电力管理消息,该装置电力管理消息特定于数据中心的计算系统。这些技术可以将装置电力管理消息提供至计算系统。该计算系统可以被配置为根据装置电力管理消息启用或禁用该计算系统中的一个或多个装置。
【专利说明】用户产生的数据中心节电
【背景技术】
[0001]除非此外另有指明,否则在该部分描述的材料不构成本申请权利要求的现有技术并且不通过被包含在该部分而被承认是现有技术。
[0002]一般地,数据中心的电力优化可以在硬件层使用基本的硬件层优化而被执行。例如,数据中心可以执行数据中心的一个或多个处理器核的每核电力门控(power gating)。数据中心还可以为机架提供一电量,该电量少于如果机架中所有的处理器核将同时达到峰顶的情况下处理器将使用的电量。该方法得益于一个观察,即:机架中的处理器核很少同时操作至峰顶。在该罕有的事件中,即所有处理器核确实达到峰顶,数据中心可以执行硬件编码的频率调节。
[0003]以上描述的电力优化技术通常地由数据中心启动并执行,而没有来自数据中心的用户的输入。一般地,数据中心的用户可能因多种原因没有向数据中心提供关于电力优化的输入。第一,数据中心可能没有提供一种机制,通过该机制,用户能提交关于电力优化的信息。第二,数据中心关于其硬件规格或配置不是简洁明了。没有这样的硬件规格或配置,用户难以向数据中心提交关于硬件层优化的相关信息。
[0004]概沭
[0005]本公开一般地描述用于在数据中心提供节电的技术。一些示例方法可以从数据中心的多个虚拟机中识别一些用户提供的硬件独立的节电编码。示例方法可以将用户提供的硬件独立的节电编码的至少一部分转换成装置电力管理消息,该装置电力管理消息特定于数据中心的计算系统。示例方法可以将装置电力管理消息提供至计算系统。该计算系统可以被配置为根据该装置电力管理消息启用或禁用计算系统中的一个或多个装置。
[0006]本公开一般地进一步描述一些计算机可读存储媒介,所述计算机可读存储媒介被适于在数据中心提供节电。所述计算机可读存储媒介可以包括计算机可执行指令,所述计算机可执行指令被存储在所述计算机可读存储媒介上,当被计算机执行时,其引起所述计算机执行一个或多个操作。一些示例计算机可执行指令可以引起计算机识别一些用户提供的硬件独立的节电编码,所述一些用户提供的硬件独立的节电编码被包括在应用程序编码中以被数据中心的计算系统中的多个虚拟机执行。示例计算机可执行指令可引起计算机将用户提供的硬件独立的节电编码的至少一部分转换成装置电力管理消息,所述装置电力管理消息特定于计算系统。示例计算机可执行指令可引起计算机将所述装置电力管理消息提供至所述计算系统。所述计算系统可以被配置为当其执行应用程序编码时,该计算系统根据装置电力管理消息启用或禁用计算系统中的一个或多个装置。
[0007]本公开一般地还描述一些数据中心,所述一些数据中心被适于提供节电。一些示例数据中心可以包括第一计算系统和第一管理单元,所述第一计算系统具有包括第一装置的第一基于处理器的硬件配置,所述第一管理单元被耦合到所述第一装置上。示例数据中心可以包括第二计算系统和第二管理单元,所述第二计算系统具有包括第二装置的第二基于处理器的硬件配置,所述第二管理单元被耦合到所述第二装置上。示例数据中心可以包括由第一计算系统执行的第一驱动器。所述第一驱动器被配置为从在第一计算系统中的多个第一虚拟机上执行的应用程序编码中识别一些用户提供的硬件独立的节电编码的第一部分,将所述用户提供的硬件独立的节电编码的第一部分转换成特定于数据中心的第一计算系统的装置电力管理消息,并向第一管理单元提供所述装置电力管理消息。第一管理单元可以被配置为根据第一装置电力管理消息启用和禁用第一装置。示例数据中心可以包括由第二计算系统执行的第二驱动器。所述第二驱动器可以被配置为从在第二计算系统中的多个第二虚拟机上执行的应用程序编码中识别用户提供的硬件独立的节电编码的第二部分,将所述用户提供的硬件独立的节电编码的第二部分转换成特定于数据中心的第二计算系统的第二装置电力管理消息,并将所述第二装置电力管理消息提供至第二管理单元。所述第二管理单元可以被配置为根据第二装置电力管理消息启用和禁用第二装置。
[0008]前述的概述仅为示例性的,并不意在以任何方式进行限制。除上面描述的示例性方面、实施例及特征外,通过参考图及以下详细描述,另外的方面、实施例及特征将变得明显。
【专利附图】

【附图说明】
[0009]从以下详细描述,附图及所附权利要求,本公开的前面及其他特征将变成更为明显。需理解,这些图仅描绘了根据该公开的一些实施例,因此其并不被认为限制其范围。参考附图将描述本公开的另外的特性及细节,其中:
[0010]图1为示出被适于在数据中心提供节电的示例网络架构的功能块图;
[0011]图2为示出独立于硬件的节电编码对于多个计算装置的示例分布的示意图;
[0012]图3为示出包括多个虚拟机的计算系统的示例实施的功能块图;
[0013]图4为示出被适于在数据中心提供节电的示例方法的流程图;
[0014]图5为示出用于示例计算系统的计算机硬件架构的块图;和
[0015]图6为示出计算机程序产品的示意图,所述计算机程序产品包括用于在计算装置上执行计算机方法的计算机程序;
[0016]所有这些均根据本文描述的至少一些实施例而被布置。
【具体实施方式】
[0017]在本详细描述中,将参考附图,附图构成了详细描述的一部分。在附图中,除非上下文另有指明,否则相似的符号通常指示相似的部件。在详细描述和附图所描述的示例性实施例不意在限制。还可以在不背离本文呈现的主题的精神或范围的情况下,使用其他实施例,并做出其他改变。将很容易理解的是,如本文一般描述地及由图所示出的,本公开的方面能够以多种不同的配置被布置、替代、组合、分开及设计,所有这些在本文都被明确地构画出。
[0018]除其他之外,本公开一般地涉及一些技术,所述一些技术被适于提供数据中心的用户启动的电力管理。数据中心可以使用户(例如,客户、程序设计员等)使用多个独立于硬件的节电编码。例如,该数据中心可以使用户能使用应用程序接口(API),通过所述应用程序接口,用户能定义一个或多个硬件独立的节电编码。用户可以使用该API来将被定义的硬件独立的节电编码插入用户的应用程序的应用程序编码中。
[0019]用户可以将该应用程序编码提供至数据中心用于执行。数据中心的一个或多个计算系统可以被指派来执行该应用程序编码。计算系统可以包括准虚拟化驱动器(paravirtualized driver),所述准虚拟化驱动器被适于将硬件独立的节电编码转换成特定于该计算系统的装置电力管理消息(message)。特别地,该装置电力管理消息可以特定于该计算系统的硬件相关的规格或配置。当计算系统执行应用程序编码时,计算系统可以被适于使用装置电力管理消息以管理电力使用。例如,装置电力管理消息可以指令操作系统或其他硬件管理器来启用/禁用或打开/关闭计算系统中的一个或多个硬件装置。
[0020]数据中心能包括多个计算系统,其中计算系统的一个或多个包括多个虚拟机。即,多个虚拟机可以在同一个硬件上运行。例如,在一些实施中,管理程序(hypervisor)可以被配置为从同一个硬件中的多个虚拟机中集合硬件独立的节电编码(或对应的装置电力管理消息)。在一些其他实施中,网络服务可以在单独的计算系统上集合硬件独立的节电编码(或对应的装置电力管理消息),并将被集合的装置电力管理消息提供至该管理程序。该管理程序可以被配置为执行被集合的硬件独立的独立节电编码或被集合的装置电力管理消息。
[0021]通过上述技术,用户可以在数据中心中启动硬件层优化。硬件独立的节电编码和准虚拟化驱动器的使用可允许用户在没有数据中心的硬件相关的规格或配置的特定知识的情况下启动硬件层优化。进一步地,API的使用可允许程序设计员在没有电力管理技术方面大量的知识的情况下,通过定义更广的硬件独立的节电编码来启动硬件层优化。在一些例子中,数据中心还可以向用户提供动机来通过以下方法来启动硬件层优化:通过记录由用户的硬件独立的节电编码引起的节电并提供对应的益处给用户。
[0022]图1为示出示例网络架构100的功能块图,所述示例网络架构被适于在数据中心102中提供节电,并根据本文描述的至少一些实施例而被布置。网络架构100可以包括数据中心102及客户计算机104,其通过网络106被通信地联接。数据中心102可以包括第一计算系统108A、第二计算系统108B及第三计算系统108C。计算系统108A-108C可被集体地称为计算系统108。在一些实施例中,数据中心102可以进一步包括日志系统110,所述日志系统110被耦合到计算系统108。虽然为简洁起见,图1的数据中心102中仅示出三个计算系统108,但是本领域技术人员将理解,数据中心102的其他实施可以包括任意数量的计算系统。
[0023]第一计算系统108A可以包括第一准虚拟化驱动器112A。第二计算系统108B可以包括第二准虚拟化驱动器112B。第三计算系统108C可以包括第三准虚拟化驱动器112C。准虚拟化驱动器112A-112C可以被集体地称为准虚拟化驱动器112。客户计算机104可以包括客户编译器114,客户应用程序的应用程序编码116,以及电力模拟器118。
[0024]在网络架构100的示意性实施中,数据中心102的客户可以使用客户计算机104通过客户编译器114来创建客户应用程序,例如与应用程序编码116相关联的客户应用程序。客户还可以希望在客户应用程序中执行用户启动的电力管理。为达到这个目的,客户可以具有关于数据中心API120的信息。例如,客户可以从远程数据商店(未示出)中下载用于数据中心API120的样本编码。在一些实施例中,电力模拟器118还可以被包括在该下载中,或可以单独地从远程数据商店中被获取。
[0025]数据中心API120可以提供一组高级程序、对象结构、或数据结构,程序设计员可以使用这些来将硬件独立的节电编码122插入应用程序编码116。硬件独立的节电编码122中的每一个都可以与硬件装置或一些硬件装置组相关联。例如,特定的硬件独立的节电编码可以与磁盘访问相关联。尽管在计算系统的一些实施中磁盘访问可以指硬盘驱动器的访问,但是在计算系统的一些其他实施中磁盘访问可以指网络连接存储的访问。硬件独立的节电编码允许程序设计员不用关心数据中心102中的计算系统108的特定硬件规格或配置。在一些其他示例中,另外的硬件独立的节电编码中的每一个均可与处理器、寄存器、缓存内存、主存储器、二级存储器、控制器、适配器、管理器或其他硬件装置的多种组合相关联。
[0026]数据中心API120可以提供不同方法,通过这些方法,程序设计员可以定义被插入到应用程序编码116中的硬件独立的节电编码122。在一个示例中,程序设计员可以定义硬件独立的节电编码122以禁用或关闭(或保持禁用或关闭)硬件装置或硬件装置组。在另一示例中,程序设计员可以定义硬件独立的节电编码122以启用或打开(或保持启用或打开)硬件装置或硬件装置组。在另一示例中,程序设计员可以定义硬件独立的节电编码122指示硬件装置或硬件装置组在将来某点将被需要(例如,磁盘访问将在10毫秒内被需要)。这最后一个示例可以允许程序设计员在硬件装置被需要前“预热”硬件装置,这样,在当硬件装置为启用或打开与当硬件装置能被使用之间的任意等待时间可以被最少化或消除。除上述示例外,本领域技术人员将理解硬件独立的节电编码122的更多详细的定义。
[0027]在一些实例中,程序设计员可以在创建硬件独立的节电编码122的最优定义以使节电最大化方面几乎没有或没有经验。在这类实例中,程序设计员可以使用电力模拟器118。电力模拟器118可以分析具有硬件独立的节电编码122的应用程序编码116的执行,并提供在特定计算系统上节约的电力的估算。程序设计员可以使用电力模拟器118来尝试硬件独立的节电编码122的不同定义或布置,并估算定义或布置中每一个的效力。电力模拟器118还可以通过,例如,模拟当无效部件被调用时的延迟,来提供洞察节电编码122的性能影响。
[0028]在程序设计员将硬件独立的节电编码122插入应用程序编码116后,程序设计员可以将应用程序编码116提供至数据中心102。数据中心102可以选择计算系统108中的一个或多个来执行应用程序编码116。在一个说明性示例中,计算系统108可以被选择来执行应用程序编码116。由于计算系统108执行应用程序编码116,计算系统108可以读取硬件独立的节电编码122。
[0029]当计算系统108中的一个读取硬件独立的节电编码122时,准虚拟化驱动器112中对应的一个可以识别适用于该计算系统的硬件独立的节电编码122的至少一个子集。准虚拟化驱动器112中的每一个都可以被配置为辨识出与在对应计算系统中的特定硬件装置相关的某些硬件独立的节电编码。例如,与磁盘访问相关联的硬件独立的节电编码可能不适于这样的计算系统,该计算系统通过随机存取存储器而不使用外部存储器装置来处理所有存储访问。
[0030]当准虚拟化驱动器112识别出适用于对应计算系统的硬件独立的节电编码122的对应子集时,准虚拟化驱动器122可以将硬件独立的节电编码122的子集转换成对应装置电力管理消息。特别的,第一准虚拟化驱动器112A可以将适用的硬件独立的节电编码122的子集转换成第一装置电力管理消息124A。由于空间限制,装置电力管理在图1中被标记为DPM。第二准虚拟化驱动器112B可以将适用的硬件独立的节电编码122的子集转换成第二装置电力管理消息124B。第三准虚拟化驱动器112C可以将适用的硬件独立的节电编码122的子集转换成第三装置电力管理消息124C。装置电力管理消息124A-124C可以被集体称为装置电力管理消息124。可适用的硬件独立的节电编码122的子集可以在计算系统108间重叠或不重叠。以下参考图2提供与计算系统108相关联的硬件独立的节电编码122的多种子集的另外的细节。
[0031]在一说明性实施中,装置电力管理消息可以为多个符号的阵列。该阵列可以对应于计算系统108中的一个。每一个符号可以对应于计算系统108中的对应一个中的硬件装置。代表每个符号的值可以指示由计算系统108中的对应一个所执行的行动。例如,根据一些实施例,每一个符号可以由一个比特值代表。在这里,“O”比特值可以用来指令计算系统禁用或关闭(或保持禁用或关闭)特定硬件装置,且“I”比特值可以用来指令计算系统启用或打开(或保持启用或打开)特定硬件装置。在一些其他实施例中,代表每个符号的可能值的数可以大于2,来代表另外的行动或来代表更多细节性行动。
[0032]计算系统108可以执行相应的装置电力管理消息124,所述相应的装置电力管理消息124由准虚拟化驱动器112生成。特别地,计算系统108中的每一个中的操作系统、管理程序、或其他硬件管理器可以执行行动,所述行动被包含在装置电力管理消息124的对应一个中或由装置电力管理消息124的对应一个指定。在程序设计员指定或指示的多种时间,装置电力管理消息124可有效地启用/禁用或打开/关闭相应计算系统108中的特定硬件装置。当硬件装置被禁用或关闭,计算系统108可使用较少电力,这是因为电力没有流至这些硬件装置或被减少。当被禁用或关闭的硬件装置被需要时,装置电力管理消息124可以启用或打开这些硬件装置。在一些实例中,硬件装置可以在被使用前被打开来“预热”。这样能将在硬件装置被启用或打开时与硬件实际准备好被使用之间的潜在等待时间最小化或消除。
[0033]当计算系统108执行应用程序编码116时,计算系统108还可以提供当前电力使用数据126至日志系统110.当前电力使用数据126可以指示当如前述的用户启动的电力管理被执行时由计算系统108使用的电力的量。日志系统110还可以包括原始电力使用数据128。原始电力使用数据128可指示当用户启动的电力管理未被执行时由计算系统108使用的电力的量。
[0034]日志系统110可以比较当前电力使用数据126和原始电力使用数据128,来识别由用户启动的电力管理得到的节电。日志系统110可以将识别的节电的记录维持在节电日志130中。例如,节电可以由客户安排。由节电日志130指明的、由客户引起的节电可以被以某种利益形式传达给客户,例如货币利益。例如,数据中心102的管理员可以减少客户的账单的一些量。以这种方式,数据中心102的管理员可以将该利益作为对客户的激励,使客户使用用户启动的电力管理。
[0035]当创建数据中心API120时,数据中心102的管理员可以识别可能的装置管理消息,所述可能的装置管理消息可以由计算系统108产生。这些装置管理消息可以特定于计算系统108中的每一个的硬件规格或配置。例如,计算系统108可以在处理器、寄存器、高速缓冲存储器、主存储器、二级存储器、控制器、适配器、管理器或其他硬件装置上不同。计算系统108可以不仅在硬件装置类型上不同,还可以在特定硬件装置的数量或是否存在上不同。在一个说明性示例中,第一计算系统108A可以包括硬盘驱动器。第二计算系统108B可以不包括硬盘驱动器或其他外部存储器,而通过随机访问存储器处理存储请求。第三计算系统108C可以不包括硬盘驱动器,而通过网络连接的存储器处理存储请求。
[0036]数据中心102的管理员可以从计算系统108中收集可能的装置电力管理消息,并将装置电力管理消息124的集合抽取成多个类。这些类可以被创建,这样多种装置电力管理消息124之间共享的相同或相关的硬件装置的组可以被包括在每一类中。例如,与磁盘存取相关的类可以包括硬盘驱动器、网络附加的存储器,以及其他外部存储器装置。管理员可以将每个类关联至对应的硬件独立的节电编码。管理员可以将数据中心API120配置成使得客户能将多种硬件独立的节电编码插入至客户的应用程序中。
[0037]上述生成数据中心API120的方法可以使用数据中心102的计算系统108。就这一点而言,数据中心API120可以适合于该特定数据中心102的同时,数据中心API120对于其他具有不同硬件规格或配置的数据中心可以是次优的。在一些其他实施例中,数据中心API120可以为通用数据中心API,所述通用数据中心API适合于多种数据中心。通用数据中心API的一些实施可以使用比硬件独立的节电编码122更多种类的节电编码,来负责计算系统中更多可能的硬件装置。通用数据中心API的一些其他实施可以使用节电编码,所述节电编码被配置为具有比硬件独立的节电编码122更高级的通用。例如,通用数据中心API可以是数据中心电力管理行业标准的一部分。
[0038]如前所述,根据一些实施例,数据中心API120可以使得程序设计员能插入硬件节电编码122。在一些其他实施例中,数据中心API120可以进一步地使得程序设计员能设置每个计算系统的管理程序(图1中未示出)所使用的标记。每个标记可代表管理程序的一个可配置属性。例如,特定标记可以通知管理程序,特定过程能被延迟达一定时间量,而不会影响应用程序性能。这种延迟可以允许管理程序主动地管理电力峰值。
[0039]如前所述,准虚拟化驱动器112的每一个可以在计算系统108中的一个中操作,且被适于将硬件独立的节电编码122转换成用于对应计算机系统的合适的装置电力管理消息。在一些实施例中,给定的计算系统可以运行多个虚拟机,多个虚拟机中的每一个能运行单独的应用程序。在这些实例中,每一个虚拟机可以被关联至其自身的、来自对应应用程序的硬件独立的节电编码组。在计算系统上操作的管理程序可以从多个虚拟机中集合硬件独立的节电编码(和对应的装置电力管理消息)。在另一实施中,数据中心API120可以采取数据中心服务的形式,所述数据中心服务从客户应用程序中接收POST或GET超文本传输协议(HTTP)消息形式的节电编码。这样的API可以随后收集由特定计算系统108上的应用程序发出的节电编码,并将其传输至机器上的管理程序,例如,通过数据中心基础设施管理(DCIM)消息发送来传输节电编码。被传输的编码可以是原始编码或与相关指令结合的编码,如仅在图2和图3中所见。
[0040]多个电力管理消息可以或可以不具有相关于同一硬件装置的一些重叠指令。为了处理重叠的可能性,对应于计算系统的管理程序可以被配置为用于将多个装置电力管理消息组合成一个单独的电力管理消息。通过这种方式,即使当多个虚拟机存在时,计算系统可以执行单个电力管理消息。关于组合多个电力管理消息的另外的细节在下文参考图3被提供。
[0041 ] 如前所述,根据一些实施例,客户能使用数据中心API120来定义硬件独立的节电编码122。在一些其他实施例中,定义硬件独立的节电编码122的责任可以被部分或全部地从客户转移至客户编译器114。在这些实例中,客户编译器114可以是高级客户编译器,所述高级客户编译器被适于基于应用程序编码116的分析来定义硬件独立的节电编码122。特别地,客户可以指令高级客户编译器判断硬件独立的节电编码122的最优定义,且将硬件独立的节电编码122插入应用程序编码116中。高级客户编译器还可以被适于使用计算机确定的硬件独立的节电编码来重写或修改用户确定的硬件独立的节电编码。
[0042]图2为示出硬件独立的节电编码122在多个计算系统108上的示例分布的示意图,该分布依照本文呈现地至少一些实施例而被布置。节电编码122可以包括节电编码A-F。根据一说明性示例,节电编码122的第一子集可以包括节电编码A和C。节电编码A和C可以如方向线202A、202C所指示地被与第一计算系统108A相关联。节电编码122的第二子集可以包括节电编码B和E。节电编码B和E可以如方向线202B、202E所指示地被关联至第二计算系统108B。节电编码122的第三子集可以包括节电编码D和F。节电编码D和F可以如方向线202D、202F所指示地被关联至第三计算系统108C。沿方向线202D、202E的交叉点204可以指示出,节电编码D还被关联至第二计算系统108B且节电编码E还被关联至第三计算系统108C。在多种其他实施例中,硬件独立的节电编码122的一个或多个可以与计算系统108中的一个以上相关联。
[0043]图3为示出计算系统300的示例实施的功能块图,所述计算系统300包括多个虚拟机,所述计算系统300按本文呈现的至少一些实施例而被布置。计算系统300可以是计算系统108中的一个的另一示例。计算系统300可以包括管理程序302、第一虚拟机304A和第二虚拟机304B。虚拟机304A-304B可以集体地被称为虚拟机304。虽然为简洁起见图3的计算系统300仅示出两个虚拟机,本领域技术人员将理解计算系统300的其他实施可以包括任意数量的虚拟机。
[0044]第一虚拟机304A可以被关联至准虚拟化驱动器306A的第一实例。第二虚拟机304B可以被关联至准虚拟化驱动器306B的第二实例。在一说明性示例中,第一虚拟机304A可以被指派运行具有第一应用程序编码的第一应用程序,且第二虚拟机304B可以被指派运行具有第二应用程序编码的第二应用程序。准虚拟化驱动器306A的第一实例可以将读取自第一应用程序编码的相关硬件独立的节电编码转换成第一装置电力管理消息。准虚拟化驱动器306B的第二实例可以将读取自第二应用程序编码的相关硬件独立的节电编码转换成第二装置电力管理消息。
[0045]准虚拟化一般地指将软件接口呈现给虚拟机304的技术,其类似于计算系统300的底层硬件。例如,管理程序302可以将准虚拟化的网络访问呈现给虚拟机304。当虚拟机304通过准虚拟化的网络访问来传输数据时,数据没有直接地被提供给计算系统300中的网络访问硬件。而是,该数据可以被提供给由管理程序302管理的缓冲区。管理程序302可以被适于在相对于网络访问硬件的缓冲区中执行数据的更高级管理。
[0046]在图3示出的示例中,管理程序302可以被适于执行多个装置电力管理消息的更高级管理,所述多个装置电力管理消息被与多个虚拟机相关联。在这里,第一装置电力管理消息可以是具有值“00101”的比特阵列,且第二装置电力管理消息可以是具有值“01100”的比特阵列。在该示例中,比特阵列中的每个比特都可以对应于特定的硬件装置。
[0047]在这里,“ I ”比特值可以指令操作系统或其他硬件管理器启用或打开(或保持启用或打开)对应硬件装置。“O”比特值可以指令操作系统或其他硬件管理器禁用或关闭(或保持禁用或关闭)对应硬件装置。从而,第一装置电力管理消息可以包含指令,该指令启用或打开(或保持启用或打开)第三和第五硬件装置,且禁用或关闭(或保持禁用或关闭)第一、第二和第四硬件装置。第二装置电力管理消息可以包含指令,该指令启用或打开(或保持启用或打开)第二和第三硬件装置,且禁用或关闭(或保持禁用或关闭)第一、第四和第五硬件装置。
[0048]管理程序302可以被配置为在2个比特阵列上执行逻辑“或”操作。在这一示例中,当在比特阵列“ 00101”和比特阵列” 01100 “上执行逻辑“或”操作时,管理程序302可以计算“01101”的结果。得到的比特阵列“01101”可以指令操作系统或其他硬件管理器启
用或打开(或保持启用或打开)第二、第三和第五硬件装置,且禁用或关闭(或保持禁用或关闭)第一和第四硬件装置。
[0049]图4为一流程图,该流程图示出被适于在数据中心102提供节电的示例方法400,实施方法400被按照本文呈现的至少一些实施例而被布置。方法400可以包括如由一个或多个方块402-406所示出多种操作、功能或行动。
[0050]方法400开始于方 块402 (识别硬件独立的节电编码),在方块402,驱动器(例如准虚拟化驱动器112中的一个)可以被配置为识别应用程序编码中的硬件独立的节电编码122的至少一个子集,所述应用程序编码将被数据中心的计算系统执行。硬件独立的节电编码122的子集可以适用于该计算系统。在一些实施中,硬件独立的节电编码122的子集可以从计算系统上操作的多个虚拟机被识别。计算系统可以包括一个或多个硬件装置。方块402还可以作为数据中心服务被实现,该数据中心服务识别通过使用已有数据中心API消息发送由应用程序传送至它的消息中的硬件独立的节电编码。方块402之后为方块404。
[0051]在方块404(将硬件独立的节电编码转换成装置电力管理消息),驱动器可以被配置为将已识别的硬件独立的节电编码的子集转换成装置电力管理消息,该装置电力管理消息特定于计算系统的特定硬件规格或配置。在一些实施例中,装置电力管理消息可以被实现为符号阵列,其中每个符号可代表计算系统中硬件装置的一个。由每个符号代表的值可以被用来指示将在对应硬件装置上执行的行动。例如,行动可以是启用/禁用或打开/关闭对应硬件装置。方块404后面可为方块406。
[0052]在方块406 (提供装置电力管理消息至数据中心的计算系统),驱动器可以被配置为提供装置电力管理消息至计算系统。计算系统可以被配置为执行装置电力管理消息。特别地,计算系统中的操作系统或其他硬件管理器可以依照装置电力管理消息而启用/禁用或打开/关闭合适的硬件装置。通过该方法,可以实现数据中心的节电。在方块406之后,方法400重复(例如,周期性地,持续性地,或按需进行)或结束。
[0053]图5为块图,其示出一示例计算系统的计算机硬件架构,该计算机硬件架构根据本文呈现的至少一些实施例而被布置。图5包括计算机500,计算机500包括处理器510、存储器520、和一个或多个驱动器530。计算机500可以被实现为常规计算机系统、嵌入式控制计算机、笔记本电脑、或服务器计算机、移动装置、机顶盒、一体机、车载信息系统、移动电话、定制机、或其他硬件平台。处理器510可以被配置为执行图1所述的逻辑,包括驱动器112中的至少一个。可选地,处理器510可以被配置为执行图1中所述的逻辑,包括客户编译器114或电力模拟器118。
[0054]驱动器530和他们相关联的计算机存储媒介为计算机500提供计算机可读指令、数据结构、程序模块和其他数据的存储。驱动器530可以包括操作系统540、应用程序550、程序模块560、和数据库580。计算机500进一步地包括用户输入装置590,通过用户输入装置590,用户可以输入指令和数据。输入装置可以包括电子数字化器、麦克风、键盘和定点设备,其常见地被称为鼠标、追踪球或触摸板。其他输入装置可以包括操控杆、游戏手柄、盘式卫星天线、扫描器或类似物。
[0055]这些及其他输入装置可以通过用户输入接口被耦合至处理器510,所述用户输入接口被耦合至系统总线,这些及其他输入装置还可以通过其他接口和总线结构被耦合,例如并行端口、游戏端口或通用串行总线(USB)。如计算机500的计算机还可以包括其他外围输出设备,例如扬声器,这些外转输出设备可以通过输出外围接口 594或类似物被耦合。
[0056]计算机500可以在网络环境下使用与一个或多个计算机的逻辑连接进行操作,例如耦合至网络接口 596的远程计算机。远程计算机可以是个人电脑、服务器、路由器、网络个人电脑、对等设备或其他常见网络节点,且远程计算机可以包括上述关于计算机500所描述的元件中的一些或全部。网络环境常见于办公室、企业广域网(WAN)、局域网(LAN)、内联网和互联网。
[0057]当被用于LAN或WLAN网络环境时,计算机500可以通过网络接口 596或适配器被耦合至LAN。当被用于WAN网络环境时,计算机500通常包括调制解调器或其他工具用于在WAN上建立通信,例如互联网或网络106。WAN可以包括互联网、示出的网络106、多种其他网络、或其任意组合。将被理解的是,其他在计算机之间建立通信链路、环、网格、总线、云、或网络的机制可以被使用。
[0058]根据一些实施例,计算机500可以被耦合至网络环境。计算机500可以包括物理计算机可读存储介质或媒介的一个或多个实例,所述物理计算机可读存储介质或媒介的一个或多个实例被关联至驱动器530或其他存储装置。系统总线可以使得处理器510从计算机可读存储媒介读入/读出编码和/或数据。该媒介可以代表存储元件形式的装置,所述存储元件通过使用任意合适的技术被实现,包括但不限于半导体、磁性材料、光学媒介、电子存储器、电化学存储器、或任意其他此类存储技术。该媒介可以代表与存储器520关联的部件,无论是以RAM、ROM、闪存为特征,或是易失或非易失存储技术的其他类型。该媒介还可以代表二级存储器、无论是作为存储驱动器530或是其他形式被实现。硬盘驱动实施可以以固体状态为特征,或可以包括存储磁性编码信息的旋转媒介。
[0059]存储媒介可以包括一个或多个程序模块560。程序模块560可以包括软件指令,当被加载至处理器510且被执行时,所述软件指令将通用计算系统转换成专用计算系统。如在此描述中详细说明的,程序模块560可以提供多种工具或技术,通过所述多种工具或技术,计算机500可以参与在整体系统或使用本文讨论的部件、逻辑流程和/或数据结构的操作环境中。
[0060]处理器510可以由任意数量的晶体管或其他电路元件被建构,这些晶体管或其他电路元件可以单独地或集体地呈现任意数量的状态。更具体地,处理器510可以操作为状态机或有限状态机。这种机器可以通过加载包含在程序模块560中的可执行指令被转换成第二机器或特定机器。这些计算机可执行指令可以通过指定处理器510如何在状态间转变来转换处理器510,从而将构成处理器510的晶体管或其他电路元件由第一机器转换成第二机器。任一机器的状态还可以通过接收来自以下的输入而被转换:一个或多个用户输入装置590、网络接口 596、其他外围设备、其他接口、或一个或多个用户或其他行动员。任一机器还可以转换状态,或多种输出设备的多种物理特征,例如打印机、麦克风、视频显示器或其他。
[0061]对程序模块560编码还可以转换存储媒介的物理结构。在本描述的不同实施中,物理结构的特定转换可以取决于多种因素。这类因素的示例可以包括,但不限于:用于实现存储媒介的技术及类似物,不论该存储媒介的特征为主或是副存储器。例如,如果存储媒介被实现为基于半导体的存储器,程序模块560可以在软件被编码在其中时转换半导体存储器520的物理状态。例如,软件可以转换构成半导体存储器520的晶体管、电容器、或其他分离电路元件的状态。
[0062]如另一示例,存储媒介可以通过使用如驱动器530的磁性或光学技术而被实现。在这类实施中,程序模块560可以在软件被编码在其中时转换磁性或光学媒介的物理状态。这些转换可以包括改变给定磁性媒介内的特定定位的磁性特征。这些转换还可以包括改变给定光学媒介内的特定定位的物理特征或特性,来改变这些定位的光学特性。应当理解的是,在不背离本描述的范围和精神的情况下,可存在物理媒介的多种其他转换。
[0063]图6为示意图,其示出计算机程序产品600,所述计算机程序产品600包括计算机程序,该计算机程序用于在计算装置上执行计算机方法,所述计算机程序产品600被根据本文呈现的至少一些实施例而被布置。使用信号承载介质602来提供示例计算机程序产品的说明性实施例,并且可以包括至少一个指令604:—个或多个用于识别多个用户提供的硬件独立的节电编码的指令;一个或多个用于将多个用户提供的硬件独立的节电编码的至少一部分转换成特定于数据中心计算系统的装置电力管理消息的指令;或一个或多个用于将装置电力管理消息提供给计算系统的指令。在一些实施例中,一个或多个计算机程序产品600的信号承载介质602包括计算机可读介质606、可记录介质608、和/或通信介质610。
[0064]尽管本文描述的主题被呈现在程序模块的一般背景下,所述程序模块与操作系统和应用程序在计算机系统上的执行联合来执行,但本领域的技术人员将认识到,还可以结合程序模块的其他类型来执行其他实施。一般地,程序模块包括例行程序、程序、部件、数据结构、和执行特定任务或执行特定抽象数据类型的结构的其他类型。另外,本领域技术人员将理解,本文描述的主题可以与其他计算机系统配置使用,包括手持装置、多核处理器系统、基于微处理器或可编程消费者电子设备、迷你计算机、主机计算机、和类似物。
[0065]本公开不限于本申请中所描述的特定实施例,这些实施例意在对各方面的说明。能在不背离本公开的精神和范围的情况下做出许多修改和变化,这对于本领域技术人员而言是显而易见的。通过前面的说明,除了本文列举的之外,在本公开范围内的功能性对等方法和装置对于本领域技术人员而言将是显而易见的。这些修改和变化旨在落入所附权利要求的范围内。本公开仅被所附权利要求及该权利要求的对等物的全部范围所限制。应当理解的是,本公开不限制特定方法、试剂、化合物组成或生物系统,这些当然可能改变。同样应当理解的是,本文所用的术语仅用于描述特定实施例,不旨在限制特定实施例。
[0066]关于本文对基本上任何复数和/或单数术语的使用,本领域技术人员能够根据上下文和/或应用适当地从复数变换成单数和/或从单数变换成复数。为了清晰的目的,本文中明确地阐明了各单数/复数的置换。[0067]本领域技术人员将理解,一般地,本文所使用的术语,尤其是随附权利要求(例如,随附权利要求的主体)中所使用的术语,通常意在为“开放式”术语(例如,术语“包括”应当解释为“包括但不限于”,术语“具有”应解释为“至少具有”,术语“包括”应解释为“包括但不限于”,等等)。本领域技术人员还理解,如果意图表达被引入的权利要求记述项的具体数量,该意图将明确地记述在权利要求中,并且在不存在这种记述的情况下,不存在这样的意图。例如,为辅助理解,下面的随附权利要求可能包含了引导性短语“至少一个”和“一个或多个”的使用以引导权利要求记述项。然而,这种短语的使用不应解释为暗指由不定冠词“ 一”或“一个”引导的权利要求记述项将包含该所引导的权利要求记述项的任何特定权利要求局限于仅包含一个该记述项的实施例,即使当同一权利要求包括了引导性短语“一个或多个”或“至少一个”以及诸如“一”或“一个”的不定冠词(例如,“一”和/或“一个”应当解释为表示“至少一个”或“一个或多个”);这同样适用于对于用于引导权利要求记述项的定冠词的使用。另外,即使明确地记述了被引导的权利要求记述项的具体数量,本领域技术人员将理解到这些记述项应当解释为至少表示所记述的数量(例如,没有其它修饰语的裸记述“两个记述项”表示至少两个记述项或两个或两个以上的记述项)。此外,在使用类似于“A、B和C等中的至少一个”的惯用法的那些实例中,通常这样的构造旨在表达本领域技术人员理解该惯用法的含义(例如,“具有A、B和C中的至少一个的系统”将包括但不限于仅具有A、仅具有B、仅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的系统)。在使用类似于“A、B或C等中的至少一个”的惯用法的那些实例中,通常这样的构造旨在表达本领域技术人员理解该惯用法的含义(例如,“具有A、B或C中的至少一个的系统”将包括但不限于仅具有A、仅具有B、仅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的系统)。本领域技术人员将进一步理解,呈现两个以上可选项的几乎任何分离词和/或短语,无论是在说明书、权利要求或附图中,都应理解为设想包括一项、任一项或两项的可能性。例如,术语“A或B”将理解为包括“A”或“B”或“A和B”的可能性。
[0068]另外,在根据马库什组(Markush group)描述本公开的特征或方面的情况下,本领域技术人员将理解的是本公开也因此以马库什组的任何独立成员或成员的子组来描述。
[0069]本领域技术人员将理解的是,为了任何以及全部的目的,诸如在提供所撰写的说明书方面,本文所公开的全部范围也涵盖了任何和全部的可能的子范围及其子范围的组合。能够容易地认识到任何所列范围都充分地描述了同一范围并且使同一范围分解成至少均等的一半、三分之一、四分之一、五分之一、十分之一等等。作为非限制示例,本文所论述的每个范围能够容易地分解成下三分之一、中三分之一和上三分之一,等等。本领域技术人员还将理解的是,诸如“多达”、“至少”等所有的语言包括所记述的数量并且是指如上文所论述的随后能够分解成子范围的范围。最后,本领域技术人员将理解的是,范围包括每个独立的成员。因此,例如,具有1-3个单元的组是指具有I个、2个或3个单元的组。类似地,具有1-5个单元的组是指具有I个、2个、3个、4个、或5个单元的组,等等。
[0070]尽管本文已经描述了多种方面和实施例,其他方面和实施例对于本领域技术人员将显而易见。本文所公开的多个方面和实施例意在说明而不意在限制,真正的范围和精神是通过随附的权利要求表示的。
【权利要求】
1.一种用于在数据中心提供节电的方法,所述方法包括: 识别来自所述数据中心中多个虚拟机的多个用户提供的硬件独立的节电编码; 将所述多个用户提供的硬件独立的节电编码的至少一部分转换成为特定于所述数据中心中计算系统的装置电力管理消息;以及 提供所述装置电力管理消息给所述计算系统,其中所述计算系统被配置为根据所述装置电力管理消息启用或禁用所述计算系统中的一个或多个装置。
2.根据权利要求1所述的方法,进一步包括: 将所述多个节电编码的第二部分转换成为特定于所述数据中心中第二计算系统的第二装置电力管理消息;以及 提供所述第二装置电力管理消息至所述第二计算系统,其中所述第二计算系统被配置为根据所述第二装置电力管理消息启用或禁用所述第二计算系统中的一个或多个装置。
3.根据权利要求1所述的方法,其中识别所述多个用户提供的硬件独立的节电编码包括: 提供应用程序设计接口,所述应用程序设计接口被适于使得程序设计员能定义所述多个用户提供的硬件独立的节电编码;以及 通过所述应用程序设计接口将所定义的多个用户提供的硬件独立的节电编码插入至应用程序编码。
4.根据权利 要求3所述的方法,进一步包括提供电力模拟器,所述电力模拟器被适于使得程序设计员能估算以下条件下的所述计算系统的电力使用:如果所定义的多个用户提供的硬件独立的节电编码将被所述计算系统在执行所述应用程序编码时执行。
5.根据权利要求1所述的方法,其中将所述多个用户提供的硬件独立的节电编码的至少所述一部分转换成为特定于所述数据中心中所述计算系统的所述装置电力管理消息包括: 识别相关于所述计算系统的所述多个用户提供的硬件独立的节电编码的所述部分,其中所述计算系统被配置为执行相关的所述多个用户提供的硬件独立的节电编码的所述部分,且其中所述计算系统不被配置为执行不相关的其他所述多个用户提供的硬件独立的节电编码。 在识别相关于所述计算系统的所述多个用户提供的硬件独立的节电编码的所述部分时,将所述多个用户提供的硬件独立的节电编码的所述部分转换成为特定于所述数据中心中所述计算系统的所述装置电力管理消息。
6.根据权利要求1所述的方法,其中所述计算系统包括第一虚拟机和第二虚拟机;且其中所述方法进一步地包括: 从第一程序编码中识别第一多个用户提供的硬件独立的节电编码,所述第一程序编码用于由所述第一虚拟机执行; 从第二程序编码中识别第二多个用户提供的硬件独立的节电编码,所述第二程序编码用于由所述第二虚拟机执行; 将所述第一多个用户提供的硬件独立的节电编码转换成为特定于所述数据中心中所述计算系统的第一装置电力管理消息; 将所述第二多个用户提供的硬件独立的节电编码转换成为特定于所述数据中心中所述计算系统的第二装置电力管理消息; 通过结合所述第一装置电力管理消息和所述第二装置电力管理消息生成结合的装置电力管理消息;及 提供所述结合的装置电力管理消息至所述计算系统,其中所述计算系统被配置为根据所述结合的装置电力管理消息启用或禁用所述计算系统中的一个或多个装置。
7.根据权利要求1所述的方法,其中所述用户提供的硬件独立的节电编码包括硬件独立的节电编码,所述硬件独立的节电编码适于指示已经被禁用的装置将在指定的时间量内被需要。
8.根据权利要求7所述的方法,其中提供所述装置电力管理消息至所所计算系统包括: 提供所述装置电力管理消息至所述计算系统,其中所述计算系统被配置为根据所述装置电力管理消息在所述指定的时间前预热所述装置,这样,所述装置在所述指定的时间可用。
9.根据权利要求1所述的方法,进一步地包括: 在提供所述装置电力管理消息至所述计算系统时,记录执行所述用户提供的硬件独立的节电编码的所述计算系统的当前电力使用; 基于所述当前电力使用判断节电;及 根据所述节电提供货币利益给所述用户。`
10.根据权利要求1所述的方法,其中所述装置电力管理消息包括符号阵列,其中所述符号的每一个对应于所述装置中的一个。
11.根据权利要求1所述的方法,其中从所述数据中心的所述多个虚拟机中识别所述多个用户提供的硬件独立的节电编码包括:通过网络服务识别所述多个用户提供的硬件独立的节电编码。
12.—种计算机可读存储介质,所述计算机可读存储介质包括被存储在其上的计算机可执行指令,当被计算机执行时,使得所述计算机: 识别被包括在应用程序编码中的多个用户提供的硬件独立的节电编码,从而将由所述数据中心的计算系统中的多个虚拟机执行; 将所述多个用户提供的硬件独立的节电编码的至少一部分转换成为特定于所述计算系统的装置电力管理消息;及 提供所述装置电力管理消息至所述计算系统,其中所述计算系统被配置为当所述计算系统执行所述应用程序编码时根据所述装置电力管理消息启用或禁用所述计算系统中的一个或多个装置。
13.根据权利要求12所述的计算机可读存储介质,其中为识别所述多个用户提供的硬件独立的节电编码,当被所述计算机执行时,所述计算机可执行指令进一步地使得所述计算机: 提供应用程序设计接口,所述应用程序设计接口适于使得程序设计员能够定义所述多个用户提供的硬件独立的节电编码;及 通过所述应用程序设计接口将所定义的多个用户提供的硬件独立的节电编码插入至应用程序编码。
14.根据权利要求13所述的计算机可读存储介质,进一步地包括被存储在其上的计算机可执行指令,当被所述计算机执行时,计算机可执行指令使得所述计算机提供电力模拟器,所述电力模拟器适于使得所述程序设计员能估算以下条件下的所述计算系统的电力使用:如果所定义的多个用户提供的硬件独立的节电编码将被所述计算系统在执行所述应用程序编码时执行。
15.根据权利要求12所述的计算机可读存储介质,其中为将所述多个用户提供的硬件独立的节电编码的至少所述一部分转换成为特定于所述计算系统的所述装置电力管理消息,当被所述计算机执行时,所述计算机可执行指令进一步地使得所述计算机: 识别相关于所述计算系统的所述多个用户提供的硬件独立的节电编码的所述部分,其中所述计算系统被配置为执行相关的所述多个用户提供的硬件独立的节电编码的所述部分,且其中所述计算系统不被配置为执行不相关的其他的所述多个用户提供的硬件独立的节电编码;及 当相关于所述计算系统的所述多个用户提供的硬件独立的节电编码的所述部分被识别时,转换所述多个用户提供的硬件独立的节电编码的所述部分成为特定于所述数据中心中所述计算系统的所述装置电力管理消息。
16.根据权利要求12所述的计算机可读存储介质,其中所述计算系统包括第一虚拟机和第二虚拟机;且当被所述计算机执行时,所述计算机可执行指令进一步地使得所述计算机: 从第一程序编码识别第一多个用户提供的硬件独立的节电编码,所述第一程序编码用于由所述第一虚拟机执行; 从第二程序编码识别第二多个用户提供的硬件独立的节电编码,所述第二程序编码用于由所述第二虚拟机执行;` 将所述第一多个用户提供的硬件独立的节电编码转换成为特定于所述数据中心中所述计算系统的第一装置电力管理消息; 将所述第二多个用户提供的硬件独立的节电编码转换成为特定于所述数据中心中所述计算系统的第二装置电力管理消息; 通过结合所述第一装置电力管理消息和所述第二装置电力管理消息生成结合的装置电力管理消息;及 提供所述结合的装置电力管理消息给所述计算系统,其中所述计算系统被配置为根据所述结合的装置电力管理消息启用或禁用所述计算系统中的一个或多个装置。
17.根据权利要求12所述的计算机可读存储介质,其中所述用户提供的硬件独立的节电编码包括硬件独立的节电编码,所述硬件独立的节电编码适于指示已被禁用的装置在指定的时间量将被需要。
18.根据权利要求17所述的计算机可读存储介质,其中为提供所述装置电力管理消息给所述计算系统,当被所述计算机执行时,所述计算机可执行指令进一步使得所述计算机: 提供所述装置电力管理消息给所述计算系统,其中所述计算系统被配置为根据所述装置电力管理消息在所述指定的时间前预热所述装置,这样,所述装置在所述指定的时间可用。
19.根据权利要求18所述的计算机可读存储介质,进一步地包括被存储在其上的计算机可执行指令,当被所述计算机执行时,使得所述计算机: 当所述装置电力管理消息被提供至所述计算系统时,记录当所述用户提供的硬件独立的节电编码被执行时所述计算系统的当前电力使用; 基于所述当前电力使用判断节电;及 根据述所节电提供货币利益给所述用户。
20.根据权利要求12所述的计算机可读存储介质,其中所述装置电力管理消息包括符号阵列,其中所述符号的每一个对应于所述装置的一个。
21.一种数据中心,包括: 具有第一基于处理器的硬件配置的第一计算系统,其包括第一装置和被耦合至所述第一装置的第一管理单兀; 具有第二基于处理器的硬件配置的第二计算系统,其包括第二装置和被耦合至所述第二装置的第二管理单元; 由第一计算系统执行的第一驱动器,其中所述第一驱动器被配置为从所述第一计算系统中的多个第一虚拟机上执行的应用程序编码中识别多个用户提供的硬件独立的节电编码的第一部分,转换所述多个用户提供的硬件独立的节电编码的所述第一部分成为特定于所述数据中心中所述第一计算系统的第一装置电力管理消息,且提供所述装置电力管理消息给所述第一管理单元,其中所述第一管理单元被配置为根据所述第一装置电力管理消息启用和禁用所述第一装置;及 由所述第二计算系统执行的第二驱动器,其中所述第二驱动器被配置为从所述第二计算系统中的多个第二虚拟机上执行的应`用程序编码中识别所述多个用户提供的硬件独立的节电编码的第二部分,转换所述多个用户提供的硬件独立的节电编码的所述第二部分成为特定于所述数据中心中所述第二计算系统的第二装置电力管理消息,且提供所述第二装置电力管理消息给所述第二管理单元,其中所述第二管理单元被配置为根据所述第二装置电力管理消息启用和禁用所述第二装置。
22.根据权利要求21所述的数据中心,其中所述第一驱动器和所述第二驱动器包括准虚拟化驱动器。
23.根据权利要求21所述的数据中心,进一步地包括节电日志单元,所述节电日志单元被耦合至所述第一计算系统和所述第二计算系统,其中所述节电日志单元被配置为记录当所述用户提供的硬件独立的节电编码被执行时所述第一计算系统和所述第二计算系统的当前电力使用,基于所述当前电力使用判断节电,并根据所述节电提供货币利益给所述用户。
【文档编号】G06F1/32GK103874969SQ201280049705
【公开日】2014年6月18日 申请日期:2012年1月25日 优先权日:2012年1月25日
【发明者】E·克鲁格里克 申请人:英派尔科技开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1