用于动态激活处理器的方法和系统的制作方法

文档序号:6561935阅读:200来源:国知局
专利名称:用于动态激活处理器的方法和系统的制作方法
技术领域
本发明涉及数据处理系统领域。更具体而言,本发明涉及用于动态修改多节点数据处理系统中活动处理器数量的方法和装置。
背景技术
多节点数据处理系统是由多个节点组成,每个节点均可具有其自己的处理器或处理器组。多节点系统可包括例如4个互连节点,其中,每个节点包括8个处理器,以使得全部系统有效提供32个处理器。节点通常包含在机架(chassis)中。每个节点通常提供可在互连节点之间共享的存储器资源。通常而言,多节点以协同方式工作。单个操作系统例如可对运行的应用程序进行控制,并将应用程序线程指派给各个处理器执行。多节点系统可包括用于监视系统的多个服务处理器部件。服务处理器部件可检测多节点计算机系统的节点,并维护描述节点彼此如何连接起来以及进行通信的表。多节点数据处理系统还可包括一套系统管理软件。多节点系统可提供大量冗余和处理能力。可将指派给失效节点的工作重新指派给另一节点。因此,它们可提供高系统可用性和性能。示例性多节点系统有来自国际商用机器公司(IBM)的xSerieseServerTMx460(“xSeries”是IBM的注册商标,“eServer”是IBM的商标)。
多节点数据处理系统通常允许在不关闭多节点数据处理系统的操作系统的条件下对中断进行处理。例如,基于Intel体系结构(x86)的多节点系统一般支持系统管理模式。系统管理模式可允许保存当前处理器状态,并允许该处理器在不关闭操作系统的条件下执行诸如处理中断之类的系统管理功能。系统管理中断(SMI)是在系统管理模式中处理的中断。
多节点数据处理系统通常是模块化的。系统中节点的数量以及在节点中活动处理器的数量会发生变化。可能会希望改变在多节点数据处理系统中活动的处理器的数量。增加活动处理器可有助于满足系统增大的处理需求,或者用于将系统升级到更先进技术。例如,节点可能最初配置成没有活动的处理器。节点仅提供存储器和IO,但不提供处理能力。由于系统的处理需求增加,可能需要激活或对节点添加处理器。在许多系统中,在节点内,可能仅允许处理器的某些配置。例如,系统可将节点中处理器的数量限制到0或2的乘方,如1、2或4。同样,当处理需求很低或者可以去除废弃或不起作用的处理器时,减少活动的处理器可节省资源。
要添加的处理器已经可以物理作为备用件或“容量随需应变”程序的一部分而物理存在。这样的程序帮助解决计算机资源要求发生波动的问题。企业和政府应用的计算机资源要求通常由于销售额或雇员量的增长而在一定时期上出现增加。在同一时期,由于日常运营的不可避免的高峰和低谷,或者由于季节性、期末性或特殊促销活动使负载增大,资源要求可能会剧烈波动。为使得始终有效,企业的计算机化资源必须足以满足当前波动的企业需求以及因增长而凸显出的需求。
为满足这样波动的和不断增长的资源需求,用户通常购买能够至少适应其当前峰值要求以及考虑到可能提升的未来要求的计算资源。因此,用户面临的情形是,要投资的计算机化资源比当时需要的更多,以便适应增长以及运营高峰和低谷。因此,在任何给定时间,用户可能具有过剩的计算容量—这是一笔非常大的成本。该成本可代表任何计算机用户的大部分花销。
支持“容量随需应变”应用的计算体系结构有助于解决应对波动的计算机资源需求的问题。这些应用能够使得客户拥有的计算机资源比其支付的还要多。当由于临时性高峰需求或永久性增长使资源需求增大时,用户可购买或租用已安装在其计算机上的附加计算机资源。这样的用户可以以安全代码形式获得授权,以临时性或永久性激活这些附加资源(随需应变计算机资源)。
可能需要从远程位置对多节点数据处理系统中活动处理器的数量变化进行控制。远程服务器例如可提供启用代码(enablement code),用于随需应变地向系统添加处理器。同样,可在远程计算机位置处作出有关激活更先进处理器的管理决定。在当前多节点数据处理系统中,从远程位置控制的附加处理器的激活可能需要将系统关电和重新引导。引起的停机时间可产生严重后果。多节点数据处理系统可能正在执行需要持续开机时间的重要处理。

