可重新配置的计算装置

文档序号:197379 发布日期:2021-11-02 浏览:20次 >En<

阅读说明:本技术 可重新配置的计算装置 (Reconfigurable computing device ) 是由 R·E·杜贝 于 2020-03-02 设计创作,主要内容包括:可重新配置的计算装置包括多个计算块。每个计算块包括可重新配置的处理元件和被配置为通过网络结构进行通信的网络结构接口设备。所述可重新配置的处理元件对从I/O输入接口接收的数据和/或经由网络结构接口设备接收的数据进行操作。(The reconfigurable computing device includes a plurality of computing blocks. Each computing block includes a reconfigurable processing element and a network fabric interface device configured to communicate over a network fabric. The reconfigurable processing element operates on data received from the I/O input interface and/or data received via the network fabric interface device.)

可重新配置的计算装置

背景技术

可编程元件、例如现场可编程门阵列(FPGA)用于高性能计算(HPC)任务。然而,还没有方便的方法来将这些元件与传统的HPC形状因素封装在一起。此外,还没有集成的机制来有效地摄取大量高速数据流,然后在HPC集群网络结构上有效地来回传输处理结果。这些限制使得在HPC或集群计算环境中难以利用非通用计算元件(例如FPGA)的能力进行流计算。

目前,流计算需要大量商用现货(COTS)或使用低效集成方案的定制硬件来执行HPC任务。集成到HPC集群中的可编程逻辑或FPGA的最流行用途被封装为COTS机架服务器的插件板。这些方法的I/O容量有限,并且没有集群结构集成能力。在卡笼式嵌入式计算环境中实施的OpenVPX(和其他形状因素)电路卡组件无法有效处理大量外部连接的I/O和强大的集群结构接口。

需要对在集群计算环境中部署可编程逻辑元件进行改进。

发明内容

在本发明的一个方面,一种可重新配置的计算装置(RCA)包括:外壳;设置在外壳上的网络结构接口;设置在外壳上的数据I/O接口;以及设置在外壳中的第一计算块,其中所述第一计算块包括:网络结构接口设备,该网络结构接口设备联接到所述网络结构接口,被配置为向网络结构发送数据和通过网络结构接收数据;以及可重新配置的处理元件(RPE),该可重新配置的处理元件联接到所述网络结构接口设备和所述数据I/O接口中的至少一者,并且被配置为处理从所述网络结构接口设备和所述数据I/O接口中的至少一者接收的输入数据以及向所述网络结构接口设备和所述数据I/O接口中的至少一者提供输出数据,其中所述输出数据是所接收的输入数据的函数。

RCA还可以包括菊花链端口,该菊花链端口设置在外壳上且联接到第一计算块,其中该菊花链端口可操作以将第一计算块联接到另一RCA上的计算块。

在本发明的另一方面,描述了一种计算集群,包括:机架;安装在所述机架中的多个可重新配置的计算装置(RCA),其中每个RCA包括:外壳;设置在外壳上的网络结构接口;设置在外壳上的数据I/O接口;以及设置在外壳中的多个计算块,其中每个计算块包括:网络结构接口设备,该网络结构接口设备联接到网络结构接口,被配置为向网络结构发送数据和通过网络结构接收数据;以及可重新配置的处理元件(RPE),该可重新配置的处理元件联接到网络结构接口设备和数据I/O接口中的至少一者,并且被配置为处理从网络结构接口设备和数据I/O接口中的至少一者接收的输入数据以及向网络结构接口设备和数据I/O接口中的至少一者提供输出数据,其中输出数据是所接收的输入数据的函数。

附图说明

本文参考附图讨论了本发明的各个方面。应当理解,为了图示的简单和清楚起见,图中所示的元件不一定是准确地或按比例绘制的。例如,为了清楚起见,一些元件的尺寸可能相对于其他元件被放大,或者几个物理部件可能被包括在一个功能块或元件中。此外,在认为合适的情况下,附图标记可以在附图中重复以指示对应或类似的元件。然而,为了清楚起见,并非每个部件都会在每幅图中标出。提供这些附图是为了说明和解释的目的,并不旨在作为对本发明的限制的定义。在附图中:

图1是根据本发明的一方面的可重新配置的计算装置的透视图;

图2是图1的可重新配置的计算装置的示意图;以及

图3是根据本发明的一方面的计算块的功能框图。

