当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于远程现场可编程门阵列处理的方法和装置制造方法及图纸

技术编号:20290618 阅读:19 留言:0更新日期:2019-02-10 20:47
在一个实施例中,一种装置包括第一计算节点的结构控制器。结构控制器用于执行以下操作:从第二计算节点经由将第一计算节点耦合到第二计算节点的网络结构接收用于在第一计算节点的现场可编程门阵列(FPGA)上执行内核的请求;命令FPGA执行内核;以及经由网络结构将内核的执行的结果发送到第二计算节点。

Method and Device for Processing Remote Field Programmable Gate Array

In one embodiment, a device includes a structural controller of a first computing node. The structure controller is used to perform the following operations: receiving requests from the second computing node to execute the kernel on the field programmable gate array (FPGA) of the first computing node via the network structure coupling the first computing node to the second computing node; commanding the FPGA to execute the kernel; and sending the results of the execution of the kernel to the second computing node via the network structure.

【技术实现步骤摘要】
【国外来华专利技术】用于远程现场可编程门阵列处理的方法和装置
概括而言,本公开内容涉及计算机开发领域,并且更具体而言,涉及远程现场可编程门阵列(FPGA)处理。
技术介绍
计算节点可以包括一个或多个处理器、一个或多个存储器设备以及一个或多个FPGA。计算节点还可以经由网络结构耦合到一个或多个其他计算节点。在各种实施例中,处理器的核心可以将计算请求卸载到FPGA。附图说明图1示出了根据某些实施例的计算机系统的组件的框图。图2示出了根据某些实施例的结构控制器的示例性框图。图3示出了根据某些实施例的FPGA的示例性框图。图4示出了根据某些实施例的示例性可用性检查流程。图5示出了根据某些实施例的示例性注册流程。图6示出了根据某些实施例的示例性运行流程。图7示出了根据某些实施例的用于代表远程计算节点执行FPGA处理的示例性流程。各附图中同样的附图标记和名称指示同样的元素。具体实施方式尽管附图描绘了特定的计算机系统,但是各种实施例的构思适用于任何合适的集成电路和其他逻辑器件。其中可以使用本公开内容的教导的设备的示例包括桌上型计算机系统、服务器计算机系统、大型计算机系统、存储系统、手持式设备、平板计算机、其他薄笔记本、片上系统(SOC)设备和嵌入式应用。手持式设备的一些示例包括蜂窝电话、互联网协议设备、数码相机、个人数字助理(PDA)和手持式PC。嵌入式应用可以包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机或可以执行以下教导的功能和操作的任何其他系统。图1示出了根据某些实施例的计算机系统100的组件的框图。系统100可以包括经由网络结构104彼此耦合的任何合适数量的计算节点102。节点102可以包括任何合适数量的处理器106、存储器设备108、FPGA112、控制器(例如,118、120或122)和/或其他组件。系统100可以代表任何合适的计算环境,例如高性能计算环境、数据中心、通信服务提供者基础设施(例如,演进型分组核心的一个或多个部分)、内存计算环境、其他计算环境、或其组合。在特定的计算环境中,低延时数据处理非常重要。例如,各种解决方案可以涉及从传感器或端点获得数据并且将数据发送到一组服务器以进行分析。响应于分析,决定被做出并被执行。低延时数据处理在各种各样的应用中重要,包括自动驾驶汽车、欺诈检测、国家安全应用和金融交易等等。为了实现高带宽和低延时,可以尽可能快地传送去往和来自计算元件的数据,并且可以尽可能快地处理数据。在各种实施例中,FPGA可以通过加速具有数据并行性的专用应用来促进低延时数据处理。在各种系统中,各种不同计算节点上的FPGA可以由中央实体或其他逻辑来编程。当计算节点上的FPGA被编程(或重新编程)时,中央实体或其他逻辑可以将比特流(其将FPGA配置为执行期望的算法)传送到计算节点的处理器(例如,CPU),并且处理器将对FPGA进行编程。然而,通过处理器对FPGA进行编程会增加延时。在各种实施例中,计算机系统100中的计算节点102中的至少一些包括一个或多个FPGA。在各种实施例中,特定计算节点(例如,102A)的组件(例如,核心110或处理器106)可以利用远程计算节点(例如,计算节点102B或102C)上的FPGA。本文中,关于特定计算节点(或其组件),远程FPGA可以指代位于不同计算节点上的FPGA。作为一个示例,FPGA112D-F是关于计算节点102A及其组件的远程FPGA,而FPGA112A-C是关于计算节点102A及其组件的本地FPGA。作为利用远程FPGA的计算节点的示例,当计算节点消费其所有FPGA资源时,其可以通过使用另一计算节点的FPGA来进一步加速其处理。在其他实施例中,计算节点可以不包括FPGA(或者可以不包括适合于特定任务的FPGA),并且可以从不同的计算节点请求FPGA资源。计算节点102可以经由网络结构(其可以是低延时互连结构)耦合在一起。为了在网络结构上进行通信,计算节点可以包括一个或多个结构控制器122。在特定实施例中,计算节点的结构控制器122能够直接对计算节点102的FPGA进行编程(例如,不利用计算节点102的处理器106来对FPGA进行编程)。在各种实施例中,结构控制器122还能够指导FPGA执行在FPGA上编程的算法(在本文中被称为内核),而不与计算节点的处理器106进行交互。在特定实施例中,结构控制器122还能够直接与FPGA交互以确定编程状态(例如,哪些内核被编程和/或正在FPGA上被运行)。各种实施例可以提供特定的技术优点,例如减少被发送到远程计算节点的FPGA请求中涉及的延时(例如,通过消除远程计算节点上的处理器(即,CPU)干预)。其他技术优点可以包括允许FPGA被视为汇集的资源(pooledresource),其中,参与外扩(scale-out)架构的计算节点102可以在网络结构上访问FPGA。其他技术优点可以包括允许分布式解决方案协调复杂情况,其中,一个或多个计算节点注册(即,发起对其的编程)一组内核并且其余计算节点可以运行内核。其他技术优点包括允许计算节点快速发现哪些内核当前被编程和/或可由计算机系统100中的每个FPGA编程。其他技术优点可以包括允许做出关于FPGA资源使用和汇集的自适应和智能决策(从而减少了FPGA重新编程的量)。计算机系统100可以包括实现任何数量的存储器相干域的任何合适数量的计算节点102。在存储器相干域中,在多个核心110、处理器106或节点102之间始终保持存储器地址空间。在特定实施例中,系统100的每个节点102实现相干域。在其他实施例中,相干域可以由共享相同地址空间(对于给定节点,其可以包括节点的地址空间的全部或一部分)的一组节点102形成。使用网络结构104,计算节点102可以将其一些或全部地址区域暴露给其他节点(其可以正在实现它们自己的相干域)。在各种实施例中,计算节点102可以实现一个以上的相干域,并且任何数量的相干域可以是可由其他计算节点的处理器106访问的。在各种实施例中,计算节点102可以包括一个或多个套接口,每个所述套接口都包括处理器。在特定实施例中,计算节点102可以包括电路板,所述电路板包括用于节点的每个处理器106的套接口。处理器106可以包括任何合适的处理器,例如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持式处理器、应用处理器、协处理器、片上系统(SOC)或用于执行代码(即,软件指令)的其他设备。在所描绘的实施例中,处理器106包括四个处理元件(例如,核心110A-110D),其可以包括不对称处理元件或对称处理元件。然而,处理器可以包括可以是对称或不对称的任何数量的处理元件。在一个实施例中,处理元件指代用于支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、处理单元、上下文、上下文单元、逻辑处理器、硬件线程、核心和/或能够保存处理器的状态(例如,执行状态或架构状态)的任何其他元件。换言之,在一个实施例中,处理元件指代能够独立地与代码相关联的任何硬件,所述代码例如软件线程、操作系统、应用或其他代码。物理处理器(或处理器套接口)通常指代集成电路,其潜在地包括任何数量的其他处本文档来自技高网...

