针对异常事件增加虚拟机的处理能力的制作方法

文档序号:26643569发布日期:2021-09-15 01:16阅读:137来源:国知局
针对异常事件增加虚拟机的处理能力的制作方法
针对异常事件增加虚拟机的处理能力


背景技术:

1.本文公开了在发生异常事件时动态地增加在数据处理系统的对应分区上执行的一个或多个虚拟机的处理能力的数据处理系统。
2.组织通常在制造产品、执行服务、内部活动和其他合适的操作中使用网络数据处理系统。一些组织使用其中硬件和软件由组织拥有和维护的网络数据处理系统。这些类型的网络数据处理系统可以采取局域网、广域网的形式,以及其他合适的形式。这些类型的网络给组织带来了维护和管理资源的负担。在一些情况下,组织可以将网络数据处理系统的维护外包。其他组织可以使用其中硬件和软件可由第三方定位和维护的网络数据处理系统,利用这种类型的组织,组织使用计算机系统来访问网络数据处理系统。利用这种类型的架构,组织要使用和维护的硬件更少。
3.这种类型的网络数据处理系统也可以被称为云。在云环境中,经常通过互联网来访问云,其中组织使用计算机或简单的网络数据处理系统来访问这些资源。进一步,有了云,向组织提供的计算资源的数量可以动态地改变。例如,当组织需要更多计算资源时,组织可请求那些计算资源。
4.结果,使用云的组织不拥有硬件和软件。进一步,这些组织避免了用于维护计算资源的资本支出和成本。组织为所使用的计算资源付费。可基于实际使用的资源(诸如实际处理时间和存储空间)或资源的其他使用来向组织付费。组织还可定期地为固定量的计算资源付费。例如,组织可以按月为选定量的存储和处理能力付费。这种用法类似于诸如电力或燃气的资源。
5.尽管本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,各种实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。


技术实现要素:

6.根据一个或多个实施例,一种计算机实现的方法包括使用处理器在数据处理系统(dps)内提供包括处理器单元集合的第一计算资源集合。处理器单元集合包括处于活动状态的一个或多个第一内核以及最初处于不活动状态的一个或多个第二内核。所述一个或多个第二内核在处于不活动状态时代表处理器单元集合内预先存在的潜在cpu容量(lcc)。所述处理器为在所述dps上托管的分区分配包括具有处于活动状态的一个或多个第一内核的处理器单元集合的第一计算资源集合。在所述一个或多个第二内核已经被激活之前使用所述一个或多个第一内核来操作所述分区。资源管理器确定是否要基于异常事件的发生而利用lcc来增加分区的处理能力。响应于确定要增加,处理器将所述一个或多个第二内核从不活动状态激活到活动状态。然后,在所述一个或多个第二内核已经被激活之后,使用所述一个或多个第一内核和所述一个或多个第二内核两者来操作所述分区。响应于预定义标准,将所述一个或多个第二内核从活动状态去激活到不活动状态。
7.根据一个或多个实施例,一种计算机实现的方法包括:用处理器在数据处理系统
(dps)内提供包括处理器单元集合的第一计算资源集合,所述处理器单元集合包括处于活动状态的一个或多个第一内核,以及最初处于不活动状态的一个或多个第二内核。所述一个或多个第二内核在处于不活动状态时代表处理器单元的集合内预先存在的潜在cpu容量(lcc)。所述处理器为托管在所述dps上的分区分配包括具有处于活动状态的所述一个或多个第一内核的所述处理器单元集的所述第一计算资源集合。在所述一个或多个第二内核已经被激活之前,使用所述一个或多个第一内核来操作所述分区。资源管理器确定是否要基于异常事件的发生而利用lcc来增加分区的处理能力。响应于确定要增加,将所述一个或多个第二内核从不活动状态激活到活动状态。然后,在所述一个或多个第二内核已被激活之后,使用所述一个或多个第一内核和所述一个或多个第二内核两者来操作所述分区。响应于预定义标准,将所述一个或多个第二内核从活动状态去激活到不活动状态。处理器执行对与所述一个或多个第二内核的激活和去激活有关的信息进行记录、跟踪或审计中的至少一项。
8.根据一个或多个实施例,一种用于测量和报告由异常事件触发的虚拟机的增加的处理能力的计算机实现的方法包括:使用处理器来确定受异常事件的发生的触发、已经将额外资源应用于分区以增加所述分区的处理能力。处理器然后确定所述额外资源的应用的范围和持续时间,并且执行对与所述额外资源的激活和去激活相关的信息进行记录、跟踪或审计中的至少一项。
9.根据一个或多个实施例,提供了一种用于针对异常事件增加虚拟机的处理能力的计算机系统。所述计算机系统包括处理器,所述处理器被配置为执行指令,所述指令在所述处理器上执行时使所述处理器在数据处理系统(dps)内提供包括处理器单元集合的第一计算资源集合。所述处理器单元集合包括处于活动状态的一个或多个第一内核以及最初处于不活动状态的一个或多个第二内核。所述一个或多个第二内核在处于不活动状态时代表处理器单元集合内预先存在的潜在cpu容量(lcc)。系统为在所述dps上托管的分区分配包括具有处于活动状态的所述一个或多个第一内核的所述处理器单元集合的所述第一计算资源集合。系统在所述一个或多个第二内核已经被激活之前使用所述一个或多个第一内核来操作所述分区。是否要基于异常事件的发生而利用lcc来增加分区的处理能力。响应于确定所述增加,所述系统将所述一个或多个第二内核从不活动状态激活到活动状态,并且在所述一个或多个第二内核已经被激活之后使用所述一个或多个第一内核和所述一个或多个第二内核两者来操作所述分区。响应于预定义标准,系统所述一个或多个第二内核从活动状态去激活到不活动状态。
10.根据一个或多个实施例,一种计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有在其上体现的计算机可读程序代码,当在处理器上执行时,计算机可读程序代码在数据处理系统(dps)内提供包括处理器单元集合的第一计算资源集合,所述处理器单元集合包括处于活动状态的一个或多个第一内核以及最初处于不活动状态的一个或多个第二内核。所述一个或多个第二内核在处于不活动状态时代表处理器单元集合内预先存在的潜在cpu容量(lcc)。所述处理器使用所述程序代码为在所述dps上托管的分区分配包括处于活动状态的所述一个或多个第一内核的处理器单元集合的所述第一计算资源集合,并且在所述第二内核已经被激活之前使用所述第一内核来操作所述分区。所述代码允许资源管理器接收基于异常事件的发生而利用lcc来增加分区的处理能力的增加指
示。所述代码指示所述处理器响应于该增加请求而将所述第二内核从不活动状态激活到活动状态,并且在第二内核已被激活之后使用第一内核和第二内核两者来操作所述分区。所述代码指示所述处理器响应于预定义标准而将所述第二内核从活动状态去激活到不活动状态。
11.通过本发明的技术实现了额外的特征和优点。本发明的其他实施例和各方面在此详细描述并且被认为是所要求保护的发明的一部分。参考说明书和附图来更好地理解本发明的优点和特征。
附图说明
12.下文结合附图进行详细描述,以下是对在下文中将要更详细地讨论的附图的简要描述。
13.图1是示出了根据本文所公开的一个或多个实施例的云计算环境的示例的示图。
14.图2是根据本文公开的一个或多个实施例的抽象模型层的示例的示意图。
15.图3是根据本文公开的一个或多个实施例的dps的框图。
16.图4是根据本文公开的一个或多个实施例的资源管理环境的框图。
17.图5是根据本文公开的一个或多个实施例的dps中的资源管理模块的框图。
18.图6是根据本文公开的一个或多个实施例的dps中的分区集合的框图。
19.图7是根据本文公开的一个或多个实施例的用于在特定事件处理期间增加处理器内核的处理能力的示例方法的流程图。
20.图8是根据本文公开的一个或多个实施例的用于在特定事件处理期间增加处理器内核的处理能力的另一方法的示例的流程图。
具体实施方式
21.本文公开的一个或多个实施例可以便于在检测到异常事件之后进行额外计算资源的交付。典型的计算系统在各种异常事件之后提供降级的性能。降级的性能还可能由于诊断信息的收集、硬件和软件服务补丁的应用、在此类异常事件之后的更新和从系统中断的恢复而造成。收集诊断信息可以包括收集转储和追踪(traces)。
22.例如,由于触发的ipl或计算系统的一个或多个分区的引导,从异常事件恢复可能会进一步花费大量的时间和资源。之所以可能需要额外的时间,是因为这样的操作(收集诊断信息/恢复)可能包括高于正常操作期间通常的预期系统工作负荷的工作负荷。可替代地或另外地,计算系统的性能可能由于计划的事件(诸如初始程序加载(启动)或预定的更新/补丁等)而降级。可以向计算系统添加额外计算资源,以缓和降级的性能的持续时间以及允许中断之后或者在包括额外工作负荷的调度的操作期间的性能增加。
23.下文中使用以下定义:
24.异常事件:异常事件是在正常操作之外发生的事件。它可以包括但不限于硬件故障、软件故障、收集诊断信息、应用硬件和/或软件服务补丁、正在运行的系统的计划内或计划外关机、停机等事件中的任何一个。异常事件可包括影响计算系统(例如计算机服务器系统)交付预期输出水平(例如处理能力)的能力的状况。异常事件不包括诸如尖峰工作负荷的正常操作事件。
25.[向资源管理器的]推断[资由资源管理器按照一组规则而不是基于源]请求 系统实体发出的实际请求作出的应当提供更多资源的确定。
[0026]
[向资源管理器的][资源]由收到系统实体的实际请求的资源管理请求 器向资源管理器发出的要求更多资源的实际或推断请求。
[0027]
以下首字母缩略词可以在下文中使用:
[0028]
arm
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
高级精简指令集计算机
[0029]
cd

