门户网站维护怎么做,开发公司开发流程,做网站的工作好做吗,华为云建设网站需要域名吗摘要#xff1a; FPGA (现场可编程门阵列)由于其硬件并行加速能力和可编程特性#xff0c;在传统通信领域和IC设计领域大放异彩。一路走来#xff0c;FPGA并非一个新兴的硬件器件#xff0c;由于其开发门槛过高#xff0c;硬件加速算法的发布和部署保护要求非常高#xf…摘要 FPGA (现场可编程门阵列)由于其硬件并行加速能力和可编程特性在传统通信领域和IC设计领域大放异彩。一路走来FPGA并非一个新兴的硬件器件由于其开发门槛过高硬件加速算法的发布和部署保护要求非常高FPGA的使用一直是高冷的美人没有走入平常百姓家。
FPGA (现场可编程门阵列)由于其硬件并行加速能力和可编程特性在传统通信领域和IC设计领域大放异彩。一路走来FPGA并非一个新兴的硬件器件由于其开发门槛过高硬件加速算法的发布和部署保护要求非常高FPGA的使用一直是高冷的美人没有走入平常百姓家。也就导致FPGA的计算潜力还没有得到深入的挖掘。阿里云虚拟化团队异构计算和高性能计算团队一直致力于将计算资源平民化高性能计算团队在做的E-HPC就是要让所有云上用户都能够瞬间拥有一个小型的超算集群使得使用超算不再仅仅是一些超算中心和高校的特权而异构计算团队则致力于将目前最快,最新的计算设备在云上提供给用户使得曾经高冷的计算资源不再拒人千里之外推出了FPGA云服务器FaaS 服务其中的F1和F2实例已经对外提供服务可以通过一键部署的方式把Intel和Xilinx的小规格的器件计算能力赋予客户。2018年5月新晋的大规格FPGA实例基于Xilinx 16nm Virtex UltraScale 器件VU9P的实例F3正式发布。下面将对阿里云FPGA计算下面简称FaaS服务本身以及这次发布的F3实例的底层硬件架构和平台架构进行技术解读。FaaS阿里FPGA云服务器平台FaaSFPGA as a Service在云端提供统一硬件平台与中间件可大大降低加速器的开发与部署成本。加速器开发商的加速器可以形成服务提供给加速器用户消除加速技术与最终用户的硬件壁垒。用户则能够在无需了解底层硬件的情况下直接按需使用加速服务。为了给加速器提供方和使用方提供更加高效、统一的开发及部署平台FaaS提供两大套件HDK和SDK。HDKHDK给所有的加速器开发者提供统一的FPGA硬件接口提前帮用户解决了FPGA开发中难度最大的高速接口开发及调试例如PCIe、SERDES接口、DDR控制器等等使得用户能够直接得到硬件平台和FPGA接口的最大性能不会因为团队开发能力和经验的欠缺造成硬件平台性能浪费高效、可靠、统一的接口套件也为云上平台的安全隔离、设备稳定提供了保障不会因为用户的接口设计问题造成服务器宕机同时可以杜绝用户在FPGA端对主机的非法操作为整个云上安全提供保障。HDK包括两个部分Shell和 RoleShell部署在静态区域提供上述统一接口部分。在提供统一接口、安全性和便捷性的前提下阿里云FaaS HDK 也尽最大的努力保证用户设计的灵活性Role的概念应运而生。Role部署在动态区域是在Shell之外预先开发并提供的用户可以配合用户逻辑Customer Logic使用。不同于Shell用户可以根据需要随时更换Role部分这种Shell Role的组合方式保证了Shell的最轻量化兼顾了统一性、便捷性和灵活性。SDKSDK包括两个部分 和HDKShellRole对应的主机端驱动Drivers和软件库Libraries FPGA管理工具 faascmd套件驱动和软件库和HDK的Shell以及Role相对应和HDK一起为用户提供统一及灵活的软件支持比如DMA驱动、寄存器访问驱动等等。faascmd工具套件为用户提供云上FPGA管理服务包括安全校验、FPGA镜像生成、下载及管理、FPGA加速卡状态查询反馈等功能。公有环境使用FPGA需要考虑用户FPGA文件的安全faascmd提供的秘钥及OSS bucket指定机制有效保证了用户的FPGA下载文件的私密性。在线下的开发及应用中开发者直接对FPGA进行下载操作但在云上环境用户对公有的FPGA资源直接操作对安全造成较大影响。Faascmd工具会对用户操作申请和物理FPGA资源进行隔离但保证了用户下载安全的同时提供给用户类似线下操作的体验同时会对用户提交的网表进行校验提高安全、降低风险。faascmd同时也提供调用接口用户能很容易的在自己的App中调用管理工具结合自身加速器特性实现各种管理功能。FaaS 的IP市场FaaS帮助降低了FPGA逻辑开发者开发的准入门槛云上即开即用的FPGA资源灵活的付费模式使得硬件资源触手可及FPGA的逻辑开发上简化了开发流程统一了开发接口把核心加速逻辑从周边硬件设备的接口调试中隔离出来使得FPGA的新兴应用可以只关注业务加速的核心逻辑快速迭代在这两点上阿里云的FaaS 迈出了FPGA资源平民化的第一步。但是即便是大大简化的开发流程触手可及的硬件资源FPGA依然有一定的开发门槛。如何把已有的FPGA 逻辑IP价值最大化联通FPGA加速的需求方和提供方呢重要的一点就是如何解决在公共云数据中心层面保证FPGA加速IP的安全性特别是对不可信的第三方进行输出和部署这个难题 FaaS是如何解决这个问题的呢答案是通过阿里云的FaaS的IP市场。技术上通过与Xilinx联合开发的定制虚拟化技术达到IP加速与部署环境的强隔离IP的用户对原始IP的网表文件完全隔离网表文件的传输部署加速流程全程对用户都不可见同时加速计算能力又可以透明的向IP使用方第三方用户开放这是阿里云在FPGA云上加速服务另外一个技术创新。这个创新完全杜绝了FPGA IP在云上输出的时候被盗版的可能提供了非常高的安全保护机制。更加严格的保密机制也在规划中很快可以通过阿里云的KMS加密服务对IP进行加密保护每次对IP加载前都需要向KMS服务获取秘钥解密这样一来针对IP的使用下载有据可查并且使得IP发布方的IP在数据中心内部都是安全的因为没有了IP使用方的KMS秘钥即便是阿里云也无法对原始的网表进行解密操作。在阿里云FaaS IP 市场的帮助下即便是从来没有任何FPGA开发经验的用户也可以一键从IP市场中获取相应的加速逻辑并部署到对应的FPGA器件上面去。相信通过即开即用的硬件资源统一的软硬件逻辑开发接口和IP市场阿里云能够真正实现FPGA计算资源平民化的承诺。F3硬件架构阿里云FaaS的F3实例在底层硬件上是使用阿里云自主研发的高性能单卡双芯片的VU9P的板卡。这里要划重点啦单卡双芯片。一定有用户要问为什么要这么设计呢单卡双芯片的硬件设计有什么好处呢首先对于用户来说通过单卡双芯片的这样的规格设计与阿里云配套自研的服务器一起最高可以提供单实例16 块 VU9P的计算实例。16块 VU9P这是非常高的计算密度了这是设计单卡双芯片的第一个目的通过提高计算密度在同等计算单元下集成了更多的加速芯片能够有效降低单位计算力的成本从成本和单位实例的垂直计算力提升上客户可以双重受益。单卡双芯片的两个VU9P芯片通过PCIe 桥接入系统那么双芯片之间的互相通信呢是不是只能通过PCIe的总线来进行呢答案是否定的除了FPGA Direct这种通过PCIe互相通信的能力之外在阿里云的自研的板卡上也是有特殊考虑的。在两个芯片之间设计了一个高速互联通道使得两个FPGA之间可以通过这个特殊的通道以高达600Gb/s的速率进行通信这个通信技术称之为FPGA Link。要知道现在的数据中心主流部署的接入交换机光口通信也只能达到100Gb/s的通信速率更高的200Gb/s的交换机还在试部署中。试想一下无需额外的交换机和光口硬件两个FPGA芯片可以通过FPGA Link技术以超短时延通过6倍于主流光口通信的速率进行通信这个将会以极低的成本帮助用户开启大量新的FPGA加速应用模式。比如小规模的芯片仿真需要两个器件才能部署的下的情况可以将整体仿真模块拆解之后部署到两个芯片上两个芯片之间的数据通路和同步信号通过高速通道互联还有其他的应用场景需要把功能模块部署到两个FPGA芯片之上而两者之间需要大量的数据交换比如视频转码场景把小规模但是模块数目比较多的解码单元、视频处理单元部署到一个FPGA之上把面积占用比较多的编码单元放到另外一个FPGA上编解码模组之间通过高速互联交换裸视频流。这将大大改善部署的难度以及极大的解耦两个模块之间的相互依赖和设计难度。以上举了两个例子读者一定能够举一反三的想到其他需要流水线处理并需要大量数据交换的场景阿里云的F3实例的双芯片实例能够为客户提供最大的价值。不少应用场景对板载的DDR存储还是有要求的。阿里云的F3实例为每个FPGA搭配了客户可见的64GB的DDR内存这64GB的DDR分成4个通道分别连接到VU9P的3个硅单元上面其中一个通道对应的16GB DDR保留常驻其余3个通道对应的48GB存储以可选的方式可以被客户逻辑加载使用。目前看到了双芯片实例除了FPGA Direct技术和高达600Gb/s的FPGA Link高速互联能力之外另外值得一提的是双芯片的实例与其他的双芯片实例板卡之间也可以通过400Gb/s的光口进行互联而且400Gb/s的以太协议驱动是通过Xilinx预置的MAC硬核来加速不占用逻辑面积通过以太或者自定义的轻量级通信协议能够在16芯片之间以及更多的芯片之间搭建2维Mesh或者环形互联进一步扩展多片互联的使用模式和应用场景。最后上一张图让大家对上面做的硬件的技术解析有一个相对更具体的认识。F3逻辑结构F3逻辑结构先给大家上一幅图SHELL和ROLE概念SHELL:Shell是FPGA的静态区域内部包含用户PCIe、管理PCIEe、板卡管理系统和一个DDR访问通道。为了提高板卡的安全和稳定性用户无权修改SHELL区域。ROLE:在设计中提出了Role的概念Role和Shell是类似的封装。而Role跟Custom Logic一起在动态区域。Role的提出可以更加轻量化Shell。通过Role实现了同一个Shell既可以支持OpenCL开发也可以支持RTL开发最后就是Role的再次抽象降低了用户对于FPGA的开发门槛。我们提供基础的Role也允许用户自行设计Role。我们希望更多第三方的设计者通过分享自己Role使得FaaS平台更加精彩.ROLE内部结构简介Interconnect该部分主要是提供给用户四路DDR通道的访问和USER_PCIe对四路DDR通路的访问。 该模块帮助用户隔离了时钟域使用户逻辑在同一个时钟域上对4路DDR通道进行访问。Inter chip interconnect: FPGA 单卡双芯片间互联通路Card interconnect: FPGA 卡间互联通路Custom Logic用户自定义逻辑部分Custom Logic介绍用户逻辑是属于Role的一部分属于动态加载区域。 为了方便用户标准化使用我们在RTL设计中使用了标准的AXI-4和AXI-LITE接口。a hrefhttp://click.aliyun.com/m/50325/原文链接本文为云栖社区原创内容未经允许不得转载。