首页 / 专利库 / 一般法律 / 服务水平协议 / 响应于服务水平协议而分配计算系统功率水平

响应于服务平协议而分配计算系统功率水平

阅读:636发布:2020-05-11

专利汇可以提供响应于服务平协议而分配计算系统功率水平专利检索,专利查询,专利分析的服务。并且一种用于在 计算机系统 中启动任务的 计算机程序 产品包括执行一种方法,该方法包括:接收任务和相对于目标服务 水 平的该任务的状况。确定处理器的当前功率状态。响应于指示任务满足目标服务水平的状况以及当前功率状态是低功率状态,在处理器上启动该任务的执行。如果任务不满足目标服务水平并且当前功率状态是低功率状态,则确定处理器是否能够进入高功率状态。如果处理器能够进入高功率状态,则使处理器进入高功率状态,并在处理器上启动任务的执行。,下面是响应于服务平协议而分配计算系统功率水平专利的具体信息内容。

1.一种用于在计算机系统中启动任务的方法,该方法包括:
接收由处理器执行的任务;
接收相对于目标服务平的该任务的状况;
通过读取功率状态寄存器中存储的处理器的当前功率状态的值确定处理器的当前功率状态;
响应于指示该任务满足目标服务水平的状况以及确定当前功率状态是低功率状态,启动该任务在处理器上的执行;
响应于指示该任务不满足目标服务水平的状况以及确定当前功率状态是低功率状态:
通过读取功率状态寄存器中指示该处理器是否能够进入高功率状态的标记确定处理器是否能够进入高功率状态;
响应于确定处理器能够进入高功率状态,使处理器进入高功率状态;
响应于使处理器进入高功率状态,启动该任务在处理器上的执行;以及响应于确定处理器不能进入高功率状态,启动该任务在能够工作于高功率状态的另一处理器上的执行。
2.如权利要求1所述的方法,其中当与任务关联的当前服务水平在目标服务水平的阈值内时,所述状况指示满足目标服务水平,并且当与任务关联的当前服务水平不在目标服务水平的阈值内时,所述状况指示不满足目标服务水平。
3.如权利要求2所述的方法,其中该方法还包括:如果任务在低功率状态下执行,则预测与任务关联的当前服务水平将不在目标服务水平的阈值内,并且响应于该预测而设置该状况以指示该任务不满足目标服务水平。
4.如权利要求1所述的方法,其中所述目标服务水平被包括在与任务关联的服务水平协议(SLA)中。
5.如权利要求1所述的方法,其中该方法还包括:收集关于与任务关联的当前服务水平的数据,并响应于收集的数据和目标服务水平而设置状况。
6.如权利要求1所述的方法,其中该方法还包括:
响应于指示任务满足目标服务水平的状况以及确定当前功率状态是高功率状态,使处理器进入低功率状态;以及
响应于使处理器进入低功率状态,启动该任务在处理器上的执行。
7.一种用于在计算机系统中启动任务的系统,该系统包括:
用于接收由处理器执行的任务的装置;
用于接收相对于目标服务水平的该任务的状况的装置;
用于通过读取功率状态寄存器中存储的处理器的当前功率状态的值确定处理器的当前功率状态的装置;
用于响应于指示该任务满足目标服务水平的状况以及确定当前功率状态是低功率状态而启动该任务在处理器上的执行的装置;
用于响应于指示任务不满足目标服务水平的状况以及确定当前功率状态是低功率状态:
通过读取功率状态寄存器中指示该处理器是否能够进入高功率状态的标记确定处理器是否能够进入高功率状态的装置;
用于响应于确定处理器能够进入高功率状态而使处理器进入高功率状态的装置;
用于响应于使处理器进入高功率状态而启动该任务在处理器上的执行的装置;以及用于响应于确定处理器不能进入高功率状态,启动该任务在能够工作于高功率状态的另一处理器上的执行的装置。
8.如权利要求7所述的系统,还包括:用于当与任务关联的当前服务水平在目标服务水平的阈值内时,所述状况指示满足目标服务水平,并且当与任务关联的当前服务水平不在目标服务水平的阈值内时,所述状况指示不满足目标服务水平的装置。
9.如权利要求8所述的系统,还包括:用于如果任务在低功率状态下执行,则预测与任务关联的当前服务水平将不在目标服务水平的阈值内,并且响应于该预测而设置该状况以指示该任务不满足目标服务水平的装置。
10.如权利要求7所述的系统,其中所述目标服务水平被包括在与任务关联的服务水平协议(SLA)中。
11.如权利要求7所述的系统,还包括:用于收集关于与任务关联的当前服务水平的数据,并响应于收集的数据和目标服务水平而设置状况的装置。
12.如权利要求7所述的系统,还包括:
用于响应于指示任务满足目标服务水平的状况以及确定当前功率状态是高功率状态,使处理器进入低功率状态的装置;以及
用于响应于使处理器进入低功率状态,启动该任务在处理器上的执行的装置。