rom
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
光盘rom
[0030]
cod
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
按需容量
[0031]
cpu
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
中央处理单元
[0032]
cuod
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
按需升级容量
[0033]
dps
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
数据处理系统
[0034]
dvd
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
数字多用盘
[0035]
eprom
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
可擦除可编程只读存储器
[0036]
fpga
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
现场可编程门阵列
[0037]
ha
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
高可用性
[0038]
iaas
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
基础设施即服务
[0039]
i/o
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
输入/输出
[0040]
ipl
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
初始程序加载
[0041]
isp
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
互联网服务提供商
[0042]
isa
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
指令集体系结构
[0043]
lan
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
局域网
[0044]
lpar
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
逻辑分区
[0045]
lta
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
记录/跟踪/审计
[0046]
paas
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
平台即服务
[0047]
pda
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
个人数字助理
[0048]
pla
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
可编程逻辑阵列
[0049]
ram
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
随机存取存储器
[0050]
risc
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
精简指令集计算机
[0051]
rom
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
只读存储器
[0052]
saas
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
软件即服务
[0053]
sla
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
服务水平协议
[0054]
sram
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
静态随机存取存储器
[0055]
wan
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
广域网
[0056]
应当理解,尽管本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。
[0057]
云计算是一种服务交付模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、贮存器、应用程序、虚拟机、以及服务)的共享池的方便、按需的网络访问,所述可配置计算资源可以用最小的管理努力或与服务提供者的交互来快速配置和释
放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
[0058]
特性如下:
[0059]
按需自助服务:云消费者可按需自动地单方面供应计算能力,诸如服务器时间和网络存储,而无需与服务的提供者的人类交互。
[0060]
广泛的网络接入:能力在网络上是可用的并且通过标准机制来访问,所述标准机制促进由异构的瘦或厚客户端平台(例如,移动电话、膝上型计算机和pda)的使用。
[0061]
资源池化:提供者的计算资源被池化以使用多租户模型服务于多个消费者,其中不同的物理和虚拟资源根据需要被动态地指派和重新指派。存在位置独立性的意义,因为消费者通常对所提供资源的确切位置不具有控制或知识,但可能能够指定较高抽象层级的位置(例如,国家、州或数据中心)。
[0062]
快速弹性:可以快速且弹性地提供能力(在一些情况下,自动地)以快速缩小并且快速释放以快速放大。对于消费者,可用于供应的能力通常显得不受限制,并且可以在任何时间以任何数量购买。
[0063]
测量的服务:云系统通过利用适于服务类型(例如,存储、处理、带宽和活动用户账户)的某种抽象级别的计量能力来自动控制和优化资源使用。可以监测、控制和报告资源使用,从而为所利用的服务的提供者和消费者两者提供透明度。
[0064]
业务模型如下:
[0065]
软件即服务(saas):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用可通过诸如web浏览器(例如,基于web的电子邮件)的瘦客户端接口从不同客户端设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至个体应用能力的底层云基础结构,可能的例外是有限的用户特定的应用配置设置。
[0066]
平台即服务(paas):向消费者提供的能力是在云基础结构上部署消费者创建或获取的应用,所述应用是使用提供者所支持的编程语言和工具来创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础结构,但是具有对所部署的应用以及可能的应用托管环境配置的控制。
[0067]
基础设施即服务(iaas):提供给消费者的能力是提供消费者能够部署和运行可以包括操作系统和应用的任意软件的处理、存储、网络和其他基本计算资源。消费者不管理或控制底层云基础结构,而是具有对操作系统、存储、所部署的应用的控制,以及对所选联网组件(例如,主机防火墙)的可能有限的控制。
[0068]
部署模型如下:
[0069]
私有云:云基础结构仅为组织操作。它可由组织或第三方管理,并且可存在于场所内或场所外。
[0070]
社区云:云基础结构由若干组织共享并且支持具有共享的关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可由组织或第三方管理,并且可存在于场所内或场所外。
[0071]
公共云:使云基础结构对公众或大型产业组可用并且由销售云服务的组织拥有。
[0072]
混合云:云基础架构是两个或更多个云(私有、社区或公共的)的组成,这些云保持唯一实体但通过标准化或专有技术来绑定在一起,这些技术实现数据和应用便携性(例如,用于云之间的负载平衡的云突发)。
[0073]
云计算环境是面向服务的,关注于无状态、低耦合、模块性和语义互操作性。云计算的内核是包括互连节点网络的基础设施。
[0074]
现在参见图1,描绘了说明性云计算环境50。如图所示,云计算环境50包括一个或多个云计算节点10,云消费者使用的本地计算设备(诸如个人数字助理(pda)或移动电话54a、台式计算机54b、膝上型计算机54c和/或汽车计算机系统54n)可与云计算节点10通信。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在诸如上文描述的私有云、社区云、公共云或混合云或其组合的一个或多个网络中。这允许云计算环境50提供基础结构、平台和/或软件作为云消费者不需要维护本地计算设备上的资源的服务。应当理解,图1中所示的计算设备54a

