再分配处理环境的物理处理器的方法和系统的制作方法

文档序号:6609559阅读:200来源:国知局
专利名称:再分配处理环境的物理处理器的方法和系统的制作方法
技术领域
本发明 一般涉及在处理环境内的处理,并且特别涉及并行再分配支持(backing)处理环境的逻辑处理器的物理处理器。
技术背景操作系统将处理器视作逻辑处理器。该逻辑处理器由某个物理处 理器支持。当在加载操作系统之前启动和初始化机器时,确定处理器 的物理分配。通常, 一旦作出逻辑到物理处理器的分配,该分配就不 被改变。然而,在某些严格的条件下,可改变逻辑到物理处理器的分配。 具体地说,假定处理环境内存在备用处理器,如果处理器出现故障, 则可改变分配。具体地说,在出现故障处理器的情况下,分配被改变, 以使备用处理器而不是出现故障的处理器支持逻辑处理器。发明内容虽然分配改变可用于出现故障的处理器,但是对于用于再分配逻 辑处理器的物理支持的改进能力存在着需求。在一个例子中,需要用 于操作处理器的物理处理器再分配的能力。例如,存在着对物理处理 器再分配能力的需求,其可与支持逻辑处理器的物理处理器的操作并 行执行。进一步地,存在着对再分配能力的需求,其被透明地并且在 没有使用操作系统软件的开销的情况下执行。通过提供再分配处理环境的物理处理器的方法,克服了现有技术 的缺点并且提供了额外的优点。例如,方法包括确定支持逻辑处理器 的物理处理器将被改变;以及将另 一个物理处理器再分配给逻辑处理
器,其中再分配与物理处理器的操作并行进行。此处还描述并且要求保护对应于以上所概述的方法的系统和计 算机程序产品。通过本发明的技术,实现了附加特性和优点。此处详细描写了本 发明的其它实施例和方面,并且其被认为是有请求保护的发明的一部 分。