说明书全文

响应于服务平协议而分配计算系统功率水平

技术领域

[0001] 本发明一般地涉及计算环境内的处理,更具体地讲,涉及在计算环境中满足服务水平要求的同时使功耗最小化。

背景技术

[0002] 总体计算机系统性能受到计算机结构的每个关键元素影响,包括处理器的性能/结构、任何内存高速缓存、输入/输出(I/O)子系统、内存控制功能的效率、主内存装置以及互连接口的类型和结构。
[0003] 行业持续地投入了大量的研究和开发努通过改进系统/子系统设计和/或结构以创建使总体计算机系统性能和密度最大化的改进和/或创新的解决方案。除了提供另外的功能、提高的性能、增加的存储、更低的操作成本等之外,由于顾客期望新的计算机系统将会在平均故障时间间隔(MTBF)方面显著超过已有系统,高可用性系统提出了与总体系统可靠性相关的另外的挑战。其它经常的顾客要求进一步加剧了计算机系统设计挑战,并包括诸如易于升级和减小系统环境影响(诸如空间、功率和冷却)的各项目。另外,服务水平协议(SLA)可适当地定义所需的服务水平(例如,传送时间、性能)。
[0004] 随着处理器的性能继续提高,由处理器消耗的功率的量也可能继续增加。能够由给定处理器消耗的功率的量经常受到各种因素限制,诸如处理器的工作环境。因此,处理器性能的提高的代价为处理器实现该提高所需的另外的功率。
[0005] 2005年9月30日提交的标题为“Dynamic Core Swapping”的美国专利No.7,461,275涉及一种用于动态地交换处理器核的技术。第一核具有第一指令集。第一核在第一性能水平执行程序。当触发事件发生时,第一核停止执行程序。第二核具有与第一指令集兼容的第二指令集并具有与第一性能水平不同的第二性能水平。当第一核执行程序时,第二核处于掉电(power down)状态。在第一核停止执行程序之后,电路对第二核进行加电(power up),从而第二核继续以第二性能水平执行程序。
[0006] 2003年4月25日提交的标题为“Dynamically Selecting Processor Cores for Overall Power Efficiency”的美国专利No.7,093,147涉及一种包括多个计算机硬件处理器核的用于节约工作功率的计算机系统,所述多个计算机硬件处理器核相互之间至少在它们各自的工作功率要求和处理能力方面不同。监测器从每个计算机硬件处理器核收集特定于当时执行的应用软件的特定运行的性能度量信息。工作负荷转移机构为了降低工作功率而把执行的应用软件转移到第二计算机硬件处理器核。转移延迟机构被连接以延迟执行的应用软件的随后的转移,如果通过这种延迟可节约系统工作功率的话。
[0007] 2004年12月2日提交的标题为“Performance State-Based Thread Management”的美国专利No.7,526,661涉及管理线程以规定选择用于执行的线程并基于该线程识别处理器核的目标性能状态的系统和方法。识别目标性能状态可包括:把线程的优先级应用于映射策略以获得目标性能状态。在一个实施例中,能够启动将所选择的核转变至目标性能状态,并且能够调度线程由处理器核执行。

发明内容

