给节点供电的制作方法

xiaoxiao2021-2-18  166

给节点供电的制作方法
【专利说明】
【背景技术】
[0001]现代计算机通常包括电源控制系统,其接收指示了计算机是否将被通电或断电的信号。例如,计算机上的电源按钮可以不直接连接至计算机的电源。反而,按压电源按钮产生信号,通常被称作电力管理事件(PME),该信号由计算机内的电力控制电路接收,只要该计算机连接至电源则该计算机总是有效。该电路接着激励计算机的电源,如果计算机被关闭,则从而启动计算机。同样地,如果计算机已经启动,则PME事件将使得计算机关停。
[0002]此外,不论整个计算机的电力状态如何,计算机的某些部件可以被配置为在一定程度上总是保持可用。例如,网络接口卡(NIC)可以被配置为不论计算机的电力状态如何都保持通电。当NIC接收通常被称作魔力数据包的特定数据包时,NIC可以产生通电信号,类似于如上所述的信号。因此,可以通过局域网(LAN)连接而唤醒处于断电状态的计算机。在网络之上的计算机的远程通电通常被称作局域网远程唤醒(W0L:Wake on LAN)。
【附图说明】
[0003]图1是采用了在此描述的节点供电技术的系统的示例性高级图。
[0004]图2是根据在此描述的技术的用于确定节点的通电顺序的高级流程图的示例。
[0005]图3是根据在此描述的技术的用于确定节点的通电顺序的高级流程图的另一示例。
[0006]图4是根据在此描述的技术的用于节点的有序通电的高级流程图的示例。
[0007]图5是根据在此描述的技术的用于节点的有序通电的高级流程图的另一示例。
【具体实施方式】
[0008]使用PME信号使计算机通电/断电是管理独立系统的有效方式,因为整个系统或者是被开启或者是被关闭的。例如,在台式计算机中,计算机的所有部件(诸如处理器、存储装置(例如硬盘驱动器)、存储器、以及输入/输出(I/O)装置)将一起被开启或被关闭。所有部件应该均被开启,或者它们均不被开启。因此,单个PME信号能够控制整个计算机。
[0009]然而,在遵从更模块化设计的计算机系统中出现问题。在模块化的计算机系统中,各种部件可以被包括作为独立实体,独立实体也可以被称作节点。例如,一种节点类型可以是计算节点,其包含诸如处理器和存储器的计算资源。另一种节点类型可以是存储节点,其包含存储资源,诸如硬盘驱动器。又一种节点类型可以是10节点,其包含用于输入/输出操作的资源。
[0010]各个节点可以经由连接构造(connect1n fabric)而连接,允许节点相互通信。例如,计算节点可以与给计算节点提供存储资源的存储节点通信。此外,在一些情形中节点可以被共用。例如,两个不同的计算节点可以共用存储节点,并且两个计算节点均使用相同的存储节点以提供持久存储。这样配置引起了这样的情形:特定节点并未以及不应直接控制另一节点的电力状态。例如,如果两个计算节点共享存储节点,则使一个计算节点掉电不应使存储节点掉电,否则,将剩下第二计算节点而没有存储资源。
[0011]如应该清楚的,单个PME信号将难以用于模块化系统中。例如,如果向计算节点发送通电信号,则该信号无法直接路由至相关联的存储节点,因为该存储节点可以已经通电,向不同的计算节点提供服务。此外,计算节点可能需要存储节点在计算节点通电之前唤醒并运行。例如,存储节点可以包括由计算节点使用以用于启动的启动资源。因此,硬连线的PME信号将是低效的,因为将首先需要分析系统的当前状态以确定哪些部件将被上电。
[0012]另一加重问题的事实是模块化系统可以是通过软件高度可配置的。例如,计算节点可以与第一存储节点相关联。通过使用软件来控制连接构造,计算节点可以从第一存储节点解除关联并且与第二存储节点相关联。当考虑每个节点的当前电力状态时,将PME信号恰当地路由至在所有可能配置中的所有可能节点变得极其复杂。此外,维持节点之间的相关性(诸如在使其他节点上电之前哪些节点将被上电)也变得复杂。
[0013]在此描述的技术通过PME事件路由至管理处理器而克服了这些问题。有时被称作基板管理控制器的管理处理器包括与模块化计算机系统的各个节点的当前互联状态有关的信息。当对配置做出改变时,使得管理处理器知晓那些改变。因此,管理处理器知晓所有节点的当前互联状态。此外,当将节点添加到系统时,与节点相关联的元数据通知管理处理器存在的任何相关性。例如,存储节点的元数据可以通知管理处理器在使相关计算节点通电之前存储节点必须是可运行的。管理处理器也知晓每个节点的当前开/关状态。
[0014]在针对给定节点接收到PME信号后,通过分析每个节点的连接状态和当前电力状态,管理处理器随后能够确定哪些节点将被上电。此外,使用由每个节点提供的自我报告排序信息,管理处理器可以能够确定用于使相关联的节点通电的适当顺序。此外,管理处理器也可以知晓每个节点的当前状态,从而如果节点被通电,则其无需向该节点发送通电信号。最终,管理处理器也能够适当地对节点掉电进行排序。管理处理器使用将被掉电的节点而知晓所有有效节点。因此,管理处理器可以不由保持有效的另一节点使正使用的节点掉电。以下结合附图进一步详述这些技术。
[0015]图1是采用了在此描述的供电技术的系统的示例性高级图。计算系统100可以包括电源110,管理处理器120,连接构造130,以及多个节点140-(1…9)。电源110可以用于向计算系统的所有部件提供电力。尽管描述为单个电源,这是为了简化说明的目的。在一些实施方式中,电源可以包括数个电源模块。应该理解的是,计算系统包括一些电源,并且电源的任何特定配置适用于在此描述的技术。
[0016]计算系统100也可以包括管理处理器120。管理处理器可以包括能够执行指令的处理器121。联接至处理器的可以是在其上包含指令的非暂时性处理器可读介质122,当该指令由处理器执行时使得处理器实施在此描述的功能。例如,介质122可以包括通电/断电指令123。如将在下面详细描述的那样,通电/断电指令可以由管理处理器使用以使系统100的各个部件上电/掉电。介质122也可以包括节点连接数据存储124。节点连接数据存储可以用于存储关于计算机系统100的节点的当前互联的数据。
[0017]计算机系统100也可以包括连接构造130。连接构造可以允许在计算机系统的各个节点之间通信。连接构造可以是可配置的,以使节点的任何组合可以被配置为相互通信。应该理解的是,连接构造并非节点之间的硬连线连接,而是软件限定的连接。因此,用于在不同节点之间提供连接性的重配置连接构造无需对计算机系统100的硬件进行任何改变。
[0018]计算机系统100也可以包括多个节点140-1…9。尽管每个节点可以提供不同的功能并且具有稍微不同的结构,但每个节点可以具有如节点140中所示的通用结构。每个节点可以包括节点资源141。节点资源是节点提供针对其设计的服务所需的元件。节点的三个示例类型可以包括计算节点、存储节点和10节点。计算节点可以包括处理器和存储器作为资源,并且因此允许节点执行计算任务。存储节点可以具有持久存储资源(例如,硬盘驱动器、固态驱动器等)并且允许节点提供持久存储。10节点可以包括10资源(例如主机总线适配器,接口卡等)以便于向节点提供10性能。 [0019]每个节点也可以包括电力控制电路142。通常,电力控制电路接收信号以开启或关闭节点。任何合适的技术可以用于提供该功能。例如,电力控制电路可以将节点与电源110连接或断开。在其他实施方式中,电源自身可以布置在每个节点上,并且信号可以开启或关闭电源。应该理解的是,不论实施方式如何,电力控制电路允许节点基于信号而被开启或关闭。
[0020]可以用于控制电力控制电路的信号的一些示例是电力开关和W0L信号。用于控制电力控制电路的信号的另一示例可以是从内部时钟产生的信号。例如,可以使用内部时钟配置节点以在每天某一时刻或者在每周某一天通电。当配置的时间到达时,内部时钟可以产生PME信号。如上所述,这些信号可以用于指示节点通电(也可以被称作上电),或者指示节点断电(也可以被称作掉电)。如以下进一步详细所述,在此描述的技术将PME信号路由至管理处理器。管理处理器随后确定向哪些节点以及以什么顺序向节点发送电力信号。
[0021]此外,每个节点可以具有相关联的元数据,其通知管理处理器任何电力排序信息。例如,存储节点的元数据可以通知管理处理器:节点是存储节点,并且应该在任何相关联的计算节点之前被上电。计算节点的元数据可以通知管理处理器:任何相关联的存储和10节点应该在使计算节点上电之前被上电。如果节点不应被上电直至相关联计算节点已经被上电,节点元数据可以通知管理处理器。当将新节点添加到系统时,可以使得节点的相关联元数据可用于管理处理器。
[0022]在操作中,当将节点添加到计算系统时,可以向管理处理器提供节点的元数据。因此,将对于节点的任何电力排序信息通知了管理处理器。例如,节点应该在相关联计算节点之前或之后通电,节点应该在相关联存储节点之后通电等。换言之,节点元数据自身用于通知管理处理器所需的电力排序信息,以使得管理处理器无需采用该信息被分别地配置。
[0023]连接构造也可以被配置为指示哪些节点相互连接。如图1的示例性系统中所示,示出了连接的三个不同集合。连接160示出计算节点140-1、存储节点140-2和10节点140-3均相连。连接170示出计算节点140-4、存储节点140-5,8以及10节点140-6相连。连接180示出计算节点140-7,9以及节点140-8相连。应该注意的是,存储节点140-8在连接170和180中均使用。
[0024]如果对于节点接收到PME信号(诸如电源按钮按压或W0L信号),该信号被路由至管理处理器。例如,如果对于计算节点140-1接收到W0L信号,该信号被路由至管理处理器。通过采用存储在节点连接数据存储中的数据,管理处理器可以确定与计算节点140-1相关联的所有其他节点。在该示例中,存储节点140-2和10节点140-3与计算节点140-1相关联。管理处理器随后可以基于由节点报告的信息而确定节点将被通电的顺序。例如,如果节点140-2报告其应该在相关联计算节点之前被通电,并且节点140-3报告其应该在相关联计算节点之后被通电,则管理处理器应该知晓适当的排序。在该情形中,存储节点140-2应该首先被通电,接下来是计算节点140-1,随后将是10节点140-3。
[0025]一旦确定了适当的通电顺序,管理处理器可以首先确定节点是否已经被上电,在该情形中其无需使节点上电。以下进一步详细描述该情形。管理处理器可以随后向每个节点发送应该以所确定的顺序通电的通电指示。
[0026]在一些情形中,管理处理器可以无需使节点通电。例如,假设连接170中的节点均被上电并且是可运行的。具体地,假设存储节点140-8已经被通电。可以由计算节点140-7接收诸如W0L信号的通电事件。管理处理器可以接收该信号并且基于节点连接数据存储而确定节点140-8和140-9也应该被上电。然而,因为节点140-8已经被上电,无需向该节点发送信号以上电。因此,管理处理器简单地以基于电力排序信息的节点自身报告所确定的顺序而向节点140-7和140-9发送通电信号。
[0027]尽管以上提出的描述是使节点通电的方面,应该理解的是,相同的连接和排序信息可以用于使节点断电或重启。例如,如果按压了节点140-7上的电力按钮,则可以由管理处理器接收信号。管理处理器可以确定与节点140-7相关联的所有节点。在该示例中,其可以是节点140-8和140-9。使节点掉电的顺序可与上电顺序相反,或者可以是如由节点自身所报告的一些其他顺序。此外,管理处理器也知晓正使用给定节点的任何其他节点。例如,如所示,节点140-8也正由连接170所使用。如果节点140-8将被掉电,则将由连接170损失该节点的资源。因此,如果那些节点也正由节点的另一集合而使用,则管理处理器将不会使任何节点掉电。
[0028]以上提出的示例是在节点级节点的集合被相关联的方面。然而,在此描述的技术不限于此。技术也可以在应用级被使用。例如,假设连接160给诸如网络浏览器的应用程序提供用户接口和计算能力。网络服务器可以依赖于由连接170所提供的后端数据库服务。因此,如果数据库后端不是可运行的,则网络服务器应用可能不是可运行的。可以使得管理处理器知晓该应用级相关性。
[0029]假设在连接160和170中的所有节点最初是被关闭的。如果由用于网络服务器连接的节点接收通电事件,则管理处理器将知晓在该连接内的将被通电的所有节点以及它们将被通电的顺序。然而,管理处理器也知晓网络服务器应用也取决于由连接170中的节点所提供的后端数据库。管理处理器知晓在使网络服务器上电之前后端数据库将是可运行的。因此,管理处理器可以以如上所确定的顺序首先使连接170中的节点上电。一旦这些已经完成,形成网络服务器的连接160中的节点随后可以被上电。
[0030]图2是根据在此描述的技术的用于确定节点的通电顺序的高级流程图的示例。在方框210中,管理处理器可以接收用于使第一节点上电的指示。如上所述,指示可以来自通电事件,诸如在LAN之上接收到魔力数据包或者节点的电力开关的激活。在方框220中,可以确定在使第一节点上电之前将被上电的节点的第一集合。换言之,管理处理器可以使用之前收集的关于节点互联的信息以及关于电力排序的节点报告信息来确定在使接收到电力事件的节点上电之前哪些节点需要被上电。
[0031]在方框230中,可以确定节点的第一集合中的未被上电的子集。如上以上所解释,可以由多个节点使用相同的节点。因此,可以做出关于哪些节点已经被上电并且因此无需被上电的确定。在方框240中,节点的第一集合中的子集可以被上电。换言之,向在使第一节点上电之前将被上电并且尚未被上电的所有节点给出信号以上电。在方框250中,第一节点可以被上电。
[0032]图3是根据在此描述的技术的用于确定节点的通电顺序的高级流程图的另一示例。在方框305中,管理处理器可以从每个节点接收与使第一节点上电相比该节点何时将被上电的指示。如以上所解释,每个节点的元数据通知管理处理器按通电顺序节点应该何时被通电。因此,管理处理器无需从外部源接收关于适当排序的信息,因为节点的元数据自身包括了适当的排序。在方框310中,管理处理器可以接收用于使第一节点上电的指示。
[0033]在方框315中,可以确定在使第一节点上电之前将被上电的节点的第一集合。在方框320中,可以确定节点的第一集合中的 未被上电的子集。如以上所解释,在一些情形中节点可以已经由其他节点使用并且因此已经被上电。方框320确定将被上电并且尚未被上电的节点。在方框325中,确定在使第一节点上电之后将被上电的节点的第二集合。换言之,这些是在第一节点已经被上电之后将被上电的节点。在方框330中,确定节点的第二集合中的未被上电的子集。如上所述,方框330确定尚未被上电的节点,因为已经被上电的节点无需再次被上电。
[0034]在方框335中,可以使节点的第一集合的子集上电。换言之,向在第一节点之前将被上电并且尚未被上电的所有节点发送信号以上电。在方框340中,第一节点可以被上电。在方框345中,在第一节点被上电之后节点的第二集合的子集可以被上电。换言之,在第一节点已经被上电之后,可以向将被上电并且尚未被上电的所有节点发送信号以上电。
[0035]在方框350中,管理处理器可以接收用于使第一节点掉电的指示。在方框335中,可以确定未由任何其他节点所使用并且在使第一节点掉电之前将被掉电的节点的第三集合。在方框360中,可以确定未由任何其他节点使用并且在使第一节点掉电之后将被掉电的节点的第四集合。
[0036]在方框365中,在使第一节点掉电之前节点的第三集合可以被掉电。在方框370中,第一节点可以被掉电。在方框375中,在使第一节点掉电之后节点的第四集合可以被掉电。
[0037]图4是根据在此描述的技术的用于节点的有序通电的高级流程图的示例。在方框410中,可以接收第一节点通电指示。在方框420中,可以确定尚未被通电的与第一节点相关联的节点的集合。在方框430中,可以确定使第一节点以及尚未被通电的相关联节点的集合通电的顺序。在方框440中,节点可以以所确定的顺序被通电。
[0038]图5是根据在此描述的技术的用于节点的有序通电的高级流程图的另一示例。在方框510中,可以从每个节点接收该节点应该何时被通电的指示。如上所述,每个节点可以通知管理处理器按使节点通电的顺序节点应该何时被通电。在方框520中,可以接收用于使第一节点通电的指示。在方框530中,可以确定与第一节点相关联的尚未被通电的节点的集合。在方框540中,可以确定使第一节点以及尚未被通电的相关联节点的集合通电的顺序。
[0039]在方框550中,可以以所确定的顺序使节点通电。在方框560中,可以接收用于第一节点的断电指示。在方框570中,可以确定尚未由任何其他节点使用的与第一节点相关联的节点。如以上所解释,节点可以由多于节点的一个集合所使用。如果节点的一个集合将被断电,则由节点的不同集合使用的任何节点应该保持通电。在方框580中,可以以基于节点的顺序使第一节点以及未由其他节点所使用的与第一节点相关联的节点断电。如以上所解释,可以基于由节点自身报告的信息而确定断电顺序。同样地,为了确定用于使节点掉电的适当顺序,除了由节点自身提供的信息之外,管理处理器无需任何信息。
【主权项】
1.一种方法,包括: 由管理处理器接收用于使第一节点上电的指示; 确定在使所述第一节点上电之前将被上电的节点的第一集合; 确定节点的所述第一集合中的未被上电的子集; 使节点的所述第一集合中的所述子集上电;以及 使所述第一节点上电。2.根据权利要求1所述的方法,进一步包括: 由所述管理处理器从节点的集合中的每个节点接收与使所述第一节点上电相比该节点何时将被上电的指示。3.根据权利要求1所述的方法,进一步包括: 确定在使所述第一节点上电之后将被上电的节点的第二集合; 确定节点的所述第二集合中的未被上电的子集;以及 在所述第一节点被上电之后使节点的所述第二集合中的所述子集上电。4.根据权利要求1所述的方法,其中,用于使所述第一节点上电的所述指示是在局域网远程唤醒(WOL)事件。5.根据权利要求1所述的方法,其中,用于使所述第一节点上电的所述指示是所述第一节点的电力按钮的激励。6.根据权利要求1所述的方法,进一步包括: 由所述管理处理器接收用于使所述第一节点掉电的指示; 确定未由任何其他节点使用并且在使所述第一节点掉电之前将被掉电的节点的第三集合; 确定未由任何其他节点使用并且在使所述第一节点掉电之后将被掉电的节点的第四集合; 在使所述第一节点掉电之前使节点的所述第三集合掉电; 使所述第一节点掉电;以及 在使所述第一节点掉电之后使节点的所述第四集合掉电。7.一种系统,包括: 多个节点,所述多个节点各自具有包括计算节点、存储节点和输入/输出(10)节点的类型,其中每个节点独立于所有其他节点而被选择性地供电; 连接构造,连接所述多个节点,所述连接构造在所述多个节点中的任何子集之间提供可配置的连接性;以及 管理处理器,用于存储所述多个节点中的相连的所述子集,所述管理处理器进一步用于接收用于节点中的一个的通电指示并且以限定的顺序使所述子集中的所有节点通电,所述顺序基于节点类型。8.根据权利要求7所述的系统,其中,每个非计算节点向所述管理处理器指示该非计算节点是在相关联计算节点被通电之前还是之后被通电。9.根据权利要求7所述的系统,其中,所述管理处理器进一步确定在尝试使节点通电之前该节点是否已经被通电。10.根据权利要求7所述的系统,其中,所述管理处理器进一步用于接收用于节点的断电指示,所述管理处理器用于确定连接至该节点的节点子集,所述管理处理器进一步用于确定所述节点子集中的哪些节点未由任何其他节点子集所使用,所述管理处理器进一步用于以基于所述节点类型的顺序使未由另一节点子集所使用的节点子集断电。11.根据权利要求7所述的系统,其中,所述通电指示是节点的电力按钮的激励。12.根据权利要求7所述的系统,其中,所述通电指示是局域网远程唤醒信号。13.一种非暂时性处理器可读介质,其上包含当由处理器执行时使得所述处理器执行如下操作的指令集: 接收第一节点通电指示; 确定尚未被通电的与所述第一节点相关联的节点的集合; 确定使所述第一节点以及尚未被通电的相关联节点的集合通电的顺序;以及 以所确定的顺序使节点通电。14.根据权利要求13所述的介质,进一步包括使得所述处理器执行如下操作的指令: 从每个节点接收该节点应该何时被通电的指示。15.根据权利要求13所述的介质,进一步包括使得所述处理器执行如下操作的指令: 接收用于所述第一节点的断电指示; 确定未由其他节点所使用的与所述第一节点相关联的节点;以及以基于节点的顺序,使所述第一节点以及未由其他节点所使用的与所述第一节点相关联的节点断电。
【专利摘要】提供了用于给节点供电的技术。在一个方面,管理处理器可以接收用于使第一节点上电的指示。管理处理器可以确定在使第一节点上电之前将被上电的节点的第一集合。可以确定节点的第一集合中的尚未被上电的子集。在使第一节点上电之前节点的子集可以被上电。第一节点可以随后被上电。
【IPC分类】G06F1/26
【公开号】CN105492994
【申请号】CN201380078469
【发明人】安德鲁·布朗, 大卫·L·格兰特
【申请人】惠普发展公司,有限责任合伙企业
【公开日】2016年4月13日
【申请日】2013年6月25日
【公告号】US20160147271, WO2014209277A1

最新回复(0)