OpenPOWER CAPI+FPGA应用实战
借助于OpenPOWER联盟,很多厂商都投入到了CAPI+FPGA的加速卡设计中,中国的恒扬科技(Semptian)即是其中之一,其最新推出的Semptian NSA-120是一款基于XILINX Kintex UltraScale FPGA的CAPI PCIe板卡,采用PCIE x8 Gen3 接口规格,支持两路DDR3 1600 SODIMM(容量为2x8GB),而首先投入的AFU,是针对大数据存储中常用的纠删码(Erasure Code)的编/解码加速。
纠删码是应对降低海量分布式存储占用空间的常用手段,相对于传统的3复本冗余的存储模式(相当于3x容量占用),纠删码冗余的存储容量只相当于原数据量的1.4x,降低了超过50%的存储空间需求,但在大规模数据读写过程中,纠删码的实时编/解码运算对于服务器CPU来说将是一个比较大的占用,在分布式应用架构中,这意味着将影响应用本身的性能
通过Semptian NSA-120的加速,获得了明显的纠删码的性能提升,如果再多加一块Semptian NSA-120(双CPU配置时最多可插4块),性能还会加倍提高
为了进一步方便ISV与AFU的开发者,恒扬科技专门提供了NPL(NSA Platform Layer),即FPGA基础平台,帮助AFU开发者硬件无感知的开发AFU算法单元
根据恒扬科技大数据采集与分析产品经理张军的介绍,目前FPGA的编程环境已经有了很大的改善,这其中OpenCL开发平台的发展起到了重要的推进作用。虽然现在仍然很初级,但对于传统的应用开发者来说,借助OpenCL开放的标准化平台,已经可以相对较为容易的上手,而在底层编程部分,仍然会通过FPGA厂商的专用工具进行HDL编译,再写入FPGA。此外,FPGA厂商也在像NVIDIA那样,提供自己的集成开发环境(IDE),它的作用相当于CUDA之于GPGPU,为开发者提供更完整的工具包,加速FPGA的编程。比如赛灵思的 SDAccel开发环境,就可为赛灵思的FPGA加速OpenCL、C和C++内核的开发与部署。相应的CAPI-FPGA加速卡厂商,也会提供底层平台,方便开发者基于自己的板卡进行AFU开发。比如恒扬科技就提供了NPL和相关的SDK,可以让开发者专心于AFU的算法实现。
另一个典型的CAPI加速实例则是外置存储加速,IBM基于CAPI控制卡+自己的FlashSystem全闪存阵列,提供了一套NoSQL数据引擎,由于CAPI将传统的PCIe控制卡的I/O开销省去,大大降低了系统延迟,成为KVS数据平台更好的选择。
IBM基于支持CAPI+全闪存阵列而推出NoSQL数据加速引擎,配套全闪存阵列可以通过CAPI加速卡直接访问应用内存空间,大大降低了数据传输的延迟,非常有利于单笔数据访问量少,但IO密集的键值存储(KVS,Key-Value Store)平台
通过与非CAPI控制卡连接的性能相对比,可以看出由于CAPI连接不是传统的I/O驱动模式,而近似于CPU直联,所以在IOPS性能与延迟性能上较传统的PCIe控制卡有明显的提升,不过如果是大数据块传输,CAPI控制卡在总带宽上可能会有一定劣势,但到下一代CAPI这将不再是问题
好文章,需要你的鼓励
临近年底,苹果公布了2024年App Store热门应用和游戏榜单,Temu再次成为美国下载量最多的免费应用。
云基础设施市场现在已经非常庞大,很难再有大的变化。但是,因为人们可以轻松地关闭服务器、存储和网络——就像开启它们那样,预测全球云基础设施开支可能非常困难。