联网可编程逻辑服务提供商制造技术

技术编号:21637437 阅读:40 留言:0更新日期:2019-07-17 14:00
公开了用于在联网服务器环境中对诸如FPGA之类的可重新配置逻辑设备进行编程的方法和装置。在一个示例中,托管提供现场可编程门阵列(FPGA)服务的网络服务的系统包括网络服务提供商,该网络服务提供商被配置为:接收在多个FPGA中实现应用逻辑的请求,响应于接收该请求而分配包括FPGA的计算实例,产生用于对FPGA进行编程的配置信息,并将该配置信息发送到分配的计算实例。该系统还包括计算主机,该计算主机由网络服务提供商分配作计算实例,计算主机包括存储器、配置成执行存储在存储器中的计算机可执行指令的处理器、以及经编程的FPGA。

Network Programmable Logic Service Provider

【技术实现步骤摘要】
【国外来华专利技术】联网可编程逻辑服务提供商
技术介绍
云计算是使用在远程位置可用并且可通过诸如因特网之类的网络访问的计算资源(硬件和软件)。在一些设置中,用户能够根据需要购买这些计算资源(包括存储和计算能力)作为实用程序。云计算采用用户的数据、软件和计算来委托远程服务。虚拟计算资源的使用可以提供许多优点,所述优点包括成本优势和/或快速适应变化的计算资源需求的能力。通过使用协处理器可以加速一些计算,所述协处理器包括使用可重新配置逻辑实现的加速器(例如,在现场可编程门阵列(FPGA)中)。FPGA开发人员通常将带有专用接口的本地主计算机连接到本地FPGA的外部引脚。在云计算环境中提供这样的加速器:所述加速器可能缺乏专门的硬件和安全特征,因此提供了充分的改进机会。附图说明图1是示出如可以在所公开的技术的某些示例中实现的包括可编程逻辑服务提供商的系统的示例的系统图。图2是示出逻辑储存库服务的示例架构的系统图。图3是概述如可以在所公开的技术的某些示例中实现的由可编程逻辑服务提供商启动的支持计算实例的示例系统的框图。图4示出了如可以经由可编程逻辑服务提供商执行的摄取和生成配置数据的示例。图5示出了图3的示例系统的另外的细节,包括用于配置和连接到可配置硬件平台的控制平面和数据平面的组件。图6是概述如可以在所公开的技术的某些示例中执行的系统初始化的示例的序列图。图7是概述如可以在所公开的技术的某些示例中执行的用可编程逻辑服务提供商加载比特流的示例方法的序列图。图8是示出如可以在所公开的技术的某些示例中执行的访问FPGA寄存器的示例的序列图。图9是概述如可以在所公开技术的某些示例中执行的响应于在计算机网络上接收请求而编程可重新配置逻辑资源的方法的流程图。图10是概述如可以在所公开的技术的某些示例中执行的在网络环境中编程FPGA的示例方法的流程图。图11是示出了如可以在所公开的技术的某些示例中实现的托管多租户环境的计算服务提供商的示例系统图。图12示出了可以在图11的多租户环境中使用的管理组件。图13是示出包括可编程逻辑服务提供商的在多租户环境中运行的多个虚拟机实例的示例系统图。图14描绘了可以实现某些所描述的创新的合适计算环境的一般化示例。具体实施方式作为在通用计算资源中的选择,通过配置包括可配置逻辑平台的服务器计算机(诸如通过向服务器计算机提供包括现场可编程门阵列(FPGA)的附加卡),可以在一组可重复使用的通用计算资源内提供专用计算资源。可配置逻辑是可以被编程或配置为执行由应用于可配置逻辑的配置数据指定的逻辑功能的硬件。例如,计算资源的用户可以提供规范(例如,在使用原理图捕获应用生成的网表中,或在由脚本生成的网表中,以硬件描述语言(例如,Verilog、SystemVerilog和/或VHDL)或其他语言(例如,C、C++和/或SystemC)编写)),用于配置可配置逻辑。可配置逻辑可以根据规范进行配置,并且配置的逻辑可以用于为用户执行任务。然而,允许用户访问计算设施的低级硬件可能潜在地在计算设施内引入安全性和隐私问题。公开了一种可编程逻辑服务提供商,所述可编程逻辑服务提供商操作可编程逻辑服务,用于授权和映射客户对虚拟机的请求,以计算具有可重新配置逻辑设备资源的实例。可编程逻辑服务提供商控制对配置数据的访问,包括由第三方提供的配置数据。可编程逻辑服务可以作为基于web的服务来操作,例如托管在云中的基于web的服务,该服务将经由计算机网络接收的用户请求映射到包括可重新配置逻辑资源的计算实例。在一些示例中,可编程逻辑服务在与计算主机不同的物理服务器上实现,该计算主机通过可重新配置逻辑设备提供所分配的计算实例。在其他示例中,可编程逻辑服务提供商托管在同一计算主机上。在一些示例中,可编程逻辑服务使用包含在请求中的标识符来鉴定请求,并使用该标识符从联网数据库或联网存储产生配置信息。在一些示例中,指示符指示计算实例使用的机器图像。在一些示例中,指示符指示软件应用市场中的机器图像的产品代码。在一些示例中,指示符(例如,通过指示分配给虚拟实例的虚拟CPUID或MAC地址)标识计算主机的虚拟实例的虚拟实例。在一些示例中,指示符(例如,通过指示分配给虚拟实例的实际CPUID或MAC地址)标识计算主机的物理实例的物理实例。在一些示例中,提供商在接收用可重新配置硬件来实现应用逻辑的请求之前分配计算实例。在一些示例中,提供商被配置为在启动实例的执行之前利用应用逻辑分配计算实例。在一些示例中,在生成配置数据之前启动计算实例。在其他示例中,配置数据在启动之前产生,并且启动动作包括在将计算实例提供给请求者(例如,用户)之前用所产生的配置数据编程可重新配置逻辑资源。在一些示例中,计算实例还可以重新编程耦合到计算主机的可重新配置逻辑设备的一部分,但不是全部。如本文所述,计算服务设施可以包括各种计算资源,其中一种类型的计算资源可以包括包含可配置逻辑平台的服务器计算机(可选地称为主计算机)。可配置逻辑平台可以由计算机系统的用户编程或配置,使得计算资源的硬件(例如,可配置逻辑)由用户定制。例如,用户可以对可配置逻辑进行编程,使其充当紧密耦合到服务器计算机的硬件加速器。例如,硬件加速器可以经由服务器计算机的本地互连(诸如外围组件互连高速(PCI-Express或PCIe)或IEEE802.3(以太网)连接)来访问。用户可以在服务器计算机上执行应用,并且该应用的任务可以由硬件加速器使用PCIe事务来执行。通过将硬件加速器紧密耦合到服务器计算机,可以减少加速器与服务器计算机之间的延迟,这可以潜在地提高应用的处理速度。计算服务提供商可以使用诸如可编程逻辑服务提供商之类的软件服务来管理计算资源,以管理可配置硬件的配置和操作。作为一个示例,计算服务提供商可以执行逻辑储存库服务,以摄取用户的硬件或逻辑设计,生成用于基于用户的逻辑设计来配置可配置逻辑平台的经验证的配置数据,以及响应于配置可配置逻辑平台的实例的请求下载经验证的配置数据。配置数据可以包括用于在可配置逻辑平台上创建调试资源的数据,允许查看信号值,指示事件发生的触发器,性能计数器,以及用于监视可重新配置逻辑设备的其他合适的调试技术。下载请求可以来自开发逻辑设计的用户,也可以来自已获得使用逻辑设计许可的用户。因此,逻辑设计可以由可编程逻辑服务提供商、用户、或与用户或可编程逻辑服务提供商分开的第三方创建。例如,可以向计算服务提供商的用户提供加速器知识产权(IP)的市场,并且用户可以通过从市场选择加速器来潜在地提高其应用的速度。图1是示出包括可编程逻辑服务提供商110的系统100的示例的系统图,该可编程逻辑服务提供商110提供用于访问可重新配置硬件资源120的配置和管理接口。例如,可编程逻辑服务提供商110可以用于在部署资源时管理到可配置计算资源120的配置数据的访问和部署。可编程逻辑服务提供商110可以是网络可访问的服务,诸如web服务。web服务通常用于云计算。web服务是通过因特网、云或其他网络在网络地址处提供的软件功能。客户端向服务器发起web服务请求,并且服务器处理请求并返回适当的响应。通常使用例如API请求来发起客户端web服务请求。出于简化的目的,web服务请求在下文中通常将描述为API请求,但是应当理解,可以本文档来自技高网...

