使用开关来连接加速器资源的制作方法

文档序号:17048768发布日期:2019-03-05 19:49阅读:478来源:国知局
使用开关来连接加速器资源的制作方法

本公开的实施例总体上涉及计算系统领域。更具体地,实施例涉及用于切换一个或多个节点资源的设备和方法,该节点资源可以包括具有一个或多个加速器资源的中央处理单元(cpu)。



背景技术:

在过去几年中,数据中心内的工作负载需求已大大增加。作为响应,数据中心变得更大;已经包括具有各种资源的附加数据中心机架,这些附加数据中心机架可以以各种方式彼此互连,以满足日益增加且波动的工作负载需求。

附图说明

通过以下具体实施方式,结合附图,将容易理解实施例。为了便于该描述,相同的附图标记表示相同的结构元素。通过示例的方式而非通过限制的方式在附图的图中示出了实施例。

图1是根据各种实施例的用于将节点资源与加速器资源连接的互连开关的示例实现方式的图。

图2是根据各种实施例的包括互连开关端口的示例互连开关的图。

图3是根据各种实施例的互连开关端口的示例实现方式的图。

图4是示出根据各种实施例的用于使用互连开关来实现对节点资源与加速器资源之间的连接进行管理的过程的框图。

图5示出了根据各种实施例的适用于实践本公开的方面的示例计算设备。

图6是示出根据各种实施例的计算机可读介质的图,该计算机可读介质具有用于使用互连开关来实践对节点资源与加速器资源之间的连接进行管理的指令。

具体实施方式

可以在本文中公开可以通过使用低时延开关来允许加速器资源与可以位于机架或机架组(pod)内的节点资源共享的方法、装置和系统。在实施例中,每个加速器资源可以在给定时间与一个节点资源耦合。在实施例中,加速器资源可以是现场可编程门阵列(fpga)、图形处理单元(gpu)、专用集成电路(asic)、输入/输出(i/o)加速器或其他资源。在实施例中,加速器资源可以实现存储器或其他高速缓存。在实施例中,节点资源可以是cpu。

包括多个数据中心机架的数据中心操作可以受益于在没有来自运营商的物理干预的情况下将加速器资源的连接在数据中心机架或机架组内从一个节点资源向另一节点资源添加、移除或移动的灵活性。在实施例中,当与节点资源连接时,加速器资源可以涉及一致性和存储器扩展。i/o加速器可能具有加载-存储语义。

一致性扩展允许加速器缓存由节点托管的系统存储器,以较低功率实现更高性能。存储器扩展使节点资源能够以类似于系统存储器的方式访问由加速器托管的存储器,从而实现节点与加速器之间更好共享,以获得更好的性能。加载-存储语义可以允许cpu或设备直接作为加载命令(例如,读取)或作为存储命令(例如,写入)来访问存储器映射的资源。

在传统实现方式中,当节点资源可能属于不同的一致性域时,在多个节点资源之中共享加速器资源是具有挑战性的。这可能是由于一致性域中的资源紧密耦合以及跨域的故障隔离要求。这些传统方法的缺点可能包括将某些计算任务限制到可能具有现有所需功能的特定节点资源(即,现有的已耦合加速器资源)。其他缺点可能包括数据中心可能过度配置资源以准备最坏情况的计算场景任务或其他操作要求。这可能导致已部署的加速器资源过多,并且导致数据中心中的加速器资源利用不足。

通过允许使用一个或多个互连开关来连接加速器资源和节点资源以创建从节点资源到加速器资源的可切换路径,可以克服这些挑战和其他挑战。在实施例中,重新配置可切换路径可以包括使用互连开关和资源管理器从已连接的节点资源热移除加速器资源,并且然后将加速器资源热添加到新的节点资源。在实施例中,节点资源与加速器资源之间的连接可以经由对互连开关的一个或多个软件命令来改变。在实施例中,不需要物理地移动任何物理设备(例如,加速器资源)。

在以下描述中,使用本领域技术人员通常采用的术语来描述说明性实施方式的各个方面,以将其工作的实质传达给本领域其他技术人员。然而,对于本领域技术人员显而易见的是,可以仅利用所描述的方面中的一些方面来实践本公开的实施例。出于解释的目的,阐述了具体的数字、材料和配置,以便提供对说明性实现方式的透彻理解。然而,对于本领域技术人员显而易见的是,可以在没有具体细节的情况下实践本公开的实施例。在其他情况下,省略或简化了公知的特征,以免模糊说明性实现方式。

在以下描述中,参考形成其一部分的附图,在附图中相同的数字始终表示相同的部分,并且其中通过说明的方式示出了可以实践本公开的主题的实施例。应当理解,在不脱离本公开的范围的情况下,可以利用其他实施例并且可以进行结构或逻辑上的改变。因此,以下具体实施方式不应被视为具有限制意义,并且实施例的范围由所附权利要求及其等同物限定。