具体实施方式

在以下详细描述中,阐述细节以提供对本发明的各方面的透彻理解。本领域普通技术人员将理解,可以在没有这些具体细节中的一些细节的情况下实践这些方面。在其他情况下,可能没有详细描述众所周知的方法、程序、部件和结构,以免混淆本发明的各方面。

应当理解,本发明不将其应用限于在以下描述中阐述或在附图中示出的构造的细节以及部件的布置或步骤,因为它能够以各种方式实施或被实践或进行。此外,应当理解,本文所采用的措辞和术语仅用于描述而不应被视为限制性的。

为了清楚起见,某些特征在分开的实现方式的上下文中描述,而也可以在单个实现方式中组合提供。相反,为了简洁起见,在单个实现方式的上下文中描述的各种特征也可以分开提供或以任何合适的子组合提供。

在本发明的一个方面,可重新配置的计算装置(RCA)以与市售的、即标准化的19英寸机架兼容的形状因素封装可重新配置的处理元件或可编程逻辑器件,例如但不限于FPGA。HPC任务可以使用已知的19英寸机架形状来简化集成。使用HPC的其他实现方式、例如地面移动环境,可以使用不同的机架形状因素,或者甚至可以不是机架安装式的并且可能需要液体冷却和/或加固封装选项。

有利地,根据本发明的各方面,RCA提供I/O,例如10GB、40GB或100GB的以太网,以使用可编程逻辑直接访问以进行处理。这允许使用非通用处理元件有效处理高速数据流(流计算)。这些可编程元件的数量可以根据处理所需的I/O数量进行调整。一个或多个RCA单元之间的这些I/O链接可以以各种配置链接或连接,这取决于所需的可编程功能。

RCA内的可编程元件包括与支持远程直接内存访问(RDMA)的HPC集群结构(例如InfiniBand、RoCE、以太网或Omnipath)的连接。这些连接允许在RCA可编程逻辑元件和其他HPC处理资源之间进行高速率、低延迟的数据传输。

现在参考图1,根据本发明的一方面,可重新配置的计算装置(RCA)100包括外壳104,例如,对应于标准19英寸机架尺寸的外壳。前面板108包括:多个前端数据输入/输出(I/O)、即双向接口或端口112,其被提供用于从RCA 100的一个或多个外部源接收输入数据或向所述外部源提供输出数据;以及也是双向的多个网络结构I/O端口116,其被提供用于联接到HPC网络结构。在一种方法中,数据I/O端口112可以被配置为与10GB以太网一起操作。HPC网络结构可以例如但不限于(一个或多个)支持远程直接内存访问(RDMA)的HPC集群结构之一,例如InfiniBand、RoCE、以太网或Omnipath。前面板108还可以包括至少一个控制端口120、一个或多个跳线端口124、一个或多个菊花链端口128、和开/关开关132。控制端口120、跳线端口124和菊花链端口128中的每一者都是双向的。在本发明的一个方面中,网络结构I/O端口116、数据I/O端口112、控制端口120、跳线端口124、菊花链端口128或开/关开关132中的一些可以设置在外壳的后部130上。

在外壳104内设置一个或多个计算块136,其细节在下面描述。计算块136中的每一个可以联接到一个或多个数据I/O端口112、结构I/O端口116和跳线端口124,如图2所示。应当注意,RCA 100可以被配置为使得给定的计算块136:既不联接到数据I/O端口112也不联接到结构I/O端口116(即,仅联接到另一个计算块136);仅联接到数据I/O端口112和结构I/O端口116中的一者或另一者;和/或另一个计算块136;或者联接到数据I/O端口112和结构I/O端口116两者和/或另一个计算块136。每个计算块136可以通过将合适的跳线电缆204连接到跳线端口124而与RCA 100内的另一个计算块136联接/断开。跳线电缆204和跳线端口124提供用于在计算块136之间传送数据的路径。因此,外部跳线电缆204允许针对不同的使用情况进行重新配置和定制。

此外,计算块可以通过RCA 100内部的连接220连接到另一个计算块,因为它不涉及外壳104外部的连接。

此外,一个RCA 100可以通过菊花链端口128和合适的布线208与另一个RCA 100联接。本领域的普通技术人员理解,尽管未示出,但其他设备(例如电源、风扇等)以及操作计算块所需的任何相应的支持设备也存在于RCA 100中。然而,这些其他设备与本发明的各方面没有密切关系。