[0008] 示例性实施例是一种用于在计算机系统中启动任务的计算机程序产品。该计算机程序产品包括有形存储介质,该有形存储介质可由处理电路读取并存储由处理电路执行以执行一种方法的指令。该方法包括:接收由处理器执行的任务和相对于目标服务水平的该任务的状况。确定处理器的当前功率状态。响应于指示任务满足目标服务水平的状况以及确定当前功率状态是低功率状态,在处理器上启动任务的执行。该方法还包括,响应于指示任务不满足目标服务水平的状况以及确定当前功率状态是低功率状态:确定处理器是否能够进入高功率状态;响应于确定处理器能够进入高功率状态,使处理器进入高功率状态;以及响应于使处理器进入高功率状态,启动处理器上的任务的执行。
[0009] 另一示例性实施例是一种用于在计算机系统中启动任务的系统。该系统包括:计算机存储器;和指令处理元件,与计算机存储器通信。指令处理元件包括用于从存储器取出指令的指令取出元件和用于执行取出的指令的一个或多个执行元件。该计算机系统构造为执行包括下述步骤的方法:接收由处理器执行的任务和相对于目标服务水平的该任务的状况。确定处理器的当前功率状态。响应于指示任务满足目标服务水平的状况以及确定当前功率状态是低功率状态,在处理器上启动任务的执行。该方法还包括,响应于指示任务不满足目标服务水平的状况以及确定当前功率状态是低功率状态:确定处理器是否能够进入高功率状态;响应于确定处理器能够进入高功率状态,使处理器进入高功率状态;以及响应于使处理器进入高功率状态,启动处理器上的任务的执行。
[0010] 另一示例性实施例是一种用于在计算机系统中启动任务的计算机实现的方法,该方法包括:接收由处理器执行的任务和相对于目标服务水平的该任务的状况。确定处理器的当前功率状态。响应于指示任务满足目标服务水平的状况以及确定当前功率状态是低功率状态,在处理器上启动任务的执行。该方法还包括,响应于指示任务不满足目标服务水平的状况以及确定当前功率状态是低功率状态:确定处理器是否能够进入高功率状态;响应于确定处理器能够进入高功率状态,使处理器进入高功率状态;以及响应于使处理器进入高功率状态,启动处理器上的任务的执行。通过本发明的技术实现另外的特征和优点。本发明的其它实施例和方面在本文被详细描述并被视为要求保护的本发明的一部分。为了更好地理解本发明的优点和特征,参照描述和附图

附图说明

[0011] 现在参照附图,在附图中相似的元件在几个附图中被相似地编号:
[0012] 图1描述可由示例性实施例实现的数据处理系统的方框图
[0013] 图2描述可由示例性实施例实现的集成电路的方框图;
[0014] 图3描述可由示例性实施例实现的分派算法的处理流程;以及
[0015] 图4描述可由本发明的示例性实施例实现的计算机程序产品。

具体实施方式