出于本公开的目的,短语“a和/或b”表示(a)、(b)或(a和b)。出于本公开的目的,短语“a、b和/或c”表示(a)、(b)、(c)、(a和b)、(a和c)、(b和c)或(a、b和c)。

描述可以使用基于透视图的描述,例如,上/下、进/出、上方/下方等。这些描述仅用于促进讨论,并且不旨在将本文描述的实施例的应用限制于任何特定取向。

描述可以使用短语“在一个实施例中”或“在实施例中”,其可以各自指代相同或不同实施例中的一个或多个实施例。此外,如关于本公开的实施例使用的术语“包括”、“具有”等是同义的。

本文中可以使用术语“与……耦合”和“耦合到”等。“耦合”可以表示以下中的一个或多个。“耦合”可以表示两个或更多个元件直接物理或电接触。然而,“耦合”还可以表示两个或更多个元件彼此间接接触,但仍然彼此协作或交互,并且可以表示一个或多个其他元件耦合或连接在被称为彼此耦合的元件之间。通过示例而非限制的方式,“耦合”可以表示例如两个或更多个元件或设备通过诸如母板的印刷电路板上的电连接而耦合。通过示例而非限制的方式,“耦合”可以表示两个或更多个元件/设备通过诸如有线网络和/或无线网络的一个或多个网络链接进行协作和/或交互。通过示例而非限制的方式,计算装置可以包括“耦合”在主板上或通过一个或多个网络链接“耦合”的两个或更多个计算设备。

以最有助于理解所要求保护的主题的方式,将各种操作依次描述为多个离散操作。然而,描述的顺序不应被解释为暗示这些操作必须依赖于顺序。

图1是根据各种实施例的用于将节点资源与加速器资源连接的开关的示例实现方式的图。图100示出了可以由资源管理器104管理的互连开关102。在实施例中,资源管理器104可以是互连开关102的一部分。在实施例中,资源管理器104可以在互连开关102的外部但与互连开关102耦合。互连开关102可以使用flexbustm互连协议或其他协议来支持快速外围组件互连(pcie)总线或其他总线上的数据。

一个或多个节点资源106a-106d可以与互连开关102耦合或者与资源管理器104耦合。节点资源可以是cpu。节点资源也可以是使用一致性链路连接的多个cpu。在实施例中,一个或多个加速器资源108a-108d可以连接到互连开关102。在实施例中,加速器可以包括fpga、gpu、asic、i/o加速器或其他资源。在实施例中,加速器资源108a-108d可以用作节点资源106a-106d的高速缓存。链路105a-105d可以分别将节点资源106a-106d连接到互连开关102,并且链路109a-109d可以分别将加速器资源108a-108d连接到互连开关102。

在配置中,节点资源106a-106d和加速器资源108a-108d可以连接到可以由资源管理器104共同管理的多个(未示出)互连开关102。在实施例中,多个互连开关102中的每个互连开关102可以是比特分片或分层的,以允许跨更多数量的节点和加速器进行更高基数切换。

可以通过使多个物理互连开关102各自处理pcie总线或其他总线的通道的不同子集来实现比特分片的开关实现方式。例如,如果链路105a-105d、109a-109d中的每个链路具有16个通道,则如图100所示,具有8个链路(基数=8)的开关将需要能够处理128个通道。如果需要将其扩展到64个链路(基数=64)并且物理开关只能处理128个通道,则可以使8个这样的物理互连开关102形成一个逻辑开关来处理跨64个链路的连接。例如,第一物理互连开关102可以处理链路105a-105d、109a-109d中的每个链路的通道0和1,第二物理互连开关(未示出)处理链路105a-105d、109a-109d中的每个链路的通道2和3,依此类推。这可以构建更高基数开关(处理64个链路而不是8个链路的开关),同时不扩展节点与加速器之间的距离。

另一种用于扩展切换基数的方法是通过使用分层切换(未示出),其中不同的节点资源106a-106d可以连接到不同的互连开关,并且互连开关通过另一层互连开关连接。在实施例中,可以使用比特分片切换和分层切换的组合来扩展切换基数。这些方法可以用于提供机架组中的节点与资源(例如,加速器)之间的连接,该机架组是机架的集合。机架是可以托管多个节点和加速器的物理机箱。

回到图100,资源管理器104可以确定节点资源106a-106d中的一个将与加速器资源108a-108d中的一个连接。资源管理器104可以从需要资源的各个节点106a-106d接收请求,并且可以通过从资源108a-108d向请求节点分配加速器资源来响应请求。可以使用支持节点资源106a-106d与资源管理器104之间的通信的标准可管理性或联网资源(未示出)来发送这些请求和响应。

例如,资源管理器104可以接收将互连开关102配置为将节点资源106a与加速器资源108c直接连接的请求。该配置可以完全通过软件完成,例如,通过向互连开关102内的一个或多个复用器(例如,图2的复用器207a1-207h1(下面描述))发送命令。

