CN100489785C - 用于动态激活处理器的方法和系统 - Google Patents

用于动态激活处理器的方法和系统 Download PDF

Info

Publication number
CN100489785C
CN100489785C CNB2006101355196A CN200610135519A CN100489785C CN 100489785 C CN100489785 C CN 100489785C CN B2006101355196 A CNB2006101355196 A CN B2006101355196A CN 200610135519 A CN200610135519 A CN 200610135519A CN 100489785 C CN100489785 C CN 100489785C
Authority
CN
China
Prior art keywords
processor
data handling
node
handling system
dynamically
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2006101355196A
Other languages
English (en)
Other versions
CN1987793A (zh
Inventor
詹森·R.·阿尔梅达
埃里克·R.·科恩
亚当·L.·索德朗得
斯科特·N.·杜哈姆
威廉·B.·舒瓦茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1987793A publication Critical patent/CN1987793A/zh
Application granted granted Critical
Publication of CN100489785C publication Critical patent/CN100489785C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources

Abstract

本发明提供了用于动态激活处理器的方法和系统。实施例包括用于改变在加电时处理器载入的基本输入输出系统(BIOS)部分的变换、代码、状态机或其他逻辑。在某些实施例中,通过通用输入输出(GPIO)引脚发送的信号可将地址线跳转到加电时处理器载入的BIOS部分。在某些实施例中,服务处理器可设置GPIO或非易失性RAM值。对处理器加电进行控制的BIOS部分可读取该值,并根据该值进行分支转移。实施例还包括用于确定被动态激活的处理器的状态的变换、代码、状态机或其他逻辑。在某些实施例中,处理器可从本地暂存寄存器进行读取,以确定其是否已被动态激活。若如此,则实施例可对暂存寄存器进行清除,并使处理器处于休眠。然后,实施例可更新描述对于该处理器可用的资源的表。

Description

用于动态激活处理器的方法和系统
技术领域
本发明涉及数据处理系统领域。更具体而言,本发明涉及用于动态修改多节点数据处理系统中活动处理器数量的方法和装置。
背景技术
多节点数据处理系统是由多个节点组成,每个节点均可具有其自己的处理器或处理器组。多节点系统可包括例如4个互连节点,其中,每个节点包括8个处理器,以使得全部系统有效提供32个处理器。节点通常包含在机架(chassis)中。每个节点通常提供可在互连节点之间共享的存储器资源。通常而言,多节点以协同方式工作。单个操作系统例如可对运行的应用程序进行控制,并将应用程序线程指派给各个处理器执行。多节点系统可包括用于监视系统的多个服务处理器部件。服务处理器部件可检测多节点计算机系统的节点,并维护描述节点彼此如何连接起来以及进行通信的表。多节点数据处理系统还可包括一套系统管理软件。多节点系统可提供大量冗余和处理能力。可将指派给失效节点的工作重新指派给另一节点。因此,它们可提供高系统可用性和性能。示例性多节点系统有来自国际商用机器公司(IBM)的
Figure C200610135519D00051
eServerTM x460(“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)通过通信介质(例如,通过计算机网络或电话网络,包括无线通信)传递到计算机的信息。后者实施例特别是包括从因特网或其他网络下载的信息。这样的数据和/或信号承载介质在承载有用于实现本发明的功能的计算机可读指令时,表示本发明的实施例。
一般而言,被执行以实现本发明的实施例的程序可作为部分操作系统或特殊应用、部件、程序、模块、对象、或指令序列。本发明的计算机程序通常包括将由计算机转换成机器可读格式并因此成为可执行指令的许多指令。而且,程序由变量和数据结构组成,它们或驻留在程序本地,或处在存储器中或存储设备上。此外,对于以后所描述的程序,可基于在本发明具体实施例中实现它们的应用对其进行识别。然而,应该理解,以后的任何特定程序命名仅仅是出于便于说明的目的,从而,不应将本发明局限于仅在由这样命名识别和/或暗示的任何具体应用中使用。
本领域技术人员得益于本说明书,显然可知,本发明涉及用于动态激活多节点数据处理系统中的处理器的方法和装置。应当理解的是,详细描述和附图中所示和描述的本发明的形式仅作为示例。本发明意在将后面的权利要求广义地解释为包含所披露实施例的所有变型。
尽管针对有些实施例已经详细描述了本发明及其优点,应当理解的是,此处在不偏离所附权利要求所限定的本发明精神和范围的条件下,可做出多种改变、替代和变型。尽管本发明的一个实施例可实现多个目的,不过并非出于所附权利要求范围之内的每个实施例都将实现每个目的。此外,本申请的范围不限于说明书中所描述的过程、机器、制造方法、事物成分、装置、方法和步骤的特定实施例。作为本领域普通技术人员,根据本发明披露的内容易于想到,根据本发明可利用与此处所披露的相应实施例基本实现相同功能或基本实现相同效果的现存或将来将研究出的过程、机器、制造方法、事物成分、装置、方法,或步骤。

Claims (18)

1.一种用于动态激活多节点数据处理系统中处理器的方法,所述方法包括:
在一节点中的处理器被禁用的情况下启动多节点数据处理系统的操作系统;
接收来自与多节点数据处理系统相对应的远程服务器的与激活处理器相关的信号;以及
响应所述信号,动态地激活处理器。
2.根据权利要求1的方法,其中,在一节点中的处理器被禁用的情况下启动多节点数据处理系统的操作系统包括:
从系统去除该处理器;以及
锁定和禁用该处理器。
3.根据权利要求2的方法,其中,锁定和禁用该处理器包括将该处理器设置在休眠状态。
4.根据权利要求2的方法,其中,锁定和禁用该处理器包括将该处理器设置在回转锁中。
5.根据权利要求1的方法,其中,接收来自与多节点数据处理系统相对应的远程服务器的与激活处理器相关的信号还包括,接收用于随需应变地激活处理器的启用代码。
6.根据权利要求1的方法,其中,动态激活处理器包括:
生成节点的服务管理中断;以及
重新引导节点。
7.根据权利要求6的方法,其中,动态激活处理器包括:
接收在通用输入输出引脚上的信号;
将地址线跳转;以及
从跳转的地址线指定的地址引导基本输入输出系统。
8.一种用于确定多节点数据处理系统中的处理器的状态的方法,所述方法包括:
对处理器加电;
读取表示处理器是否使用如权利要求1至7中的任一个的方法而被动态激活的值;以及
根据所述值为处理器的使用而分配资源。
9.根据权利要求8的方法,其中,读取值还包括读取表示处理器被动态激活的值;并且所述方法还包括:
改变所述值;
将处理器设置成休眠;
更新关于对处理器的资源分配的系统表;以及
唤醒处理器。
10.根据权利要求8的方法,其中,读取所述值包括读取芯片组暂存寄存器的值;并且
所述方法还包括将非刷新值写入芯片组暂存寄存器。
11.一种动态激活处理器的系统,所述系统包括:
多节点数据处理系统,包括:
多个互连节点,其中:
其中至少一个节点包括:
处理器:和
能够动态激活处理器的中断处理程序;和
与多节点数据处理系统相连的远程服务器,所述远程服务器用于向多节点数据处理系统发送与激活处理器相关的信号;其中,多节点数据处理系统用于接收来自远程服务器的信号,并动态激活处理器。
12.根据权利要求11的系统,其中,根据x86体系结构对多节点数据处理系统进行配置。
13.根据权利要求11的系统,其中,该至少一个节点包括支持系统管理中断的基本输入输出系统。
14.根据权利要求12的系统,其中,该至少一个节点包括:
服务处理器卡;和
通用输入输出引脚,其将服务处理器卡连接到节点的基本输入输出系统,其中,服务处理器卡用于修改该至少一个节点的处理器的重置向量。
15.根据权利要求11的系统,其中,远程服务器用于向多节点数据处理系统发送启用代码,以启用该至少一个节点的处理器的随需应变激活。
16.一种用于确定处理器状态的多节点数据处理系统,所述多节点数据处理系统包括:
多个互连节点;
包含在该多个互连节点之一中的处理器;
根据权利要求11至15中的任何一个的用于动态激活处理器的系统;
寄存器;和
用于将表示处理器是否已被动态激活的值写入到寄存器的装置;其中
处理器用于在加电自检期间从寄存器读取值,以确定处理器是否已被动态激活。
17.根据权利要求16的系统,其中,用于动态激活处理器的装置包括支持系统管理中断的基本操作系统。
18.根据权利要求16的系统,其中,寄存器包括芯片组寄存器,所述芯片组寄存器处在包含有所述处理器的该多个互连节点之一的本地。
CNB2006101355196A 2005-12-22 2006-10-16 用于动态激活处理器的方法和系统 Expired - Fee Related CN100489785C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/316,180 US20070150713A1 (en) 2005-12-22 2005-12-22 Methods and arrangements to dynamically modify the number of active processors in a multi-node system
US11/316,180 2005-12-22

Publications (2)

Publication Number Publication Date
CN1987793A CN1987793A (zh) 2007-06-27
CN100489785C true CN100489785C (zh) 2009-05-20

Family

ID=38184598

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101355196A Expired - Fee Related CN100489785C (zh) 2005-12-22 2006-10-16 用于动态激活处理器的方法和系统

Country Status (4)

Country Link
US (1) US20070150713A1 (zh)
JP (1) JP2007172591A (zh)
CN (1) CN100489785C (zh)
TW (1) TW200741550A (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122264B2 (en) * 2006-04-22 2012-02-21 Hewlett-Packard Development Company, L.P. Power-state change as a function of direction of right-to-use status change
US7640453B2 (en) * 2006-12-29 2009-12-29 Intel Corporation Methods and apparatus to change a configuration of a processor system
US8068433B2 (en) * 2007-11-26 2011-11-29 Microsoft Corporation Low power operation of networked devices
US8074014B2 (en) * 2008-03-31 2011-12-06 Microsoft Corporation Storage systems using write off-loading
US8510577B2 (en) * 2008-07-28 2013-08-13 Microsoft Corporation Reducing power consumption by offloading applications
US8239697B2 (en) * 2009-10-30 2012-08-07 Dell Products L.P. Processor performance state control system
US8370672B2 (en) * 2010-02-26 2013-02-05 Microsoft Corporation Reducing power consumption of distributed storage systems
TWI425359B (zh) * 2010-03-05 2014-02-01 Asustek Comp Inc 電腦系統之中央處理器開核裝置
US8656454B2 (en) 2010-12-01 2014-02-18 Microsoft Corporation Data store including a file location attribute
US9384199B2 (en) 2011-03-31 2016-07-05 Microsoft Technology Licensing, Llc Distributed file system
KR101865990B1 (ko) * 2012-02-22 2018-07-04 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 컴퓨터에서 운영 체제로부터 논리 프로세서를 은폐하기
TWI464583B (zh) * 2012-03-02 2014-12-11 Wistron Corp 取得觸發功能之指令的方法
US10289467B2 (en) 2013-03-28 2019-05-14 Hewlett Packard Enterprise Development Lp Error coordination message for a blade device having a logical processor in another system firmware domain
WO2014158152A1 (en) * 2013-03-28 2014-10-02 Hewlett-Packard Development Company, L.P. Making memory of compute and expansion blade devices available for use by an operating system
WO2014158153A1 (en) * 2013-03-28 2014-10-02 Hewlett-Packard Development Company, L.P. Identifying memory of a blade device for use by an operating system of a partition including the blade device
US9928112B2 (en) * 2015-11-24 2018-03-27 International Business Machines Corporation Configuration of floating node boundaries
KR101692538B1 (ko) * 2016-07-11 2017-01-03 주식회사 리퓨터 Gpio 포트를 이용한 컴퓨터 시스템의 절전 장치 및 방법
CN106227317B (zh) * 2016-08-02 2019-02-05 联想(北京)有限公司 一种信号处理方法及电子设备
US10733121B2 (en) * 2018-05-10 2020-08-04 Qualcomm Incorporated Latency optimized I3C virtual GPIO with configurable operating mode and device skip
CN111796939A (zh) * 2020-06-30 2020-10-20 联想(北京)有限公司 一种处理方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1334510A (zh) * 2001-09-07 2002-02-06 清华大学 一种网络环境下的计算机远程启动方法
CN1338683A (zh) * 2000-08-16 2002-03-06 齐伯瑙特有限公司 用于可动态再配置的个人计算机的操作系统
US6505248B1 (en) * 1999-03-24 2003-01-07 Gte Data Services Incorporated Method and system for monitoring and dynamically reporting a status of a remote server
CN1393776A (zh) * 2001-06-21 2003-01-29 华为技术有限公司 实时芯片动态加载方法及有动态加载功能的实时操作系统
CN1510584A (zh) * 2002-12-24 2004-07-07 英业达股份有限公司 生产线上远程激活计算机的方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251299A (en) * 1985-12-28 1993-10-05 Fujitsu Limited System for switching between processors in a multiprocessor system
CA1290407C (en) * 1986-12-23 1991-10-08 Shigeki Saito Frequency synthesizer
US5210855A (en) * 1989-06-09 1993-05-11 International Business Machines Corporation System for computer peripheral bus for allowing hot extraction on insertion without disrupting adjacent devices
US5982210A (en) * 1994-09-02 1999-11-09 Sun Microsystems, Inc. PLL system clock generator with instantaneous clock frequency shifting
US5875301A (en) * 1994-12-19 1999-02-23 Apple Computer, Inc. Method and apparatus for the addition and removal of nodes from a common interconnect
JP2964963B2 (ja) * 1996-09-20 1999-10-18 日本電気株式会社 ネットワーク自動設定システム
US5864653A (en) * 1996-12-31 1999-01-26 Compaq Computer Corporation PCI hot spare capability for failed components
JPH10308667A (ja) * 1997-05-02 1998-11-17 Nec Corp Pll周波数シンセサイザ
US6026458A (en) * 1997-10-14 2000-02-15 International Business Machines Corporation System with pluggable adapter card and hot-swap interface controller
US6158015A (en) * 1998-03-30 2000-12-05 Micron Electronics, Inc. Apparatus for swapping, adding or removing a processor in an operating computer system
US6584074B1 (en) * 1999-08-11 2003-06-24 Covad Communitions Group, Inc. System and method for remote configuration and management of customer premise equipment over ATM
US6574695B1 (en) * 2000-01-06 2003-06-03 Sun Microsystems, Inc. System and method for providing hot swap capability using existing circuits and drivers with minimal changes
US6388533B2 (en) * 2000-03-02 2002-05-14 Texas Instruments Incorporated Programmable ring oscillator
FR2807534B1 (fr) * 2000-04-05 2002-07-12 Inup Ferme d'ordinateurs avec systeme d'insertion/extraction a chaud de cartes processeurs
KR100375229B1 (ko) * 2000-07-10 2003-03-08 삼성전자주식회사 트렌치 소자분리 방법
US7596784B2 (en) * 2000-09-12 2009-09-29 Symantec Operating Corporation Method system and apparatus for providing pay-per-use distributed computing resources
US6654843B1 (en) * 2000-10-12 2003-11-25 Hewlett-Packard Development Company, L.P. Hot swapping
TW535050B (en) * 2001-01-02 2003-06-01 Winbond Electronics Corp Adjustment method and apparatus of execution efficiency for electronic device
US20020112043A1 (en) * 2001-02-13 2002-08-15 Akira Kagami Method and apparatus for storage on demand service
JP4677115B2 (ja) * 2001-04-17 2011-04-27 株式会社日立製作所 データ記憶装置の貸し出し課金方法
US7159063B2 (en) * 2001-08-31 2007-01-02 American Megatrends, Inc. Method and apparatus for hot-swapping a hard disk drive
US6684292B2 (en) * 2001-09-28 2004-01-27 Hewlett-Packard Development Company, L.P. Memory module resync
US7493438B2 (en) * 2001-10-03 2009-02-17 Intel Corporation Apparatus and method for enumeration of processors during hot-plug of a compute node
US7318164B2 (en) * 2001-12-13 2008-01-08 International Business Machines Corporation Conserving energy in a data processing system by selectively powering down processors
US6912670B2 (en) * 2002-01-22 2005-06-28 International Business Machines Corporation Processor internal error handling in an SMP server
US6931568B2 (en) * 2002-03-29 2005-08-16 International Business Machines Corporation Fail-over control in a computer system having redundant service processors
US7117390B1 (en) * 2002-05-20 2006-10-03 Sandia Corporation Practical, redundant, failure-tolerant, self-reconfiguring embedded system architecture
US20040003317A1 (en) * 2002-06-27 2004-01-01 Atul Kwatra Method and apparatus for implementing fault detection and correction in a computer system that requires high reliability and system manageability
US20050097208A1 (en) * 2003-10-31 2005-05-05 International Business Machines Corporation Node removal using remote back-up system memory
TW200519573A (en) * 2003-12-04 2005-06-16 Compal Electronics Inc Method for dynamically adjusting frequency of CPU
US7251746B2 (en) * 2004-01-21 2007-07-31 International Business Machines Corporation Autonomous fail-over to hot-spare processor using SMI
US7242230B2 (en) * 2004-02-25 2007-07-10 Analog Devices, Inc. Microprocessor with power saving clock
US20060101464A1 (en) * 2004-11-09 2006-05-11 Dohrmann Stephen H Determining a number of processors to execute a task

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505248B1 (en) * 1999-03-24 2003-01-07 Gte Data Services Incorporated Method and system for monitoring and dynamically reporting a status of a remote server
CN1338683A (zh) * 2000-08-16 2002-03-06 齐伯瑙特有限公司 用于可动态再配置的个人计算机的操作系统
CN1393776A (zh) * 2001-06-21 2003-01-29 华为技术有限公司 实时芯片动态加载方法及有动态加载功能的实时操作系统
CN1334510A (zh) * 2001-09-07 2002-02-06 清华大学 一种网络环境下的计算机远程启动方法
CN1510584A (zh) * 2002-12-24 2004-07-07 英业达股份有限公司 生产线上远程激活计算机的方法

Also Published As

Publication number Publication date
CN1987793A (zh) 2007-06-27
TW200741550A (en) 2007-11-01
US20070150713A1 (en) 2007-06-28
JP2007172591A (ja) 2007-07-05

Similar Documents

Publication Publication Date Title
CN100489785C (zh) 用于动态激活处理器的方法和系统
US8001308B2 (en) Method and system for handling a management interrupt event in a multi-processor computing device
US8386823B2 (en) Method and apparatus for cost and power efficient, scalable operating system independent services
CN102326132B (zh) 最大化虚拟机平台的降低功率状态的电源管理
CN101320314B (zh) 用于快速改变数据处理系统的功率状态的方法和设备
CN101639726B (zh) 基于平台的闲置时间处理
CN102103406B (zh) 操作系统无关的网络事件处理
EP1329809B1 (en) Distributed computing system and method
US7093116B2 (en) Methods and apparatus to operate in multiple phases of a basic input/output system (BIOS)
US20140040646A1 (en) Method and apparatus for power throttling of highspeed multi-lane serial links
CN102053857A (zh) 虚拟机器的管理装置及其相关切换方法
CN102341763A (zh) 由扩展为具有场管理服务器功能的平台管控器在本地虚拟机平台层级上在虚拟机场中进行的功率管理
CN103765409A (zh) 有功率效率的处理器体系结构
CN102521002A (zh) 可动态和选择性停用内核以及重新设定多内核微处理器
CN102369510A (zh) 使用存储器分段和基于acpi的上下文切换加载操作系统
US10387257B1 (en) Systems and methods for reliable redundant management controller firmware update
CN113783906A (zh) 生命周期管理加速
US20220391188A1 (en) Systems and methods for context-aware firmware update
JPH0822424A (ja) クライアント・サーバ・システムおよびその制御方法
US11243757B2 (en) Systems and methods for efficient firmware update of memory devices in BIOS/UEFI environment
US9323475B2 (en) Control method and information processing system
US10678467B2 (en) Systems and methods for selective save operations in a persistent memory
US7272731B2 (en) Information handling system having reduced power consumption
US20240037694A1 (en) Seamless video in heterogeneous core information handling system
US20220043658A1 (en) Systems and methods for managing system rollup of accelerator health

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090520

Termination date: 20091116