[0016] 本发明的示例性实施例使用与任务关联的服务水平协议(SLA)作为关于为执行任务而要分配的功率的量的决定的输入。在示例性实施例中,分派过程接收要执行的任务以及关于该任务是否当前满足与该任务关联的SLA的信息。在示例性实施例中,如果任务当前不满足SLA,则在处理器处于高功率状态(或者能够进入高功率状态)的情况下,任务能够在该处理器上执行。如果该处理器不能进入高功率状态,则任务将会被发送给另一处理器(例如,能够工作于高功率状态的处理器)以便执行。以这种方式,将会在处于高功率状态的处理器上启动需要更快执行以满足SLA的那些任务。
[0017] 在示例性实施例中,具有不同优化的多个处理器芯片被用于获得整个系统的最佳功率/性能。在示例性实施例中,分派过程包括SLA所要求的目标服务水平的检查。如果当前服务水平针对特定处理线程或任务达不到SLA,则分派过程检查当前核的功率状态。分派过程随后决定是继续在当前核上的处理还是使处理移至另一核。
[0018] 如本文所使用,术语“功率/性能”表示计算机系统(诸如,多处理器系统或一个处理器)中的功耗(例如,电功耗)的效率的量度。
[0019] 如本文所使用,术语“任务”表示线程或一组线程。SLA可以与单个任务关联,或者它可以与一组任务(例如,应用、计算机系统)关联。
[0020] 如本文所使用,术语“服务水平协议”或“SLA”是指描述关于服务、优先权、责任、担保和保证的共识的、顾客和服务提供商之间的议定协议。SLA可规定服务的属性,诸如但不限于:服务的可用性、耐用性、性能和操作。在一些情况下,服务的水平被指定为目标,在其它情况下指定为最小值。在示例性实施例中,SLA指定响应时间,其中响应时间定义为接收请求和为请求提供服务之间的耗用时间。然后使用本领域已知的任何方式跟踪相对于SLATM的响应时间。在示例性实施例中, Enterprise Workload Manager 用于跟踪该响应时间(和与SLA关联的任何其它服务属性)。
[0021] 利用当代软件和硬件优化大的多处理器系统的每瓦特峰值性能经常是很难的。系统可包括一起封装在单个封装中或者在多个封装之间经由高速缓存相干链路连接的具有多样的功耗/性能工作点(在本文也称为“功率状态”)的多个处理元件。当前分派算法用于基于实现峰值性能的目标把过程分派给处理元件。当前的多处理器计算系统可能并不总是对于给定量的功率提供最佳吞吐量。一些当代的计算系统使用单微处理器核设计,并在执行应用的同时使用动态电压调节在不同的时间段期间改变每瓦特性能。其它当代的系统包括具有不同的指令集架构的多个核以便为某些应用提供性能优点。这些系统尚未被优化以在许多微处理器核(核在本文也称为“处理器”)上执行二进制兼容应用代码的同时提供每瓦特最佳吞吐量。一个原因在于:分派器未利用系统中的核之间的性能差异并且未优化它们的利用率。
[0022] 本发明的示例性实施例用于在运行各种工作负荷的同时优化系统的总体功率性能。在示例性实施例中,多个多处理器系统一起用于提供优化每瓦特总系统吞吐量的计算系统。示例性实施例包括由跨越两个或更多的芯片(在本文也称为“集成电路”或“微处理器芯片”)的处理器构成的多处理器系统。这些芯片具有不同的类型并且能够执行相同的二进制软件,但在它们的每瓦特性能特性方面不同。计算系统架构(诸如,IA-32(Intel Architecture,32位)架构和IBM Power )被用于各种各样的计算系统。存在许多已经可用于这些架构中的每种架构的二进制兼容处理核设计。这些核设计中的每种具有不同的功率/性能特性。示例性实施例将会在单个多处理器服务器上运行多个过程时允许更好的总体功率/性能。通过使用具有不同的性能和功率优化的多个芯片,每瓦特系统吞吐量能够增加。当代的微处理器产品指示以高达4.5-5X功率/性能为代价的高达2X性能的范围。利用另外的硅调谐、装置调谐和电路选择能够进一步扩大这个范围。考虑到使用多个多处理器芯片和芯片的多个功率性能点的机会,示例性实施例优化线程到核的的分派以便使系统的功率/性能能力最大化。在示例性实施例中,多个芯片经由互连总线(可能通过节点控制器)连接。一部分芯片利用以高功率为代价针对高速度而优化的硅工艺实现,而多数芯片利用针对功率而优化的硅工艺实现;这两种芯片类型都能够运行相同的二进制码。示例性实施例利用适应于优化功率/性能的分派算法把这些异质的处理器组合成对称多处理(SMP)系统。如果能够在不使用高性能、高功率处理器的情况下满足过程的服务水平协议(SLA)要求(或者其它系统要求),则由示例性实施例提供的功率控(gating)控制用于使处理器的有效和漏泄功率最小化。
[0023] 当需要时,通过功率门控控制对高性能、高功率核通电,并且高优先级过程被分派给这个处理器(该处理器处于高功率状态)。在示例性实施例中,经由使用SLA的新型管理程序或操作系统软件和/或多处理器系统的当前状态的表来实现这一点,所述表包括哪些核是高性能对功率优化以及哪些核当前被通电的映射。在最佳功率/性能情况下,所有高功率核被断电并且仅在需要满足SLA(或其它系统要求)时才对它们通电。
[0024] 作为例子,在功率优化的核上,一线程完成它的由定时器中断指示的当前时间片,并且分派器被调用。分派器代码包括服务质量或者当前服务水平的定期检查。在这个例子中,确定潜在的服务质量问题已出现。该信息用于确定哪个线程应该是下一个分派的线程。可确定应该使用高性能核。分派器确定是否足够的高性能硬件核可用于(通电)当前运行的线程和碰上潜在服务质量问题的这个新线程的组合。在一些情况下,分派器向系统控制代码通知:高性能核应该通电以便增加可用于满足系统中的所有线程的SLA的硬件。如果存在另一等待的线程,则分派器可选择另一等待的线程。在示例性实施例中,这个线程将会是当前满足它们的服务质量水平的这些线程之中的最高优先级。在另一示例性实施例中,可以在多个核上中断当前运行的低优先级线程以便释放足够的热开销,从而使系统能够打开另外的高功率核。
[0025] 示例性实施例使用由管理程序或操作系统控制的一组软件表,所述一组软件表包括哪些线程正等待在高功率/高性能核上被分派的指示。其它信息可包括系统中的所有核的当前状态;具体地讲,哪些核是高性能的和它们的位置以及哪些核当前通电。所获得的系统将会具有分派器可用的不同数量的硬件线程;线程的这个数量将会由管理程序和/或操作系统动态地改变以便满足SLA要求。
[0026] 图1是可实现本发明的示例性实施例的数据处理系统100的方框图。在示例性实施例中,系统100是对称多处理(SMP)服务器计算机系统。图1中描述的SMP服务器计算机系统100包括物理硬件装置,该物理硬件装置能够映射到用户应用(即,临时由用户应用拥有)以执行该应用。SMP服务器计算机系统100包括物理SMP服务器102,物理SMP服务器102包括物理硬件装置,诸如处理器104、存储器106和I/O适配器108。这些物理装置由位于物理SMP服务器计算机系统100上的管理程序110管理。如图1中所示,物理SMP服务器102由一个或多个微处理器芯片126实现。虽然在图1中显示为具有类似的结构,但物理SMP服务器内的微处理器芯片126可具有不同的结构(例如,不同数量的处理器104、不同类型的处理器104)。
[0027] 如本文所使用,术语“微处理器芯片”126是指单片硅制造的装置。微处理器芯片126也可称为芯片或集成电路。在该单个微处理器芯片上制造一个或多个硬件元件。硬件元件通常包括处理器104(或处理核)、存储器106(例如,高速缓存)、I/O适配器108,但也可包括特殊功能元件,诸如压缩引擎、加密引擎、协议处理引擎、架构仿真引擎和数据流处理引擎。
[0028] 虚拟服务器是具有相同能力、接口和状态的物理服务器的代理。虚拟服务器由管理程序100创建并管理,并且每个虚拟服务器对于它的用户(例如,在它上面运行的操作系统、中间件和应用软件)而言看起来就是物理SMP服务器。图1中描述的SMP服务器计算机系统100包括一个或多个虚拟服务器,诸如虚拟服务器112和虚拟服务器112a。每个虚拟服务器112对于它的软件而言看起来包括可专用于该虚拟服务器112的它自己的处理器、存储器和I/O适配器。例如,虚拟服务器112包括虚拟处理器120、虚拟存储器122和虚拟I/O适配器124。虚拟服务器112a包括虚拟处理器120a、虚拟存储器122a和虚拟I/O适配器124a。
[0029] 每个虚拟服务器112支持它自己的软件环境,包括操作系统、中间件和应用。每个虚拟服务器112的软件环境能够不同于其它虚拟服务器的软件环境。在示例性实施例中,由每个虚拟服务器执行的操作系统可彼此不同。例如,虚拟服务器112支持操作系统114、中间件116和应用118。虚拟服务器112a支持操作系统114a、中间件116a和应用118a。操作系统114和114a可以是相同或不同的操作系统。
[0030] 虚拟服务器112是定义服务器环境的服务器的逻辑描述,该服务器环境对于用户而言就好像它是物理服务器一样工作,以与物理服务器相同的方式被访问并提供信息。为每个虚拟服务器定义的虚拟处理器、虚拟存储器和虚拟I/O适配器是物理处理器、存储器和I/O适配器的逻辑替换物。
[0031] 管理程序110管理具有其虚拟处理器、虚拟存储器和虚拟I/O适配器的虚拟服务器和被选择实现这些虚拟装置的物理硬件装置之间的映射。例如,当分派一虚拟处理器时,一物理处理器(诸如,物理处理器104之一)由管理程序110选择以用于执行并实现该虚拟处理器。管理程序110管理物理装置的选择以及把它们临时分配给虚拟装置。
[0032] 管理程序110负责动态地创建、管理和销毁虚拟SMP服务器。全部的虚拟处理器、虚拟I/O适配器和虚拟存储器能够由管理程序110去除或添加。管理程序110也负责动态资源分配、管理物理资源的分时以及在不牵涉操作系统的情况下改变映射到处理器的物理资源。管理程序110也能够针对不希望进行共享的情况使物理资源专用于虚拟资源。管理程序110负责管理物理资源的添加或去除。管理程序110使这些添加和删除对于上层应用是透明的。
[0033] 图2是可由示例性实施例实现的位于微处理器芯片126上的处理器104(在图2中称为处理核202)的方框图。图2中描述的示例性处理核202包括功率状态寄存器204。在示例性实施例中,功率状态寄存器204存储处理器的当前功率状态(例如,低功率状态、高功率状态)以及指示该处理器是否能够进入高功率状态的标记(或其它指示器)。在另一示例性实施例中,标记和当前功率状态存储在不同的寄存器中。可基于处理器104的物理能力以及由工作环境施加的限制设置该标记。功率状态和标记都可以由处理核202或者由外部控制程序(例如,位于微处理器芯片126上的功率控制模块、管理程序110等)设置。
[0034] 如图2中所示,处理核202也可包括多个子元件,诸如一个或多个浮点单元、一个或多个加载/存储单元、指令定序单元、定点执行单元、指令取出/分支执行单元和可能的其它子元件。
[0035] 术语“处理核”和“处理器”在本文可互换地使用以指示相同的装置。如本文所使用,术语“物理处理器”是指处理核并且可包括由该核专用或者由多个核共享的其它硬件元件。因此,物理处理器是处理核和由该处理核专用或共享的硬件元件。
[0036] 如本文所使用,术语“当前功率状态”是指处理器的当前功率状态。在示例性实施例中,当前功率状态是高功率状态或低功率状态。如本文所使用,术语“高功率状态”是指处于高时钟频率模式的处理核202并且功率状态寄存器204已被更新以反映该模式。如本文所使用,术语“高功率核”是指在高功率状态下执行的处理核202。如本文所使用,术语“低功率状态”是指处于低时钟频率模式的处理核202并且功率状态寄存器204已被更新以反映该模式。示例性实施例使用核时钟频率的变化作为调整系统中的不同处理核的功率/性能的手段。应该理解,替代于这种时钟频率控制或者除这种时钟频率控制之外,可使用调整核的功率/性能的任何其方法。核的功率/性能的调整在本文称为使处理器“进入(move into)”特定功率状态。使处理器从低功率状态进入高功率状态包括:把时钟控制逻辑中的工作频率设置改变为较高的频率设置。可使用任何合适的时钟控制机构。示例性实施例使用两种设置:高(例如,4GHz)和低(例如,3GHz)。另外的实施例包括几种可能的频率设置和另外的逻辑,该另外的逻辑用于确定在频率标度上增加的梯级的数量。类似地,使处理器从高功率状态进入低功率状态包括:把时钟控制逻辑中的工作频率设置改变为较低的频率设置。
[0037] 功率状态寄存器204指示处理核202的功率/性能状态,并且能够由软件指令(例如,分派器)读取以确定处理核202的当前功率状态。在示例性实施例中,由控制着系统中的处理核的功率/性能参数的功率管理软件写功率状态寄存器204。如果处理核202的功率模式改变,则更新功率状态寄存器204。在示例性实施例中,功率状态寄存器204的实现方式类似于专用寄存器和/或由诊断指令来写。在另外的示例性实施例中,功率状态寄存器204位于布置在处理核202外部的寄存器中或者作为一个或多个位存储在存储器中。
[0038] 图3描述可由示例性实施例实现的分派算法的处理流程。在示例性实施例中,该算法由管理程序110执行,管理程序110负责实现数据处理系统中的虚拟服务器,包括管理许多不同的虚拟处理器之间的物理处理器的分时。在示例性实施例中,管理程序110中的分派算法启动任务的执行。
[0039] 在块302,选择要在处理器(例如,处理核202)上执行的任务。在示例性实施例中,就绪队列包括准备好执行的一个或多个任务,并且管理程序从就绪队列选择用于在处理器上执行的任务(例如,下一任务)。选择的任务由分派过程接收。在块304,接收相对于目标服务水平或SLA的任务的状况。在块306,确定处理器的功率状态。在示例性实施例中,通过读取位于处理核202上的功率状态寄存器204确定功率状态。在另一示例性实施例中,管理程序110跟踪处理器的当前功率状态和/或当前功率状态存储在存储器106中。
[0040] 在块308,确定处理器的当前功率状态是否是低功率状态。如果当前功率状态为低,则执行块312以确定相对于与任务关联的目标服务水平的任务的状况。在示例性实施例中,目标服务水平定义在与任务关联的SLA中。在示例性实施例中,管理程序确定相对于SLA的任务的状况。在示例性实施例中,使用工具(诸如,并行于分派器执行的IBM Enterprise Workload Manager)跟踪相对于SLA的任务的状况。来自该工具的数据可由管理程序用于执行步骤312。
[0041] 在示例性实施例中,如果与任务关联的当前服务水平在目标服务水平的阈值内,则满足任务的目标服务水平。例如,如果SLA指定每秒100个事务的服务水平,阈值是3,并且当前服务水平是每秒98个事务,则满足目标服务水平,因为当前服务水平(每秒98个事务)在目标的3个事务以内。在这个例子中,相对于目标服务水平的任务的状况将会指示任务满足目标服务水平。
[0042] 在示例性实施例中,基于在当处理器处于低功率状态的同时在处理器上执行任务的情况下对当前服务水平的影响的预测,管理程序确定相对于SLA的任务的状况。如果预测当前服务水平将不再满足目标服务水平,则设置状态以指示该任务不满足目标服务水平。这种能力允许分派器主动地实现满足与任务关联的SLA。
[0043] 如果在块312确定满足目标服务水平,则执行块314以启动在处理器上的该任务的执行。如果不满足目标服务水平,则执行块316以确定处理器是否能够进入高功率状态。在示例性实施例中,通过读取功率状态寄存器204中的标记对此进行确定。在另一示例性实施例中,管理程序110跟踪处理器进入高功率状态的能力和/或该标记存储在存储器106中。
[0044] 如果处理器能够进入高功率状态,则执行块318以使处理器进入高功率状态。然后在块320在处理器上启动该任务的执行。如果如在块316所确定处理器不能进入高功率状态,则执行块322以启动在另一处理器上的该任务的执行。在示例性实施例中,分派器在启动所述另一处理器上的该任务的执行之前核实所述另一处理器处于高功率状态。在示例性实施例中,如果所述另一处理器处于低功率状态,则分派器在启动所述另一处理器上的该任务的执行之前核实所述另一处理器能够进入高功率状态。在示例性实施例中,通过在可由管理程序访问的存储器中标记(或存储)执行该启动,指示器指定该任务应该在处于高功率状态的处理器上执行。在示例性实施例中,中断处于高功率状态的处理器,随后管理程序中的分派代码被调用以启动任务的执行。
[0045] 如果在块308确定处理器并未处于低功率状态,则执行块310以确定任务是否是高功率状态任务。在示例性实施例中,对在块310的确定的输入是是否满足目标服务水平。如果当前不满足目标服务水平,则任务是高功率状态任务;并且如果当前满足或超过目标服务水平,则任务不是高功率状态任务。如果任务是高功率状态任务,则执行块326以启动在处理器上的该任务的执行。如果在块310确定任务不是高功率状态任务,则执行块324以使处理器进入低功率状态。以这种方式,分派器能够在不需要额外功率以满足SLA时通过在低功率状态下执行任务而限制由系统使用的功率的量。
[0046] 在另一示例性实施例中,支持超过两种功率状态。例如,存在三个不同路径,一个路径用于高功率状态,一个路径用于中功率状态,并且一个路径用于低功率状态。技术效果和益处包括能够通过提供满足如SLA中所定义的服务水平所需的功率的量来提高功效。基于SLA中定义的服务水平,能够以由任务使用的功率的量为目标。如果满足或超过SLA,则任务能够在低功率状态下在处理器上执行。如果不满足或者接近于不满足SLA(如阈值所定义),则任务能够在高功率状态下在处理器上执行。也能够输入预测数据以决定是在高功率状态下还是低功率状态下在处理器上执行任务。在仍然满足SLA要求的同时,这可能导致功率使用的减少或者能够由系统执行的处理的量的增加。本文使用的术语仅用于描述特定实施例的目的而非意图限制本发明。如本文所使用,单数形式“a”“an”和“the”意图也包括复数形式,除非上下文清楚地指示了不是这样。将会进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”指定存在说明的特征、整数、步骤、操作、元件和/或部件,但并不排除存在或增加一个或多个其它特征、整数、步骤、操作、元件、部件和/或其组合。
[0047] 以下权利要求中的所有装置或步骤加功能元件的相应结构、材料、动作和等同物意在包括用于结合具体要求保护的其它要求保护的要素执行功能的任何结构、材料或动作。提供本发明的描述是为了说明和描述的目的,而非是要穷举或者把本发明局限于所公开的形式。在不脱离本发明的范围的情况下,许多修改和变型对于本领域普通技术人员而言是清楚的。选择并描述实施例以便最好地解释本发明的原理和实际应用,并且使其他本领域普通技术人员能够针对具有适合设想的特定用途的各种修改的各种实施例理解本发明。
[0048] 本领域技术人员将会理解,本发明的各方面可实现为系统、方法或计算机程序产品。因此,本发明的各方面可以采用通常全部可在本文称为“电路”、“模块”或“系统”的完全硬件实施例、完全软件实施例(包括固件、常驻软件、微码等)或组合了软件和硬件方面的实施例的形式。另外,本发明的各方面可以采用实现于具有计算机可读程序代码的一个或多个计算机可读介质中的计算机程序产品的形式。可以使用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁、光学、电磁、红外或半导体系统、设备或装置或者前述各项的任何合适的组合。计算机可读存储介质的更具体的例子(非穷举列表)将包括下述各项:具有一个或多个线的电气连接、便携式计算机盘、硬盘随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式压缩盘只读存储器(CD-ROM)、光学存储装置、磁存储装置或前述各项的任何合适的组合。在本文的上下文中,计算机可读存储介质可以是能够包含或存储由指令执行系统、设备或装置使用或结合指令执行系统、设备或装置使用的程序的任何有形介质。
[0049] 计算机可读信号介质可包括例如基带中或作为载波的一部分的嵌入了计算机可读程序代码的传播数据信号。这种传播信号可采用多种形式中的任何形式,包括但不限于电磁信号、光学信号或者它们的任何合适的组合。计算机可读信号介质可以是并非计算机可读存储介质并且能够传送、传播或传输由指令执行系统、设备或装置使用或结合指令执行系统、设备或装置使用的程序的任何计算机可读介质。可以使用任何合适的介质(包括但不限于无线、有线、光纤光缆、RF等或前述各项的任何合适的组合)传输计算机可读介质上包含的程序代码。
[0050] 可以按照一种或多种编程语言的任何组合编写用于执行本发明的各方面的操作的计算机程序代码,所述编程语言包括:面向对象的编程语言,诸如Java、Smalltalk、C++等;和常规程序化编程语言,诸如“C”编程语言或类似编程语言。程序代码可以完全在用户计算机上执行、部分在用户的计算机上执行、作为独立软件包执行、部分在用户的计算机上并且部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后面的方案中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以(例如,使用互联网服务提供商通过互联网)连接到外部计算机。
[0051] 以下参考根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图描述本发明的各方面。将会理解,流程图和/或方框图中的每个方框以及流程图和/或方框图中的方框的组合能够由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机或者其它可编程数据处理设备的处理器,以产生一机器,从而指令(所述指令经由计算机或者其它可编程数据处理设备的处理器执行)产生用于实现流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。
[0052] 这些计算机程序指令也可存储在计算机可读介质中,该计算机可读介质能够指示计算机、其它可编程数据处理设备或其它装置按照特定的方式发挥作用,从而存储在计算机可读介质中的指令产生一种制造产品,所述制造产品包括实现流程图和/或方框图的一个或多个方框中指定的功能/动作的指令。
[0053] 计算机程序指令也可被加载到计算机、其它可编程数据处理设备或其它装置上,以使得在计算机、其它可编程设备或其它装置上执行一系列的操作步骤以产生计算机实现的过程,从而在计算机或其它可编程设备上执行的指令提供用于实现流程图和/或方框图的一个或多个方框中指定的功能/动作的过程。
[0054] 如上所述,实施例能够实现为计算机实现的过程和用于实施这些过程的设备的形式。在示例性实施例中,本发明以由一个或多个网络元件执行的计算机程序代码实现。实施例包括具有计算机程序代码逻辑404的计算机可用介质402上的如图4中所述的计算机程序产品400,计算机程序代码逻辑404包含在有形介质中体现为一件制品的指令。用于计算机可用介质402的示例性制品可包括软盘、CD-ROM、硬盘驱动器、通用串行总线(USB)闪速驱动器或者任何其它计算机可读存储介质,其中当计算机程序代码逻辑404被载入到计算机中并由计算机执行时,计算机变为用于实施本发明的设备。实施例包括例如计算机程序代码逻辑404,不管是存储在存储介质中、载入到计算机中和/或由计算机执行、或者在某一传输介质上(诸如,在电线或线缆上、通过光纤或者经由电磁辐射)传输,其中当计算机程序代码逻辑404被载入到计算机中并由计算机执行时,计算机变为用于实施本发明的设备。当在通用微处理器上执行时,计算机程序代码逻辑404配置微处理器以创建特定逻辑电路
[0055] 附图中的流程图和方框图示出根据本发明各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。在这个方面,流程图或方框图中的每个方框可代表包括用于实现指定的逻辑功能的一个或多个可执行指令的代码的模块、段或一部分。还应该注意的是,在一些另外的实现方式中,方框中标注的功能可以不按附图中标注的次序执行。例如,事实上,根据涉及的功能,连续示出的两个方框可以基本上同时执行,或者这些方框有时候可以以相反的次序执行。还应该注意的是,方框图和/或流程图中的每个方框以及方框图和/或流程图中的方框的组合能够由执行指定的功能或动作的基于专用硬件的系统或专用硬件和计算机指令的组合实现。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