原位处理器重新表征的制作方法

文档序号:6532723阅读:253来源:国知局
原位处理器重新表征的制作方法
【专利摘要】提供了一种重新表征处理,其调整处理器的一个或多个运行参数以改进处理器的健康度(例如,减少错误)。作为示例,参数包括电压和/或时钟频率。处理器可以是不活动的或活动的处理器,对其执行重新表征处理。在一个示例中,通过硬件控制器实时执行。
【专利说明】原位处理器重新表征

【技术领域】
[0001] 本发明的一个或多个方面一般地涉及计算环境中的处理器,并且具体地涉及重新 表征计算环境的处理器。

【背景技术】
[0002] 典型地,从多个处理元件(在此称为处理器)构造高可靠的计算机系统,多个处理 元件中的一些可以是在处理故障的情况下要使用的不活动的备件。
[0003] 处于不活动状态的故障处理器常常保持在该状态,直到它们物理地被其他处理器 替代。如果太多处理器由于故障而变得不活动,并且没有被替代,那么系统可能用完备件, 导致系统性能的劣化或者系统能力降低。
[0004] 因此,本领域需要解决上述问题。


【发明内容】

[0005] 通过提供用于促进计算环境中的处理的计算机系统,克服了现有技术的缺点并且 提供了额外的优点。所述计算机系统包括存储器和与所述存储器通信的处理器,并且所述 计算机系统配置为执行一种方法。所述方法例如包括检查处理器的一个或多个运行参数, 以确定是否要调整所述一个或多个运行参数的至少一个运行参数;基于所述检查确定要调 整至少一个运行参数,调整所述至少一个运行参数,其中在所述计算环境的其他处理器保 持运行的产生工作负载的执行期间,实时执行所述调整;以及基于所述调整,发起所述处 理器的测试以用至少一个调整的运行参数确定所述处理器是否运行在可接受的运行水平, 其中基于指示所述处理器运行在可接受的运行水平的测试,所述处理器可用于执行工作负 载。
[0006] 在此还描述和要求保护与本发明的一个或多个方面相关的方法和计算机程序产 品。此外,在此还描述并且可能要求保护与本发明的一个或多个方面相关的服务。
[0007] 通过本发明的一个或多个方面的技术实现额外的特征和优点。在此详细描述本发 明的其他实施例和方面,并且视为要求保护的发明的一部分。
[0008] 从第一方面看,本发明提供一种用于促进计算环境中的处理的计算机系统,所述 计算机系统包括:存储器;与所述存储器通信的处理器;检查部件,用于检查处理器的一个 或多个运行参数,以确定是否要调整所述一个或多个运行参数的至少一个运行参数;调整 部件,响应于确定要调整至少一个运行参数,用于调整所述至少一个运行参数,其中在所述 计算环境的其他处理器保持运行的产生工作负载的执行期间,实时执行调整;以及发起部 件,响应于所述调整,用于发起所述处理器的测试以用至少一个调整的运行参数确定所述 处理器是否运行在可接受的运行水平,其中基于指示所述处理器运行在可接受的运行水平 的测试,所述处理器可用于执行工作负载。
[0009] 从进一步的方面看,本发明提供一种用于促进计算环境中的处理的计算机系统, 所述计算机系统包括:存储器;与所述存储器通信的处理器,其中所述计算机系统配置为 执行一种方法,所述方法包括:检查处理器的一个或多个运行参数,以确定是否要调整所述 一个或多个运行参数的至少一个运行参数;基于所述检查确定要调整至少一个运行参数, 调整所述至少一个运行参数,其中在所述计算环境的其他处理器保持运行的产生工作负载 的执行期间,实时执行所述调整;以及基于所述调整,发起所述处理器的测试以用至少一个 调整的运行参数确定所述处理器是否运行在可接受的运行水平,其中基于指示所述处理器 运行在可接受的运行水平的测试,所述处理器可用于执行工作负载。
[0010] 从进一步的方面看,本发明提供一种促进计算环境中的处理的方法,所述方法包 括:通过所述计算环境的硬件控制器检查处理器的一个或多个运行参数,以确定是否要调 整所述一个或多个运行参数的至少一个运行参数;基于所述检查确定要调整至少一个运行 参数,调整所述至少一个运行参数,其中在所述计算环境的其他处理器保持运行的产生工 作负载的执行期间,实时执行所述调整;以及基于所述调整,发起所述处理器的测试以用至 少一个调整的运行参数确定所述处理器是否运行在可接受的运行水平,其中基于指示所述 处理器运行在可接受的运行水平的测试,所述处理器可用于执行工作负载。
[0011] 从进一步的方面看,本发明提供一种用于促进计算环境中的处理的计算机程序产 品,所述计算机程序产品包括:可由处理电路读取的计算机可读存储介质,并且存储用于由 所述处理电路执行的指令,所述指令用于执行本发明的步骤。
[0012] 从进一步的方面看,本发明提供一种存储在计算机可读存储介质上并且可载入数 字计算机的内部存储器的计算机程序,包括软件代码部分,当所述程序在计算机上运行时, 用于执行本发明的步骤。