【技术保护点】
1.一种方法,包括如下步骤:经由计算机网络接收用以创建包括可重新配置逻辑资源的计算实例的请求;产生用于对所述可重新配置逻辑资源的用户部分进行编程的配置数据;启动所述计算实例,所述计算实例被配置为与所述可重新配置逻辑资源的主机部分进行通信;以及用所述配置数据对所述可重新配置逻辑资源的所述用户部分进行编程,所述用户部分被配置为经由所述主机部分而与所述计算实例进行通信。

【技术特征摘要】
【国外来华专利技术】2016.11.17 US 15/354,7651.一种方法,包括如下步骤:经由计算机网络接收用以创建包括可重新配置逻辑资源的计算实例的请求;产生用于对所述可重新配置逻辑资源的用户部分进行编程的配置数据;启动所述计算实例,所述计算实例被配置为与所述可重新配置逻辑资源的主机部分进行通信;以及用所述配置数据对所述可重新配置逻辑资源的所述用户部分进行编程,所述用户部分被配置为经由所述主机部分而与所述计算实例进行通信。2.根据权利要求1所述的方法,其中,所述启动所述计算实例的步骤发生在所述产生配置数据的步骤之前。3.根据任一前述权利要求所述的方法,其中:所述产生配置数据的步骤发生在所述启动步骤之前,所述启动步骤包括:在将所述计算实例提供给请求者之前,执行所述使用所产生的配置数据对所述可重新配置逻辑资源进行编程的步骤。4.根据权利要求3所述的方法,还包括:在将所述计算实例提供给所述请求者之后,使用所产生的配置数据部分地对可重新配置逻辑资源进行重新配置。5.根据权利要求3所述的方法,其中,在执行所述使用所产生的配置数据对所述可重新配置逻辑资源进行编程的步骤之后,所述计算实例还对经编程的所述可重新配置逻辑的一部分但不是全部进行重新编程。6.根据任一前述权利要求所述的方法,其中:所述请求包括所述配置数据的指示符;所述产生配置数据的步骤还包括鉴定所述请求以判定与所述请求相关联的用户是否被授权访问所请求的配置数据;以及所述产生步骤包括产生所指示的配置数据。7.根据权利要求6所述的方法,其中,所述指示符用于在联网存储数据库或存储设备中定位所述配置数据。8.根据任一前述权利要求所述的方法,其中,所述请求是用网络可访问的计算设备来接收的,所述网络可访问的计算设备被配置为经由计算机网络与托管所述计算实例的服务器通信。9.根据任一前述权利要求所述的方法,其中,所述计算实例使用在所述计算实例上执行的服务进程而与所述可重新配置逻辑的所述主机部分进行通信。10.根据任一前述权利要求所述的方法,其中:所...

【专利技术属性】
技术研发人员:罗伯特·迈克尔·约翰逊纳费·布沙拉马修·肖恩·威尔逊
申请(专利权)人:亚马逊技术股份有限公司
类型:发明
国别省市:美国,US

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

1