首页 / 专利库 / 电脑零配件 / 多核处理器 / 用于服务器虚拟化的计算资源的物理划分

用于服务器虚拟化的计算资源的物理划分

阅读:549发布:2020-05-11

专利汇可以提供用于服务器虚拟化的计算资源的物理划分专利检索,专利查询,专利分析的服务。并且基板 管理 控制器 (BMC)可以将物理主机的计算资源在物理上划分为不同的资源组,以便每个资源组同时运行不同的 操作系统 。BMC可以将主机的第一处理器分配给第一资源组,并将主机的第二处理器分配给第二资源组。BMC可以将主机的 存储器 分为用于第一处理器的第一存储器范围和用于第二处理器的第二存储器范围,并且BMC可以将对第一存储器范围的 访问 限制到第一处理器,并将对第二存储器范围的访问限制到第二处理器。BMC还可以在第一处理器和第二处理器之间分配主机的物理或虚拟 外围设备 。,下面是用于服务器虚拟化的计算资源的物理划分专利的具体信息内容。

1.一种计算机实现的方法,包括:
由物理主机的基板管理控制器确定所述物理主机至少包括第一处理器和第二处理器;
由所述基板管理控制器将所述第一处理器的访问限制到所述物理主机的第一存储器范围,并将所述第二处理器的访问限制到所述物理主机的第二存储器范围;
在所述第一存储器范围内加载第一操作系统,并在所述第二存储器范围内加载第二操作系统;
由所述第一处理器在所述第一存储器范围内执行所述第一操作系统;以及由所述第二处理器在所述第二存储器范围内执行所述第二操作系统。
2.根据权利要求1所述的计算机实现的方法,还包括:
配置具有对所述第一存储器范围的控制权的一个或多个第一存储器控制器,以提供所述第一处理器对所述第一存储器范围的访问。
3.根据权利要求2所述的计算机实现的方法,还包括:
配置不具有对所述第一存储器范围的控制权的一个或多个第二存储器控制器,以拒绝所述第一处理器对所述物理主机的其他存储器范围的访问。
4.根据任一前述权利要求所述的计算机实现的方法,还包括:
生成存储器映射,该存储器映射将所述第一存储器范围映射到所述物理主机的第一组双列直插式存储器模(DIMM)并排除到所述物理主机的其他DIMM的映射。
5.根据任一前述权利要求所述的计算机实现的方法,还包括:
禁用所述第一存储器范围和所述第二存储器范围之间的缓存一致性。
6.根据任一前述权利要求所述的计算机实现的方法,还包括:
至少接收第一引导映像和第二引导映像,其中该第一引导映像包括用于加载所述第一操作系统的第一指令,该第二引导映像包括用于加载所述第二操作系统的第二指令;
将所述第一引导映像加载到所述第一存储器范围中,并将所述第二引导映像加载到所述第二存储器范围中;
由所述第一处理器执行用于加载所述第一操作系统的所述第一指令;以及由所述第二处理器执行用于加载所述第二操作系统的所述第二指令。
7.根据任一前述权利要求所述的计算机实现的方法,还包括:
由所述基板管理控制器通过将所述物理主机的输入/输出(I/O)端口暴露给所述第一处理器,来提供所述第一处理器对所述I/O端口的访问。
8.根据任一前述权利要求所述的计算机实现的方法,还包括:
由所述基板管理控制器通过向所述第一处理器隐藏所述物理主机的I/O端口,来拒绝所述第一处理器对所述I/O端口的访问。
9.根据任一前述权利要求所述的计算机实现的方法,还包括:
由所述基板管理控制器将外围设备的存储器映射到所述第一存储器范围,以提供所述第一处理器对所述外围设备的访问。
10.根据任一前述权利要求所述的计算机实现的方法,还包括:
由所述基板管理控制器通过排除连接到所述物理主机的外围设备的存储器到所述第一存储器范围的映射,来拒绝对所述外围设备的访问。
11.根据任一前述权利要求所述的计算机实现的方法,还包括:
由所述第一处理器向连接到所述物理主机的外围设备发送I/O请求;以及由所述第一处理器从所述外围设备接收I/O响应。
12.根据任一前述权利要求所述的计算机实现的方法,还包括:
由所述第一处理器向连接到所述物理主机的外围设备发送I/O请求;以及由所述外围设备忽略所述I/O请求。
13.一种服务器,包括:
处理子系统;
存储器子系统;以及
基带管理控制器,包括:
基带处理器;以及
基板存储器,其包括指令,这些指令在由所述基带处理器执行时,使得所述服务器进行以下操作:
确定所述处理子系统包括一个或多个第一处理器和一个或多个第二处理器;
将所述一个或多个第一处理器的访问限制到所述存储器子系统的第一范围,并将所述一个或多个第二处理器的访问限制到所述存储器子系统的第二范围;
在所述存储器子系统的第一范围内加载第一操作系统,并在所述存储器子系统的第二范围内加载第二操作系统;以及
使所述一个或多个第一处理器在所述存储子系统的第一范围内执行所述第一操作系统,并使所述一个或多个第二处理器在所述存储子系统的第二范围内执行所述第二操作系统。
14.根据权利要求13所述的服务器,其中,所述一个或多个第一处理器包括第一中央处理单元(CPU),并且所述一个或多个第二处理器包括第二CPU。
15.根据权利要求13或14所述的服务器,其中,所述一个或多个第一处理器包括多核处理器的第一核,并且所述一个或多个第二处理器包括所述多核处理器的第二核。
16.根据权利要求13或14所述的服务器,其中,所述一个或多个第一处理器包括第一多核处理器的核,并且所述一个或多个第二处理器包括第二多核处理器的核。
17.一种具有指令的非暂时性计算机可读介质,这些指令在由物理主机的基板管理控制器(BMC)的处理器执行时,使得所述BMC进行以下操作:
将所述物理主机的一个或多个第一处理器分配给第一资源组;
将所述物理主机的一个或多个第二处理器分配给第二资源组;
将所述一个或多个第一处理器的访问限制到所述物理主机的第一存储器范围;
将所述一个或多个第二处理器的访问限制到所述物理主机的第二存储器范围;
在所述第一存储器范围内加载第一操作系统;
在所述第二存储器范围内加载第二操作系统;
使所述一个或多个第一处理器在所述第一存储器范围内执行所述第一操作系统;以及使所述一个或多个第二处理器在所述第二存储器范围内执行所述第二操作系统。
18.根据权利要求17所述的非暂时性计算机可读介质,其中,所述指令在被执行时还使得所述BMC进行以下操作:
虚拟化所述物理主机的物理存储器控制器,以创建第一虚拟存储器控制器和第二虚拟存储器控制器;
将所述第一虚拟存储器控制器分配给所述第一资源组;以及
将所述第二虚拟存储器控制器分配给所述第二资源组。
19.根据权利要求17或18所述的非暂时性计算机可读介质,其中,所述物理主机是单插槽服务器,并且其中,所述指令在被执行时还使得所述BMC进行以下操作:
使用单根I/O虚拟化来虚拟化物理外围设备,以创建至少第一虚拟外围设备和第二虚拟外围设备;
将所述第一虚拟外围设备分配给所述第一资源组;以及
将所述第二虚拟外围设备分配给所述第二资源组。
20.根据权利要求17或18所述的非暂时性计算机可读介质,其中,所述物理主机是多插槽服务器,并且其中,所述指令在被执行时还使得所述BMC进行以下操作:
使用多I/O虚拟化来虚拟化物理外围设备,以创建至少第一虚拟外围设备和第二虚拟外围设备;
将所述第一虚拟外围设备分配给所述第一资源组;以及
将所述第二虚拟外围设备分配给所述第二资源组。

