启用FPGA的计算实例制造技术

技术编号:18609860 阅读:24 留言:0更新日期:2018-08-04 22:54
虚拟化计算服务的资源管理器向客户端指示在所述服务处支持启用FPGA的计算实例。从所述服务的一组虚拟化主机中,基于所述客户端的计算目标的指示来为所述客户端选择特定主机,从所述主机可访问FPGA。执行配置操作来为所述应用程序准备好所述主机,并且为所述客户端在所述主机处启动启用FPGA的计算实例。

【技术实现步骤摘要】
【国外来华专利技术】启用FPGA的计算实例
技术介绍
许多公司和其他组织运营将众多计算系统加以互连以支持其操作的计算机网络,诸如其中计算系统位于同一位置(例如,作为本地网络的一部分)或者相反地位于多个不同的地理位置(例如,通过一个或多个私有或公共中间网络加以连接)。例如,容纳大量互连的计算系统的数据中心已经变得很普遍,诸如由单个组织运营并且为了单个组织运营的私有数据中心,以及由实体作为企业来运营以向客户提供计算资源的公共数据中心。一些公共数据中心运营商为各种客户所拥有的硬件提供网络访问、电力以及安全安装设施,而其他公共数据中心运营商提供“全方位服务”设施,所述“全方位服务”设施还包括可供其客户使用的硬件资源。用于商用硬件的虚拟化技术的出现已经在管理大规模计算资源方面为许多具有多样化需求的客户提供益处,从而允许各种计算资源由多个用户有效且安全地共享。例如,虚拟化技术可以通过向每个用户提供由单个虚拟化主机托管的一个或多个虚拟机来允许单个物理虚拟化主机在多个用户之间共享。每个这种虚拟机可以表示充当不同逻辑计算系统的软件模拟,所述软件模拟向用户提供他们是给定硬件计算资源的唯一操作者的错觉,同时还提供各种虚拟机之间的应用程序隔离和安全性。此外,一些虚拟化技术能够提供跨越两个或更多个物理资源的虚拟资源,诸如具有跨越多个不同物理计算系统的多个虚拟处理器的单个虚拟机。随着迁移到虚拟化计算服务的应用程序的精密性和复杂性增加,仅仅使用未经修改的商用硬件来满足应用程序服务要求可能并不总是那么简单。例如,一些应用程序可能涉及非常特定类型的计算或算法,这些计算或算法在普通行业标准硬件上实现效率相对较低。自定义对这类应用程序的支持,同时保留大规模虚拟化计算的可扩展性、可用性、安全性以及成本效益可能对服务提供商提出挑战。附图说明图1根据至少一些实施方案展示其中支持虚拟计算服务的多个类别的计算实例的示例系统环境,所述计算实例包括至少一个类别的启用FPGA(现场可编程门阵列)的计算实例。图2根据至少一些实施方案展示可以在虚拟计算服务处得到支持的计算实例类别的示例目录。图3根据至少一些实施方案展示启用FPGA的计算实例的家族成员的示例性质。图4根据至少一些实施方案展示在支持启用FPGA的计算实例的虚拟计算服务的客户端与资源管理器之间的示例编程交互,包括提交对计算实例类别的目录的客户端请求。图5根据至少一些实施方案展示在支持启用FPGA的计算实例的虚拟计算服务的客户端与资源管理器之间的第二组示例编程交互,包括由客户端提交指示FPGA兼容的应用程序的描述符。图6根据至少一些实施方案展示在支持启用FPGA的计算实例的虚拟计算服务的客户端与资源管理器之间的第三组示例编程交互,在所述编程交互期间资源管理器向客户端主动推荐启用FPGA的计算实例类别。图7根据至少一些实施方案展示由资源管理器为客户端选择预先配置的启用FPGA的计算实例。图8根据至少一些实施方案展示在FPGA应用程序开发者与虚拟计算服务的资源管理器之间的示例编程交互。图9根据至少一些实施方案展示可供虚拟计算服务的客户端和合作者使用的示例FPGA应用程序开发资源的使用。图10根据至少一些实施方案展示关于配备有FPGA的虚拟化主机的共享模式的实例。图11根据至少一些实施方案展示其中可以从虚拟化计算服务的计算实例利用远程FPGA池的示例配置。图12根据至少一些实施方案展示包括FPGA的虚拟化主机的示例部件。图13是根据至少一些实施方案展示可以被执行来为了虚拟化计算服务的客户端实例化启用FPGA的计算实例的操作的方面的流程图。图14是展示可以在至少一些实施方案中使用的示例计算装置的框图。虽然本文通过对若干实施方案和示意性附图举例的方式描述了实施方案,但本领域的技术人员应认识到,实施方案并不限于所描述的实施方案或附图。应理解,附图和对附图的详细描述并不意图将实施方案限于所公开的特定形式,而是相反,意图涵盖落入由所附权利要求书限定的精神和范围内的所有修改、等同物和替代方案。本文所使用的标题仅用于组织目的,并且并不意图用来限制本说明书或权利要求书的范围。如贯穿本申请所使用,词语“可以”是在许可的意义上(即,意指具有可能性)而非强制的意义上(即,意指必须)使用的。类似地,词语“包括”、“包含”和“含有”意指“包括但不限于”。当在权利要求中使用时,术语“或”用作包含性或并且不用作排他性或。例如,短语“x、y或z中的至少一个”意指x、y和z中的任何一个以及它们的任何组合。具体实施方式描述了用于在提供商网络的虚拟化计算服务处支持客户端访问启用FPGA的虚拟机的方法和设备的各种实施方案。由诸如公司或公共部门组织等实体建立以提供可供一组分布式客户端通过因特网和/或其他网络访问的一个或多个服务(诸如各种类型的多租户和/或单租户云计算服务或存储服务)的网络在本文中可以称为提供商网络。提供商网络有时也可以称为“公共云”环境。给定的提供商网络可以包括许多数据中心,这些数据中心托管实现、配置并分布由提供商提供的基础结构和服务所需的各种资源池,诸如物理和/或虚拟化计算机服务器、存储装置、联网设备等的集合。在大型提供商网络内,一些数据中心可以位于与其他数据中心不同的城市、州或国家,并且在一些实施方案中,分配给给定应用程序的资源可以分布在若干这类位置中,以实现所需的可用性等级、故障恢复能力等级和性能等级。在各种实施方案中,提供商网络的虚拟化计算服务(VCS)可以使客户端能够利用在由VCS拥有和管理的硬件装置上进行托管的各种类型的虚拟机或“计算实例”。计算实例在本文中也可以简称为“实例”。其中可以为了一个或多个VCS客户端配置一个或多个计算实例的硬件装置或服务器在本文中可以称为虚拟化主机或实例主机。在一些实施方案中可以支持多个不同类别的计算实例,其中一些可以仅在对应类别的虚拟化主机上实例化。具体地,VCS的虚拟化主机的至少一个子集可以配备有例如通过符合PCI-E(快速外围部件互连)标准的扩展总线或其他总线或互连件加以附接的一个或多个FPGA(现场可编程门阵列)。这些虚拟化主机可以用来配置和启动其中部署有利用FPGA的应用程序的计算实例。这类实例可以称为启用FPGA的计算实例。如术语“现场可编程”所暗示,FPGA通常包括被设计成在制造之后由客户或设计者配置的一个或多个芯片。如下文所描述,可以在不同的实施方案中实现关于与对可从启用FPGA的计算实例访问的FPGA进行编程相关联的权限和责任的多种不同方法或策略。在一些情况下,例如,提供商网络运营商可以负责对FPGA进行编程,而在其他情况下,第三方供应商或VCS客户端可以执行FPGA编程中的至少一些。一般来说,FPGA可以在若干不同的环境中使用,诸如用于加快某些类型的算法所需的处理、用于对新的应用程序或硬件进行仿真和测试等等。在各种实施方案中,虚拟化主机的一个或多个FPGA可以被认为是关于主机CPU的协同芯片,并且可以被用作加速引擎以改进使用虚拟化主机的计算实例来运行的各种科学软件程序、医疗软件程序、娱乐相关软件程序、游戏相关软件程序或其他类型的软件程序的性能。根据一个实施方案,VCS可以对多个计算实例类别提供支持,包括一个或多个启用FPGA的类别和一个或多个并不意图支持需要FPGA的应用程序(本文档来自技高网...

【技术保护点】
1.一种方法,其包括:由在虚拟化计算服务的一个或多个计算装置处执行的资源管理器执行:通过一个或多个编程接口向所述虚拟化计算服务的第一客户端指示可以为了所述第一客户端建立的一个或多个计算实例类别,其中所述一个或多个类别至少包括第一启用FPGA(启用现场可编程门阵列)的类别;至少部分地基于所述第一客户端的特定计算目标,从所述虚拟化计算服务的多个虚拟化主机中选择第一虚拟化主机,在所述第一虚拟化主机处将要为所述第一客户端建立所述第一启用FPGA的类别的计算实例,其中所述第一虚拟化主机包括第一FPGA;发起一个或多个配置操作来为与所述特定计算目标相关联的特定的利用FPGA的应用程序准备好所述第一虚拟化主机;以及通过所述一个或多个编程接口向所述第一客户端提供对为了所述第一客户端在所述第一虚拟化主机处启动的所述第一启用FPGA的类别的特定计算实例的指示。

【技术特征摘要】
【国外来华专利技术】2015.12.31 US 14/986,3301.一种方法,其包括:由在虚拟化计算服务的一个或多个计算装置处执行的资源管理器执行:通过一个或多个编程接口向所述虚拟化计算服务的第一客户端指示可以为了所述第一客户端建立的一个或多个计算实例类别,其中所述一个或多个类别至少包括第一启用FPGA(启用现场可编程门阵列)的类别;至少部分地基于所述第一客户端的特定计算目标,从所述虚拟化计算服务的多个虚拟化主机中选择第一虚拟化主机,在所述第一虚拟化主机处将要为所述第一客户端建立所述第一启用FPGA的类别的计算实例,其中所述第一虚拟化主机包括第一FPGA;发起一个或多个配置操作来为与所述特定计算目标相关联的特定的利用FPGA的应用程序准备好所述第一虚拟化主机;以及通过所述一个或多个编程接口向所述第一客户端提供对为了所述第一客户端在所述第一虚拟化主机处启动的所述第一启用FPGA的类别的特定计算实例的指示。2.如权利要求1所述的方法,其还包括由所述资源管理器执行:通过所述一个或多个编程接口向所述第一客户端指示在所述第一启用FPGA的类别的计算实例上得到支持的一个或多个利用FPGA的应用程序,其中所述一个或多个利用FPGA的应用程序包括所述特定的利用FPGA的应用程序;以及通过所述一个或多个编程接口从所述第一客户端接收对所述特定的利用FPGA的应用程序的指示。3.如权利要求1所述的方法,其还包括由所述资源管理器执行:响应于从FPGA应用程序提供商接收到所述特定的利用FPGA的应用程序的描述符,其中所述描述符指示对支持所述特定的利用FPGA的应用程序的一个或多个要求,验证所述特定的利用FPGA的应用程序满足与所述虚拟计算服务相关联的网络可访问市场的一个或多个接受准则;并且使所述特定的利用FPGA的应用程序包括在所述网络可访问市场的启用FPGA的应用程序的列表中。4.如权利要求3所述的方法,其中所述一个或多个接受准则包括以下各项中的一个或多个:(a)关于所述第一启用FPGA的计算实例类别的功能兼容性准则,(b)安全性准则,或(c)性能准则。5.如权利要求1所述的方法,其中所述一个或多个配置操作包括验证所述第一FPGA已被编程来符合所述第一启用FPGA的类别的第一安全策略的操作,其中所述第一安全策略指示以下各项中的一个或多个:(a)对可从FPGA访问的主机资源的一部分的约束和(b)对可从计算实例请求的FPGA操作的类型的约束。6.如权利要求1所述的方法,其中所述第一启用FPGA的类别具有相关联的安全策略,所述方法还包括:执行一个或多个操作以在以下各项中的一个或多个处实施所述安全策略:(a)被配置用于卸载虚拟化管理操作的外围装置,(b)第一FPGA所附接的板,或(c)非虚拟化操作系统实例。7.如权利要求1所述的方法,其还包括:通过所述一个或多个编程接口在所述资源管理器处接收对将要在所述特定计算实例处执行第二利用FPGA的应用程序的指示;以及由所述资源管理器发起对所述第一FPGA的重新编程以用于所述第二利用FPGA的应用程序。8.如权利要求1所述的方法,其还包括:由所述资源管理器为了第二客户端在第二虚拟化主机处配置第二计算实例,其中所述第二虚拟化主机可以访问第二FPGA,其中所述配置不包括对所述第二F...

【专利技术属性】
技术研发人员:E·伊增伯格N·布沙拉C·佩蒂C·K·奥尔特
申请(专利权)人:亚马逊科技公司
类型:发明
国别省市:美国,US

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

1