发明内容
通过动态修改在多节点数据处理系统中活动处理器数量的方法和装置来使以上所述问题大部分得到解决。一个实施例提供一种用于动态激活多节点数据处理系统中处理器的方法。所述方法涉及启动多节点数据处理系统的操作系统,其中在一节点中有不活动的处理器。所述方法还可涉及接收相对多节点数据处理系统为远程的关于激活处理器的信号。所述方法还可涉及响应该信号动态地激活处理器。
另一实施例提供一种用于确定多节点数据处理系统中的处理器的状态的方法。所述方法可涉及对处理器加电。所述方法还可涉及读取表示处理器是否被动态激活的值。所述方法可根据该值为处理器的使用分配资源。
另一实施例提供一种动态激活处理器的系统。所述系统可包括多节点数据处理系统。多节点数据处理系统可包括多个互连节点。其中至少一个节点可包括处理器和能够动态激活处理器的中断处理程序。用于动态激活处理器的系统还可包括与多节点数据处理系统相连的远程服务器。可将远程服务器配置成向多节点数据处理系统发送与激活处理器相关的信号。可将多节点数据处理系统配置成接收来自远程服务器的信号,并动态激活处理器。
另一实施例提供一种用于确定处理器状态的多节点数据处理系统。所述节点数据处理系统可包括多个互连节点。多节点数据处理系统还可包括包含在该多个互连节点的其中一个中的处理器。多节点数据处理系统还可包括用于动态激活处理器的装置。多节点数据处理系统还可包括寄存器。多节点数据处理系统还可包括用于将表示处理器是否已被动态激活的值写入到寄存器的装置。可将处理器配置成在加电自检期间从寄存器读取该值,以确定处理器是否已被动态激活。
另一实施例提供了包含有用于动态激活在多节点数据处理系统中的处理器的指令的机器可访问介质,当由机器执行该指令时,该指令致使所述机器执行操作。该操作可涉及启动多节点数据处理系统的操作系统,其中在一节点中有不活动的处理器。操作还可涉及接收相对多节点数据处理系统为远程的关于激活处理器的信号。操作还涉及响应该信号动态地激活处理器。