本发明的一个或多个方面在说明书结束部分的权利要求书中作 为例子被具体指出和明确要求保护。通过以下结合附图的详细说明将明白本发明的上述及其它目的、特性和优点,其中图l描述了处理环境的 一个实施例以引入和使用本发明的 一个或 多个方面;图2根据本发明的一个方面描述了与执行并行物理处理器再分配 相关的逻辑的一个实施例;图3根据本发明的一个方面描述了与执行并行物理处理器再分配 的一个实施例相关的更多细节;图4根据本发明的一个方面描述了与确定在并行物理处理器再分 配期间所使用的新配置相关的逻辑的 一个实施例;图5根据本发明的一个方面描述了与存储将被再分配的源处理器 的操作状态相关的逻辑的一个实施例;图6根据本发明的一个方面描述了与将所存储的操作状态加载到 目标处理器上相关的逻辑的一个实施例;以及图7描述了引入本发明的一个或多个方面的计算机程序产品的一 个实施例。
具体实施方式
根据本发明的一个方面,改变处理环境的一个或多个逻辑处理器 的物理支持。例如,当前分配给逻辑处理器(源处理器)的物理处理
器被另一个物理处理器(目标处理器)替代。在最初支持逻辑处理器(即源处理器)的物理处理器正运行(与故障、检查停止(check stopped)或者时钟停止(clock-st叩ped )相反)的同时,执行另一个 物理处理器到逻辑处理器的再分配,并且该再分配对于包括逻辑分区 管理程序的操作系统软件来说是透明的,并且无需其介入。对于一个 或多个逻辑处理器可以并行地执行再分配。在各种类型处理环境中使用本发明的一个或多个方面。参考图l 描述了引入并且使用本发明的一个或多个方面的处理环境的一个实施 例。处理环境100包含经由一个或多个连接104彼此连接的多个处理器 102。该例子中的每个处理器为执行由国际商业机器公司(IB1V^)提 供的z/ 08@操作系统的2861^8@服务器。连接104是例如令牌环、网络 连接、电缆或者任何其他类型连接。IBM 、 zSeries②和z/ 08@是国际 商用机器7>司(美国,New York, Armonk)的注册商标。此处所 使用的其他名字可以是国际商用机器公司或其它公司的注册商标、商 标或产品名称。每个处理器102被视为针对其操作系统的逻辑处理器。然而,该 逻辑处理器由分配给其的物理处理器支持。例如,基于处理器类型(即 CPU、 SAP)和/或机器配置(例如物理处理器的布置、段(book)的 数量)等,由环境的固件(例如微码)进行处理器的物理分配。再分配一个或多个逻辑处理器的物理支持是有必要或期望的。 即,有时期望改变一个或多个逻辑处理器的物理支持。作为例子,在 段替换操作和/或处理器升级期间,分配改变是有好处的。在段替换操 作期间,段被作为目标从系统中移除。如果操作系统正使用物理上位 于被定为移除目标的段上的一个或多个处理器,则作为抽空 (evacuation)的一部分,逻辑处理器被移动到物理上位于系统中剩 余的另一个段上的处理器中。类似地,当处理器升级发生时,分配新 的处理器资源。新的处理器资源取代备用处理器,并且备用处理器的 物理位置基于现有配置可能不是最优的。因此,重新分配当前分配的 物理处理器资源。 参照图2描述与物理处理器再分配相关的逻辑的一个实施例。在 一个例子中,该逻辑以处理环境的一个或多个处理器的微码来执行。参考图2,最初,在步骤200启动再分配。出于若干不同原因可以 启动再分配,包括例如重新分配处理环境的资源或执行并行段替换操 作。还存在其它再分配的原因。在一个实施例中,在所有处理环境的 处理器上接收到再分配指示。在另一个实施例中,在处理器的子集上 接收到再分配指示。在步骤202中,响应于启动再分配,在一个或多个处理器中的每 个上执行再分配。在步骤204中,为执行再分配,确定将被再分配的一 个或多个物理处理器(即确定一个或多个源)。进一步地,在步骤206 中,确定作为再分配的目标的物理处理器。特定物理处理器可以既是 目标又是源。例如,如果交换将要发生(例如iPUl/pPUl, iPU2/pPU2—iPU2/pPUl, iPUl/pPU2 ),则交换的处理器既是源又是 目标。进行这些确定之后,在步骤208中,再分配发生。这包括在目标 物理处理器上存储源物理处理器的操作状态。例如,在上述交换例子 中,物理处理器2的操作状态被再分配给物理处理器1,而物理处理器l 的操作状态被再分配给物理处理器2。参考图3-6描述了有关物理处理器的并行再分配的更多细节。具 体地说,图3描述了与包括4个处理器的处理环境中并行物理处理器再 分配相关的逻辑的一个实施例;图4描述了与确定再分配所使用的新配 置相关的逻辑的一个实施例;图5描述了与存储源处理器的状态相关的 逻辑的一个实施例;以及图6描述了与将所存储的状态加载到目标处理 器上相关的逻辑的 一个实施例。参考图3,有4个处理器300,每个由逻辑处理器标识符(iPUx) 302和物理处理器标识符(pPUx) 304表示。在某时间点上,并行物理 处理器再分配技术在处理器上被启动。作为一个例子,通过在环境的 每个操作处理器(或在另一个实施例中,在处理器的子集)上执行指 令来启动再分配。指令包括例如表示将被执行的操作的操作码,以及 存储在寄存器中、标识用来控制操作的参数块的地址的地址。参数块包括若干字段,例如抽空字段,指明再分配是否是抽空的一部分; 再平衡字段,指明再分配是否是再平衡功能的一部分;备用字段,指 明备用处理器是否可以在相同的段中;段编号,指明用于抽空功能的 段的编号;返回码;以及旧配置数据,其提供用于跟踪和调试的记录, 并且包括例如在处理开始时的配置数据(例如oper-PPU、 oper-CPU、 oper-SAP等等),描述每个物理PU编号的处理器类型的向量,物理到 逻辑PU映射,以及每个逻辑PU的处理器信息(例如类型、状态、物 理PUid)。响应于处理器上启动指令,由处理器固件(例如微码)执行再分 配,其作为固件中调用指令的结果来执行。作为一个例子,在步骤310 中,响应于执行指令,处理环境的处理器被同步。在该例子中,同步 是针对所有处理器,包括备用处理器。此外,单处理器被选作主处理 器。该选择可以是随机的,或基于一些预先定义的准则。在该例子中, 处理器3被选作主处理器。主处理器负责提醒系统中的任何备用处理器 进行同步,并且还负责控制处理流程。响应于环境中的所有操作处理器达到同步,在步骤312中,主处 理器确定处理环境的新配置。作为例子,基于处理环境的要求以及调 用的原因(例如段抽空、处理器重新分布等等)确定该新配置。作为 该确定的一部分,主处理器确定将被再分配的一个或多个物理处理器 (源),以及将作为源的目标的一个或多个物理处理器,下面更详细 地描述这一点。作出该确定之后,主处理器更新处理环境内的全局结 构(例如硬件系统区域存储位置),其描述了对物理处理器分配的改 变。例如,全局结构指出哪个物理处理器被再分配给特定的逻辑处理 器。这里,在步骤314中,每个处理器回到同步点。此后,主处理器触发处理器以离开同步状态,并且检查新的物理 处理器分配。在步骤316中,由主处理器选定将被再分配的物理处理器 将其微结构设计的状态存储在指定的存储器中,并且在步骤318中回到 同步点。微结构设计的状态为物理处理器的操作状态。其包括处理器 检查点状态信息,所述状态信息包括例如通用寄存器、访问寄存器、 浮点寄存器、控制寄存器、定时设备寄存器、系统配置寄存器、指令地址寄存器等的内容。在步骤318中,没有被选定将被再分配的处理器 回到同步点。此后,主处理器触发处理器以离开同步状态,并且再次检查新的 物理处理器分配。在步骤320中,由主处理器选定作为目标的物理处理 器加载相应的源物理处理器的微结构设计的状态,并且在步骤322中回 到同步。在步骤322中,没有被选定作为目标的处理器也回到同步点。响应于处理器回到同步点,操作完成,并且主处理器触发处理器 结束再分配过程。在该实施例中,作为再分配的结果,逻辑处理器l (iPUl)现在由物理处理器2 (参见附图标记324)支持,而逻辑处理 器2 (iPU2)现在由物理处理器l (参见附图标记326)支持。有关再分配过程的更多细节描述如下。例如,参考图4描述了与 确定新配置(步骤312)相关的逻辑的一个实施例。如上所述,响应于 系统中的处理器到达同步点,该逻辑在主处理器上执行。参考图4,在询问400中,确定再分配是否因为抽空而正被执行。 再分配的原因由启动再分配的指令来指明。在步骤402中,如果再分配 因为抽空而正被执行,则建立源处理器列表,其包括物理上位于作为 移除目标的段上的非备用处理器。此外,在步骤404中,建立目标处理 器列表,其包括针对源列表中的每个处理器,物理上位于不是移除目 标的段之一上的备用处理器。然而,如果再分配没有因为抽空而在执行,则在该实施例中,再 分配作为并行处理器升级操作的一部分而在执行。同样地,作为例子, 在步骤406中建立源处理器列表,其包括不在基于处理器类型(例如 CPU、 SAP等等)和机器配置(例如每段物理处理器的数量,以及系 统中的段的数量)的所需物理位置中的处理器。这由例如保持在内部 存储器中的数据结构(例如表)来确定。除了源列表之外,在步骤408中建立目标处理器列表,其中对于 源处理器列表中的每个处理器,找到没有位于其最优物理位置,但是
会符合源处理器位置的要求的另一个处理器。即,如由保持在内部存 储器中的数据结构所确定的,每个目标为没有在基于处理器类型和机 器配置的其最优物理位置中的物理处理器。建立源和目标处理器列表之后,在步骤410中,不考虑再分配的 原因,保存源和目标列表。在一个例子中,源和目标处理器列表被保 存在硬件系统区域存储器的公共区域中,使得列表可用于系统中的所 有处理器。随后,在步骤412中更新配置。作为一个例子,更新硬件系统区 域存储器中的处理器配置信息以反映最终配置。这包括更新物理到逻 辑向量,逻辑到物理向量,以及每个处理器类型的位向量(表明处理 器的类型,例如SAP, CPU)。在主处理器确定新配置之后,每个处理器将检查新的物理处理器 分配。参考图5描述该处理的一个实施例。最初,在询问500中,由执 行该逻辑的处理器确定其是否应离开其同步点。如果处理器尚未被触 发离开其同步点,则其保留。否则,在步骤502中,处理器从硬件系统 区域存储器中获取源处理器列表。在询问504中,处理器检查列表以确 定其是否已被指定为源处理器。如果不是,则在步骤506中,完成该处 理器的处理,而且其到达另一个同步点。然而,如果处理器被指定为源处理器,则在步骤508中,处理器 在硬件系统区域存储器中存储在这里被称作为Runit或微结构设计的 状态的其自身操作状态。该操作状态包括例如由微码可见的处理器的 完全状态。在一个例子中,使用一系列读Runit寄存器和存储指令完成 存储。每个寄存器由例如指令读取,并且所指定的寄存器的内容以数 据结构的方式被存储在存储器(例如硬件系统区域存储器)中。此后, 在步骤506中其进入同步点。在处理器存储Runit状态并且进入另一个同步点之后,如参考图6 所描述的,执行进一步的处理。在一个实施例中,最初,在询问600 中确定处理器是否应离开同步点。在其何时能够离开同步点方面,每 个处理器由主处理器触发。主处理器在源处理器存储其操作或微结构
设计的状态之后,触发处理器离开同步状态,并且检查新的物理处理 器分配。处理器直到该点之前一直保留在同步点处。如果确定处理器将离开同步点,则在步骤602中其获取目标处理器列表。在询问604中, 处理器检查列表以确定其是否被指定为目标。如果处理器为目标处理 器,则在步骤606中其更新所存储的结构设计的状态。例如,目标处理 器基于标识该目标的源的目标列表,确定源处理器的所存储的操作状 态在硬件系统区域存储器中的位置。其更新源处理器的所存储的操作 状态以反映新的物理处理器。例如,其更新处理器单元编号以反映目 标物理处理器单元编号。此外,在步骤608中,目标处理器将所存储的结构设计的状态加 载到目标处理器上。在一个例子中,目标处理器发出以改变的源处理 器的所存储的Runit状态为目标的加载R-Unit状态指令。加载R-Unit 状态指令以例如微码方式执行,并且在目标处理器上通过单一、原子 操作加载相应源处理器的R-Unit寄存器。例如,起始于加载指令的操 作数字段中所指定的存储位置,顺序地、每次双字地加栽寄存器。在 由Slegel等人于2001年2月13日提交的、标题为"Transparent Processor Sparing"的美国专利6,189,112中描述了该指令的一个实施例,这里完 整地参考引用了该专利。此后,在步骤610中,处理回到同步点。响应于所有处理器回到 同步点,操作完成,并且主处理器触发所有处理器以回到正常操作。 在一个例子中,这包括进行触发以结束内部指令。上面详细描述的是并行再分配逻辑处理器的物理支持的能力。在 (例如不处于出现故障、检查停止或时钟停止状态的)物理处理器的 操作期间, 一个物理处理器的操作状态被移动到另一个物理处理器。利用该再分配,另一个物理处理器支持逻辑处理器。对于环境的一个 或多个处理器可以完成这个。本发明的一个或多个方面可包含于具有例如计算机可用介质的 制造产品中(例如, 一个或多个计算机程序产品)。介质具有例如逻 辑的计算机可读程序代码装置(例如指令、代码、命令等等),以提
供并且有利于本发明的能力。制造产品可作为计算机系统的一部分被 包含,或被单独销售。参考图7描述引入本发明的一个或多个方面的制造产品或计算机 程序产品的 一个例子。计算机程序产品700包括例如一个或多个计算 机可用介质702以存储计算机可读程序代码装置或逻辑704,用于提供 以及有利于本发明的一个或多个方面。介质可以是电子、磁、光学、 电磁、红外或半导体系统(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可拆卸计算机盘片、随 机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光 盘的例子包括光盘只读存储器(CD-ROM)、光盘读/写存储器(CD 画R/W)和DVD。由一个或多个计算机可读程序代码装置或逻辑定义的程序指令 序列或一个或多个相关模块的逻辑组件指引本发明的一个或多个方面 的执行。有利之处是,逻辑处理器的物理支持的再分配与物理处理器的操 作并行地执行。即,为了执行该再分配,处理器不必处于检查停止、 时钟停止或故障模式。此外,目标处理器不必为备用处理器。可对软 件透明地执行再分配,并且无需软件的介入,软件包括操作系统和/ 或逻辑分区管理程序。作为一个例子,以微码方式执行再分配以提供 某些性能增强。然而,在其他实施例中,可以以软件、硬件、固件或 其组合的方式执行。虽然上面描述了各个实施例,但是这仅仅是例子。例如,除了此 处所描述的处理环境之外的其它处理环境也可受益于本发明的一个或 多个方面。例如,可以有比此处所描述的更多或更少的处理器,并且处理器可以不同于2861^8@处理器。进一步地,操作系统可以不同于Z/OS ,并且不同处理器中的操作系统可以相同或彼此不同。在没有偏离本发明的宗旨的情况下,可以对处理环境做若干其它改变。作为另一个的例子,虽然在此处所描述的实施例中执行两个处理 器的交换,但是这仅仅是一个例子。再分配可以在比上面描述的更多
或更少的处理器之间执行。并且,在另一个例子中,主处理器可以是 源或目标或者两个都是。在另一个例子中,虽然指令被用于执行包括 启动再分配的某些功能,但是在其他实施例中,这些功能可以由其它 指令执行。在没有偏离本发明的宗旨的情况下,可以存在若干其它改 变。进一步地,适于存储和/或执行程序代码的数据处理系统是可用 的,其包括至少一个直接或通过系统总线间接连接到存储器单元的处 理器。存储器单元包括例如在实际执行程序代码期间采用的本地存储 器,大容量存储器,以及高速緩沖存储器,其提供至少一些程序代码 的临时存储以便减少在执行期间必须从大容量存储器取回代码的次 数。输入/输出或I/0设备(包括但不限于键盘、显示器、指示设备等等)可被直接或通过i/o控制器的介入连接到系统。网络适配器也可被连接到系统,以使数据处理系统能通过专用或公共网络的介入连接到 其它数据处理系统或远程打印机或存储设备。调制解调器、电缆调制 解调器和以太网卡仅是可用网络适配器类型的几个例子。本发明的一个或多个方面的能力可以通过软件、固件、硬件或其 某种组合来实现。可提供至少一个机器可读的程序存储设备,其包含 至少一个指令程序,可由机器执行以执行本发明的能力。此处所描述的流程图仅是例子。在没有背离本发明的精神的情况 下,可以对这些图或其中所述的步骤(或操作)做若干改变。例如, 可以按不同顺序执行步骤,或可以增加、删除或修改步骤。所有这些 变化被认为是请求保护的发明的一部分。虽然此处已经详细描述了优选实施例,但是本领域技术人员应当 理解,在没有背离本发明的精神的情况下可以做各种修改、添加、替 换等,并且因此认为这些修改、添加、替换在如下面权利要求书中定 义的本发明的范围内。
权利要求
1.一种再分配处理环境的物理处理器的方法,所述方法包括确定支持逻辑处理器的物理处理器将被改变;以及将另一个物理处理器再分配给所述逻辑处理器,其中再分配与所述物理处理器的操作并行进行。
2. 根据权利要求1的方法,其中再分配对于所述物理处理器和所 述另 一个物理处理器的 一个或多个操作系统来说是透明的。
3. 根据权利要求1的方法,其中再分配包括将当前分配给所述逻 辑处理器的所述物理处理器的操作状态加栽到所述另一个物理处理器 上,其中响应于所述加栽,所述另一个物理处理器被分配给所述逻辑 处理器。
4. 根据权利要求3的方法,其中所述操作状态包括来自物理处理 器的以下部分中的至少一个的内容一个或多个通用寄存器、 一个或多个访问寄存器、 一个或多个浮 点寄存器、 一个或多个控制寄存器、 一个或多个定时设备寄存器、一 个或多个系统配置寄存器以及一个或多个指令地址寄存器。
5. 根据权利要求1的方法,其中再分配包括 确定处理环境的新配置;由当前分配给所述逻辑处理器的所述物理处理器使用所述新配置确定其将被替换;由所述物理处理器存储所述物理处理器的操作状态; 由所述另一个物理处理器检查所述新配置,以确定所述另一个物理处理器将被分配给所述逻辑处理器;以及在所述另一个物理处理器上加载所述物理处理器的所存储的操作状态。
6. 根据权利要求5的方法,其中再分配是与所述物理处理器和所 述另一个物理处理器的操作并行进行的,其中在再分配期间,所述物 理处理器和所述另一个物理处理器不处于检查停止、时钟停止或者故 障模式中的任何一个。
7. 根据权利要求5的方法,进一步包括由所述另一个物理处理器 使用所述新配置确定其是将替换所述物理处理器的所述另一个物理处 理器。
8. 根据权利要求7的方法,其中加载包括 确定存储器中存储所述物理处理器的操作状态的位置;以及 从所确定的位置加载所述物理处理器的操作状态。
9. 根据权利要求8的方法,其中加载进一步包括更新所述物理处 理器的操作状态以反映所述另一个物理处理器的处理器编号。
10. 根据权利要求5的方法,其中确定新配置包括 建立至少包括要再分配的所述物理处理器的源处理器列表;以及 建立至少包括要用作替换的所述另一个物理处理器的目标处理器列表,其中源处理器列表和目标处理器列表的建立取决于再分配的 原因。
11. 根据权利要求5的方法,进一步包括选择处理环境的主处理器 以控制再分配。
12. —种再分配处理环境的物理处理器的系统,所述系统包括 由物理处理器所支持的逻辑处理器;以及被再分配给所述逻辑处理器的另一个物理处理器,用于替换所述 物理处理器以作为所述逻辑处理器的支持,其中与所述物理处理器的 操作并行地再分配所述另 一个物理处理器。
13. 如权利要求12所述的系统,其中所述另 一个物理处理器适合于 将所述物理处理器的操作状态加载在所述另一个物理处理器上,其中 响应于所述加载,所述另一个物理处理器被分配给所述逻辑处理器。
14. 如权利要求12所述的系统,其中为进行再分配 当前分配给所述逻辑处理器的所述物理处理器适合于使用处理环境的新配置确定其将被替换,以及存储其操作状态;以及所述另一个物理处理器适合于检查处理环境的新配置以确定所 述另一个物理处理器将被分配给所述逻辑处理器,以及加载所存储的 操作状态。
15.如权利要求14所述的系统,其中所述另 一个物理处理器进一步 适于确定在存储器中所述物理处理器的操作状态所存储的位置,以及 从所确定的位置加栽所述物理处理器的操作状态。
全文摘要
与处理器的操作并行地执行支持逻辑处理器的物理处理器的再分配。一个物理处理器的操作状态被加载到另一个物理处理器上,以使逻辑处理器被不同物理处理器所支持。该再分配与处理器操作并行执行,并且对于操作系统来说是透明的。
文档编号G06F9/50GK101118503SQ20071010886
公开日2008年2月6日 申请日期2007年6月5日 优先权日2006年7月31日
发明者克里斯托弗·R.·康克林, 兰达尔·W.·菲利 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1