n的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。
[0075]
现在参见图2,示出了由云计算环境50(图1)提供的一组功能抽象层。应预先理解,图2中所示的组件、层和功能旨在仅是说明性的,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
[0076]
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于risc(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
[0077]
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
[0078]
在一个示例中,管理层80可提供下文所描述的功能。资源供应81提供用于执行云计算环境内的任务的计算资源和其他资源的动态获取。计量和定价82在云计算环境内利用资源时提供成本跟踪,并针对这些资源的消费进行计费或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及对数据和其他资源的保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(sla)计划和履行85提供云计算资源的预安排和采购,根据sla预期该云计算资源的未来要求。
[0079]
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟教室教育交付93;数据分析处理94;交易处理95;以及移动桌面96。
[0080]
图3是根据一个或多个实施例的示例dps的框图。dps可以用作云计算节点10。在这个说明性示例中,dps 100可以包括通信总线102,该通信总线102可以在处理器单元104、存储器106、持久性贮存器108、通信单元110、i/o单元112和显示器114之间提供通信。
[0081]
处理器单元104用于执行可以被加载到存储器106中的软件的指令。处理器单元104可以是多个处理器、多处理器内核或一些其他类型的处理器,这取决于特定的实现方式。如本文中参考项目所使用的数字表示一个或多个项目。进一步,处理器单元104可使用多个异构处理器系统来实现,其中主处理器与副处理器一起存在于单个芯片上。作为另一说明性示例,处理器单元104可以是包含相同类型的多个处理器的对称多处理器系统。
[0082]
存储器106和持久性贮存器108是存储设备116的示例。存储设备可以是能够存储
信息的任何硬件,所述信息诸如例如但不限于,数据、函数形式的程序代码、和/或临时性和/或永久性的其他合适的信息。在这些示例中,存储器106可为(例如)随机存取存储器或任何其他合适的易失性或非易失性存储装置。持久性贮存器108可以采取不同形式,这取决于特定的实现方式。
[0083]
例如,持久性贮存器108可以包含一个或多个组件或设备。例如,持久性贮存器108可以是硬盘驱动器、闪存、可重写光盘、可重写磁带或上述的某种组合。持久性贮存器108使用的介质也可以是可移除的。例如,可移动硬盘驱动器可以用于持久性贮存器108。
[0084]
在这些示例中,通信单元110可以提供与其他dps或设备的通信。在这些示例中,通信单元110是网络接口卡。通信单元110可以通过使用物理和无线通信链路之一或两者来提供通信。
[0085]
输入/输出单元112可以允许与可以连接到dps 100的其他设备输入和输出数据。例如,输入/输出单元112可以通过键盘、鼠标和/或一些其他合适的输入设备为用户输入提供连接。此外,输入/输出单元112可以向打印机发送输出。显示器114可以提供向用户显示信息的机制。
[0086]
操作系统、应用程序和/或程序的指令可以位于存储设备116中,存储设备116通过通信总线102与处理器单元104通信。在这些说明性示例中,指令可以以功能形式位于持久性贮存器108上。这些指令可以被加载到存储器106中以便由处理器单元104执行。不同实施例的过程可由处理器单元104使用计算机实现的指令来执行,这些指令可位于存储器(诸如存储器106)中。
[0087]
这些指令被称为程序代码、计算机可用程序代码或可由处理器单元104中的处理器读取和执行的计算机可读程序代码。不同实施例中的程序代码可以体现在不同物理或有形计算机可读介质上,诸如存储器106或永久存储装置108。
[0088]
程序代码118可以以功能形式位于选择性地可移除的计算机可读介质120上,并且可以加载到或转移到dps 100以由处理器单元104执行。在这些示例中,程序代码118和计算机可读介质120可以形成计算机程序产品122。在一个示例中,计算机可读介质120可以是计算机可读存储介质124或计算机可读信号介质126。计算机可读存储介质124可以包括例如光盘或磁盘,该光盘或磁盘被插入或放置到作为持久性贮存器108的一部分的驱动器或其他设备中,以便转移到作为持久性贮存器108的一部分的存储设备(诸如硬盘驱动器)上。计算机可读存储介质124还可以采取连接到dps 100的诸如硬盘驱动器、拇指驱动器或闪存之类的持久性贮存器的形式。在一些示例中,计算机可读存储介质124可以不是从dps 100可移除的。在这些说明性示例中,计算机可读存储介质124是非暂态计算机可读存储介质。
[0089]
可替代地,程序代码118可以使用计算机可读信号介质126被传送到dps 100。计算机可读信号介质126可以是例如包含程序代码118的传播数据信号。例如,计算机可读信号介质126可以是电磁信号、光信号和/或任何其他合适类型的信号。这些信号可通过通信链路传输,例如无线通信链路、光纤电缆、同轴电缆、电线和/或任何其他合适类型的通信链路。换言之,在说明性示例中,通信链路和/或连接可以是物理的或无线的。
[0090]
在一些说明性实施例中,程序代码118可以通过计算机可读信号介质126在网络上从另一设备或dps下载到持久性贮存器108以便在dps 100内使用。例如,存储在服务器dps中的计算机可读存储介质中的程序代码可以通过网络从服务器下载到dps 100。提供程序
代码118的dps可以是服务器计算机、客户端计算机或能够存储和传输程序代码118的一些其他设备。
[0091]
针对dps 100示出的不同组件不意味着对可以实现不同实施例的方式提出架构限制。不同的说明性实施例可以在dps中实施,该dps包括除了或代替针对dps 100所展示的那些组件的组件。图1中所示的其他组件可不同于所示的说明性示例。
[0092]
参见图4,描绘了根据一个或多个实施例的示例资源管理环境的框图。资源管理环境200是可以实现说明性实施例的环境的示例。举例来讲,可以在包括多个可以是服务器的dps 202a

202c(这些dps可以通过附图标记202共同地或举例地引用)的服务器集群中实现说明性实施例资源管理环境200。dps 202可以是dps 100的实现的示例。在图示中,仅示出了dps块中的一个的细节,然而,其他dps 202可以包括类似的架构。进一步地,虽然在图3中仅示出了三个dps块202,但是在其他示例中,资源管理环境200可以包括任何其他数量的dps。
[0093]
每个dps 202可以包括资源管理器203和资源集合206。资源管理器203管理一个或多个资源206的使用。进一步,资源管理器203可与资源管理环境200中的其他dps 202的对应资源管理模块通信,以向其他dps 202提供额外计算资源206或从其他dps 202接收额外计算资源206。尽管资源管理器203在附图中被图示为单个块,但是其功能的不同部分可以散布在整个资源管理环境200上。
[0094]
资源集合206可以指代dps 202中的一个或多个计算资源。例如,资源集合206可以包括设备208。设备208可以包括任何数量的不同设备,这些设备可以包括诸如例如处理器单元104、存储器106、持久性贮存器(storage)108、通信单元110、输入/输出(i/o)单元112和显示器114的设备。设备208还可以包括在dps 202外部的设备。例如,设备208可以包括连接到dps的设备,诸如通过通用串行总线(usb)或其他合适的连接器连接的相机或外部存储设备。
[0095]
在不同说明性实施例中,资源管理过程204可接收增加资源的请求210。资源管理过程204可通过用户接口214从用户接收请求210,如图4中所示。然而,资源管理过程204还可从形成资源管理环境200的一部分的其他实体接收请求210。参见图5,请求210可以来自与资源管理器交互的管理程序330。参见图6,请求210还可来自分区(partition)414a的操作系统430,或在分区内运行并利用分区存储器418的应用程序435。尽管在附图中未示出,但是在一些实施例中,请求210可能在技术上并不涉及由资源管理器203接收的实际通信,而是还可以是基于资源管理器203内包含的逻辑以及对其可用的资源管理环境200的不同资源的信息的访问的“推断请求”。换言之,“推断请求”在本文中还可被解释为资源管理器203自己作出的对某种需要的(但未明确请求的)资源的确定。为了简单起见,如本文中所使用的术语“请求”210的使用可以包括这种“推断请求”。推断请求还可被解释为增加指示(increase indication)(即,增加指示可被解释为对未显式地请求增加分区的处理能力的某种需要的资源作出确定)。
[0096]
在这些示例中,请求210可以是对增加一组资源206中的容量或性能的增加请求。例如,请求210可以是对cuod的请求。在一个示例中,请求210是增加资源集合206的处理能力212的请求。在另一示例中,请求210是对增加资源集合206的存储器216的请求。在又一说明性示例中,请求210可以是增加资源集合206的输入/输出设备集合218的请求。在一个实
现方式中,确定增加可以是基于资源管理器203接收的增加请求。该请求可以源自在分区中运行的操作系统和/或源自在分区内的操作系统上运行的应用。
[0097]
当资源管理过程204接收(或推断)增加资源集合206的处理能力212的请求210时,资源管理过程204可以决定是否激活多个内核222中的不活动内核220并批准请求210。在这些示例中,内核220是处理器集合224内的多个内核222中的内核。例如,多个内核222中的内核集合226在处理器集合224中处于活动状态223。如在此所使用的,当引用处理器中的内核时,“活动”意味着该内核当前可用于操作和执行指令并且执行用于该处理器的操作。内核220在一组处理器224内可以是不活动的。如在此所使用的,当引用处理器中的内核时,“不活动”意味着该内核当前不可用于执行指令和执行用于处理器的操作。例如,内核220可处于不活动状态221或活动状态223。当内核220当前不可用于执行指令时,内核220处于不活动状态221。例如,在处理器单元集合224中,内核220可在不活动状态221期间处于休眠状态。将资源集合206中的内核220激活为处于活动状态223可以增加资源集合206的处理能力212。在实施例中,不活动内核也可以是在用户的正常操作期间未被利用的内核,并且表示仅在某些条件下被激活的潜在处理器能力。由此,处于不活动状态的处理器表示处理器单元集合内预先存在的潜在cpu能力(lcc)。
[0098]
资源管理过程204可以确定用于激活内核220的资源的使用是否满足dps 202中的一个或多个资源使用策略或规则230。例如,一个或多个策略230可以包括sla、提供关于dps 202中的能力(power)的使用的规则的能力使用策略等。例如,仅一定量的处理能力可用于在dps 202中使用。该一个或多个策略还可以包括关于dps的哪些用户或客户端设备可以基于与用户的sla而使用dps 202中的某些资源的规则。
[0099]
如果资源管理过程204确定通过以第一频率228激活内核220所产生的资源的使用满足一个或多个策略230,则资源管理过程204可以以第一频率228激活内核220。例如,资源管理过程204可通过在内核220上建立第一频率228和调度指令来激活内核220。另一方面,如果不满足一个或多个策略230,则资源管理过程204可以拒绝增加处理能力212的请求210。资源管理过程204可提供增加处理能力212的请求210不可用的指示227。例如,资源管理过程204可通过用户接口214或通过针对隐式请求的某种形式的消息传递或记录来向用户提供指示227。
[0100]
在这些示例中,最小工作频率可以是内核可以工作的最低频率。最小频率可以是内核的物理属性、其逻辑设计的结果、或由于系统的另一属性(诸如互连系统的不同组件的总线的大小)而导致。无论限制的原因是什么,可以有明确定义的最小工作频率。
[0101]
资源管理过程204然后可以增加内核220的第一频率228。在这些说明性示例中,可基于资源集合206的处理能力212的增加量来选择第一频率228的所要值。在此示例中,内核220和内核集合226可在相同频率下操作。然而,在激活内核220之前,该相同频率可低于内核集合226的第二频率232。
[0102]
虽然以上示例描述了以调整处理器频率的形式来调整资源,但在其他示例中,可以调整不同类型的资源。例如,请求210还可以是要求增加资源集合206中的存储器216的请求。例如,上述用户或其他实体可按需请求容量升级中的额外存储器。替代地或此外,资源管理过程204可以识别数据被写入到存储器216和从存储器216读取的速率244。资源管理过程204可通过例如节流(throttling)来调整速率244。节流是在对存储器216执行的操作中
boards)310、存储器216和输入/输出设备集合218。在这些示例中,板集合310、存储器216和输入/输出设备集合218是可以在资源集合206中的资源。板集合310可以包括多个处理器316。例如,板集合310可以包括处理器316a、316b。在其他示例中,板集合310可以包括任何数量的处理器。在这些示例中,板集合310可以是用于放置和提供dps中的组件之间的连接的任何表面。例如但非限制,板集合310可以是印刷电路板、母板、电路试验板(breadboard)和/或其他合适的表面。
[0111]
在一个或多个示例中,板集合310还可以包括控制处理器316的控制器324。例如,控制器324可以激活处理器316a或处理器316a内部的多个内核222中的内核220a中的一个。控制器324还可以控制多个内核222中的每一个内核220的操作频率。控制器324还可以控制施加到多个内核222中的内核220的电压。控制器324可以包括硬件设备,例如但不限于微控制器、处理器、电压和频率传感器、振荡器和/或任何其他合适的设备。在其他示例中,控制器324可以包含用于控制处理器316的程序代码。
[0112]
资源管理过程204和升级管理过程306与控制器324通信以管理资源集合206中的资源。例如,资源管理器203可以通过来自用户接口214或上文所述的其他元件(elements)的请求210,接收在资源集合206中增容(increase capacity)的请求。请求210可以是通过激活多个内核222中的一个或多个内核220来增加处理能力的请求。多个内核222中的一些内核可处于不活动状态221。资源集合206可以被允许有一定数量的内核活动。换言之,资源集合可被许可(licensed)使用多个内核222中的一定数目的内核220。在一个或多个示例中,请求210可以包括许可代码。许可代码可以包括内核220a的标识符和用于激活内核220a的密钥。资源管理器203可以接收许可代码,并与管理程序330通信以确定多个内核222中哪些内核被许可。
[0113]
管理程序330是可以允许多个操作系统在dps 202上运行的模块。管理程序330可以将来自请求的许可代码与存储在存储设备中的许可代码集合332进行比较。在这些示例中,多个内核222中的每个内核具有许可代码集合332中的许可代码。如果来自请求的许可代码匹配许可代码集合332中的许可代码,则管理程序330确定多个内核222中的哪个内核对应于许可代码集合332中匹配的许可代码。所确定的内核,就是将在资源集合206中被许可的内核220。管理程序330将在资源集合206中被许可的内核220传达给资源管理器203。另一方面,如果请求中的许可代码不匹配许可代码集合332中的许可代码,则可以拒绝请求210。在下文更详细描述的某些情况下,不必使用此类许可代码332来接受请求210或增加可用资源。
[0114]
此外,如果资源集合206是dps 202内的分区,则管理程序330可以与分区管理器334通信以确定哪些资源是分区414(图6)的一部分。例如,增加处理能力(增加的计算资源)的请求210可以是增加特定分区中的容量的请求。管理程序330可以确认,多个内核222中的被请求许可的内核220a是分区414的一部分。分区管理器334可以维护作为特定分区414的一部分的资源的列表。如果被请求许可的内核220a不是请求容量增加的分区的一部分,则分区管理器334可以将内核220a分配给分区414。然后,管理程序330可以将资源集合206中待许可的内核220a传达到资源管理器203。
[0115]
在这些说明性示例中,资源管理器203可以接收标识内核222中的要被许可的内核220a的信息。升级管理过程306然后可以向控制器324发送用以激活多个内核222中要被许
可的内核220a的指令。在一个或多个示例中,升级管理过程306可以包括内核性能传感器336。内核性能传感器336监测内核222中的一个或多个内核的性能。例如,内核性能传感器336可以监测多个内核222中的活动的内核的操作频率。升级管理过程306可以激活内核220a以使之与多个内核222中的其他活动的内核的操作频率相同,如之前关于图4中的内核220所讨论的那样。在其他示例中,升级管理过程306可以以第一频率激活内核220a并调整该频率以增加资源集合206中的多个内核222的处理能力。
[0116]
对dps 202中的资源管理器203的利时,不意味着暗示对可以实现不同特征的方式的物理或者架构限制。可以使用除了所示出的那些之外的和/或代替所示出的那些的其他组件。此外,呈现方框以说明一些功能组件。当在不同的说明性实施例中实现时,这些方框中的一个或多个可以进行组合和/或划分成不同的方框。如本领域的普通技术人员将理解的,对于图中所示的任何方框来说都是如此。
[0117]
例如但非限制,在一些说明性实施例中,资源管理器203可以不是dps 202的一部分。资源管理器203可以在远离dps 202的位置。例如,资源管理过程204和升级管理过程306可以在远离dps 202的位置的计算系统上运行。资源管理过程204和升级管理过程306可以与其他数据处理元件通信以监测和控制dps 202中的能力的使用。
[0118]
在其他说明性实施例中,资源集合206可以包括任意数量的板作为板集合310。资源集合206中的每个板可具有单独的控制器,诸如例如控制器324。控制器324还可以控制资源集合206的板集合310中的不止一个板上的处理器。在一些说明性实施例中,诸如内核性能传感器336之类的传感器可以位于资源集合206中的每个板上。在其他示例中,资源集合206可以包括用于每个资源的传感器。内核性能传感器336中的传感器可以是处理器316中的各个处理器以及多个内核222中的内核的一部分。
[0119]
图6是例示根据说明性实施例的dps 202中的分区集合402的示例的框图。dps 202包括分区集合402。在所示示例中,资源管理器203可以包括用于dps 202中的分区集合402的资源使用策略230。资源使用策略230可以包括规定在dps 202中使用计算资源的策略或规则集。例如,资源使用策略230可以包括资源限制408。资源限制408可以是对可用于dps 202中的计算资源的量的限制。资源限制408还可以是对可以由来自分区组402的分区414a“消耗”或“使用”的能力量(the amount of power)的限制。在一个或多个示例中,资源限制408可基于与分区相关联的sla,该sla是与正在使用该分区的用户建立的。
[0120]
在这些说明性示例中,资源使用策略230可以包括用于分区414a的阈值集合412。阈值集合412可以包括分区414a中的设备的资源使用阈值。例如,阈值集合412可以包括板集合310中每个板、存储器216和/或输入/输出设备集合218的资源使用阈值。由此,阈值集合412中的能力使用(power use)阈值可以特定于分区414a中的设备。类似地,处理器集合224中的每个处理器和内核集合424中的每个内核,均可以有阈值集合412中的能力使用阈值。
[0121]
资源管理器203可以监测分区414a中的设备的计算资源使用。资源管理器203可以确定分区414a中的设备对计算资源的使用是否在阈值集合412中的阈值内。如果计算资源的使用不在阈值内,则资源管理器203可以确定计算资源的使用不满足资源使用策略230。
[0122]
资源管理器203还可以监测分区414b和414c中使用的计算资源。例如,资源使用策略230可以包括针对由分区414b中的设备对计算资源的使用的阈值集合414b。阈值集合
412b可限制对分区414b中的计算资源的使用。例如,资源管理器203可以接收增加分区414b中的容量的请求210。如果所请求的对计算资源的使用在阈值集合412b内且满足资源使用策略230,那么资源管理器203可以通过准许该请求而准许对计算资源的使用的请求。分区414b的阈值集合412b可确保分区414b中的设备对计算资源的使用的增加不会例如超过按sla的约定值。由此,当请求使得容量超过sla值时,资源管理器203可以不准许增加一个分区中的容量的请求。
[0123]
资源管理器203可以分配来自资源管理环境200中的另一dps 202的资源206。例如,在第一dps的处理器224中的一个被用于第一dps 202的内部事件或者正常操作之外的情形——其可以包含诊断事件、初始程序加载、捕获踪迹或任何其他此类计算密集型操作——的情况下,资源管理器203可以分配来自第二dps 202的处理器224中的一个以处理第一dps 202中的一个或多个操作/工作负荷。以类似的方式,如果第一dps 202的任何计算资源206被用于异常事件,则可以分配第二dps 202的任何其他类型的资源206以执行第一dps 202的任务/操作。
[0124]
在一个或多个示例中,报告模块440接收分区集合402中的每个分区的计算资源使用(usage)。报告模块440可以按照对应分区使用的计算资源,自动地为一个或多个相应用户(客户端设备)生成账单。例如,报告模块440可接收分区414已使用特定计算资源的持续时间。报告模块440可以用正在使用分区414的用户的sla来确定分区414所使用的计算资源中的一个或多个计算资源的费率(rates),并且可以按照sla来计算用户的账单金额。
[0125]
dps 202中的分区集402的图示不意味着暗示对可以实现不同特征的方式的物理或者架构限制。可以使用除了所示出的那些之外的和/或代替所示出的那些的其他组件。
[0126]
在有异常事件的情况下,该一个或多个计算资源可以用于解决该异常事件。计算资源的这种使用不必向用户计费,因为解决异常事件可以被认为是dps 202的内部事件。此外,异常事件可能导致用户对用户所提供的服务的中断(outage)。例如,用户可以是云服务提供商,诸如社交网络提供商(例如,facebook
tm
)、电子商务提供商(例如,amazon
tm
)、金融机构(例如,银行)、健康服务提供商(例如,医生、医院、保险提供商)等,其中即使最小的中断也可能具有重大后果。如本文所描述的,在一个或多个示例中,云中断和其他异常事件可能是dps202的基础设施中的故障的结果。可替代地或此外,故障可以由云服务提供商或云服务提供商的终端用户提供的工作负荷引起。无论中断或异常事件的源如何,尽可能快地使在dps 202上执行的系统在正常运行条件下运行是重要的。
[0127]
通常,诊断故障状况需要资源密集型诊断。例如,当故障诊断需要创建详细的踪迹记录和额外的数据记录时,可能会消耗额外的处理器资源。诸如一个或多个处理器的分支追踪(branch trace)之类的一些硬件特征可能引入显著的处理器开销。进一步,对(诸如x86架构)处理器上的栈覆盖(stack overlays)进行调试可能需要额外的处理器来检查指针和控制栈放置。在一个或多个示例中,导致需要计算资源密集的追踪或诊断的故障状况的异常事件,可能会发生在分区414中,而其他分区继续正常处理而没有故障状况。
[0128]
在一个或多个示例中,为了处理这种中断,集群计算是提供ha处理的常见技术。在ha系统中,设置多个机器,每个机器能够运行工作负荷。在一个或多个示例中,工作负荷可以被分割并且在集群中的多个机器上同时执行。当集群中的一个机器经历中断或故障状况时,来自集群中的第二个机器的额外处理器可提供对中断的诊断的支持。可替代地或此外,
集群中的第二个机器可以吸收由具有故障的第一机器操作的额外工作负荷。在这样的情况下,回退(fallback)系统(在此情况下为第二个机器)上的额外负荷高于第二个机器的稳定状态的负荷。再进一步,第二个机器可能必须执行额外的操作以完成在主系统(发生故障的第一机器失灵时累积的任何积压工作负荷。回退操作可以是有计划的或非计划的。
[0129]
因此,解决故障状况可能会是计算资源密集的。例如,解决故障状况可以包括执行追踪操作以捕获系统转储并用所捕获的系统转储中的数据来诊断dps 202。进一步,解决方案可以包括重新启动分区414中的操作系统,其可能包括ipl(引导)。ipl可以是个计算密集型过程。计算资源的这种使用可能影响与用户的sla,因为用户接收不到可能在sla中约定的性能水平。
[0130]
另外地或可替代地,在一个或多个示例中,将工作负荷从一个dps转移到另一个dps可能会是强制性的。例如,美国政府具有要求银行业和其他敏感行业在两个或更多个dps之间对处理进行周期性转移,以证明合规。工作负荷的这种转移使得dps执行ipl。
[0131]
这种故障状态解决和ipl导致减缓dps的操作的技术问题。进一步,这些技术问题可包括将计算资源用于除了来自用户的正常工作负荷之外的操作。相反,可以将计算资源用于对用户不可见的内部数据处理操作。
[0132]
因此,一个或多个实施例可以通过检测从处理器或从集群中的一个或多个处理器夺走处理能力的异常事件、并在这些状况下提供额外的cpu或其他资源,来解决这样的技术问题。根据一个或多个实施例,当dps检测到一个管理程序(或分区)中的ipl/引导时,dps可以与一个或多个管理程序协作以增加引导系统或分区所使用的处理器的处理能力。可以在没有针对这样的资源增加对用户的相应收费或记账的情况下进行这种增加。尽管dps可以检测ipl/引导,但是在一个实施例中,管理程序也可以向dps报告ipl,要求处理,或者可以通过请求210,报告对额外的资源的请求。类似地,分区内的os(操作系统)或应用程序可以做出类似的请求。
[0133]
容量增加的持续时间可以是预定义的壁式时钟(即,世界)时间、预定义的处理器周期数或预定义的事件。可以通过考虑了这些或以及其他准则中的任何一个的预定义规则集合来管理持续时间。在此上下文中使用的术语“预定义”的意思是在异常事件的发生之前由任何实体定义的。
[0134]
改进的性能可以以支持分区(虚拟机)的引导/ipl/恢复为目标,同时维持当前不经历引导/ipl/恢复的其他分区(虚拟机)的稳定性能。一个或多个实施例可以应用于裸金属机器和包括1级和2级管理程序在內的各级管理程序。
[0135]“裸金属”机器通常托管单个操作系统或管理程序,并且可以包括提升(boost)在裸金属上运行的操作系统的引导/ipl/恢复时间的能力。第一级管理程序在裸金属机器上运行并模拟许多机器,每个机器可托管单个操作系统或管理程序。第一级管理程序可以与裸金属机器一起工作,以提供提升在第一级管理程序下运行的操作系统中的一个或多个的引导/ipl/恢复时间的能力。ibm上的lpar是第一级管理程序的示例。第二级管理程序是由第一级管理程序托管的管理程序。第二级管理程序还可以模拟每个都可以运行单个操作系统或管理程序的机器。第二级管理程序可以与第一级管理程序和裸金属机器一起工作,以提供提升在第二级管理程序下运行的操作系统中的一个或多个的引导/ipl/恢复时间的能力。在ibm上的lpar下运行的是第二级管理程序的示例。在ibm上的
lpar下运行的zvm下运行的zvm是第三级管理程序的示例。管理程序下的管理程序链可以无限地继续。这些管理程序中的每一个可提升它们所托管的操作系统的引导/ipl/恢复时间。准许和隔离性能提升的机制在管理程序的每个级别可能会稍微不同,而基本概念和值命题却保持不变。
[0136]
增加的性能在dps 202中可以以至少两种方式使用。首先,计算资源的增加,可以缩短引导/ipl/恢复过程。第二,计算资源的增加,可以在完成引导/ipl/恢复过程之后提供可用于完成工作负荷积压的额外处理能力。增加的计算资源可以促进dps 202的增加的性能容量,一旦引导完成,dps 202可以用于使得更快地完成工作负荷积压。
[0137]
在一个或多个示例中,通过分配来自第二dps 202的计算资源而获得的增加的性能,可以促进在服务器集群的一个或多个成员(即,资源管理环境200)由于异常事件而具有额外的处理成本时使第一dps 202达到满容量。在一个或多个示例中,第二dps 202可以向第一dps 202(或任何其他dps)准许额外的计算资源,其中两个dps都是同一服务器群集的一部分。可替代地或另外地,在一个或多个示例中,第二dps 202可以提供额外的计算资源以补偿作为第二服务器群集(资源管理环境200)的一部分的dps 202的处理成本。在一个或多个示例中,使用来自第二服务器集群的计算资源206可以抵消完成异常事件所花费的处理成本,并且解决例如诸如追踪的诊断事件的异常事件。
[0138]
处理器224可以提供不同的成本/性能权衡。例如,诸如ibm z14的处理器提供26个不同的容量水平;因此,具有六组处理器的dps可以提供总共156个容量设置(26x6)。在一个或多个示例中,处理器224可在分区402的稳定状态操作期间在人为减小的容量水平下操作。可通过指令处理器224使用额外计算资源、改变处理器224操作的频率等来增加容量水平。另外地或替代地,可通过激活处于不活动状态221的一个或多个内核220来增加容量水平。应注意,处理器224可以是除上述示例之外的任何其他处理器类型,例如arm
tm
处理器、基于x86架构的处理器及其他处理器。
[0139]
关于是否通过提高处理器速度、添加不活动内核或两者来增加处理器资源的确定,可由资源管理器203来确定。大部分分区和/或分区内的活动,在获益于处理器速度增加的方面是稳健的。然而,不是所有分区或分区内的活动都可以受益于额外活动内核的引入。因此,资源管理器203可以包括一个数据库,其可以帮助资源管理器确定在提升资源时哪种方法最有可能是有益的;并且,资源管理器还可以包括帮助管理在不同情况下要增加的资源的范围的规则。在实施例中,当确定分区和/或在其中运行的操作可以利用多个线程运行(每个线程可以在单独的内核上运行)时,管理程序可以确定激活第二内核有利于解决异常事件。
[0140]
另外,异常事件可以包括异常事件阶段和/或异常事件子事件,并且,可以根据这些阶段/子事件来添加不同量的资源。在给定情况下要增加的资源量,可以存储在表或数据库中,并且可能取决于可用的实际硬件的不同特性、异常事件的类型、未使用的资源量。要增加的资源量可进一步基于尤其利用了预定义的存储值的计算的公式化值。当以激活不活动处理器的形式应用资源时,在一个实现方式中,这种添加和移除也可以与对处理器速度的修改结合——在这种组合中,最终用户可以感知到系统处理能力的平稳过渡,而不是可能发生的突然变化。
[0141]
此外,当在系统中使用增加的资源时,可以用记录/跟踪/审计(lta)过程来帮助评
估系统性能。lta过程可以包括相关持续时间的定时信息。定时信息可以包括诸如异常事件持续时间和额外资源处理持续时间之类的这些持续时间的开始和结束的日期和时间。lta过程可以在异常事件和增加的处理的持续时间内捕获这样的定时信息。lta过程还可以包括关于在增加的处理的持续时间内或在增加的处理的各个阶段提供的资源量,增加的处理之前、期间和之后的系统响应时间和其他相关数据的信息。也可以包括关于所涉及的分区以及分区内或分区外部运行的过程的信息。查看和分析lta数据可允许调整关于要应用的范围资源的不同参数。
[0142]
在多分区系统中,两个或更多个分区可能同时经历异常事件或者它们各自的异常事件的发生时间可能重叠。相应的第一和第二分区可以受益于同时或重叠应用额外的资源来处理它们。在这种情况下,确定如何分配可用资源可以以类似于如上所述的向单个分区提供资源的方式(表、公式计算等)来确定。在一个实施例中,可能的是,先将所有(或最大数量的/最大量的)可用资源给予较高优先级的异常事件分区,直到异常事件的处理完成,在此之后,将所有可用资源给予较低优先级事件。在另一实施例中,可以在它们之间分割可用资源。在另一个实施例中,要发生的“第一个异常事件”可以获得对可用资源的优先权,或者可能仅在稍后发生的异常事件具有与先前发生的异常事件相同或更低的优先级的情况下获得优先权。
[0143]
图7是根据一个或多个实施例的在特定事件处理期间增加处理器内核220的处理能力的示例过程700的流程图。过程700可以包括在操作710中监测dps 202中的分区集合402中的分区414处的异常事件。在一个或多个示例中,管理程序330或分区管理器334可针对异常事件监测分区的性能。可以通过监测分区414的输出水平来检测分区414中的异常事件,其中异常事件是对分区414递送预期输出水平的能力具有不利影响的状况。异常事件还可以包括分区414的操作系统430的ipl。在一个或多个示例中,操作系统430处于云或超规模(hyperscale)环境中。
[0144]
直到在操作720处检测到异常事件之前,(操作720:否),在操作730处,分区414可以使用所分配的计算资源206继续操作。所分配的计算资源206可基于使用分区414的用户/客户端的sla。当分区使用根据sla的默认计算资源设置来操作时,这被称为分区414的“稳定状态”或“正常操作”。
[0145]
如果检测到异常事件(720:是),则在操作740,可以识别分区414正在使用的计算资源206。进一步,在操作750处,资源管理器203可以通过增加分配给分区414的计算资源206(诸如通过提高内核速度、激活不活动内核220和使用上文所讨论的其他技术)来增加分区414的处理能力。所提供的额外计算资源可以来自第一dps 202、第二dps 202或任何其他dps 202。
[0146]
例如,所增加的额外资源可以包括可以通过增加为分区414分配的内核222的数量来交付的额外处理能力,这可能会涉及使可能处于不活动状态221的内核220变为活动状态223。替代地或此外,可以通过增加每内核222的处理能力来增加处理能力。例如,可以使用开/关cod来调整处理器224的操作,以启用和禁用处理器224的硬件引擎。替代地或此外,可通过改变虚拟化系统上的虚拟机优先级来增加处理能力。
[0147]
在一个或多个示例中,可以通过增加i/o设备218、增加存储器216或分配给分区414的其他这样的计算资源206来提供分区414的额外处理能力。可替代地或此外,可以通过
用实时客户机重定位技术将分区414的操作系统镜像转移到可以因为部分地或完全地抵消异常事件的性能影响的意图而交付额外容量的另一个dps 202,来交付该额外处理能力。在这种情况下,分区414转移到的另一个dps 202可以被称为备份dps 202。在一个或多个示例中,备份dps 202的资源管理器203可以将一个或多个计算资源206从第三dps 202分配给重定位的分区414。如本文所述,可以诸如使用cod或其他技术,对分配给分区414的计算资源进一步进行动态配置。
[0148]
额外处理能力可由资源管理器203提供。在一个或多个示例中,分区414指示异常事件的类型,并且作为响应,通过提供如本文所述的一个或多个额外计算资源206来增加处理能力。
[0149]
一旦提供了额外处理能力,在操作760处,分区的处理以增加的处理能力而继续。在操作770,可以对异常事件处理是否已经完成进行确定。这可以基于上述任何标准来完成。如果异常事件处理未完成(770:否),则增大的处理能力在操作760处继续。否则(770:是),针对分区414的操作的处理完成,于是在操作780将操作恢复到正常处理能力,然后在操作730继续处于正常稳态的分区的操作。解决异常事件可以包括在异常事件完成之后执行的操作。例如,在异常事件是ipl的情况下,额外计算资源206可以促进分区414在与具有稳定状态计算资源的ipl相比缩短的时间量内完成ipl。
[0150]
进一步,在一个或多个示例中,分区用额外计算资源来解决异常事件。解决异常事件可以包括执行一个或多个后续操作,诸如确定异常事件的原因。例如,在异常事件是由非计划的系统关闭引起的ipl的情况下,解决可以包括执行系统诊断、追踪和其他类型的分析以确定异常事件的原因。因为用于解决异常事件的此类操作可能也是计算密集的,所以资源管理器203可以促进额外计算资源来完成此类诊断或分析操作。
[0151]
过程700可以被设计得连续地进行操作。恢复分区414的计算资源可以包括解除分配(deallocating)向分区414分配的额外计算资源。尽管在上文为描述可以使用的过程700而将分区414作为示例分区作了描述,但是在其他示例中,分区集合402中的不同分区可能经历异常事件。
[0152]
图8是根据本文公开的一个或多个实施例的用于在特定事件处理期间增加处理器内核的处理能力的另一方法的示例的流程图。过程800可以在操作805中开始,其中,为dps 202上托管的分区414a分配包括处理器单元集合224的第一计算资源集合,处理器单元集合224包括处于活动状态223的第一内核220a,以及最初处于不活动状态221的第二内核220b。当处于不活动状态221时,第二内核220b可以代表预先存在于处理器单元集合224内的lcc。当系统在正常状态或正常操作模式中运行时,在操作810中,系统利用第一内核220a但不利用第二内核220b来操作。在操作815中,资源管理器203可以确定或接收诸如ipl的异常事件的指示,其指示应增加分区414a的处理能力以处理由异常事件产生的增加的处理负荷。在操作820中,第二内核220b从不活动状态221改变为活动状态223,从而使用第一内核220a和第二内核220b两者向分区414a提供处理能力。
[0153]
在操作825中,资源管理器203可以确定或接收第二异常事件(例如,ipl)的指示,其指示应当增加第二分区414b的处理能力以处理由第二异常事件产生的增加的处理负荷。在操作830中,将与第二分区414b相关联的第三内核220c从不活动状态221改变为活动状态223,由此向第二分区414b提供额外处理能力。在操作835中,一旦异常事件已经在第一分区
414a中结束,或者发生了上述预定义的或其他标准时,则可以将第一分区414a中的第二内核220b从活动状态223改变为不活动状态221。类似地,一旦异常事件已经在第二分区414b中结束,或者发生了上述预定义的或其他标准时,则可以第一分区414a中的第三内核220c从活动状态223改变为不活动状态221。
[0154]
因此,本文所讨论的一个或多个实施例提供了一种系统,其中,检测到异常事件并且基于对事件的检测来提供额外资源。异常事件是影响dps(特别是dps的分区)根据sla或其他阈值交付期望的输出水平的能力的状况。额外资源的应用的持续时间可以延长超过事件的持续时间。例如,在ipl(引导)期间应用的额外资源可以在异常事件之后的某个时间段(诸如ipl(引导))内继续可用。
[0155]
根据一个或多个实施例,dps(如计算机服务器)可以检测分区中的异常事件,并且作为响应,向该分区提供额外计算资源。期望的输出水平可以包括例如sla中所提供的一个或多个阈值。
[0156]
在一个或多个示例中,检测到的异常事件是物理或虚拟硬件上的操作系统的ipl(引导)。在一个或多个示例中,操作系统的ipl(引导)在云或超规模环境中。
[0157]
在一个或多个示例中,所增加的额外资源是可通过增加每内核的处理能力(例如,从子容量模型到全速模型的容量增加)和/或通过改变虚拟化系统上的虚拟机优先级来通过额外内核交付的额外处理能力。所增加的额外容量可以包括被分配用于分区414使用的i/o设备、存储器或其他硬件电子电路。在一个或多个示例中,所增加的额外容量是通过将受影响的分区的操作系统镜像转移到可以因为部分地或完全地抵消异常事件的性能影响的意图而交付额外容量的环境来交付的。
[0158]
因此,本文公开的一个或多个实施例提供了对计算机技术的改进。例如,云计算提供商可使用一个或多个实施例通过调整管理程序优先级来提高由虚拟化环境中的分区中的虚拟机看到的实际处理性能。虚拟机可以处理不同工作负荷并请求额外计算资源,所述额外计算资源可以不仅从托管虚拟机的计算机服务器分配,而且从可以是计算机服务器的服务器群集的一部分的另一计算机服务器分配。进一步,在一个或多个示例中,特别是对于具有多个分区的dps来说,可以将来自第二分区的计算资源可以分配给要求较高计算资源的分区。如本文所述,响应于检测到计划的和/或非计划的事件(诸如启动/ipl/恢复时间等)来分配计算资源,所述计划的和/或非计划的事件可能是计算机用户的停机时间的主要来源。这里的一个或多个实施例缩短了这样的由于引导/ipl/恢复时间或其他事件的停机时间,因此改善了dps的性能。
[0159]
在其他示例中,诸如oracle exadata
tm
的数据库服务器可以使用一个或多个实施例来使工作负荷继续处理而不受影响,同时在数据库装置内部运行追踪。数据库服务器还可以在服务器中断之后提供额外处理能力,以通过分配额外计算资源来解决工作负荷中断来帮助客户端从工作负荷中断恢复。
[0160]
附图中的流程图和框图示出了根据各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。
[0161]
在一些替代实现方式中,框中所标注的功能可以不以图中所标注的顺序发生。例
如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合可以由执行指定功能或动作的基于专用硬件的系统、或专用硬件与计算机指令的组合来实现。
[0162]
本文公开的实施例可以包括系统、方法和/或计算机程序产品。所述计算机程序产品可以包含上面具有计算机可读程序指令的计算机可读存储媒体(或媒体),所述计算机可读程序指令用于致使处理器执行本发明的方面。
[0163]
计算机可读存储介质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体例子的非穷举列表包括以下:便携式计算机盘,硬盘、ram、rom、eprom或闪存、sram、cd

rom,dvd、记忆棒、软盘、机械编码装置(如穿孔卡片或凹槽中的凸起结构),具有记录在其上的指令,以及上述的任意合适的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输媒质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过导线传输的电信号。
[0164]
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或通过网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
[0165]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令,isa指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或以一种或多种编程语言的任何组合写入的源代码或目标代码,包括面向对象的smalltalk、c++等编程语言,以及常规的过程式编程语言,例如“c”编程语言或类似的编程语言。计算机可读程序指令可完全在用户”的计算机上执行、部分在用户”的计算机上执行、作为独立软件包执行、部分在用户”的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可通过任何类型的网络(包括lan或wan)连接到用户的计算机,或者可连接到外部计算机(例如,使用isp通过互联网)。在一些实施例中,包括例如可编程逻辑电路、fpga或pla的电子电路可以通过利用计算机可读程序指令的状态信息来个性化电子电路来执行计算机可读程序指令,以便执行本发明的方面,
[0166]
本文中参考根据本发明的实施例的方法、设备(系统)和计算机程序产品的流程图说明和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令来实现。
[0167]
这些计算机可读程序指令可以被提供给通用计算机的处理器,专用计算机或其他可编程数据处理装置,以产生机器,其通过计算机或其他可编程数据处理装置的处理器执行,创建用于实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。这些计算机可读程序指令还可存储在可指导计算机的计算机可读存储介质中,可编程数据处理装置,和/或以特定方式起作用的其他设备,使得具有存储在其中的指令的计算机可读存
储介质包括制品,该制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。
[0168]
计算机可读程序指令还可以加载到计算机、其他可编程数据处理装置上,或使得在计算机上执行一系列操作步骤的其他装置,其他可编程装置或其他设备,以产生计算机实现的过程,使得在计算机上执行的指令,其他可编程装置或其他设备实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0169]
已出于说明的目的呈现了不同实施例的描述,但所述描述并非意在穷举或限于所揭示的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域的普通技术人员而言将是显而易见的。选择在此使用的术语以最佳地解释实施例的原理、实际应用或在市场上找到的技术上的技术改进,或使得本领域普通技术人员能够理解在此披露的实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1