继续该示例,资源管理器104可以确定加速器资源108c可能已经连接到另一节点资源106d。资源管理器104可以使先前连接的加速器资源108c与节点资源106d断开连接或从节点资源106d热移除。在实施例中,在可以将加速器资源108c热移除之前,可以在节点资源106d和加速器资源108c中运行的系统软件可以使用资源中的每个资源内可用的机制来中止加速器资源108c与节点资源106d之间的数据业务。这些机制可以包括刷新存储器的属于其他资源的高速缓存,确保完成加速器资源108c与节点资源106d之间的所有业务,等等。一旦数据业务中止,则系统软件可以与资源管理器104通信以启动将加速器资源108c从节点106d热移除,这可能涉及使用互连开关将对应的链路109c与链路106d之间的连接断开连接。随后,资源管理器104可以使用互连开关102在节点资源106a与加速器资源108c之间在链路105a、109c之间建立连接。

在连接节点资源106a和加速器资源108c之后,可以在节点资源106a与加速器资源108c之间交换配置信息。节点资源106a-106d可以使用开关接口106a1-106d1与互连开关102进行通信。在实施例中,节点资源106a-106d可以使用pcie端口106a2-106d2、intel加速器链路(ial)端口106a3-106d3或某种其他端口(未示出)与开关接口106a1-106d1进行通信。

一旦连接节点资源106a和加速器资源108c,则开关接口106a1可以执行与加速器资源108c的链路训练,以协调并建立要以一致方式运行的连接。可以使用训练状况状态机(ltssm)来完成该链路训练。

在链路训练之后,热添加流程可以在节点资源106a中以由资源管理器104编排的通知开始。在热添加流程期间,在主机中运行的系统软件可以发现新添加的加速器资源108c,并且可以执行初始化和/或映射,使得节点资源106a可以开始使用加速器资源108c。一旦建立通过互连开关102的连接,节点资源106a与加速器资源108c之间的通信中的增加的时延可以小于10纳秒(ns)。

图2是根据各种实施例的包括互连开关端口的示例互连开关的图。图200可以示出互连开关202,其可以类似于图1的互连开关102。链路205a-205d可以类似于链路105a-105d,并且链路209a-209d可以类似于链路109a-109d。链路205a-205d、209a-209d可以各自分别通过互连开关端口207a-207h之间的连接来连接。连接可以由资源管理器204管理,资源管理器204可以类似于图1的资源管理器104。

在图3中更详细描述的互连开关端口207a-207h中的每个互连开关端口分别包括复用器207a1-207h1。每个复用器207a1-207h1可以从资源管理器204接收复用器选择信息211,以指示第一组复用器207a1-207d1中的哪一个复用器将连接到第二组复用器207e1-207h1中的一个复用器,以便在链路205a-205d中的一个链路与链路209a-209d中的一个链路之间建立低时延旁路路径。在实施例中,与节点资源106a-106d相关联的互连开关端口207a1-207d1中的复用器207a1-207d1可以与关联于加速器资源108a-108d的互连开关端口207e1-207h1中的任何其他复用器207e1-207h1连接,反之亦然。

在实施例中,互连开关202可以类似于低时延重定时器。所得到的低时延旁路路径可以提供已连接的节点资源106a-106d与已连接的加速器资源108a-108d之间的速度的显著增加。使用软件路径或完整硬件栈连接节点资源和加速器资源以促进通信的传统实现方式将在数据分组遍历协议栈时遇到显著的时延。与传统实现方式不同,互连开关102可以通过建立直接有线连接而具有非常低的性能开销,该直接有线连接允许高通信速度来支持cpu与i/o设备、高速缓存、gpu或某种其他加速器设备之间的通信。

图3是根据各种实施例的互连开关端口的示例实现方式的图。图307a示出了示例互连开关端口的细节,该示例互连开关端口可以类似于图2的互连开关端口207a。图307a可以表示任何互连开关端口207a-207h。可以通过链路305a1接收输入,并且可以通过链路305a2发送输出。链路305a1、305a2可以是相同的物理线路或总线,并且可以类似于链路205a,其可以将互连开关端口307a与节点资源106a的开关接口106a1耦合。链路305a1可以包括通过链路205a从节点资源接收的数据,并且链路305a2可以包括要通过链路205a发送到节点资源的数据。在互连开关端口连接到诸如资源端口209a的加速器资源端口的其他实施例中,则链路305a1可以指示通过链路209a从加速器资源108a接收的数据,并且链路305a2可以指示要通过链路209a发送到加速器资源108a的数据。