参照附图,通过后面的详细描述,本发明优点将变得显而易见,在附图中,相同的附图标记可表示同样的部件图1表示用于动态改变多节点数据处理系统中活动处理器的数量的系统的实施例;图2表示在多节点数据处理系统中能够动态改变活动处理器的数量的节点的示例;图3表示用于动态改变在多节点数据处理系统中活动处理器的数量的实施例的流程图;以及图4表示用于确定在能够动态激活处理器的多节点数据处理系统中处理器状态的实施例的流程图。
具体实施例方式
下面结合附图详细描述本发明的实施例。关于实施例的描述详细到能够清楚地理解本发明。然而,所提供的细节并非意在限制实施例的预期变型,相反,本发明意在涵盖不偏离如所附权利要求所定义的本发明精神和范围的条件下的所有修改、等同实施例和可选实施例。以下详细描述的目的是使本领域普通技术人员易于理解这些实施例。
一般而言,此处考虑了用于动态修改在多节点数据处理系统中活动处理器的数量的方法和装置。实施例包括改变在加电时处理器载入的基本输入输出系统(BIOS)的部分的变换、代码、状态机或其他逻辑电路。在某些实施例中,通过通用输入输出(GPIO)引脚发送的信号可将地址线跳转(flip)到加电时处理器载入的BIOS部分。在某些实施例中,服务处理器可设置GPIO或非易失性RAM值。对处理器加电进行控制的BIOS部分可读取该值,并根据该值进行分支转移(branch)。实施例还包括用于确定被动态激活的处理器的状态的变换、代码、状态机或其他逻辑。在某些实施例中,处理器可从本地暂存寄存器进行读取,以确定其是否已被动态激活。若是,则实施例可对暂存寄存器进行清除,并使处理器处于休眠。然后,实施例可更新描述该处理器可用的资源的表。
尽管以下将参照特定的电路或逻辑配置描述具体实施例,然而本领域技术人员应该理解,本发明的实施例可通过其他基本等效的配置得以有益实施。
现在参照附图,图1表示用于动态改变多节点数据处理系统中活动处理器的数量的系统100的实施例。系统100包括多节点数据处理系统105,多节点数据处理系统105包括节点110和145,节点110和145通过可伸缩电缆200相连。多节点数据处理系统105和远程服务顺190通过连接205相连。连接205例如可由诸如因特网或局域网或广域网之类的网络连接组成。节点110、145均可包括执行各种计算功能的一个或多个处理器115、175。在其他实施例中,其中某些节点可以是无处理器(processorless)的。处理器115、175可通过处理器互连彼此相连。处理器115、175均可包括服务处理器逻辑。服务处理器逻辑可彼此以及与北桥(north bridge)120、180进行通信,以使得处理器115、175能够以相干方式在一起操作。在其他实施例中,可将服务处理器逻辑包含在严格限于执行服务处理器功能的一或多个专用处理器中。每个节点110、145中的存储器控制器125、185提供在存储器135、150与节点110、145的其他部件之间的接口。
北桥部件120、180可存在于每个节点中。北桥部件存在于通常称为北桥、南桥的芯片组体系结构中。在该体系结构中,北桥部件通过总线195与一个或多个处理器115、175通信。北桥120、180通常控制着与存储器135、150,高级图形、高速缓存和外设部件互连(PCI)总线的交互。总线195通常称为前端总线。南桥(在图1未示出)通常负责实现输入/输出(IO)功能,如串行端口IO、音频、通用串行总线等。然而,本发明的实施例并不局限于该北桥、南桥芯片组,因而图1中的说明应被视为示意性的,而非限定性的。
可伸缩芯片130、140包括一个或多个控制域,由优选实施例对可伸缩芯片130、140进行运用(leverage),以使得信息在多节点系统105中的节点110、145之间进行传递。在可伸缩芯片130、140处将各个节点110、145与可伸缩电缆200连接,可使得多个节点110、145能够充当单个计算机。多节点系统105的一个节点,即节点145,可包含与节点145的存储器控制器185相连的系统存储器150。系统存储器150可存储用于控制多节点系统105并执行应用处理的软件。软件可包括操作系统(OS)170、包括系统管理中断(SMI)155的BIOS 160、和系统管理软件(SMS)165。OS 170可将应用程序生成的线程指派给多节点系统105的多个节点110、145的多个处理器115、175执行。BIOS是控制计算机的基本硬件操作(包括与盘驱动器和IO驱动器的交互)的程序。它通常存储在非易失性存储器中,并在系统启动时被载入。SMI155是在系统管理模式下处理的中断。一般而言,多节点数据处理系统允许在不关闭多节点数据处理系统的操作系统的条件下,对中断进行处理。例如,基于Intel体系结构(x86)的多节点系统一般支持系统管理模式。系统管理模式可允许保存当前处理器状态,并可允许处理器在不关闭操作系统的条件下执行诸如处理中断之类的系统管理功能。在其他实施例中,多节点数据处理系统105可基于非Intel体系结构,或具有不同中断体系结构的Intel体系结构。SMS 165可监视由服务处理器逻辑提供的信息,并向处在独立计算机处的系统管理员提供图形接口。系统管理员可以通过使用SMS 165改变多节点数据处理系统105的配置。在其他实施例中,SMS 165可驻留在独立的数据处理系统上。其他的实施例可能不包括与服务器逻辑电路分离的SMS。
由于服务器190通过网络连接进行连接并且不直接连接,其远离多节点数据处理系统105。远程服务器190可向多节点数据处理系统105发送关于改变多节点数据处理系统105中活动处理器的数量的信号。远程服务器190例如可向多节点数据处理系统105提供启用代码,用于使得能够随需应变地启用计算资源,如处理器。当接收到启用代码时,多节点数据处理系统105可动态地启动作为多节点数据处理系统105的部件但并未被激活的一个或多个处理器115、175。作为另一示例,系统管理员可从远程服务器190对多节点数据处理系统105进行控制。系统管理员可从远程服务器190向多节点数据处理系统105发送命令,以激活附加处理器。此外,多节点数据处理系统105可在激活之后对处理器115、175的状态进行确定。多节点处理系统105可确定在系统其余部分进入操作之后处理器115、175的其中一个是否已被动态地添加,或者与系统其余部分一起启动。当在多节点系统不关闭以及重新启动操作系统的条件下将处理器添加到多节点系统时,就动态地添加了处理器(“在线”添加)。
图2表示在多节点数据处理系统中能够动态改变活动处理器的数量的节点220的示例,该节点220包括机架215,处理器250、260,北桥270,存储器控制器275,系统存储器225和服务处理器卡295。处理器250、260通过处理器互连255相连接。处理器互连255进而通过系统总线265与北桥270相连。北桥270包含暂存寄存器280,暂存寄存器280可用于存储描述多节点数据处理系统的功能的参数。北桥通过系统总线265与存储器控制器275相连接,并通过PCI总线285与服务处理器卡295相连接。存储器控制器275通过系统总线265与系统存储器225相连接。系统存储器225可包含控制多节点数据处理系统的操作的软件。软件包括操作系统OS 230和包括SMI 235的BIOS 240。服务处理器卡295可构成用于协调多节点数据处理系统的多个部件的主机构。服务处理器卡295可包含嵌入式操作系统290。通用输入输出引脚(GPIO引脚)245提供在服务处理器卡295与BIOS 240之间的直接连接。在其他实施例中,服务处理器逻辑可通过处理器250、260执行。在其他实施例中,节点的存储器可不包含系统OS。在其他实施例中,节点可具有不同于2的数量的处理器。在其他实施例中,中断体系结构可不同于SMI。在其他实施例中,节点的体系结构可不同于北桥、南桥体系结构。
BIOS 240可对处理器250、260的激活进行控制。节点220可具有主处理器250。当对机架215加电时,主处理器250可执行加电自检(POST)。在POST期间,电信号可从诸如寄存器280之类的寄存器清除剩余数据。它还可将程序指令计数器设置到特定地址,即主处理器250开始执行的下一指令的地址。该地址可指向存储在BIOS 240中用于主处理器250的引导程序的起始处。指令可执行一系列系统检查。在图2中,主处理器250可在执行系统检查后启动(bring up)处理器260。然后,主处理器250检查系统数据,以确定是否要将处理器260作为节点一部分来激活。作为启动系统的最后步骤,当启动了节点220的所有处理器250、260时,主处理器250可查看节点的可伸缩性和连接。在启动系统过程结束前,不可连接节点。
当系统数据表明处理器260未与系统连接时,主处理器250可禁用处理器260。在一个实施例中,在引导期间,BIOS利用高级配置与电源接口(ACPI)规范和/或S3状态,以便将处理器260设置于低功耗、待命或关闭状态。ACPI是使得硬件状态信息可供操作系统230使用的电源管理规范。ACPI系统固件通过将数据有组织地放置到主系统存储器的表中,来描述数据处理系统的特征。可在BIOS 240将控制切换到OS 230之前,将处理器260从执行处理器的组中的最初移除。在另一实施例中,主处理器250可通过将处理器260设置在闭合循环(tight loop)或回转循环(spin cycle)中,来禁用处理器260。处理器260可在不执行任何系统工作的条件下不断执行小的指令集。BIOS 240可包含用于激活处理器250、260的两个或多个代码集。一个代码集可启动与系统正常连接的处理器260,其他代码集可禁用处理器260。
在图2所示实施例中,服务处理器卡295可从远程计算机接收信号,以改变活动处理器250、260的数量。服务处理器卡295例如可接收使得能够激活处理器260的启用代码。然后,服务处理器卡295可通过GPIO引脚245向BIOS 235发送导致将地址线跳转指向启动处理器250、260的代码的信号。地址线可构成蚀刻到RAM芯片上并与RAM中特定位置相关联的电路。为了从地址进行读取或写入,沿地址线发送信号,以访问与地址线相连接的数据线。数据线可传送在与地址线相关联地址处存储的数据的字的位值。跳转地址线是改变由存储器地址指向的地址线。在接收到启用代码之前,地址线可指向导致处理器260不活动的启动代码。在从远程计算机接收到启用代码且跳转地址线之后,在加电时载入的代码可构成将处理器260作为多节点数据处理系统的活动部分启动的代码。服务处理器卡295可生成使处理器260关闭的SMI。服务处理器还可分配诸如存储器和IO之类的系统资源,以便为处理器260使用。服务处理器卡295然后可对处理器260加电。当启动时,处理器260可从BIOS 240载入激活处理器260的代码。
在其他实施例中,可使用其他方法动态激活处理器。例如,BIOS240可根据寄存器值进行分支转移。例如,服务处理器卡295可设置GPIO或非易失性RAM值,BIOS 240读取该值,根据该值,在处理器260活动或禁用的情况下启动节点220。在其他实施例中,节点220可包含不同数量的处理器,不同数量的活动处理器,和不同数量的动态激活的处理器。例如,具有8个处理器的无处理器节点可在所有8个处理器禁用的情况下启动。所有8个处理器均可被动态激活。作为另一示例,可在其4个处理器中的两个活动的情况下启动节点。其他两个可被动态激活。
在图2的实施例中,当激活多节点数据处理系统时,服务处理器卡295可将系统资源指派给诸如节点220之类的多个部件节点。例如,可将具有非活动处理器的节点合并入多节点数据处理系统,以作为具有存储器和IO的节点。可将存储器分配给系统中的其他处理器。之后,如果动态地激活节点,重要的是不要对它们分配已分配给其他处理器的节点存储器。从使用存储器的处理器中去除该存储器可导致系统故障。从而,重要的是当诸如处理器250、260之类的处理器被激活时能够确定其状态。
在图2所示实施例中,激活的处理器可通过从包含在北桥270中的寄存器280读取值来确定其是否已被动态激活。当处理器260被动态激活时,主处理器250或服务处理器卡295可将表示动态激活的值写入到寄存器280。当执行POST时,动态激活的处理器260可读取寄存器280中的值。如果该值表示处理器260被动态激活,则处理器260可将寄存器280中的值重新写成表示正常处理器激活的缺省值。然后,处理器260可处于休眠。当作为SMI中断的结果执行动态激活时,SMI中断处理程序235可轮询寄存器280,直至SMI中断处理程序235确定已将缺省值写入到寄存器280。然后,SMI中断处理程序可更新ACPI表,以表示新的配置。另一方面,如果处理器250、260的其中一个被正常激活,则寄存器280的值可为正常值。处理器250、260将继续正常的加电程序。在其他实施例中,可使用用于确定处理器状态的不同方法。例如,处理器250、260可读取系统表,以确定在加电时的可用资源。如果处理器250、260被动态激活,系统表可被更新,并使处理器250、260关闭。然后,可将处理器250、260加电,并可读取修改的系统表。在其他实施例中,在不关闭处理器250、260的条件下,可修改分配给处理器250、260的资源。
现在参看图3,图3表示用于动态改变在多节点数据处理系统中活动处理器的数量的实施例的流程图。多节点数据处理系统可包含物理上存在于其中一个节点中但处于禁用的处理器。例如,系统可包括随需应变系统。系统可已经配备有某些禁用的处理器。作为另一示例,系统可包含可用于备份的禁用处理器。流程图300在开始时接收相对多节点数据处理系统为远程的关于激活多节点数据处理系统的处理器的信号(步骤310)。例如,在随需应变系统的情形中,系统管理员可确定系统需要附加处理容量,并且财务代理可购买附加容量。然后,系统供应者可发送用于激活禁用处理器的启用代码。启用代码的发送可构成与处理器激活相关的信号。作为另一示例,在通过网络与多节点数据处理系统相连的计算机处操作的系统管理员可决定激活备份处理器,以取代废弃或有失效危险的处理器。系统管理员可通过网络向多节点数据处理系统发送消息,以激活其中某些备用处理器。在任一实例中,多节点数据处理系统都可接收信号。
然后,系统可生成SMI中断(步骤330)。SMI中断处理程序可确定是否对要被激活的处理器加电(步骤340)。例如,处理器可能正执行回转循环。若是,SMI中断处理程序可将处理器关闭(步骤350)。一旦将处理器关闭,SMI中断处理程序通过GPIO(通用输入/输出引脚)发送信号,可重新设置处理器的地址线(步骤360)。地址线可与当启动时处理器载入的BIOS中的位置相关联。通过重新设置地址线,SMI中断处理程序能够改变对处理器的启动进行控制的代码。
SMI中断处理程序能够修改描述多节点数据处理系统的节点如何连接起来以及它们如何进行通信的系统表(步骤370)。修改表可表示应将所要激活的处理器连接到系统。然后,SMI中断处理程序可重新对所要激活的处理器进行引导(步骤380)。在引导过程期间,处理器可经历POST过程,并从系统BIOS加载代码。作为重置地址线的结果(步骤360),处理器可载入激活处理器的代码。系统可检查其是否已接收用于激活其他节点的信号(步骤390)。若是,可重复从310至380的每个步骤。若否,则可终止处理器的动态激活。
现在参看图4,图4表示用于确定在多节点数据处理系统中处理器的状态的实施例的流程图,其用于动态激活处理器。流程图400开始于唤醒处理器(步骤410)。例如,在普通系统引导期间,处理器可与系统中的其他处理器一起加电。作为另一示例,可动态激活备份处理器。作为另一示例,可按照需要动态激活处理器。被唤醒的处理器可读取表示处理器状态的寄存器值(步骤420)。寄存器可作为包含处理器的节点的芯片组寄存器的一部分。寄存器的值可表示处理器的状态(步骤430)。寄存器的缺省值(按正常启动设置的值)可表示处理器未动态激活。寄存器的不同值可表示处理器被动态激活。例如,当要动态激活处理器时,另一处理器或SMI处理程序可将表示处理器已被动态激活的值写入寄存器。
如果寄存器值表示处理器被动态激活,处理器可将寄存器值重新写为缺省值(步骤440)。然后,系统可更新资源表(步骤450),以便重新配置处理器使用的存储器和IO。由于以处理器禁用的状态将系统加电,可重新指派通常对于处理器可用的资源。例如,处理器可驻留在以无活动处理器的状态加电的刀片上。刀片上的存储器可被重新指派给其他处理器,并可对于动态激活的处理器不可用。系统可唤醒处理器(步骤465),并运行处理器(步骤470)。如果有要激活的其他处理器(步骤480),则可重复410至470的每个步骤。若否,则可终止用于动态激活处理器的关于对多节点数据处理系统中处理器状态的确定。
本发明的另一实施例被实现为用于实现动态激活多节点数据处理系统(如图1所示多节点数据处理系统105)中处理器的程序产品。程序产品的程序限定了实施例的功能(包括此处所述的方法),并能够包含在各种数据和/或信号承载介质上。示意性的数据和/或信号承载介质包括但不限于(1)永久性存储在不可写存储介质(例如,在计算机内的只读存储器设备,如,可由CD-ROM驱动器读取的CD-ROM盘)上的信息;(2)存储在可写存储介质(例如,在盘驱动器或硬盘驱动器内的软盘)的可变信息;以及(3)通过通信介质(例如,通过计算机网络或电话网络,包括无线通信)传递到计算机的信息。后者实施例特别是包括从因特网或其他网络下载的信息。这样的数据和/或信号承载介质在承载有用于实现本发明的功能的计算机可读指令时,表示本发明的实施例。
一般而言,被执行以实现本发明的实施例的程序可作为部分操作系统或特殊应用、部件、程序、模块、对象、或指令序列。本发明的计算机程序通常包括将由计算机转换成机器可读格式并因此成为可执行指令的许多指令。而且,程序由变量和数据结构组成,它们或驻留在程序本地,或处在存储器中或存储设备上。此外,对于以后所描述的程序,可基于在本发明具体实施例中实现它们的应用对其进行识别。然而,应该理解,以后的任何特定程序命名仅仅是出于便于说明的目的,从而,不应将本发明局限于仅在由这样命名识别和/或暗示的任何具体应用中使用。
本领域技术人员得益于本说明书,显然可知,本发明涉及用于动态激活多节点数据处理系统中的处理器的方法和装置。应当理解的是,详细描述和附图中所示和描述的本发明的形式仅作为示例。本发明意在将后面的权利要求广义地解释为包含所披露实施例的所有变型。
尽管针对有些实施例已经详细描述了本发明及其优点,应当理解的是,此处在不偏离所附权利要求所限定的本发明精神和范围的条件下,可做出多种改变、替代和变型。尽管本发明的一个实施例可实现多个目的,不过并非出于所附权利要求范围之内的每个实施例都将实现每个目的。此外,本申请的范围不限于说明书中所描述的过程、机器、制造方法、事物成分、装置、方法和步骤的特定实施例。作为本领域普通技术人员,根据本发明披露的内容易于想到,根据本发明可利用与此处所披露的相应实施例基本实现相同功能或基本实现相同效果的现存或将来将研究出的过程、机器、制造方法、事物成分、装置、方法,或步骤。
权利要求
1.一种用于动态激活多节点数据处理系统中处理器的方法,所述方法包括在一节点中的处理器不活动的情况下启动多节点数据处理系统的操作系统;接收相对多节点数据处理系统为远程的关于激活处理器的信号;以及响应所述信号,动态地激活处理器。
2.根据权利要求1的方法,其中,在一节点中的处理器不活动的情况下启动多节点数据处理系统的操作系统包括从系统去除该处理器;以及锁定和禁用该处理器。
3.根据权利要求2的方法,其中,锁定和禁用该处理器包括将该处理器设置在休眠状态。
4.根据权利要求2的方法,其中,锁定和禁用该处理器包括将该处理器设置在回转锁中。
5.根据权利要求1的方法,其中,接收相对多节点数据处理系统为远程的关于激活处理器的信号还包括,接收用于随需应变地激活处理器的启用代码。
6.根据权利要求1的方法,其中,动态激活处理器包括生成节点的服务管理中断;以及重新引导节点。
7.根据权利要求6的方法,其中,动态激活处理器包括接收在通用输入输出引脚(GPIO引脚)上的信号;将地址线跳转;以及从跳转的地址线指定的地址引导基本输入输出系统(BIOS)。
8.一种用于确定多节点数据处理系统中的处理器的状态的方法,所述方法包括对处理器加电;读取表示处理器是否被动态激活的值;以及根据所述值为处理器的使用而分配资源。
9.根据权利要求8的方法,其中,读取值还包括读取表示处理器被动态激活的值;并且所述方法还包括改变所述值;将处理器设置成休眠;更新关于对处理器的资源分配的系统表;以及唤醒处理器。
10.根据权利要求8的方法,其中,读取所述值包括读取芯片组暂存寄存器的值;并且所述方法还包括将非刷新值写入芯片组暂存寄存器。
11.一种动态激活处理器的系统,所述系统包括多节点数据处理系统,包括多个互连节点,其中其中至少一个节点包括处理器和能够动态激活处理器的中断处理程序;和与多节点数据处理系统相连的远程服务器,所述远程服务器用于向多节点数据处理系统发送与激活处理器相关的信号;其中,多节点数据处理系统用于接收来自远程服务器的信号,并动态激活处理器。
12.根据权利要求11的系统,其中,根据x86体系结构对多节点数据处理系统进行配置。
13.根据权利要求11的系统,其中,该至少一个节点包括支持系统管理中断(SMI)的基本输入输出系统(BIOS)。
14.根据权利要求12的系统,其中,该至少一个节点包括服务处理器卡;和通用输入输出引脚,其将服务处理器卡连接到节点的BIOS,其中,服务处理器卡用于修改该至少一个节点的处理器的重置向量。
15.根据权利要求11的系统,其中,远程服务器用于向多节点数据处理系统发送启用代码,以启用该至少一个节点的处理器的随需应变激活。
16.一种用于确定处理器状态的多节点数据处理系统,所述节点数据处理系统包括多个互连节点;包含在该多个互连节点之一中的处理器;用于动态激活处理器的装置;寄存器;和用于将表示处理器是否已被动态激活的值写入到寄存器的装置;其中处理器用于在加电自检期间从寄存器读取值,以确定处理器是否已被动态激活。
17.根据权利要求16的系统,其中,用于动态激活处理器的装置包括支持系统管理中断的基本操作系统。
18.根据权利要求16的系统,其中,寄存器包括芯片组寄存器,所述芯片组寄存器处在包含有所述处理器的该多个互连节点之一的本地。
全文摘要
本发明提供了用于动态激活处理器的方法和系统。实施例包括用于改变在加电时处理器载入的基本输入输出系统(BIOS)部分的变换、代码、状态机或其他逻辑。在某些实施例中,通过通用输入输出(GPIO)引脚发送的信号可将地址线跳转到加电时处理器载入的BIOS部分。在某些实施例中,服务处理器可设置GPIO或非易失性RAM值。对处理器加电进行控制的BIOS部分可读取该值,并根据该值进行分支转移。实施例还包括用于确定被动态激活的处理器的状态的变换、代码、状态机或其他逻辑。在某些实施例中,处理器可从本地暂存寄存器进行读取,以确定其是否已被动态激活。若如此,则实施例可对暂存寄存器进行清除,并使处理器处于休眠。然后,实施例可更新描述对于该处理器可用的资源的表。
文档编号G06F9/445GK1987793SQ200610135519
公开日2007年6月27日 申请日期2006年10月16日 优先权日2005年12月22日
发明者詹森·R.·阿尔梅达, 埃里克·R.·科恩, 亚当·L.·索德朗得, 斯科特·N.·杜哈姆, 威廉·B.·舒瓦茨 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1