说明书全文

用于服务器虚拟化的计算资源的物理划分

[0001] 相关申请交叉引用
[0002] 本申请要求2017年6月8日提交的题为“PHYSICAL PARTITIONING OF COMPUTING RESOURCES FOR SERVER VIRTUALIZATION(用于服务器虚拟化的计算资源的物理划分)”的美国专利申请15/617,190的优先权权益;其全部内容通过引用合并于此。

技术领域

[0003] 本公开的主题总体上涉及服务器虚拟化领域,并且更具体地涉及用于经由系统的基板管理控制器来对计算系统的资源进行物理划分的技术。

背景技术

[0004] 虚拟化是现代数据中心中使用的一项重要技术。虚拟化可以允许数据中心的运营商巩固工作负载;提高利用平;减少运营、资金、空间、电和冷却费用;在虚拟化池内动态移动工作负载,以提高使服务器脱机或使新服务器联机的灵活性;管理虚拟实例与物理机的关系以优化性能并维持服务水平;通过使用现有资源池创建更多虚拟实例来扩展现有应用或部署新的应用;以及部署虚拟化平台的高可用性和灾难恢复特征以克服本地化和地理故障,以及其他好处。
[0005] 虚拟化数据中心的两种常见方法是基于管理程序的虚拟化和基于容器的虚拟化。在基于管理程序的虚拟化中,软件模拟物理计算机的硬件,以便整个未修改操作系统可以利用模拟或虚拟环境(即虚拟机(VM))来运行。单个物理服务器可以一次运行若干个VM,并且管理程序或虚拟机监视器(VMM)可以管理VM并在其中分配服务器资源。但是,基于管理程序的虚拟化可能会带来额外的开销,因为实施此方法的服务器必须针对服务器上运行的每个VM复制真实的硬件行为。容器不需要额外的虚拟硬件层。替代地,实现容器的系统试图通过隔离依赖于同一内核的应用来提供自包含的执行环境。因此,服务器内的容器全部都在单个操作系统内核上运行,并且该内核必须能够支持容器内运行的所有应用和软件。因此,基于容器的虚拟化通常不允许服务器运行不同的操作系统或同一操作系统的不同版本。
附图说明
[0006] 图1示出了根据实施例的网络环境的示例;
[0007] 图2A和图2B示出了根据一些实施例的计算系统的示例;
[0008] 图3示出了根据实施例的用于经由系统的基板管理控制器对计算系统的资源进行物理划分的过程的示例;以及
[0009] 图4A、图4B和图4C示出了根据一些实施例的经物理划分的计算系统的示例。

具体实施方式