接收(rx)块处理330可以通过链路305a接收数据并转换数据以供在互连开关端口307a内使用。例如,rx块处理330可以包括将接收到的数据从串行格式转换为并行格式,并且执行数据对齐、解码、解扰和/或缓冲。还可以执行附加功能。除了诸如监视业务和切换之类的其他功能之外,来自rx块处理330的数据可以由控制块332用于执行如上面讨论的与ltssm链路训练相关的功能。

可以组合从rx块处理330得到的数据以及从控制块332得到的数据。端口广播334功能可以获取该组合后的数据并将其广播到所有其他互连开关端口207a-207h。例如,如果互连开关端口307a与节点资源106a-106d相关联,则端口广播334可以将数据的副本广播到分别与加速器资源108a-108d的互连开关端口207e-207h相关联的所有复用器207e1-207h1的输入端。如果互连开关端口307a与加速器资源108a-108d相关联,则端口广播334可以将数据的副本广播到分别与节点资源106a-106d的互连开关端口207a-207d相关联的所有复用器207a1-207d1的输入端。类似地,可以使用ltssm广播336将来自控制块332的控制块信息(其可以包括ltssm信息)广播到其他ltssm。

可以类似于图2的复用器207a1-207h1的复用器307a1可以从所有或多个其他互连开关端口207a-207h接收数据广播。例如,如果复用器307a1与节点资源106a-106d相关联,则复用器307a1可以从分别与加速器资源108a-108d相关联的互连开关端口207e-207h中的每个互连开关端口接收数据。如果复用器207a1与加速器资源108a-108d相关联,则复用器307a1可以从分别与节点资源106a-106d相关联的互连开关端口207a-207d中的每个互连开关端口接收数据。

可以类似于图2的复用器选择信息211的复用器选择信息311由资源管理器204提供,资源管理器204可以在互连开关端口307a之外。复用器选择信息311可以向复用器307a指示来自其他互连开关端口313的接收到的广播数据中的哪一个来自复用器307a应该从其接收数据的其他互连开关端口207a-207d或207e-207h。

然后,接收到的数据可以由发送(tx)电路338处理,并且作为输出数据305a2发送回节点资源106a-106d或与互连开关端口307a相关联的加速器资源108a-108d。另外,可以由控制块332接收可能与ltssm通信相关联的接收到的数据。tx电路338可以执行数据的并行到串行转换,同时应用在初始链路训练期间达成一致的适当tx均衡值。

图4是示出根据各种实施例的用于使用互连开关来实现对节点资源与加速器资源之间的连接进行管理的过程的框图。在实施例中,图1的资源管理器104、互连开关102、节点资源106a-106d、开关接口106a1-106d1、108a1-108d1以及加速器资源108a-108d可以执行诸如过程400的一个或多个过程的一部分,或者可以执行诸如过程400的一个或多个过程。

在框402处,该过程可以包括接收对多个节点资源中的一个节点资源的指示以及对多个加速器资源中的要连接到该节点资源的一个加速器资源的指示。资源管理器104可以维护节点资源106a-106d和加速器资源108a-108d的目录以及哪些加速器资源当前连接到哪些节点资源的列表。

取决于节点资源的要求,节点资源106a-106d可以向资源管理器104发送连接到可用的加速器资源或特定的加速器资源的请求。节点资源106a-106d可以是cpu,或者可以是使用一致性链路连接的多个cpu。在实施例中,节点资源106a-106d可以属于不同的一致性域,并且可以位于不同的机架或机架组中。在实施例中,取决于一个或多个互连开关102的配置,资源管理器104可以在单个计算机上运行,或者可以跨多个计算机分散。

在框404处,该过程可以包括,如果所指示的加速器资源连接到多个节点中的另一节点,则向电路开关发送一个或多个热移除命令。在实施例中,资源管理器104可以检查其目录以确定所指示的加速器资源是否连接到另一节点。如果所请求的加速器资源已经连接,则资源管理器104可以将热移除命令发送到互连开关102。在实施例中,热移除命令可以是将另一节点资源与所指示的加速器资源之间的连接断开连接的指令序列。在将连接断开连接之前,可以如上所述中止所指示的加速器资源与该另一节点资源之间的数据业务。在实施例中,一个或多个命令可以针对一个或多个互连开关端口207a-207h以及相应的复用器207a1-207h1,以停止从其他互连开关端口接收广播数据。

在框406处,该过程可以包括向开关发送一个或多个热添加命令。在实施例中,一个或多个热添加命令可以是将所指示的节点与所指示的加速器资源连接。这可以包括如上所述在互连开关102内向一个或多个互连开关端口207a-207h发送一个或多个命令,以连接所指示的节点资源和所指示的加速器资源。这可以包括资源管理器204向单独的复用器207a1-207h1发送复用器选择211命令,以向单独的复用器指示复用器应该开始从哪个开关端口207a-207h接收数据。