【技术保护点】
1.一种装置,包括:第一计算节点的结构控制器,所述结构控制器用于执行以下操作:经由将所述第一计算节点耦合到第二计算节点的网络结构从所述第二计算节点接收用于在所述第一计算节点的现场可编程门阵列(FPGA)上执行内核的请求;命令所述FPGA执行所述内核;以及经由所述网络结构将所述内核的所述执行的结果发送到所述第二计算节点。

【技术特征摘要】
【国外来华专利技术】1.一种装置,包括:第一计算节点的结构控制器,所述结构控制器用于执行以下操作:经由将所述第一计算节点耦合到第二计算节点的网络结构从所述第二计算节点接收用于在所述第一计算节点的现场可编程门阵列(FPGA)上执行内核的请求;命令所述FPGA执行所述内核;以及经由所述网络结构将所述内核的所述执行的结果发送到所述第二计算节点。2.如权利要求1所述的装置,其中,所述结构控制器用于通过将消息从所述结构控制器发送到所述FPGA来命令所述FPGA执行所述内核,其中,所述消息不经过所述第一计算节点的处理核心。3.如权利要求1所述的装置,其中,所述结构控制器还用于响应于来自所述第二计算节点的请求而发起将数据结构编程在所述FPGA上,所述数据结构包括用于配置所述FPGA的逻辑以使所述FPGA能够实现所述内核的信息。4.如权利要求3所述的装置,其中,所述结构控制器响应于从所述第二计算节点接收到所述数据结构而发起对所述数据结构的所述编程。5.如权利要求3所述的装置,其中,所述结构控制器响应于从所述第二计算节点接收到用于执行所述内核的所述请求而发起对所述数据结构的所述编程。6.如权利要求3所述的装置,其中,所述数据结构是从所述结构控制器发送到所述FPGA的,而不经过所述第一计算节点的处理核心。7.如权利要求1所述的装置,其中,所述结构控制器还用于指导所述FPGA将所述内核的所述执行的所述结果存储在所述第一计算节点的存储器中。8.如权利要求1所述的装置,其中,所述结构控制器还用于存储多个内核条目,其中,内核条目标识在由所述结构控制器管理的FPGA上编程的内核。9.如权利要求8所述的装置,其中,第一组所述内核条目是为所述第一计算节点预留的,并且第二组所述内核条目是为一个或多个其他计算节点预留的,所述一个或多个其他计算节点包括所述第二计算节点。10.如权利要求1所述的装置,其中,所述结构控制器还用于响应于用于对内核进行编程的请求而从所述FPGA中驱逐所述内核。11.如权利要求10所述的装置,其中,被驱逐的所述内核是基于确定所述内核未正被使用来选择的。12.如权利要求10所述的装置,其中,被驱逐的所述内核是基于对自上次执行所述内核以来经过的时间的确定来选择的。13.如权利要求10所述的装置,其中,被驱逐的所述内核是基于确定所述内核已被执行至少一次来选择的。14.如权利要求1所述的装置,其中,所述结构控制器用于响应于确定所述FPGA当前不正在执行所述内核而命令所述FPGA执行所述内核。15.一种方法,包括:在第一计算节点的结构控制器处经由将所述第一计算节点耦合到第二计算节点的网络结构从所述第二计算节点接收用于在所述第一计算节点的现场可编程门阵列(FPGA)上执行内核的请求;命令所述FPGA执行所述内核;以及经由所述网络结构将所述内核的所述执行的结果发送到所述第二计算节点。16.如权利要求15所述的方法,其中,命令所述FPGA执行所述内核包括将消息从所述结构控制器发送到所述FPGA,其中,所述消息不经过所述第一计算节点的处理核心。17.如权利要求15所述的方法,还包括响应于来自所述第二计算节点的请求而发起将数据结构编程在所述FPGA上,所述数据结构包括用于配置所述FPGA...

【专利技术属性】
技术研发人员:N·A·萨尔华纳K·库马尔T·维尔哈姆F·甘博纳特N·兰加纳坦
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1