【专利附图】

【附图说明】
[0013] 现在将仅通过示例的方式,参照如在以下附图中图示的优选实施例,描述本发 明:
[0014] 图1A根据现有技术,描绘并入并且使用本发明的一个或多个方面的计算环境的 一个实施例,并且其中可以实施本发明的优选实施例;
[0015] 图1B根据现有技术,描绘根据本发明的一个方面的图1A的中央处理器的进一步 细节,并且其中可以实施本发明的优选实施例;
[0016] 图2根据本发明的优选实施例,描绘根据本发明的一个方面的用于重新表征运行 在不可接受水平的处理器的逻辑的一个实施例;以及
[0017] 图3根据现有技术,描绘并入并且本发明的一个或多个方面的计算程序产品的一 个实施例,并且其中可以实施本发明的优选实施例。

【具体实施方式】
[0018] 根据本发明的一个方面,提供通过在处理器上运行重新表征处理(例如,电气表 征处理),以确定将允许处理器在可接受运行水平执行(例如,没有重新出现错误)的一组 运行参数,重新激活运行在不可接受水平的不活动处理器的能力。执行重新表征处理,而不 使处理器或计算机系统掉电。在一个实施例中,在生产环境(例如,非测试环境)中执行重 新表征处理。在其中其他处理器保持运行的情况下,实时地执行重新表征处理的一个或多 个方面。在进一步的实施例中,对活动处理器执行重新表征处理,以便例如改进系统性能, 或者对备件处理器执行重新表征处理以检查它们的健康度。
[0019] 参照图1A描述并入并且使用本发明的一个或多个方面的计算环境的一个实施 例。计算环境1〇〇基于例如由国际商业机器公司(纽约阿蒙克市)提供的z/Architecture' 在题为 "z/Architecture - Principles of Operation" 的 IBM 公开(IBM? 公开第 SA22-7832-08号,第九版,2010年8月)中描述了 z/ArchitectureK:。在一个示例中, 基于z/Architecture K,计算环境包括由国际商业机器公司(纽约阿蒙克市)提供的 System z_<。IBM、z/Architecture、System z、z/0S和处理器资源/系统管理器是在许多全 球司法管辖区中注册的国际商业机器公司的商标。
[0020] 作为一个示例,计算环境100包括耦合到输入/输出(I/O)子系统120的中央处 理器复合体(CPC) 102。中央处理器复合体102包括例如一个或多个分区104 (例如,逻辑分 区LPl-LPn)、一个或多个中央处理器106、管理程序108 (例如,逻辑分区管理器)和系统控 制器110,下面描述其中的每一个。
[0021] 每个逻辑分区104能够用作分离的系统。也就是说,如果需要的话,每个逻辑分区 能够独立地重置、初始地加载操作系统,并且运行不同程序。在逻辑分区中运行的操作系统 或应用程序似乎具有对于整个和完全系统的访问,但是实际上,仅仅它自己的部分是可用 的。硬件和固件的组合保持逻辑分区中的程序不干扰不同逻辑分区中的程序。这允许若干 不同逻辑分区以时间片方式在单个处理器或多个物理处理器上运行。
[0022] 如在此使用的,固件包括例如处理器的微代码、毫代码和/或宏代码。它包括例如 硬件级指令和/或在更高级机器代码的实施中使用的数据结构。在一个实施例中,它包括 例如通常作为微代码递送的专有代码,该微代码包括特定针对基础硬件的受信任软件或微 代码且控制操作系统对系统硬件的访问。
[0023] 在该特定示例中,每个逻辑分区具有驻留操作系统112,其可以对于一个或多个逻 辑分区不同。在一个实施例中,操作系统是Z/OS?.操作系统。此外,在该示例中,每个逻辑 分区具有为其指派(assign)的一部分系统主存储(存储器),其称为区段(zone)。
[0024] 逻辑分区104包括一个或多个逻辑处理器。每个逻辑处理器可以具有永久地分 配给它的中央处理器106,或者可能存在中央处理器106池,可用于可能跨越多个逻辑分区 104的逻辑处理器的任何分组的动态分配。
[0025] 逻辑分区104由例如通过运行在处理器106上的固件实施的管理程序108管理。 逻辑分区104和管理程序108每个包括驻留在与中央处理器相关联的主存储的各个分区中 的一个或多个程序。管理程序108的一个示例是IBM处理器资源/系统管理器?(PR/SM)。
[0026] 中央处理器106耦合到系统控制器110,但是与系统控制器110分离。系统控制器 110是例如控制对于存储器和中央处理器中的高速缓冲存储器的访问并且在中央处理器与 输入/输出子系统120之间通信的硬件组件。系统控制器负责由中央处理器和I/O子系统 120作出的请求的列队、串行化和执行。在一个示例中,其负责发送命令到特定中央处理器 和/或将命令广播到多个中央处理器。系统控制器可以是中心化组件,或者其功能可以分 布。系统控制器不是处理器或核心;例如,它不能执行用户应用。替代地,它是I/O子系统 和中央处理器之间的通信机制。
[0027] 参照图1B描述关于中央处理器106的进一步细节。在一个示例中,中央处理器 106包括一个或多个核心或处理器150,其是分配给一个或多个逻辑分区的物理处理器。中 央处理器被视为节点的一部分,并且每个节点包括一个或多个中央处理器。逻辑分区可以 跨越节点,其中来自一个节点的一个或多个中央处理器以及来自另一节点的一个或多个中 央处理器可以指派给该逻辑分区。
[0028] 此外,根据本发明的一个方面,中央处理器106包括控制器160 (例如,硬件控制 器),其用于执行重新表征以便调整可以为不活动或活动的处理器的参数。不活动的处理器 是当前没有接受要执行的工作负载的处理器。其可以是执行在不可接受水平的处理器,并 且因此它的工作负载移动到另一处理器,但是它仍然上电;或者其可以是等待激活的备件 处理器。活动的处理器是准备接收和执行工作负载和/或正在执行工作负载的处理器。
[0029] 参照图2描述与重新表征相关联的逻辑的一个实施例。在一个示例中,除非另外 指定,由控制器160 (图1B)执行该逻辑。
[0030] 参照图2,最初,在该示例中,确定特定处理器(例如,处理器A)具有重新出现的错 误,步骤200。例如,每个处理器具有用于确定它是否正确地运行的自测逻辑。特别地,每个 处理器包括用于确定是否已经出现错误的错误检查逻辑。如果错误已经出现,则处理器使 用它的恢复逻辑恢复自身。其跟踪在预定时间量中必须恢复的次数,并且如果发现恢复太 频繁(例如,必须恢复的次数超过阈值),那么其检测其具有重新出现的错误。
[0031] 响应于确定处理器具有重新出现的错误,停止该处理器的工作负载运行,并且从 系统隔离该处理器,步骤202。在一个实施例中,处理器向管理程序报告其具有重新出现的 错误,并且响应于此,管理程序停止处理器上的任务,处理器在系统中被隔离,其中管理程 序仍然知道该处理器,但是没有工作指派给该处理器,并且该处理器不包括由另一处理器 所需的任何息。
[0032] 此外,处理器的状态以及其工作负载从该处理器(例如,处理器A)卸载到备件处 理器(例如,处理器B),步骤204。在一个示例中,处理器或另一组件发起卸载,其由管理程 序或固件执行。卸载包括保存当前状态(包括架构的和内部状态)以及至少到工作负载的 标识符或指针,并且将它们置于一个或多个其他处理器(例如,备件)。
[0033] 此后,对于现场重新表征是否可用进行确定,询问206。也就是说,本发明的一个或 多个方面的能力在该系统上是否可用。在一个示例中,这可以由指示重新表征是否可用的 指示符(例如,共享存储器中的一位)确定。如果重新表征不可用,那么将该处理器标记为 缺陷的,并且在一个示例中,该处理器掉电,步骤208,并且处理完成。
[0034] 然而,如果现场重新表征可用,那么由控制器发起标准诊断测试(例如,阵列内建 自测(ABIST)和逻辑内建自测(LBIST)),并且在该处理器上运行,步骤210。如所知的,阵 列内建自测组件运行作为系统引导处理的一部分的内部诊断。ABIST测试每个处理器(作 为可应用的)中的逻辑和阵列,并且如果需要则对于处理器执行阵列修复(位备份)。逻辑 内建自测是由此集成电路测试其自身电路的完整性的手段。LBIST通过练习集成电路逻辑 并且然后检测该逻辑是否如所预期的表现来运行。实际上,具有LBIST的集成电路测试用 于生成刺激并且检测反应的专用嵌入测试电路。在一个示例中,作为LBIST测试的一部分, 清除(flush)处理器的内部状态,并且重新初始化到已知的好状态。
[0035] 响应于运行任何诊断测试,对于是否获取通过信号进行确定,询问212。这指示自 我诊断测试是否被视为成功(例如,匹配的模式等)。如果由控制器获取并且接收通过信 号,那么该处理器标记为可用的,步骤214。工作负载可以调度到该处理器,并且该处理器可 以重新进入运行状态,步骤216。
[0036] 然而,如果没有获取通过信号(级,诊断测试被视为不成功),那么在一个实施例 中,调整处理器的一个或多个参数以便提高其性能(例如,减少错误)。作为示例,这些参 数包括电压和/或时钟频率;然而,可以调整其他参数,诸如温度或其他。在一个示例中,对 于到处理器的提供(运行)电压是否处于最大电压进行确定,询问220。最大电压基于该 技术,并且是预定值。如果提供电压不处于最大电压,那么处理器的提供电压递增预定量, 步骤222。例如,提供或运行电压是电路运行的电压。在一个示例中,当前运行电压是0.95 伏,并且增量是大约〇. 05V (大约5% )。
[0037] 此后,由控制器发起ABIST和/或LBIST,并且再次在处理器上运行,步骤224。如 果此时获取通过信号,询问226,那么处理以步骤214继续,并且将处理器标记为可用的。 (在进一步的实施例中,除了调整电压外,还检查并且可以调整时钟频率,即使获取通过信 号。此外,在另一实施例中,响应于确定调整运行参数,由处理器自身发起诊断测试。)
[0038] 然而,如果仍然没有获取通过信号,询问226,那么对于处理器的时钟频率是否处 于最小值进行确定,询问230。最小值也基于该技术并且是预定值。如果时钟信号没有处 于最小值,那么将其减少预定量以放慢处理,步骤232。例如,高端企业级处理器(比如IBM z/Architecture处理器)的当前运行频率是5. 2GHz,并且减小量是大约5%。
[0039] 然后,ABIST和/或LBIST再一次运行,步骤234。响应于运行一个或多个ABIST 和LBIST,对于是否获取通过信号进行确定,询问236。如果获取,那么将处理器标记为可用 的,步骤214。然而,如果没有获取通过信号,或者如果时钟频率处于最小值,询问230,那么 处理以询问220继续,并且处理重复。
[0040] 返回到询问220,如果提供电压处于最大值,那么处理以检查时钟频率继续,询问 240。如果时钟频率处于最小值,那么处理器仍处于不可接受的运行水平,所以其标记为缺 陷的,并且在一个示例中,其掉电并且将不再次调整,步骤242。否则,处理以步骤232继续, 其中减小时钟频率,并且执行其他处理。这完成重新表征处理的处理。
[0041] 在进一步的示例中,除了或者替代电压和/或时钟频率,可以测试和调整其他运 行参数。一个这样的参数是温度。然而,在温度的情况下,替代直接改变参数(例如,温度), 调整是间接的,改变影响参数的一个或多个成分/条件,诸如影响温度的处理器的冷却技 术、处理器邻近的空气温度或者风扇速度作为示例。然而,如同电压和时钟频率,在调整参 数之后,再次运行诊断测试,并且测试通过信号。
[0042] 如在此使用的,调整参数包括其中直接调整参数本身(如在电压和时钟频率的情 况下,作为示例)的直接控制和/或其中替代直接调整参数调整影响参数的一个或多个成 分/条件从而调整参数(诸如温度,作为示例)的间接控制。
[0043] 如上所述,在一个实施例中,当处理器检测到错误时,其典型地将自身恢复到已知 的好状态。如果错误重新出现,那么状态转移到备件处理器,并且缺陷的处理器置为隔离状 态。然后,系统中的控制器执行表征处理,其在运行一组诊断模式(例如,ABIST和LBIST) 的同时,改变电属性(诸如提供电压和时钟频率)。执行测试,直到发现测试通过的运行点。 响应于获取该点,该处理器返回在线,并且从工作负载管理器接收新的工作负载。
[0044] 在进一步的实施例中,在处理器仍然活动的同时(例如,在其状态转移到其他处 理器之前),其还可以经历该现场类型测试(例如,当空闲时)以便验证该处理器的健康度。 此外,对备件处理器执行该处理,以便确定用于备件的最佳运行参数。在该系统中备件处理 器的指派轮转的情况下,可以对所有安装的处理器执行现场健康检查。在一个示例中,对备 件或空闲处理器以预定时间间隔执行现场测试,以检查安装的处理器的健康度(例如,运 行质量)。
[0045] 在一个方面中,执行重新表征而不要求指令恢复/重试控制器。作为一个示例,检 测缺陷的活动处理器,并且无破坏地从活动状态移除为非活动状态。在处于非活动状态的 同时,练习处理器以确定是否存在可操作状态(例如,电压电平、频率、温度),并且如果存 在,则使得处理器可用于在新的可操作状态下重新激活。也就是说,替代将处理器标记为缺 陷的并且不再次使用,将其运行参数调整为其中抢救处理器并且不视为缺陷的水平,即使 可能处于劣化的水平。通过抢救处理器,该环境较不可能用完备件。
[0046] 作为一个示例,在计算环境的其他处理器可操作的同时,实时执行该重新表征处 理。不存在对于由计算环境提供的服务的破坏,并且对于该环境的其他处理器透明。
[0047] 可不接受的运行水平可以是处理器具有重新出现的错误的水平、处理器未通过诊 断测试的水平和/或预定义为不可接受的任何水平。例如,活动的处理器可能未接收重新 出现的错误,但是作为示例如果它不满足特定性能特性或其运行在不希望的电压或时钟频 率(或其他运行参数),则可以被视为运行在不可接受的水平。类似地,由于类似的理由以 及其他,备件处理器可能被视为处于不可接受的运行水平。不可接受的运行水平可以对于 每个处理器预定义。
[0048] 此外,在一个示例中,如果其没有重新出现的错误和/或通过对其执行的诊断测 试,则处理器运行在不可接受的运行水平。在进一步的示例中,如果其满足特定性能要求或 特性或者运行在特性的希望运行参数,则其运行在可接受的水平。
[0049] 如本领域的技术人员将了解,本发明的一个或多个方面可体现为系统、方法或计 算机程序产品。因此,本发明的一个或多个方面可呈完全硬件实施例、完全软件实施例(包 括固件、常驻软件、微代码等)或组合软件与硬件方面的实施例的形式,这些实施例在本文 中通常都可被称为"电路"、"模块"或"系统"。此外,本发明的一个或多个方面可呈体现于 具有体现于其上的计算机可读代码的一个或多个计算机可读介质中的计算机程序产品的 形式。
[0050] 可利用一个或多个计算机可读介质的任何组合。计算机可读介质可为计算机可读 存储介质。举例而言,计算机可读存储介质可为(但不限于)电子、磁、光学、电磁、红外线 或半导体系统、装置或设备或前述各者的任何合适组合。计算机可读存储介质的更特定示 例(非详尽清单)包括以下各者:具有一个或多个电线的电连接、携带型计算机磁片、硬碟、 随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或高速缓冲存 储器)、光纤、携带型致密盘-只读存储器(CD-ROM)、光学存储设备、磁性存储设备或前述各 者的任何合适组合。在此文件的情况下,计算机可读存储介质可为可含有或存储供指令执 行系统、装置或设备使用或结合指令执行系统、装置或设备而使用的程序的任何有形介质。
[0051] 现参看图3,在一个示例中,计算机程序产品300包括例如一个或多个非暂时性计 算机可读存储介质302,以在其上存储计算机可读代码构件或逻辑304以提供并且有助于 本发明的一个或多个方面。
[0052] 可使用适当介质(包括但不限于无线、有线、光纤缆线、RF等或前述各者的任何合 适组合)传输体现于计算机可读介质上的程序代码。
[0053] 可用一个或多个程序设计语言的任何组合来撰写用于进行本发明的一个或多个 方面的操作的计算机代码,该一个或多个程序设计语言包括诸如Java、Smalltalk、C++或 类似者的物件导向式程序设计语言及诸如"C"程序设计语言、组译程序或类似程序设计语 言的习知程序性程序设计语言。代码可整体地在用户的计算机上执行、部分地在用户的计 算机上执行、作为一独立套装软件而执行、部分地在用户的计算机上且部分地在一远程计 算机上执行或整体地在该远程计算机或服务器上执行。在后者情形下,远程计算机可经由 任何类型的网络(包括区域网络(LAN)或广域网络(WAN))连接至用户的计算机,或可进行 至外部计算机的连接(例如,经由使用因特网服务提供者的因特网)。
[0054] 本文中参照根据本发明的实施例的方法、装置(系统)及计算机程序产品的流程 图说明和/或方块图描述本发明的一个或多个方面。应理解,可由计算机程序指令来实施 流程图说明和/或方块图的每一区块及这些流程图说明和/或方块图中的区块的组合。可 将这些计算机程序指令提供至通用计算机、专用计算机或其他可编程数据处理装置的处理 器以产生机器,以使得经由该计算机或其他可编程数据处理装置的处理器执行的指令创建 用于实施该或这些流程图和/或方块图区块中所指定的功能/动作的构件。
[0055] 这些计算机程序指令也可存储在计算机可读介质中,其可指导计算机、其他可编 程数据处理装置或其他设备以特定方式起作用,使得存储在该计算机可读介质中的指令产 生一制品,该制品包括实施该或这些流程图和/或方块图方块中所指定的功能/动作的指 令。
[0056] 这些计算机程序指令也可载入至计算机、其他可编程数据处理装置或其他设备上 以使一系列操作步骤在该计算机、其他可编程装置或其他设备上执行以产生计算机实施的 程序,使得在该计算机或其他可编程装置上执行的指令提供用于实施该或这些流程图和/ 或方块图区块中所指定的功能/动作的程序。
[0057] 这些图中的流程图及方块图说明根据本发明的一个或多个方面的各种实施例的 系统、方法及计算机程序产品的可能实施的架构、功能性及操作。在此方面,流程图或方块 图中的每一区块可表示模块、区段或代码的部分,其包含用于实施指定逻辑功能的一个或 多个可执行指令。还应注意,在一些替代实施中,在区块中提到的功能可能不按图中所提到 的顺序而发生。举例而言,实际上可实质上同时执行连续展示的两个区块,或有时可取决于 所涉及饿功能性以相反顺序执行这些区块。还应注意,方块图和/或流程图说明的每一区 块及方块图和/或流程图说明中的区块的组合可由执行指定功能或动作的基于专用硬件 的系统或专用硬件与计算机指令的组合来实施。
[0058] 除上之外,本发明的一个或多个方面可由提出客户环境的管理的服务提供者提 供、提出、部署、管理、服务等。举例而言,服务提供者可为一个或多个客户创建、维持、支持 等执行本发明的一个或多个方面的计算机代码和/或计算机基础结构。作为回报,作为示 例,服务提供者可在订用和/或收费协议下从客户收取付款。另外或替代地,服务提供者可 从广告内容销售至一个或多个第三方而收取付款。
[0059] 在本发明的一个方面中,可部署一种用于执行本发明的一个或多个方面的应用程 序。作为一个示例,应用程序的部署包含提供可操作以执行本发明的一个或多个方面的计 算机基础结构。
[0060] 作为本发明的又一个方面,可部署计算基础结构,其包含将计算机可读代码整合 至计算系统内,其中与该计算系统组合的代码能够执行本发明的一个或多个方面。
[0061] 作为本发明的又一个方面,可提供一种用于整合计算基础结构的程序,其包含将 计算机可读代码整合至计算机系统内。计算机系统包含计算机可读介质,其中计算机介质 包含本发明的一个或多个方面。与该计算机系统组合的代码能够执行本发明的一个或多个 方面。
[0062] 虽然以上描述了各种实施例,但这些实施例仅为示例。例如,其他架构的计算环境 可以并入和使用本发明的一个或多个方面。此外,中央处理器可以包括更多或更少在此描 述的处理器。另外,处理器不需要是中央处理器的一部分。此外,除了和/或替代电压和/ 或时钟频率,可以调整其他运行参数以改进处理器的健康度和/或为了其他原因。此外,在 一个示例中,当处理器标记为缺陷的时,其不需要掉电。还可以进行许多其他改变。
[0063] 而且,其他类型的计算环境可受益于本发明的一个或多个方面。作为例子,环境可 包括仿真器(例如,软件或其他仿真机制),其中特定架构(包括例如指令执行、诸如地址转 换的架构功能、以及架构寄存器)或其子集被仿真(例如,在具有处理器和存储器的本机计 算机系统中)。在这样的环境中,仿真器的一个或多个仿真功能可实施本发明的一个或多个 方面,即使执行仿真器的计算机可具有与正被仿真的能力不同的架构。作为一个例子,在仿 真模式中,解码正被仿真的特定指令或操作,且建立合适的仿真功能以实施单个指令或操 作。
[0064] 在仿真环境中,主计算机包括例如存储器以存储指令和数据;指令获取单元以从 存储器获取指令,且可选地,提供用于获取的指令的本地缓冲;指令解码单元以接收获取的 指令并确定已被获取的指令的类型;以及指令执行单元以执行该指令。执行可包括将数据 从存储器加载到寄存器;从寄存器将数据存储回存储器;或执行如由解码单元确定的某些 类型的算术或逻辑运算。在一个例子中,每个单元在软件中实现。例如,被所述单元执行的 操作被实现为仿真器软件中的一个或多个子例程。
[0065] 输入/输出或I/O设备(包括但不限于键盘、显示器、指标设备、DASD、磁带、⑶、 DVD、随身碟及其他存储器介质等)可直接或经由介入的I/O控制器而耦接至系统。网络适 配器也可耦接至系统以使数据处理系统能够经由介入私用或公用网络而变得耦接至其他 数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器及乙太网卡仅为可 用类型网络适配器中的少数几种。
[0066] 在此使用的术语仅是为了描述特定实施例,且不旨在限制本发明。如在此使用的, 单数形式"一"、"一个"和"该"也旨在包括复数形式,除非上下文另外清楚地指明。还将理 解,当在说明书中使用时,术语"包括"和/或"包含"指明存在所述的特征、整体、步骤、操 作、元件和/或组件,但不排除存在或附加一个或多个其他特征、整体、步骤、操作、元件和/ 或组件。
[〇〇67] 所附权利要求书中的所有装置或步骤加功能元件的相应结构、材料、操作以及等 价物,如有的话,旨在包括用于结合如特别要求保护的其他所要求保护的元件来执行所述 功能的任何结构、材料或操作。呈现本发明的说明是为了示出和描述的作用,但不是穷尽 性的或将本发明限制于所公开的形式。许多修改和变化对本领域普通技术人员来说是明显 的,且不脱离本发明的范围和精神。选择和描述实施例是为了最佳地解释本发明的原理和 实际应用,并使得本领域普通技术人员能针对适于考虑的特定用途的具有各种修改的各种 实施例理解本发明。
【权利要求】
1. 一种用于促进计算环境中的处理的计算机系统,所述计算机系统包括: 存储器; 与所述存储器通信的处理器; 检查部件,用于检查处理器的一个或多个运行参数,以确定是否要调整所述一个或多 个运行参数的至少一个运行参数; 调整部件,响应于确定要调整至少一个运行参数,用于调整所述至少一个运行参数,其 中在所述计算环境的其他处理器保持运行的产生工作负载的执行期间,实时执行调整;以 及 发起部件,响应于所述调整,用于发起所述处理器的测试以用至少一个调整的运行参 数确定所述处理器是否运行在可接受的运行水平,其中基于指示所述处理器运行在可接受 的运行水平的测试,所述处理器可用于执行工作负载。
2. 如权利要求1所述的计算机系统,其中所述一个或多个运行参数包括电压、时钟频 率和温度的至少一个。
3. 如权利要求1或2的任一所述的计算机系统,还包括获得部件,用于获得所述处理器 处于不可接受的运行水平的指示,并且其中所述检查部件进一步可操作用于基于所述处理 器处于不可接受的运行水平的指示检查。
4. 如权利要求3所述的计算机系统,其中所述获得部件进一步可操作用于基于所述处 理器具有重新出现的错误并且在从所述处理器卸载状态之后,执行一个或多个诊断测试, 并且用于接收指示所述处理器处于不可接受的运行水平的故障信号。
5. 如权利要求1所述的计算机系统,其中所述检查部件进一步可操作用于以预定时间 间隔检查。
6. 如权利要求1到5的任一所述的计算机系统,其中所述检查部件进一步可操作用于 确定所述处理器的提供电压是否处于预定电压,并且其中所述调整部件进一步可操作用于 基于确定所述提供电压未处于所述预定电压,改变到所述处理器的电压。
7. 如权利要求6所述的计算机系统,其中所述检查部件进一步可操作用于基于所述提 供电压处于所述预定电压,确定所述处理器的时钟频率是否处于预定频率,并且其中所述 调整部件进一步可操作用于基于确定所述时钟频率未处于所述预定频率,改变所述时钟频 率。
8. 如权利要求6所述的计算机系统,其中所述检查部件进一步可操作用于响应于在改 变电压之后确定所述处理器的运行水平处于不可接受的水平,确定时钟频率是否处于预定 频率,并且其中所述调整部件进一步可操作用于基于确定所述时钟频率未处于所述预定频 率,改变所述时钟频率。
9. 如前述权利要求的任一所述的计算机系统,其中所述检查部件进一步可操作用于确 定所述处理器的时钟频率是否处于预定频率,并且其中所述调整部件进一步可操作用于响 应于确定所述时钟频率未处于所述预定频率,改变所述时钟频率。
10. 如前述权利要求的任一所述的计算机系统,其中所述测试部件进一步可操作用 于: 运行一个或多个诊断测试;以及 基于所述一个或多个诊断测试,确定所述处理器是否处于可接受的运行水平。
11. 一种促进计算环境中的处理的方法,所述方法包括: 通过所述计算环境的硬件控制器检查处理器的一个或多个运行参数,以确定是否要调 整所述一个或多个运行参数的至少一个运行参数; 基于所述检查确定要调整至少一个运行参数,调整所述至少一个运行参数,其中在所 述计算环境的其他处理器保持运行的产生工作负载的执行期间,实时执行所述调整;以及 基于所述调整,发起所述处理器的测试以用至少一个调整的运行参数确定所述处理 器是否运行在可接受的运行水平,其中基于指示所述处理器运行在可接受的运行水平的测 试,所述处理器可用于执行工作负载。
12. 如权利要求11所述的方法,其中所述检查包括确定所述处理器的提供电压是否处 于预定电压,并且其中基于确定所述提供电压未处于所述预定电压,所述调整包括改变到 所述处理器的电压。
13. 如权利要求12所述的方法,其中所述检查进一步包括基于所述提供电压处于所述 预定电压,确定所述处理器的时钟频率是否处于预定频率,并且其中基于确定所述时钟频 率未处于所述预定频率,所述调整包括改变所述时钟频率。
14. 如权利要求12所述的方法,其中所述检查进一步包括基于在改变电压之后确定所 述处理器的运行水平处于不可接受的水平,确定时钟频率是否处于预定频率,并且其中基 于确定所述时钟频率未处于所述预定频率,所述调整包括改变所述时钟频率。
15. 如权利要求11到14的任一所述的方法,其中所述检查包括确定所述处理器的时钟 频率是否处于预定频率,并且其中所述调整包括基于确定所述时钟频率未处于所述预定频 率,改变所述时钟频率。
16. 如权利要求11到15的任一所述的方法,还包括获得所述处理器处于不可接受的运 行水平的指示,并且其中所述检查基于所述处理器处于不可接受的运行水平的指示。
17. 如权利要求11到16的任一所述的方法,其中以预定时间间隔执行所述检查。
18. -种用于促进计算环境中的处理的计算机程序产品,所述计算机程序产品包括: 可由处理电路读取的计算机可读存储介质,并且存储用于由所述处理电路执行的指令,用 于执行如权利要求11到17的任一所述的方法。
19. 一种存储在计算机可读存储介质上并且可载入数字计算机的内部存储器的计算机 程序,包括软件代码部分,当所述程序在计算机上运行时,用于执行权利要求11到17的任 一所述的方法。
【文档编号】G06F11/24GK104067234SQ201380006014
【公开日】2014年9月24日 申请日期:2013年1月11日 优先权日:2012年1月19日
【发明者】C.A.克里戈夫斯基, S.卡洛, B.R.普拉斯基, F.Y.布萨巴, C-L.K.舒姆 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1