在实施例中,一旦所指示的节点资源和所指示的加速器资源被连接,则该连接可以被配置为使得能够通过该连接来传送数据。在实施例中,这可以称为链路训练和随后的热添加流程。在实施例中,这可以通过如上所述的ltssm来完成,使得可以在节点资源106a-106d与已连接的加速器资源108a-108d之间物理地交换比特。

图5示出了根据各种实施例的适用于实践本公开的方面的示例计算设备。图500的示例计算设备可以适合于实践与图100、200、300和400相关联的功能。在实施例中,图500可以用于实现一个或多个资源管理器104。

如图所示,计算设备500可以包括一个或多个处理器502以及系统存储器504,每个处理器具有一个或多个处理器核心。处理器502可以包括任何类型的单核或多核处理器。每个处理器核心可以包括中央处理单元(cpu)和一级或多级高速缓存。处理器502可以实现为集成电路。计算设备500可以包括大容量存储设备506(例如,磁盘、硬盘驱动器、易失性存储器(例如,动态随机存取存储器(dram))、光盘只读存储器(cd-rom)、数字通用盘(dvd)等)。通常,系统存储器504和/或大容量存储设备506可以是任何类型的暂时和/或持久存储装置,包括但不限于易失性和非易失性存储器,光学、磁性和/或固态大容量存储装置等。易失性存储器可以包括但不限于静态和/或动态随机存取存储器。非易失性存储器可以包括但不限于电可擦除可编程只读存储器、相变存储器、电阻式存储器等。

计算设备500还可以包括输入/输出(i/o)设备508,例如,显示器、键盘、光标控件、遥控器、游戏控制器、图像捕获设备,以及通信接口510(例如,网络接口卡、调制解调器、红外接收器、收发器、无线电接收器(例如,蓝牙)等)。i/o设备508可以适合于与图1的互连开关102、多个互连开关(未示出)或参考图1-4的实现将节点资源耦合到加速器资源的功能所需的某种其他设备通信地连接。

在实施例中,通信接口510可以包括通信芯片(未示出),其可以被配置为根据有线或无线协议来操作设备500。

上述计算设备500元件可以经由系统总线512彼此耦合,系统总线512可以表示一个或多个总线。在多个总线的情况下,这些总线可以通过一个或多个总线桥(未示出)桥接。这些元件中的每个元件可以执行本领域中已知的常规功能。特别地,系统存储器504和大容量存储设备506可以用于存储实现与资源管理器104相关联的操作和功能的编程指令(通常示为计算逻辑522)的工作副本和永久副本。计算逻辑522可以由(多个)处理器502支持的汇编指令或可以编译成这种指令的高级语言来实现。

在实施例中,计算逻辑522可以包含资源管理器模块350,其可以执行与图100、200、300和400相关联的功能中的一个或多个功能。

编程指令的永久副本可以在工厂中或在现场置于大容量存储设备506中,例如,通过诸如光盘(cd)的分发介质(未示出),或通过通信接口310(从分发服务器(未示出))。

图6是示出根据各种实施例的计算机可读介质的图,该计算机可读介质具有用于使用互连开关来实践对节点资源与加速器资源之间的连接进行管理的指令。图600可以示出根据各种实施例的计算机可读介质602,计算机可读介质602具有用于实践上述技术或用于将系统和设备编程为/使系统和设备执行上述技术的指令。在一些实施例中,这样的计算机可读介质602可以包括在图5的计算设备500的存储器或存储设备中,该存储器或存储设备可以是暂时性的或非暂时性的。在实施例中,指令604可以包括由处理设备支持的汇编指令,或者可以包括以高级语言(例如,c)形式的指令,该指令可以被编译成可由处理设备执行的目标代码。在一些实施例中,计算机可读指令604的持久副本可以在工厂中或在现场置于持久存储设备中(例如,通过机器可访问的分发介质(未示出))。在一些实施例中,计算机可读指令604的持久副本可以通过合适的通信路径(例如,从分发服务器)置于持久存储设备中。

所附权利要求中的所有单元或步骤加功能元素的对应结构、材料、动作和等同物旨在包括用于结合特别要求保护的其他要求保护的元素来执行功能的任何结构、材料或动作。本公开的描述已经出于说明和描述的目的呈现,但是并不旨在是穷尽性的或将本公开限制于所公开的形式。在不脱离本公开的范围和精神的情况下,许多修改和变化对于普通技术人员将是显而易见的。选择和描述实施例是以便最好地解释本公开的原理和实际应用,并且使本领域普通技术人员能够理解具有适合于所设想的特定用途的各种修改的实施例的公开内容。

示例

根据各种实施例的示例可以包括以下。

示例1可以是一种资源管理器,包括:一个或多个处理器;资源管理器模块(rmm),其通信地耦合到一个或多个处理器,其中,rmm用于:接收对多个节点资源中的一个节点资源的指示以及对多个加速器资源中的要连接到该节点资源的一个加速器资源的指示;如果所指示的加速器资源被连接到多个节点资源中的另一节点资源,则向互连开关发送一个或多个热移除命令;以及向互连开关发送一个或多个热添加命令。