[0010] 概述
[0011] 根据本公开的各种实施例的系统和方法可以克服在用于基于管理程序和基于容器的虚拟化的传统方法中遇到的前述或其他缺陷中的一个或多个。基板管理控制器(BMC)可以将服务器的计算资源(例如,处理、存储器、输入/输出(I/O)、和/或存储)物理划分为两个或多个资源组,以使每个资源组同时运行不同操作系统和一个或多个应用。例如,BMC可以至少将物理主机的第一处理器(例如,四插槽(four-socket)服务器的一对处理器、多核处理器、多核处理器的单核等)分配给第一资源组,并将物理主机的第二处理器分配给第二资源组。BMC可以加载一个或多个引导映像(例如,基本输入/输出系统(BIOS)、统一可扩展固件接口(UEFI)引导管理器、引导加载程序、引导程序、或在加载操作系统之前执行的其他软件/固件)和/或来自存储区域网络(SAN)(或其他远程存储)或物理主机上嵌入的存储设备(例如,只读存储器(ROM)、闪存、或其他非易失性存储器)的其他配置数据,以用于初始化物理主机的硬件。
[0012] 在一些实施例中,(一个或多个)BMC/引导映像可以将物理主机的存储器划分为至少供第一处理器专用的第一存储器范围和供第二处理器专用的第二存储器范围。例如,第一存储器范围可以包括安装在物理主机上的第一组(一个或多个)双列直插式存储器模(DIMM),并且第二存储器范围可以包括安装在物理主机上的第二组(一个或多个)DIMM。(一个或多个)BMC/引导映像可以生成将第一存储器范围映射到第一组DIMM的第一存储器映射和将第二存储器范围映射到第二组DIMM的第二存储器映射。替代地或另外地,(一个或多个)BMC/引导映像可将对第一组DIMM的(一个或多个)存储器控制器的访问限制到第一处理器,并将对第二组DIMM的(一个或多个)存储器控制器的访问限制到第二处理器。
[0013] 在一些实施例中,(一个或多个)BMC/引导映像还可以在第一处理器和第二处理器之间分发物理主机的物理或虚拟外围设备。例如,(一个或多个)BMC/引导映像可以暴露/隐藏来自资源组之一的一个或多个I/O端口。替代地或另外地,(一个或多个)BMC/引导映像可以为资源组之一生成外围组件高速互连(PCIe)地址存储器映射,该PCIe地址存储器映射给予该资源组对特定外围设备的访问并拒绝对另一外围设备的访问。替代地或另外地,(一个或多个)BMC/引导映像可以将外围设备配置作为总线主控(bus master),并且该外围设备可以对来自特定处理器的I/O请求进行操作,而忽略来自另一处理器的I/O请求。
[0014] 说明
[0015] 图1示出了根据实施例的网络环境100的示例。本领域的普通技术人员将理解,对于本公开中讨论的网络环境100和任何系统,在相似或替代配置中可以存在额外或更少的节点、设备、链路、网络或组件。各种实施例可以包括不同数量和/或类型的客户端、网络、节点、组件、服务器、软件组件、设备、虚拟或物理资源、配置、拓扑、服务、器具、部署、网络设备等。本公开中提供的图示和示例是为了简洁和清楚。
[0016] 在该示例中,网络环境100包括存储区域网络(SAN)102a和102b(统称为“102”)、局域网(LAN)104、管理网络106、网络设备108a和108b(统称为“108”)、服务器机架110。服务器机架110是用于将各种形状因子的服务器(例如,机架式服务器、刀片服务器和其他高密度服务器)与其他网络元件互连的计算基础设施设备。服务器机架110可以为诸如服务器112a和112b(统称为“112”)之类的服务器以及诸如交换机、路由器、网络设备(例如负载均衡器、深层分组检查器、防火墙等)、端口扩展器(例如,端口扩展器114a和114b(统称为“114”))等之类的网络设备提供电力、冷却、连通性和机械支持。服务器机架110的实现方式的示例是Cisco Unified Computing SystemTM 刀片服务器机架,其由加利福尼亚州圣何塞的思科系统公司提供。服务器机架110包括用于容纳服务器112的多个槽(slot)(例如,8个半宽槽、4个全宽槽、或其他容量)。服务器机架110可以减少物理组件的数量和布线量(相对于传统的机架式或刀片系统),与现有基础设施集成以进行集中管理,并且在能耗方面比传统系统更高效地运行。
[0017] 在图1中,服务器112a是半宽或半槽服务器,并且服务器112b是全宽或全槽服务器。其他实施例可以利用具有其他类型的形状因子的服务器,包括具有不需要机架的服务器的一些实施例。例如,各种实施例可以包括作为通信地耦合到服务器机架110或一个或多个网络设备108的独立设备的服务器。各种类型的互连和总线可以提供通信耦合,包括任何有线或无线互连线、网络、连接、绑、单总线、多总线、交叉线网络(crossbar network)、单级网络、多级网络或可操作为在计算设备的各个部分之间或在计算设备之间携带数据的其他传导介质。
[0018] 半槽服务器112a包括网络适配器116a、基板管理控制器(BMC)118a、处理子系统120a、存储器子系统122a、I/O子系统124a、本地存储子系统126a和引导子系统128a。网络适配器116a(例如,网络接口控制器或卡(NIC)、网络适配器、LAN适配器等)将服务器112a连接到其他物理上分离和离散的网络元件(例如,网络适配器116b和116c、端口扩展器114、网络设备108、SAN 102、LAN 104、管理网络106等)和逻辑上分离的服务器112a的元件(例如,虚拟机、容器或其他划分)。本领域普通技术人员将理解,这些元件中的一些元件是可组合的(例如,I/O子系统通常包括网络接口)或可进一步分割的(例如,缓存存储器与主存储器可区分),但是服务器112a包括上述子系统,出于简洁和清楚的目的。
[0019] BMC 118a监视和管理服务器112a的物理状态。BMC 118a包括专用服务处理器(未示出)和固件(未示出),以独立于处理子系统120a来提供管理和监视能力。即使在处理子系统120a断电或未运行时,BMC 118a仍是可达的。在一些实施例中,BMC 118a支持在智能平台管理接口(IPMI)规范中定义的标准。BMC 118a的实现方式的示例是 集成管理控制器(CIMC)。CIMC符合IPMI规范,但还提供了其他功能,以提供对多个计算系统的统一监视和管理。CIMC提供的诊断和健康状况监视特征包括:支持简单网络管理协议(SNMP);可扩展标记语言(XML)应用编程接口(API)事件订阅和可配置警报;系统事件记录;审核记录;监视现场可替换单元(FRU)、硬盘驱动器(HDD)故障、双列直插式存储器模块(DIMM)故障、NIC媒体访问控制(MAC)地址、CPU和热故障;可配置的警报和阈值;看定时器;独立磁盘冗余阵列(RAID)配置和监视;HDD和DIMM的预测性故障分析;支持融合(converged)网络适配器(CNA);以及支持网络时间协议(NTP)。
[0020] 在一些实施例中,CIMC可以在独立模式下操作以向用户提供对服务器的完全控制,从而允许管理员执行服务器管理任务,包括通电、断电、电力循环、重置和关闭服务器;切换定位器发光二极管(LED);配置服务器启动顺序;查看服务器属性和传感器;配置带外存储;管理远程状态;管理固件;创建和管理本地用户帐户,并通过活动目录和轻量目录访问协议(LDAP)启用认证;配置与网络相关的设置,包括NIC属性、互联网协议(IP)版本4(IPv4)、IP版本6(IPv6)、虚拟局域网(VLAN)和网络安全性;配置通信服务,包括超文本传输协议(HTTP)、安全外壳(SSH)和LAN上IPMI;管理证书;配置平台事件过滤器;以及监视故障、警报和服务器状态。
[0021] 在一些实施例中,CIMC还可以提供诸如以下各项之类的特征:超文本标记语言版本5(HTML5)以及键盘、视频和鼠标(KVM)用户接口(UI);红鱼支持;和XML API事务支持。HTML5和KVM可以向用户提供简化的UI,并且可以消除对Java的需求来使用CIMC。红鱼是一种开放式行业标准规范和模式,它指定了静态状态传输(REST)接口,并使用Javascript对象符号(JSON)和开放数据协议(OData)来帮助客户在其现有工具链中集成解决方案。XML API事务支持使得能够在单个事务中配置多个管理对象,从而允许更快、更简单的部署。
[0022] 在一些实施例中,当服务器112a处于低功率状态(例如待机状态)时,BMC 118a可以执行配置和管理服务。相反,处理子系统120a、存储器子系统122a、本地存储子系统126a等可以要求服务器112a处于相对较高的功率状态。通常,低功率状态可以包括如下状态:其中服务器112a未完全通电并且不提供其全体功能的全部或基本上全部,而高功率状态是如下状态:其中服务器112a通电并提供其功能的全部或基本上全部,出于管理和配置目的而专门禁用的功能较少。
[0023] 处理子系统120a通过一个或多个互连或总线连接到服务器112a的其他元件,并且可以直接执行存储在存储器子系统122a中的指令,并间接执行存储在本地存储子系统126a、SAN 102和/或其他存储器位置中的指令。处理子系统120a可以包括提供可编程逻辑的硬件、软件和/或固件的任何组合。处理子系统120a的实现方式的示例包括由英国英格兰剑桥的ARM Holdings提供的高级RISC机器(ARM)架构;加利福尼亚州桑尼维尔的MIPS科技公司提供的无互管线级微处理器(MIPS)架构;纽约北城堡阿蒙克的IBM提供的Power架构;由加利福尼亚州Menlo Park的Sun Microsystems提供的可扩展处理器架构(SPARC);以及由加利福尼亚州圣克拉拉的Intel公司、加利福尼亚州桑尼维尔的Advanced Micro Devices(AMD)公司、或中国台湾新北市的VIA科技公司提供的x86架构。
[0024] 存储器子系统122a包括一组随机存取存储器(RAM),这些集成电路(IC)一般允许以恒定的时间以任何顺序访问存储在该IC中的数据而无论该数据的物理位置如何。RAM可以包括静态RAM(SRAM);动态RAM(DRAM);和同步DRAM(SDRAM)。SRAM通常非常快,但是通常具有比DRAM小的容量(例如,几兆字节)。SRAM是静态的,因为它们具有如下芯片结构:只要SRAM通电,该芯片结构就可以保持数据。但是,SRAM通常不够大,无法用作服务器的主存储器。替代地,主存储器通常包括DRAM。DRAM将数据存储在集成电路内的电容器上。DRAM是动态的,因为电容器可以由于漏电流而随时间放电,并且可能需要重新充电以避免数据丢失。
[0025] SDRAM具有同步接口,这意味着它们的操作与时钟信号同步。时钟可以驱动内部有限状态机,该内部有限状态机以“流水线”进行存储器访问(即,SDRAM在完成对前一个存储器访问的处理之前可以接受新的存储器访问)。相对于传统DRAM,流水线可以提高SDRAM的性能。SDRAM的第一个实现方式是单数据速率(SDR),它指定每个时钟周期传输单个数据单元。SDRAM的下一个实现方式是双倍数据速率(DDR),它可以通过在时钟信号的上升沿和下降沿传输数据而不增加时钟频率来达到SDR带宽的近两倍。DDR演变为第二代DDR(DDR2)和第三代DDR(DDR3)。DDR2通过改进的总线信令而能够以DDR数据速率的两倍运行外部数据总线。DDR3通过降低工作电压,增加存储器密度和增加存储器带宽来改进DDR2。
[0026] 在一些实施例中,存储器子系统122a可以包括在小板上组装在一起的多个存储器芯片,称为双列直插式存储器模块(DIMM)。DIMM可以具有rank,这种芯片布置产生指定数目个有用数据位(例如64、128等)。因此,DIMM可以是单rank、双rank、四rank等。存储器控制器可以通过芯片选择而不是通过地址位来选择存储器rank。典型的存储器控制器可以包括多达八个独立的芯片选择,因此能够支持多达八个rank。
[0027] SDRAM DIMM可以包括未缓冲的DIMM(UDIMM)和已注册的DIMM(RDIMM)。在UDIMM中,存储器芯片直接连接到地址和控制总线,而没有任何中间组件。RDIMM具有额外组件,寄存器,它们位于传入地址和控制总线与SDRAM组件之间。这些寄存器可以添加一个时钟周期的延迟,但可以减少存储器控制器上的电负载,并允许每个存储器控制器有更多的DIMM。
[0028] I/O子系统124a包括外围设备(除了网络适配器116a)和用于将外围设备连接到服务器112a的接口。I/O子系统124a通常负责将数据从存储器子系统122a移动到可访问的外围设备,反之亦然。从历史上看,计算系统使用与外围组件互连(PCI)标准兼容的总线来提供I/O,PCI标准是为将外围设备互连到计算系统而开发的标准。各个实施例支持PCI的一个版本,即高速PCI(PCIe)。PCIe指定点对点连接,从而形成具有单根联合体的树形结构拓扑。根联合体可以负责系统配置、PCIe资源枚举以及针对PCIe树的中断和错误管理。根联合体及其端点可以共享单个地址空间,并通过存储器的读写和中断来进行通信。PCIe通过点对点链路连接两个组件。链路包括N条通道(即,by-N链路包括N条通道),并且每个通道可以包括两对电线:一对用于发送,一对用于接收。每个通道都连接到PCIe端点、PCIe交换机或PCIe到PCI桥接器。
[0029] 本地存储子系统126a包括非易失性存储器,并且可以是硬盘驱动器(HDD)、固态设备(SSD)或可以存储可由计算系统访问的数据的其他类型的计算机可读介质,例如通用串行总线(USB)闪存驱动器、闪存卡或棒、光盘、磁带、独立RAM盘、只读存储器(ROM)及其混合。
[0030] 引导子系统128a包括用于在服务器112a通电或启动时执行硬件初始化并为操作系统和应用提供运行时服务的软件和/或固件。引导子系统128a可以初始化和测试服务器112a的硬件组件。引导子系统128a还可以将一个或多个操作系统从本地存储子系统126a或SAN 102加载到存储器子系统122a中。另外,引导子系统128a可以发现并设置一个或多个外围设备以供处理子系统120a访问。在一些实施例中,服务器112a可以将引导子系统128a作为一个或多个引导映像存储在连接到服务器112a的外围存储器设备中。替代地或另外地,SAN 102可以存储一个或多个引导映像,服务器112a可以从中取回(一个或多个)引导映像。
多个引导映像可以代表服务器112a的不同硬件、软件(例如,操作系统、应用等)和/或固件配置。引导子系统128a的实现方式的示例包括用于x86架构的基本输入/输出系统(BIOS)或用于ARM架构的统一可扩展固件接口(UEFI)或引导加载程序。
[0031] 在一些实施例中,BMC 118a可以对引导子系统128a进行编程和/或执行以进行以下操作:配置两个物理以太网链路以将它们组合成一个双容量以太网接口,该接口可以掩盖链路故障(以容量减半的代价);配置以太网链路,以将其拆分为具有自己的MAC地址的带外管理以太网接口(供BMC 118a专用),和一个或多个具有不同MAC地址的带内以太网接口;配置一组盘以将它们组织为RAID配置以形成一个或多个容错盘;将PCIe设备配置为向服务器112a的一个或多个操作系统暴露或隐藏它们;以及监视和管理供电、电压、时钟、CPU速度、温度扇。
[0032] 在一些实施例中,BMC 118a还可以对引导子系统128a进行编程和/或执行以配置存储器控制器以将对存储器子系统122a的某些部分或范围的访问限制到处理子系统120a的某些处理器。例如,服务器112a可以包括多个存储器控制器和多个处理器(例如,每个处理器多个插槽和/或多个核)。BMC 118a可以对引导子系统128a进行编程和/或执行,以限制某些处理器对存储器的特定部分的访问,以在处理器之间有效地划分存储器。替代地或另外地,BMC 118a可以对引导子系统128a进行编程和/或执行,以限制某些核对存储器的特定部分的访问,并控制这些核是否可以彼此中断。在一些实施例中,BMC 118a还可以对引导子系统128a进行编程和/或执行,以控制特定处理器或核是否可访问某些虚拟或物理外围设备。在一些实施例中,BMC 118a可以为处理器和/或核的每个分区加载不同的引导映像,从而每个分区可以独立地引导。以此方式,BMC 118a可以创建多个分离的资源组,每个组包括一个或多个处理器或核、存储器范围以及一个或多个可访问的外围设备(和/或PCIe地址范围)。因此,BMC 118a可以执行类似于传统管理程序的操作,而没有操作主机操作系统和客机操作系统可能带来的开销。该方法也是对容器化的一种改进,因为服务器112a不再限于单个操作系统。
[0033] 全槽服务器112b包括网络适配器116b和116c、BMC 118b、处理子系统120b、存储器子系统122b、I/O子系统124b、本地存储子系统126b和引导子系统128b。本领域普通技术人员将理解,全槽服务器在许多方面类似于全槽服务器112b。然而,全槽服务器112b比半槽服务器112a包括更多的整体资源。例如,全槽服务器112b可以包括更多的处理器(和/或核)、更多的DIMM和更多的I/O接口(包括网络接口),从而相对于半槽服务器112a提供更大的处理能力、存储器和联网功能。
[0034] 服务器112经由网络适配器116a和116b连接到端口扩展器114。由电气和电子工程师协会(IEEE)802.1Qbh协议标准化的端口扩展器可以用作访问设备,用于NIC、刀片交换机、机架顶(TOR)交换机、管理程序、单根I/O虚拟化(SR-IOV)适配器、虚拟交换机等。端口扩展器可以附接到802.1Q桥接器(即控制桥接器)的MAC端口以提供附加的MAC端口(下行链路接口),该附加的MAC端口作为端口扩展器所附接到的802.1Q桥接器的逻辑端口。分组可以从端口扩展器流经控制桥接器,以允许针对流量的一致转发和策略实施。控制桥接器可以用作其端口扩展器集合的逻辑集中管理点。端口扩展器114的实现方式的示例包括结构扩展器(FEX)技术,例如,用于为TOR交换机提供附加端口的Cisco 结构扩展器(FEX)、用于为Cisco 刀片服务器机架提供附加端口的Cisco 结构扩展器、用于为服务器提供附加端口的 适配器结构扩展器(适配器FEX)、和用于为虚拟机提供附加端口的 数据中心虚拟机结构扩展器(VM-FEX)。
[0035] 端口扩展器114可以各自包括互连基础设施I、机架管理器M和机架管理交换机S。互连基础设施I可以用作服务器112和交换机/路由器108之间的桥接器,并实现端口扩展器
114的数据平面。互连基础设施I的实现方式的示例是 FEX ASIC,例如Redwood和Woodside。机架管理器M可以与交换机/路由器108中的网络范围管理器N和服务器112中的BMC 118交互。机架管理器M可以执行服务器发现和排序、电力管理、温度监控以及风扇控制循环。在一些实施例中,当在服务器机架110中存在多个端口扩展器114时,如在图1的示例中那样,根据高可用性算法,机架管理器M可以形成集群,其中一个管理器处于活动状态而另一个管理器处于非活动状态。例如,机架管理器M之间可以存在串行接口,用于接收两个管理器之间的心跳。故障转移可能是由于无法检测到心跳而引起的,或者是由于活动机架管理器的拔出而引起的。网络管理器N也可能会强制进行故障转移。机架管理器M的实现方式的示例包括 机架管理控制器(CMC)ASIC。机架管理器交换机S可以提供与每个服务器112上存在的BMC 118的连接。机架管理器交换机S的实现方式的示例包括 机架管理交换机(CMS)ASIC。
[0036] 端口扩展器114将服务器机架110连接到交换机/路由器108a和108b(统称为“108”)。交换机/路由器108可以作为脊和叶拓扑中的脊交换机;三层、多层或胖树拓扑中的聚合/分布交换机和/或核心交换机;BCube网络拓扑中的1+级交换机;或其他合适的网络拓扑(例如,DCell、CamCube、FiConn、Jelly fish、Scafida等)中的交换机/路由器。交换机/路由器108的实现方式的示例包括Cisco 结构互连、Cisco 交换机、Cisco交换机、 工业以太网交换机、Cisco MerakiTM或 交换机/路由
器、 集成业务路由器(ISR)、 网络聚合系统(NCS)路由器、 聚合服务
路由器(ASR)、 工业ISR、和 连接网格路由器,等等。
[0037] 交换机/路由器108包括端口控制器ASIC P、交叉开关结构(crossbar fabric)ASIC X和网络范围管理器N。端口控制器ASIC P控制一小组端口(例如4、8、16个等)以在分组外行或在管理端口外行时进行处理。端口控制器ASIC P也可以处理端口之间的转发决定。端口控制器ASIC P的实现方式的示例包括 统一端口控制器(UPC)ASIC。
[0038] 交叉开关结构ASIC X用作端口控制器P之间的桥接器,并且可以管理分组交换和调度。也就是说,交叉开关结构ASIC X可以将用于入行端口的端口控制器耦合到用于外行端口的端口控制器,以使能端口之间的流量流动。交叉开关结构ASIC X的实现方式的示例包括 统一交叉开关结构(UCF)ASIC。
[0039] 网络范围管理器N可以包括用于监视和管理网络环境100的服务器、网络和存储基础设施的硬件、软件和/或固件。网络范围管理器N也可以配设服务器、结构和存储资源,以及执行设备发现、盘点、配置、诊断、监视、故障检测、审核和统计信息收集。例如,网络范围管理器N可以自动检测、盘点、管理和配设添加到网络环境100或在其中进行更改的系统组件。网络范围管理器N还可以管理集群、交换冗余、以及以其他方式确保服务器、网络以及数据中心和/或远程网络或云中的存储资源的高可用性。网络范围管理器N的实现方式的示例包括Cisco 中枢机(Central)、Cisco 指导机、Cisco 管理器、Cisco性能管理器、 IMC监管程序、 应用策略基础设施控制器(APIC)、
Cisco ONETM企业云、 智能自动化、 云间结构、 网络服务数据中心
网络管理器、Cisco 网络服务控制器、或用于监视和管理多台服务器、网络结构和/或服务器存储的其他系统。
[0040] 交换机/路由器108可以支持各种类型的流量,并且包括各种类型的端口和端口控制器,用于将服务器112连接到其他网络,例如SAN 102、LAN 104、管理网络106或可操作来交换计算系统(例如,因特网、ad-hoc局部网、分组数据网络(PDN)、LAN、城域网(MAN)、广域网(WAN)、无线局域网(WLAN)、虚拟专用网络(VPN)、内部网或任何其他有助于电子通信的适当架构或系统)内部或之间的数据或信息的任何通信平台。例如,交换机/路由器108可以包括多个40Gbps(四方小型可插拔)(QSFP)或QSFP+端口,它们可以以原生的40Gbps速度运行,或者可以作为用于处理以太网/IP流量(例如,去往/来自LAN 104的流量)的四个10Gbps端口(例如,通过插入QSFP-to-4小型加可插拔(SFP+)分支电缆)、用于处理块存储流量(例如,去往/来自SAN 102的流量)的光纤信道(FC)或以太网上光纤信道(FCoE)端口、以及用于处理管理流量(例如,去往/来自管理网络106的流量)和进程间通信(IPC)(例如,高可用性、集群、虚拟化平台服务等)的串行端口。
[0041] 图2A和图2B示出了计算系统200和250。在一些实施例中,计算系统200和250可以是图1的服务器112a和112b的相应实现方式。本公开在下文更详细地提供关于图2A和图2B中的每个组件的额外细节。然而,本领域技术人员将理解,计算系统200和250各自仅仅是一种可能的配置,并且具有更多或更少组件的其他配置也是可能的。
[0042] 计算系统200是包括处理器202a和202b(统称为“202”)的半槽、双插槽服务器。插槽是用于将处理器安装在计算系统的印刷电路板(PCB)或母板上的安装/互连结构。多个插槽可通过使用不同的时钟速度和/或电量来使能对处理器的安装,从而能够提供服务器母板的定制。每个处理器202可以包括一个或多个核(例如2、4、6、8个等)(未示出),每个核可以复制基本中央处理单元(CPU)。每个核可以与1级(LI)缓存(未示出)相关联。缓存是小型的快速存储器,其可以减少访问主存储器的平均时间。这些核通常共享较大的2级(L2)或3级(L3)缓存、总线或互连接口以及外部晶片连接。计算系统的处理器数量是插槽数量与每个插槽的核数量的乘积。例如,计算系统200包括两个插槽,并且每个插槽可以包括四个核,总共八个处理器。处理器202a或202b的实现方式的示例是由加利福尼亚州圣克拉拉的Intel公司提供的Xeon处理器。
[0043] 处理器202通过互连206a、206b和206c(统称为“206”)相互连接并与I/O集线器204连接。在此示例中,处理器202和互连206实现了Intel提供的高速路径互连(QuickPath Interconnect(QPI))架构。QPI利用多个高速单向链路来互连处理器和芯片组或类似的计算系统元件,并为处理器芯片的多个核集成了多个分布式存储器控制器。在该示例中,插槽内的核可以共享具有多个存储器接口(即,存储器总线)的集成存储器控制器(IMC)(未示出)。IMC可以具有各种外部连接,例如用于将处理器202连接到DDR3(或其他合适的存储器)DIMM D的DDR3存储器(或其他合适的存储器)通道。不同插槽中的IMC和核可以使用QPI相互通信。实施QPI的处理器还可以完全访问每个其他处理器的存储器,同时使用缓存一致性非统一存储器架构(NUMA)保持缓存一致性。然而,各种实施例可限制每个处理器202可访问的存储器范围,如下文进一步讨论的。实施QPI的计算系统可以使用插槽中的内部交叉开关路由器来实现全局存储器可达性(或一个插槽到另一个插槽的存储器的可达性)。这种直通(route-through)能力可以实现不具有完全连接拓扑的计算系统。其他实施例可以使用其他类型的总线或互连(例如,前端总线(FSB)、双独立总线(DIB)、专用高速互连(DHSI)等)来实现互连206。
[0044] I/O集线器204(有时称为芯片组)使用互连210将处理器202连接到I/O控制器集线器(ICH)208,使用互连216a将处理器202连接到本地存储控制器212,并且使用互连216b将处理器202连接到夹层卡214。I/O集线器204的实现方式的示例是Intel提供的X58芯片。在该示例中,互连210实现由Intel提供的直接媒体接口(DMI),并且互连216a和216b分别是PCIe x4链路和PCIe x16链路。
[0045] 本地存储控制器212将计算系统200连接到本地存储设备(例如,HDD、SSD等)。本地存储控制器212(有时称为SAS控制器)可以支持串行附接的小型计算机系统接口(SAS)和串行高级技术附接(SATA)传输速率,并集成镜像和条带化功能以向内部驱动器提供不同的RAID可用性级别。本地存储控制器212的实现方式的示例是由加利福尼亚州圣何塞的LSI公司提供的1064e存储处理器。
[0046] 夹层卡214(即,网络适配器)是将PCI总线(例如,IEEE P1386.1)的电气特性与通用夹层卡(CMC)格式(例如,IEEE 1386)的机械特性相结合的PCB组装。夹层卡214可以包括多个总线连接器(未示出),例如用于连接至一个或多个32位PCI总线,64位PCI总线,或其他未指定、未标准化和/或专有的I/O总线。支持的其他卡标准可以包括PCI夹层卡(PMC)扩展(PMC-X)、处理器PMC(PPMC)、传导冷却PMC(CCPMC)、交换式夹层卡(XMC)、或FMC-FPGA夹层卡标准。
[0047] I/O控制器集线器208(有时称为南桥(Southbridge))将计算系统200连接到速度相对较低的外围设备(未示出)(例如,USB设备或比夹层卡214慢的其他设备)、BMC 218、和引导子系统220。I/O控制器集线器208的实现方式的示例是 提供的ICH10 I/O控制器集线器。在该示例中,ICH 208与BMC 218之间的互连216c是PCIe x4链路。BMC 218在加载操作系统之前提供对计算系统200的管理访问,并且可以用作服务器硬件的聚合点。在一些实施例中,BMC 218可以具有两个集成的以太网连接(未示出),其以冗余方式连接到访问设备的管理组件(例如,机架管理交换机S)。图1的BMC 118是BMC 218的实现方式的示例。
[0048] 引导子系统220包括用于在上电或启动计算系统200时初始化硬件的软件或固件(例如BIOS、UEFI、引导加载程序等),或在加载计算系统200的一个或多个操作系统之前执行的其他管理软件和/或固件。引导子系统128是引导子系统220的实现方式的示例。
[0049] 计算系统250是包括处理器252a、252b、252c、和252d(统称为“252”)的全槽、四插槽服务器。每个处理器252可以包括一个或多个核(例如,4、6、8个等)(未示出),每个核代表离散的处理元件。在该示例中,每个处理器252可以包括4个核,使得计算系统250的CPU包括总共16个处理器。处理器252的实现方式的示例包括Intel提供的Xeon 7500系列CPU。处理器252使用互连254a、254b、254c、254d、254e和254f(统称为“254”)彼此完全互连。处理器252c和252d还分别使用互连254g和254h连接到I/O集线器256。在该示例中,处理器252a和
252b可以通过核到核QPI链路连接到I/O集线器256。在其他实施例中,处理器252a和252b可以连接到对称的第二I/O集线器,其使这种计算系统能够包括额外的存储器和/或PCIe槽。
在该示例中,互连254是QPI链路,但是其他实施例可以利用其他类型的总线或互连,如在别处讨论的。
[0050] 每个处理器252还使用串行存储器接口(SMI)链路260连接到一个或多个串行存储器缓冲器(SMB)258。每个SMB 258可以连接到一个或多个DIMM D(例如DDR3 DIMM)。在实施例中,计算系统可以包括四个插槽,每个插槽连接到四个SMB,并且每个SMB连接到两个DIMM,总共提供32个DIMM。
[0051] 互连262b和262c(统称为“262”)是分别通往夹层卡264a和264b(统称为“264”)的两个主要I/O路径。在该示例中,互连262b和262c是PCIe x16链路。夹层卡264(例如,图1的网络适配器116)可以提供到访问设备(例如,图1的端口扩展器114)的连接。本地存储控制器266(例如,嵌入式6G SAS RAID控制器)通过PCIe x4链路连接到I/O集线器256。
[0052] ICH 268还通过互连270(例如,增强型功能接口(EFI)总线)连接到I/O集线器256。ICH 268提供到BMC 272、前面板274和引导子系统276的连接。前面板274可以包括一个或多个USB端口和/或用于其他低速外围设备(未示出)的端口。本领域的普通技术人员将理解,计算系统200在许多方面类似于计算系统250。但是,计算系统250是全槽服务器,其包括比作为半槽服务器的计算系统200更多的整体资源。例如,计算系统250比计算系统200包括更多的插槽和核,因此计算系统250的CPU包括比计算系统200的CPU更多的处理器、更多的DIMM,从而有更多的主存储器,以及更多的I/O接口(包括夹层卡)。因此,计算系统250比计算系统200具有更大的处理能力、存储器和联网能力。尽管计算系统200和250示出了x86架构的示例,但是其他实施例可以利用其他服务器架构(例如,ARM、MIPS、Power、SPARC、其他简化指令集计算机(RISC)架构、和/或其他复杂指令集计算机(CISC)架构),并且本领域普通技术人员可以很容易地将本公开中公开的原理应用于这些其他架构。
[0053] 图3示出了用于经由系统的基板管理控制器来对计算系统的资源进行物理划分的过程300的示例。本领域普通技术人员将理解,对于本文所讨论的任何方法,除非另有说明,否则在各种实施例的范围内可以存在以相似或替代顺序执行或并行执行的附加的、更少的或替代的步骤。在一些实施例中,用于监视和管理多个服务器、网络结构和/或服务器存储的网络,尤其是网络范围管理器(例如,图1的网络范围管理器N),或其他系统可以与基板管理控制器通信以执行过程300。在其他实施例中,独立的基板管理控制器可以执行过程300。过程300可以开始于物理服务器或主机上电并插入网络(例如,从关闭状态、复位后、插入机架/支架后、作为卡插入槽后等)。
[0054] 在步骤302,基板管理控制器(BMC)(例如,BMC 118a或118b)可以确定BMC的主机的多个处理器的可用性,以用于配设给终端用户。处理器可以包括单插槽中央处理单元(CPU)、四插槽服务器的一对CPU或处理器、多核处理器、多核处理器的单核、或其他能够通过执行指令所指定的基本算术、逻辑、控制和输入/输出(I/O)操作来执行计算机程序的指令的离散物理设备。如果没有可用的处理器,则过程300可以结束。否则,过程300可以继续到步骤304,在该步骤BMC可以至少将物理主机的第一处理器分配给第一资源组,并将物理主机的第二处理器分配给第二资源组。
[0055] 前进到步骤306,BMC可以从SAN(例如,图1的SAN 102a或102b)或嵌入在物理主机上的其他远程源或存储设备(例如,ROM、闪存或其他非易失性存储器)(例如,引导子系统128a或128b、图2A的引导子系统220,或图2B的引导子系统276)加载一个或多个引导映像(例如,BIOS、UEFI引导管理器、引导加载程序、引导程序等)和/或其他配置数据,用于初始化物理主机的硬件。在一些实施例中,BMC可以接收用于配置主机的多个物理分区的单个引导映像。在其他实施例中,BMC可以接收多个引导映像,包括用于每个不同资源组的至少一个唯一的引导映像。以这种方式,每个资源组可以彼此独立得启动,并应用不同的可编程代码签名密钥,以使BMC控制每个资源组可以加载哪个操作系统。
[0056] 在加载(一个或多个)引导映像之后,在步骤308,(一个或多个)BMC/引导映像可以将物理主机的主存储器(即,主要存储装置、内部存储器、RAM等)至少划分为由第一处理器专用的第一存储器范围和由第二处理器专用的第二存储器范围。例如,第一存储器范围可以包括第一组DIMM,并且第二存储器范围可以包括第二组DIMM。(一个或多个)BMC/引导映像可以生成第一存储器映射,该映射将第一存储器范围映射到第一组DIMM,并排除到其他DIMM的映射。(一个或多个)BMC/引导映像还可以生成第二存储器映射,该映射将第二存储器范围映射到第二组DIMM,并排除到其他DIMM(包括第一组DIMM)的映射。(一个或多个BMC/引导映像可以各种配置分配计算系统的资源。
[0057] 图4A、图4B和图4C示出了BMC可以对计算系统的处理器和主存储器进行物理划分的不同方式。特别地,图4A示出了具有用于四个CPU 402a、402b、402c和402d(统称为“402”)的四个插槽的计算系统400。每个处理器402包括用于访问相应一组DDR3 DIMM D的集成存储器控制器(IMC)404。在该示例中,BMC(未示出)将计算系统400划分为资源组406a、406b、406c和406d(统称为“406”)。每个资源组(例如,资源组406a)包括计算系统400的处理资源的子集(例如,处理器402a);计算系统400的存储器控制器的子集(例如,IMC 404a);以及计算系统400的存储器的子集或主存储器的范围(例如,直接连接到IMC 404a的DIMM D)。虽然图4A示出了每个资源组406包括一个CPU,但资源组也可以包括多个CPU。例如,在实施例中,BMC可以将计算系统划分为三个资源组,第一资源组包括CPU 402a和402b,第二资源组包括CPU 402c,并且第三资源组包括CPU 424c。如图4B所示并且在下面进一步讨论,资源组还可以包括CPU的一部分(即,多核处理器的一个或多个核)。
[0058] 在一些实施例中,计算系统400可以在默认情况下实现缓存一致性并且在某些条件下禁用缓存一致性(反之亦然,即,默认情况下禁用缓存一致性并且在某些条件下激活缓存一致性)。实现缓存一致性的计算系统寻求在多个本地缓存之间存储的共享数据的一致性。用于实现缓存一致性的常用方法包括侦听和基于目录的缓存一致性。在侦听中,各个缓存对用于访问所缓存的存储器位置的地址线进行监视,并在写入到不同缓存中的相应存储器位置时使所侦听的存储器位置的副本无效或更新。在基于目录的缓存一致性中,每个处理器将共享数据存储到公共目录中,该公共目录维持缓存之间的一致性。当目录中的条目更改时,目录将使其他缓存更新或无效。在图4A的示例中,由于处理器402与它们各自的主存储器范围之间的隔离,因此不需要主动维持缓存一致性。因此,计算系统400可以安全地禁用缓存一致性,以提高每个资源组的性能。
[0059] 图4B示出了包括CPU 422以及DIMM 428a和428b(统称为“428”)的计算系统420。CPU 422包括六个核,处理器430a、430b、430c、430d、430e和430f(统称为“430”),以及IMC 
424a和424b(统称为“424”)。计算系统420可以是仅包括CPU 422的单插槽服务器或包括CPU 
422和一个或多个其他CPU的多插槽服务器。在该示例中,BMC(未示出)将计算系统420分为至少两个资源组426a和426b(统称为“426”)。资源组426a包括核430a和430b、IMC 424a和DIMM 428a。资源组426b包括核430c、430d、430e和430f、IMC 424b和DIMM 428b。
[0060] 如图4B所示,计算系统420的BMC能够将多核处理器的核划分为两个或更多个资源组,其中至少一个核在第一资源组中,并且第二核在第二资源组中。也就是说,BMC可以将可被核430a和430b访问的存储器限制到DIMM 428a;并且BMC可以将可被核430c、430d、430e和430f访问的存储器限制到DIMM 428b。在其他实施例中,BMC可以针对每个单独的核以不同的方式寻址存储器。例如,在实施例中,CPU 422可以包括附加引脚,其用于对哪个核430正在请求缓存行进行编码以便将特定核限制到特定存储器范围。本领域普通技术人员将理解,其他实施例可以利用用于针对多核处理器中的每个核以不同方式寻址存储器的其他技术。
[0061] 图4B还示出了BMC能够在不同资源组之间分配IMC 424a和424b。IMC 424a和424b可以是物理上或逻辑上分离的元件,每个元件分别与到DIMM 428a和428b的存储器映射相关联。在一些实施例中,由于这些存储器与它们各自的处理器之间的物理隔离,计算系统420可以至少在DIMM 428a和428b之间禁用缓存一致性。
[0062] 在一些实施例中,资源组也可以与各种优先级相关联。BMC可以基于优先级配置一个核是否可以中断驻留在同一插槽中的另一核,或者一个CPU是否可以中断安装在同一母板上的另一CPU。
[0063] 图4C示出了计算系统440,其至少包括CPU 442a和442b(统称为“442”)以及DIMM 448a、448b、448c和448d(统称为“448”)。CPU 442a包括四个核(处理器470a、470b、470c和
470d)以及IMC 444a。CPU 442b还包括四个核(处理器470e、470f、470g和470h)以及IMC 
444b。尽管在该示例中CPU 442包括相同数量的核,但是其他实施例可以包括具有不同数量的核(例如,2和4核、4和6核、2和6核等)的多核多处理器。在该示例中,BMC(未示出)将计算系统440划分为至少两个资源组446a和446b(统称为“446”)。资源组446a包括核470a和
470b、IMC 444a、和DIMM 448a。资源组446b包括核470c、470d、470e、470f、470g、和470h、IMC 
444a和444b以及DIMM 448b、448c和448d。在一些实施例中,BMC可以在逻辑上将IMC 444a划分为两个虚拟存储器控制器,其中一个虚拟控制器专用于资源组446a,并且另一个虚拟控制器专用于资源组446b。
[0064] 如图4C所示,计算系统440的BMC可以定义资源组,该资源组包括CPU 442a和442b的部分(即,至少来自CPU 442a的一个核和来自CPU 442b的一个核)。在一些实施例中,也可以将IMC 444在逻辑上划分成多个虚拟存储器控制器以将每个处理器442的访问限制到特定的存储器范围或一组DIMM 448。在该示例中,计算系统440可以至少在DIMM 428a与其他DIMM之间禁用缓存一致性,因为这些存储器与其各自的处理器之间的物理隔离,但至少在DIMM 448b、448c和448d之间和之中保持缓存一致性。
[0065] 返回图3,过程300可以继续到步骤310,其中,(一个或多个)BMC/引导映像可以在第一处理器和第二处理器之间和之中分配对连接到物理主机的物理或虚拟外围设备的访问。外围设备可以包括网络适配器、图形处理单元(GPU)适配器、外围组件快速互连(PCIe)闪存适配器、光纤通道主机总线适配器(HBA)、盘、盘控制器、USB设备等。在一些实施例中,(一个或多个)BMC/引导映像可以将一个或多个PCIe I/O端口暴露给处理器中的一个,和/或向该处理器隐藏一个或多个其他PCIe I/O端口。在一些实施例中,(一个或多个)BMC/引导映像可以将一个或多个外围设备的存储器映射到处理器中的一个处理器的主存储器范围,以使该处理器可以访问(一个或多个)外围设备和/或通过不将其他外围设备的存储器映射到该处理器的主存储器来拒绝该处理器对一个或多个其他外围设备的访问。在一些实施例中,(一个或多个)BMC/引导映像可以将外围设备配置作为总线主控,并且该外围设备可以对来自处理器中的一个处理器的I/O请求进行操作,而忽略来自另一处理器的I/O请求。在一些实施例中,(一个或多个)BMC/引导映像可以利用单根I/O虚拟化(SR-IOV)来虚拟化物理外围设备,以创建可由单插槽服务器上的多个操作系统及其各自的处理器访问的多个虚拟外围设备。在一些实施例中,(一个或多个)BMC/引导映像可以利用多根I/O虚拟化(MR-IOV)来虚拟化物理外围设备,以创建可由多插槽服务器上的多个操作系统及其各自的处理器访问的多个虚拟外围设备。
[0066] 在步骤312,(一个或多个)BMC/引导映像可以将第一操作系统加载到与第一处理器相关联的主存储器的第一范围,并且将第二操作系统加载到与第二处理器相关联的主存储器的第二范围。操作系统可以是不同的操作系统(例如,Microsoft Windows、UNIX、Linux、Mac OS X等),也可以是同一操作系统的不同版本(例如,Microsoft Windows 7.0和Microsoft Windows 10.0)。如本文其他地方所讨论的,(一个或多个)BMC/引导映像可以从SAN或其他远程存储或本地大容量存储设备(例如,HDD、SDD、闪存驱动器等)中取回或以其他方式接收操作系统。过程300可以在步骤314处结束,其中BMC将控制权转让给第一处理器以执行第一操作系统并且将控制权转让给第二处理器以执行第二操作系统。
[0067] 为了说明的清楚,在一些情况下,本公开可以将各种实施例呈现为包括单独的功能块,其包括设备,设备组件,以软件或固件或硬件、固件和/或软件的组合实现的方法中的步骤或例程。
[0068] 在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的有线或无线信号。然而,当提及时,非暂时性计算机可读存储介质明确地排除诸如能量、载波信号、电磁波和信号本身之类的介质。
[0069] 存储在或以其他方式可从计算机可读介质获得的计算机可执行指令可以实现根据上述示例的方法。这样的指令可以包括例如引起或以其他方式配置通用计算机、专用计算机或专用处理设备以执行特定的功能或功能组的指令和数据。所使用的计算机资源的部分可通过网络访问。计算机可执行指令还可以包括二进制、中间格式指令,例如汇编语言、固件或源代码。用于存储指令、所使用的信息和/或在根据所描述的示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、设有非易失性存储器的USB设备、网络存储设备等等。
[0070] 实现根据这些公开内容的方法的设备可以包括硬件、固件和/或软件,并且可以采用各种形式的形状因子中的任何一种。此类形状因子的典型示例包括服务器(例如,大型机服务器、塔式服务器、机架式服务器、刀片服务器、微型服务器等)、小型个人计算机、便携式计算机、智能电话、个人数字助理等。外围设备或附加卡也可以执行本文描述的某些功能。作为进一步的示例,包括在单个设备中执行的不同芯片或不同过程的电路板也可以执行某些功能。
[0071] 指令、用于传达这类指令的介质、用于执行它们的计算资源、以及用于支持这类计算资源的其他结构是用于提供这些公开内容中描述的功能的装置。
[0072] 尽管各种示例和其他信息解释了所附权利要求的范围内的方面,但是并不基于此类示例中的特定特征或布置而暗示对权利要求的限制,因为普通技术人员将能够使用这些示例来派生各种各样的实现方式。此外,尽管本公开可以用特定于结构特征和/或方法步骤的示例的语言来描述一些主题,但是本领域的普通技术人员将理解,所附权利要求中定义的主题不必限于这些描述的特征或动作。例如,这种功能可以以不同方式分布或在除本文所标识的组件之外的组件中执行。不如说,所公开的描述特征和步骤是所附权利要求的范围内的系统和方法的组件的示例。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