使计算刀片设备和扩展刀片设备的存储器可供由操作系统使用
【专利说明】
【背景技术】
[0001]刀片系统可以包括安装在刀片机箱中的多个刀片设备。刀片设备中的每个均可以是例如刀片服务器。在一些示例中,用户可以建立刀片系统的分区,以包括安装在刀片机箱中的刀片设备中的一个、若干个或全部。在这样的示例中,该分区可以运行操作系统(OS)以及利用该OS运行(多个)应用。
【附图说明】
[0002]下文的【具体实施方式】参考附图,在附图中:
[0003]图1是使逻辑处理器不可用于操作系统(OS)而保持可用于执行系统固件(SFW)实例的指令的示例性刀片系统的框图;
[0004]图2是使多个逻辑处理器不可用于OS而保持可用于执行SFW实例的指令的示例性刀片系统的框图;
[0005]图3是使得计算刀片设备和扩展刀片设备的存储器可用于系统的分区的OS的示例性系统的框图;
[0006]图4是用于在利用计算逻辑处理器执行OS期间保持扩展逻辑处理器在系统管理模式(SMM)的示例性方法的流程图;以及
[0007]图5是用于响应于计算逻辑处理器检测到的错误来利用扩展逻辑处理器收集错误信息的示例性方法的流程图。
【具体实施方式】
[0008]如上所述,刀片系统的分区可以运行操作系统(OS),以及利用该OS运行应用。运行OS的分区可以包括多个刀片设备,每个刀片设备包括(多个)逻辑处理器和存储器。每个逻辑处理器可以被包括在集成电路(IC)(例如,芯片)上。包括至少一个中央处理单元(CPU)的IC在本文可以被称为“CPU 1C”。在一些示例中,除了逻辑处理器之外,CPU IC可以包括至少一个集成的存储器控制器以用于管理刀片设备的存储器。在这样的示例中,CPUIC的存储器控制器能够管理相对有限数量的存储器,其可以限制在刀片设备上可用的存储器的量,并因此可以限制在分区中可用的存储器的量。
[0009]可以通过将额外的刀片设备添加到分区来将更多的存储器添加到分区。然而,由OS运行的一些应用的许可成本可以基于可供应用利用的可用逻辑处理器的数量来计算。照这样,由于所添加的刀片设备的逻辑处理器的可用性,将刀片设备添加到分区可能实质上地增加针对一些应用的许可成本。
[0010]为了处理这些问题,本文所描述的示例可以配置计算刀片设备的计算逻辑处理器和扩展刀片设备的扩展逻辑处理器,以作为单个SFW域的一部分来操作,并且识别计算刀片设备的可用存储器和扩展刀片设备的可用存储器。本文所描述的示例可以进一步地使计算逻辑处理器和所识别的计算刀片设备和扩展刀片设备的存储器可供由OS使用,并且使扩展逻辑处理器不可用于OS,而扩展逻辑处理器保持可用于执行SFW实例的指令。
[0011]以这种方式,本文所描述的示例可以使刀片系统的分区能够利用扩展刀片设备的存储器,而不会将扩展刀片设备的逻辑处理器(即,扩展逻辑处理器)暴露给该分区运行的OS或该OS运行的应用。照这样,本文所描述的示例可以使分区能够使用扩展刀片设备的存储器来运行OS和应用,而没有扩展刀片设备的扩展逻辑处理器增加应用许可成本。另外,通过扩展逻辑处理器保持可用于执行SFW实例的指令,不可被用于OS的扩展逻辑处理器可以保持可用于在扩展刀片设备处收集错误信息,或以其它方式在SFW实例的指令的控制下管理扩展刀片设备的资源,而仍然不可被OS加以利用。
[0012]现在参考附图,图1是使逻辑处理器不可用于操作系统(OS)而保持可用于执行系统固件(SFW)实例的指令的示例性刀片系统100的框图。在本文所描述的示例中,刀片系统可以是包括刀片机箱和安装在刀片机箱中的至少一个刀片设备的计算系统。在图1的示例中,刀片系统100包括刀片机箱105以及扩展和计算刀片设备130和140,扩展和计算刀片设备130和140均被安装在刀片机箱105中。刀片系统100可以利用扩展和计算刀片设备130和140中的每个的资源来运行OS 115。例如,OS 115可以由刀片系统100的分区来运行,刀片系统100的分区包括至少扩展和计算刀片设备130和140。
[0013]如本文所使用的,“刀片设备”可以是物理计算设备,其包括存储器和至少一个逻辑处理器,并且其能够安装到刀片机箱。在一些示例中,刀片设备可以是模块化计算设备,其能够物理地安装到刀片机箱以用于操作,其包括特定内核计算资源(例如,逻辑处理器和存储器),而其不包括特定外围计算资源(例如,供电设备、冷却风扇、外部网络端口等或其组合)。
[0014]如本文所使用的,“刀片机箱”可以是用于接收多个刀片设备并且为所接收的刀片设备提供至少一个外围资源的机架。例如,刀片机箱可以包括用于冷却所安装的刀片设备的风扇、用于向所安装的刀片设备提供电力的至少一个供电设备、针对所安装的刀片设备的外部网络端口等或其组合。
[0015]在图1的示例中,扩展刀片设备130可以包括扩展逻辑处理器132和与扩展逻辑处理器132相关联的存储器134。在一些示例中,刀片设备130可以包括多个逻辑处理器,逻辑处理器中的一些或全部具有相关联的存储器。计算刀片设备140可以包括计算逻辑处理器142和与计算逻辑处理器142相关联的存储器144。在一些示例中,刀片设备140可以包括多个逻辑处理器,逻辑处理器中的一些或全部具有相关联的存储器。如本文所使用的,“逻辑处理器”可以是CPU IC、CPU IC的CPU(例如,在多核CPU IC上的多个内核中的一个内核)、或CPU IC的CPU(或内核)上的线程。
[0016]本文所描述的任何扩展刀片设备或计算刀片设备可以是如上文所描述的刀片设备。在本文所描述的示例中,扩展刀片设备可以是被指定为提供存储器而不提供逻辑处理器的刀片设备,该存储器以供包括该刀片设备的分区的OS所使用。在本文所描述的示例中,计算刀片设备可以是被指定为提供存储器和逻辑处理器的刀片设备,存储器和逻辑处理器以供包括该刀片设备的分区的OS所使用。在一些示例中,在描述该分区的配置的方面的分区信息中,分区中的每个刀片设备可以被指定为扩展或计算刀片设备。另外,本文所描述的任何扩展逻辑处理器或计算逻辑处理器可以是如上文所描述的逻辑处理器。在本文所描述的示例中,扩展逻辑处理器可以是扩展刀片设备的逻辑处理器,而计算逻辑处理器可以是计算刀片设备的逻辑处理器。
[0017]如本文所使用的,与逻辑处理器“相关联”的存储器(或逻辑处理器的“关联的”存储器)是由存储器控制器管理的存储器,存储器控制器集成在包括或构成逻辑处理器的CPU IC上。例如,包括与逻辑处理器相关联的存储器的刀片设备可以包括至少一个存储器模块和CPU 1C,该CPU IC包括至少一个逻辑处理器(例如,CPU或内核)和至少一个集成的用于管理存储器模块的存储器控制器。在一些示例中,刀片设备可以包括多个CPU 1C,每个CPU IC包括至少一个集成的用于管理该刀片设备的存储器模块的存储器控制器。如本文所使用的,存储器模块可以是例如双列直插式存储模块(DIMM)、单列直插式存储器模块(SIMM)或任何其它类型的包括多个存储器设备的存储器模块。
[0018]在图1的示例中,刀片系统100包括利用系统固件(SFM)实例121编码的机器可读存储介质120,系统固件(SFM)实例121包括指令122、124、126以及128。在一些示例中,SFW实例121可以包括额外的指令。如本文所使用的,“机器可读存储介质”可以是用于容纳或存储诸如可执行指令、数据等信息的任何电子的、磁的、光的或其它的物理存储装置。例如,本文所描述的任何机器可读存储介质可以是以下的任意一个:随机存取存储器(RAM)、只读存储器(R0M)、易失性存储器、非易失性存储器、闪速存储器、存储驱动器(例如,硬盘驱动器)、固态驱动器、任何类型的存储盘(例如,只读光盘存储器(⑶-R0M)、任何其它类型的光盘、DVD等)等或其组合。此外,本文所描述的任何机器可读存储介质可以是非暂时性的。本文所描述的任何“存储器”可以是至少一个机器可读存储介质的至少一部分。
[0019]在图1的示例中,存储介质120可以是存储SFW实例121的ROM。在一些示例中,存储介质120可以被包括在扩展刀片设备130或计算刀片设备140上。在其它示例中,存储介质120可以被包括在安装到刀片设备机箱105的另一个刀片设备上。如本文所使用的,“系统固件实例”(或“SFW实例”)可以是用于引导(boot)和管理刀片设备的资源的机器可执行指令的集合。例如,在重置之后,刀片设备的逻辑处理器可以开始执行SFW实例的指令,以初始化逻辑处理器以供操作,并且初始化刀片设备的其它资源,诸如与逻辑处理器相关联的存储器。在一些示例中,对逻辑处理器和相关联的存储器的初始化可以包括由SFW实例所实施的上电自检(POST)。
[0020]SFW实例的指令当由逻辑处理器执行时还可以配置逻辑处理器以使其在与SFW实例相关联的SFW域中操作。如本文所使用的,与SFW实例相关联的“系统固件域”(或“SFW域”)可以是由SFW实例所引导的逻辑处理器在引导之后执行SFW实例的指令时可以在其中操作的环境。在一些示例中,SFW域可以包括多个SFW资源,包括例如,SFW数据结构以及SFW代码(即,机器可执行指令)。如本文所使用的,作为SFW域的一部分进行操作的逻辑处理器可以是可以访问SFW域的SFW资源的逻辑处理器。在一些示例中,可以将SFW域的SFW资源(例如,SFW数据结构以及SFW代码)存储在SFW域的系统管理存储器区域(例如,SMRAM)中。在这样的示例中,作为SFW域的一部分进行操作的逻辑处理器可以是可以访问存储在SFW域的系统管理存储器区域中的SFW资源的逻辑处理器。作为SFW域的一部分进行操作的逻辑处理器可以不是始终可以访问系统管理存储器区域中的SFW资源。相反地,逻辑处理器在特定时间(例如,当引导时)、在特定模式(例如,系统管理模式(SMM))等可以访问。在本文所描述的示例中,具有这样的受限访问的逻辑处理器仍然可以被认为可以访问系统管理存储器区域中的SFW资源。在一些示例中,系统管理存储器区域可以是安装在包括该逻辑处理器的刀片机箱中的至少一个刀片设备的机器可读存储介质的至少一部分。
[0021]SFff数据结构可以包括例如高级配置与电源接口(ACPI)表、系统管理B1S(SMB1S)表、存储器数据结构、中断向量、信号量(semaphore)等或其组合。可以通过逻辑处理器执行SFW实例的指令来在系统管理存储器区域中产生和存储SFW数据结构。SFff代码可以包括实施诸如系统管理中断(SMI)处理单元等中断服务例程的可执行指令。SFW代码还可以包括实施错误处理单元的可执行指令。SFW代码可以是被复制到系统管理存储器区域内的SFW实例的指令。
[0022]在图1的示例中,SFW实例121的指令可由刀片系统100执行。例如,刀片系统100的扩展逻辑处理器132和计算逻辑处理器142可以取得、解码以及执行SFW实例121的指令,以执行下文所描述的与SFW实例121有关的功能。在图1的示例中,在刀片系统100的至少一部分(例如,用于运行OS 115的分区)的重置之后当指令122由逻辑处理器132和142执行时,指令122可以配置计算刀片设备140的计算逻辑处理器142和扩展刀片设备130的扩展逻辑处理器132,以作为与SFW实例121相关联的单个SFW域的一部分进行操作。在本文所描述的示例中,被配置为作为单个SFW域(S卩,相同的SFW域)的一部分进行操作的逻辑处理器可以是每个均被配置为访问SFW域的SFW资源的逻辑处理器。例如,逻辑处理器可以每个均可以访问(例如,在SMM)存储SFW域的SFW资源的系统管理存储器区域。
[0023]在一些示例中,通过利用相同的SFW实例121引导逻辑处理器中的每个,逻辑处理器可以被配置为作为相同的SFW域的一部分进行操作。在图1的示例中,通过利用SFW实例121引导扩展和计算逻辑处理器132和142中的