示例2可以包括示例1的资源管理器,其中,rmm对多个加速器资源与多个节点资源的分别连接进行跟踪,并且使互连开关将多个加速器资源中的所指示的加速器资源连接到多个节点资源中的所指示的节点资源。

示例3可以包括示例1的资源管理器,其中,一个或多个热移除命令使互连开关将所指示的加速器资源从另一节点资源热移除。

示例4可以包括示例3的资源管理器,其中,将所指示的加速器资源从另一节点资源热移除还包括:使所指示的加速器资源与另一节点资源之间的连接上的数据业务变为中止。

示例5可以包括示例3的资源管理器,其中,将所指示的加速器资源从另一节点资源热移除还包括:切断所指示的加速器资源与另一节点资源之间的连接。

示例6可以包括示例1的资源管理器,其中,一个或多个热添加命令使互连开关将所指示的加速器资源热添加到所指示的节点资源。

示例7可以包括示例1-6中任一个的资源管理器,其中,将所指示的加速器资源热添加到所指示的节点资源还包括:经由互连开关在所指示的加速器资源与所指示的节点资源之间建立连接;经由互连开关将所指示的加速器资源配置为通过所建立的连接与所指示的节点资源进行通信;以及经由互连开关将所指示的节点资源配置为通过所建立的连接与所指示的加速器资源进行通信。

示例8可以包括示例7的资源管理器,其中,互连开关接收到将所指示的加速器资源热添加到所指示的节点资源的一个或多个命令和所指示的加速器资源与所指示的节点资源之间的活动已建立连接之间的持续时间小于10纳秒(ns)。

示例9可以包括示例8的资源管理器,其中,所指示的加速器资源与所指示的节点资源之间的活动已建立连接包括所指示的加速器资源与所指示的节点资源之间的数据流。

示例10可以包括示例1-6中任一个的资源管理器,其中,互连开关是低时延旁路路径,其包括第一多个端口和第二多个端口,第一组端口中的每个端口包括与第二多个端口中的每个端口具有直接连接的复用器,并且其中,互连开关从rmm接收对第一组多个端口中的一个端口与第二组多个端口中的一个端口之间的连接进行热添加或热移除的命令。

示例11可以包括示例10的资源管理器,其中,第一组端口中的一个或多个端口分别连接到多个加速器资源中的一个或多个加速器资源,并且第二组端口中的一个或多个端口分别连接到多个节点资源中的一个或多个节点资源。

示例12可以包括示例1-6中任一个的资源管理器,其中,多个加速器资源包括现场可编程门阵列(fpga)、图形处理器单元(gpu)或专用集成电路(asic)。

示例13可以包括示例1-6中任一个的资源管理器,其中,多个节点资源包括中央处理单元(cpu)或片上系统(soc)。

示例14可以包括示例1-6中任一个的资源管理器,其中,所指示的节点资源是使用一致性链路耦合的多个cpu。

示例15可以包括示例1-6中任一个的资源管理器,其中,所指示的加速器资源是用于所指示的节点资源的高速缓存。

示例16可以包括示例1的资源管理器,其中,多个节点资源中的一些节点资源处于不同的一致性域中。

示例17可以包括示例1-6中任一个的资源管理器,其中,多个加速器资源中的一些加速器资源与不同的一致性域相关联。

示例18可以包括示例1的资源管理器,其中,所指示的节点资源包括快速外围组件互连(pcie)端口或intel加速器链路(ial)端口。

示例19可以包括示例1的资源管理器,其中,资源管理器位于互连开关内。

示例20可以包括示例1的资源管理器,其中,互连开关是多个互连开关。

示例21可以包括示例1-20中任一个的资源管理器,其中,所指示的节点资源和所指示的加速器资源处于不同的机架中。

示例22可以包括示例1-20中任一个的资源管理器,其中,所指示的节点资源和所指示的加速器资源处于不同的机架组中。

示例23可以是一种用于管理资源的方法,包括:接收对多个节点资源中的一个节点资源的指示以及对多个加速器资源中的要连接到该节点资源的一个加速器资源的指示;如果所指示的加速器资源被连接到多个节点资源中的另一节点资源,则向互连开关发送一个或多个热移除命令;以及向互连开关发送一个或多个热添加命令。

示例24可以包括示例23的方法,还包括对多个加速器资源与多个节点资源的分别连接进行跟踪。

示例25可以包括示例23的方法,还包括使互连开关将多个加速器资源中的所指示的加速器资源连接到多个节点资源中的所指示的节点资源。

示例26可以包括示例23的方法,其中,一个或多个热移除命令使互连开关将所指示的加速器资源从另一节点资源热移除。

示例27可以包括示例26的方法,其中,将所指示的加速器资源从另一节点资源热移除还包括:使所指示的加速器资源与另一节点资源之间的连接上的数据业务变为中止。