现在参考图3,每个计算块136包括至少一个可重新配置的处理元件(RPE)304,例如但不限于FPGA。RPE 304联接到相应的网络结构接口(NFI)设备308,该NFI设备308被配置为与HPC网络结构连接。在一个非限制性示例中,NFI设备308是根据已知技术被提供和配置以用作到HPC网络结构的接口的专用集成电路(ASIC)。

支持控制器312也可以被合并到每个计算块136中并且联接到RPE 304和ASIC308。每个计算块上的支持控制器312通常被编程为在其他任务中协调RPE 304和ASIC 308的操作以及与RCA 100中的其他计算块通信。如本领域普通技术人员所知,支持控制器312可以包括CPU、ROM、RAM、I/O接口等。

在一种方法中,RPE 304通过已知技术经由上面讨论的前面板连接被编程并且提供可超过基于软件的解决方案的处理吞吐量容量。替选地,RPE 304可以通过到支持控制器312的接口、预编程的存储器或另一接口(例如符合联合测试行动组(JTAG)工业标准的接口)来编程。在包括多个RPE的计算块136上,每个RPE可以以相同的配置被编程,或者每个RPE可以以与在计算块136上的其他RPE不同的配置被编程。

此外,在具有多个计算块136的RCA 100中,一个计算块136的各个RPE的编程(即配置)与下一个计算块136的各个RPE的编程可能存在差异。有利地,可以以针对预期操作定制的方式来提供计算块136。

因此,本发明的各方面以与通用计算解决方案相同的方式经由作为计算结构上的本地参与者的计算块和相应的RPE提供可编程逻辑解决方案。可通过I/O端口的插头配置获得的可重新配置的I/O机制提供了满足不同处理需求的灵活性,例如,仅举几例,通过在RCA中应用一组可编程元件而进行的雷达信号处理和机器学习。此外,托盘、模块或机架形状因素便于应用和集成到COTS或嵌入式计算基础设施中。

可以以数字电子电路、计算机硬件、固件和/或软件的组合和子组合来实现上述系统和方法的各个方面。该实现可以包括例如计算机程序产品、即体现在有形信息载体中的计算机程序,用于控制数据处理装置或可编程处理器的操作的机器可读存储设备,一个计算机和/或多个计算机。

计算机程序可以以任何形式的编程语言编写,包括编译和/或解释语言,并且计算机程序可以以任何形式部署,包括作为独立程序或作为子例程、元素和/或其他适合在计算环境中使用的单元。计算机程序可以部署为在一个计算机或一个站点的多个计算机上执行。

应当理解,已经使用本发明的各方面的非限制性详细描述来描述了本发明,这些详细描述仅通过示例的方式提供并且不旨在限制本发明的范围。关于一个方面描述的特征和/或步骤可以与其他方面一起使用,并且并非本发明的所有方面都具有特定附图中所示的或关于这些方面之一描述的所有特征和/或步骤。本领域技术人员将想到所描述的各方面的变型。

应当注意,上述方面中的一些方面包括结构、动作、或结构和动作的细节,这些结构、动作、或结构和动作的细节对于本发明可能不是必不可少的并且作为示例被描述。本文描述的结构和/或动作可由执行相同功能的等效物替换,即使结构或动作不同,如本领域已知的,例如,使用多个专用设备来执行至少一些所描述的如由本发明的处理器执行的功能。因此,本发明的范围仅由权利要求中使用的元素和限定来限制。

尽管在阅读了前面的描述之后,本发明的许多改变和修改对于本领域普通技术人员来说无疑将变得显而易见,但是应当理解,通过说明的方式示出和描述的特定方面绝不旨在被认为是限制性的。此外,已经参考特定方面描述了主题,但是本领域技术人员将想到在本发明的精神和范围内的变型。需要注意的是,上述示例仅为了解释的目的而提供,绝不能理解为对本发明的限制。

尽管本文已经参考特定手段、材料和方面描述了本发明,但本发明并不旨在限于本文公开的细节;相反,本发明扩展到例如在所附权利要求的范围内的所有功能等效的结构、方法和用途。在不脱离本发明的范围的情况下,本领域技术人员可以对所公开的实现方式进行各种修改和改变。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:从随机化意图向量邻近度创建意图识别模型

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!