示例28可以包括示例26的方法,其中,将所指示的加速器资源从另一节点资源热移除还包括:切断所指示的加速器资源与另一节点资源之间的连接。

示例29可以包括示例23的方法,其中,一个或多个热添加命令使互连开关将所指示的加速器资源热添加到所指示的节点资源。

示例30可以包括示例29的方法,其中,将所指示的加速器资源热添加到所指示的节点资源还包括:由互连开关在所指示的加速器资源与所指示的节点资源之间建立连接;由互连开关将所指示的加速器资源配置为通过所建立的连接与所指示的节点资源进行通信;以及由互连开关将所指示的节点资源配置为通过所建立的连接与所指示的加速器资源进行通信。

示例31可以包括示例30的方法,其中,互连开关接收到将所指示的加速器资源热添加到所指示的节点资源的一个或多个命令和所指示的加速器资源与所指示的节点资源之间的活动已建立连接之间的持续时间小于10纳秒(ns)。

示例32可以包括示例31的方法,其中,所指示的加速器资源与所指示的节点资源之间的活动已建立连接包括所指示的加速器资源与所指示的节点资源之间的数据流。

示例33可以包括示例23的方法,其中,互连开关是低时延旁路路径,其包括第一多个端口和第二多个端口,第一组端口中的每个端口包括与第二多个端口中的每个端口具有直接连接的复用器;并且该方法还包括通过互连开关接收对第一组多个端口中的一个端口与第二组多个端口中的一个端口之间的连接进行热添加或热移除的命令。

示例34可以包括示例33的方法,其中,第一组端口中的一个或多个端口分别连接到多个加速器资源中的一个或多个加速器资源,并且第二组端口中的一个或多个端口分别连接到多个节点资源中的一个或多个节点资源。

示例35可以包括示例23的方法,其中,多个加速器资源包括现场可编程门阵列(fpga)、图形处理器单元(gpu)或专用集成电路(asic)。

示例36可以包括示例23的方法,其中,多个节点资源包括中央处理单元(cpu)或片上系统(soc)。

示例37可以包括示例23的方法,其中,所指示的节点资源是使用一致性链路耦合的多个cpu。

示例38可以包括示例23的方法,其中,所指示的加速器资源是用于所指示的节点资源的高速缓存。

示例39可以包括示例23的方法,其中,多个节点资源中的一些节点资源处于不同的一致性域中。

示例40可以包括示例23的方法,其中,多个加速器资源中的一些加速器资源与不同的一致性域相关联。

示例41可以包括示例23的方法,其中,所指示的节点资源包括快速外围组件互连(pcie)端口或intel加速器链路(ial)端口。

示例42可以包括示例23的方法,其中,该方法在互连开关内执行。

示例43可以包括示例23的方法,其中,互连开关是多个互连开关。

示例44可以包括示例23-43中任一个的方法,其中,所指示的节点资源和所指示的加速器资源处于不同的机架中。

示例45可以包括示例23-43中任一个的方法,其中,所指示的节点资源和所指示的加速器资源处于不同的机架组中。

示例46可以是一种资源管理器装置,包括:用于接收对多个节点资源中的一个节点资源的指示以及对多个加速器资源中的要连接到该节点资源的一个加速器资源的指示的单元;用于如果所指示的加速器资源被连接到多个节点资源中的另一节点资源则向互连开关发送一个或多个热移除命令的单元;以及用于向互连开关发送一个或多个热添加命令的单元。

示例47可以包括示例46的装置,还包括用于对多个加速器资源与多个节点资源的分别连接进行跟踪的单元。

示例48可以包括示例46的装置,还包括用于使互连开关将多个加速器资源中的所指示的加速器资源连接到多个节点资源中的所指示的节点资源的单元。

示例49可以包括示例46的装置,其中,一个或多个热移除命令使互连开关将所指示的加速器资源从另一节点资源热移除。

示例50可以包括示例49的装置,其中,将所指示的加速器资源从另一节点资源热移除还包括:使所指示的加速器资源与另一节点资源之间的连接上的数据业务变为中止。

示例51可以包括示例49的装置,其中,将所指示的加速器资源从另一节点资源热移除还包括:切断所指示的加速器资源与另一节点资源之间的连接。

示例52可以包括示例46的装置,其中,一个或多个热添加命令使互连开关将所指示的加速器资源热添加到所指示的节点资源。

示例53可以包括示例52的装置,其中,将所指示的加速器资源热添加到所指示的节点资源还包括:由互连开关在所指示的加速器资源与所指示的节点资源之间建立连接;由互连开关将所指示的加速器资源配置为通过所建立的连接与所指示的节点资源进行通信;以及由互连开关将所指示的节点资源配置为通过所建立的连接与所指示的加速器资源进行通信。

示例54可以包括示例53的装置,其中,互连开关接收到将所指示的加速器资源热添加到所指示的节点资源的一个或多个命令和所指示的加速器资源与所指示的节点资源之间的活动已建立连接之间的持续时间小于10纳秒(ns)。

示例55可以包括示例54的装置,其中,所指示的加速器资源与所指示的节点资源之间的活动已建立连接包括所指示的加速器资源与所指示的节点资源之间的数据流。

示例56可以包括示例46的装置,其中,互连开关是低时延旁路路径,其包括第一多个端口和第二多个端口,第一组端口中的每个端口包括与第二多个端口中的每个端口具有直接连接的复用器;并且该装置还包括用于通过互连开关接收对第一组多个端口中的一个端口与第二组多个端口中的一个端口之间的连接进行热添加或热移除的命令的单元。

示例57可以包括示例56的装置,其中,第一组端口中的一个或多个端口分别连接到多个加速器资源中的一个或多个加速器资源,并且第二组端口中的一个或多个端口分别连接到多个节点资源中的一个或多个节点资源。

示例58可以包括示例46的装置,其中,多个加速器资源包括现场可编程门阵列(fpga)、图形处理器单元(gpu)或专用集成电路(asic)。

示例59可以包括示例46的装置,其中,多个节点资源包括中央处理单元(cpu)或片上系统(soc)。

示例60可以包括示例46的装置,其中,所指示的节点资源是使用一致性链路耦合的多个cpu。

示例61可以包括示例46的装置,其中,所指示的加速器资源是用于所指示的节点资源的高速缓存。

示例62可以包括示例46的装置,其中,多个节点资源中的一些节点资源处于不同的一致性域中。

示例63可以包括示例46的装置,其中,多个加速器资源中的一些加速器资源与不同的一致性域相关联。

示例64可以包括示例46的装置,其中,所指示的节点资源包括快速外围组件互连(pcie)端口或intel加速器链路(ial)端口。

示例65可以包括示例46的装置,其中,该方法在互连开关内执行。

示例66可以包括示例46的装置,其中,互连开关是多个互连开关。

示例67可以包括示例46-66中任一个的装置,其中,所指示的节点资源和所指示的加速器资源处于不同的机架中。

示例68可以包括示例46-66中任一个的装置,其中,所指示的节点资源和所指示的加速器资源处于不同的机架组中。

示例69可以是一种系统,包括:一个或多个处理器;资源管理器模块(rmm),其通信地耦合到一个或多个处理器,其中,rmm用于:接收对多个节点资源中的一个节点资源的指示以及对多个加速器资源中的要连接到该节点资源的一个加速器资源的指示;如果所指示的加速器资源被连接到多个节点资源中的另一节点资源,则向互连开关发送一个或多个热移除命令;以及向互连开关发送一个或多个热添加命令;并且互连开关通信地耦合到rmm,以在多个节点资源与多个加速器资源之间提供包括第一多个端口和第二多个端口的低时延旁路路径,第一组端口中的每个端口包括与第二多个端口中的每个端口具有直接连接的复用器;并且其中,互连开关接收将另一节点资源与所指示的加速器资源断开连接的一个或多个热移除命令或将所指示的节点资源连接到所指示的加速器资源的热添加命令。

示例70可以包括示例69的系统,其中,rmm直接与多个复用器进行通信。

示例71可以包括示例69-70中任一个的系统,其中,第一组端口中的一个或多个端口分别连接到多个加速器资源中的一个或多个加速器资源,并且第二组端口中的一个或多个端口分别连接到多个节点资源中的一个或多个节点资源。

示例72可以包括示例69的系统,其中,多个加速器资源包括现场可编程门阵列(fpga)、图形处理器单元(gpu)或专用集成电路(asic)。

示例73可以包括示例69的系统,其中,多个节点资源包括中央处理单元(cpu)或片上系统(soc)。

示例74可以包括示例69的系统,其中,所指示的节点资源是使用一致性链路耦合的多个cpu。

示例75可以包括示例69的系统,其中,所指示的加速器资源是用于所指示的节点资源的高速缓存。

示例76可以包括示例69的系统,其中,多个节点资源中的一些节点资源处于不同的一致性域中。

示例77可以包括示例69的系统,其中,多个加速器资源中的一些加速器资源与不同的一致性域相关联。

示例78可以包括示例69的系统,其中,所指示的节点资源包括快速外围组件互连(pcie)端口或intel加速器链路(ial)端口。

示例79可以包括示例69的系统,其中,rmm模块位于互连开关内。

示例80可以包括示例69的系统,其中,互连开关是多个互连开关。

示例81可以包括示例69-80中任一个的系统,其中,所指示的节点资源和所指示的加速器资源处于不同的机架中。

示例82可以包括示例69-80中任一个的系统,其中,所指示的节点资源和所指示的加速器资源处于不同的机架组中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1