给CPU直接开挂!从OpenPOWER的CAPI+FPGA看第二代异构计算

异构计算,可能在很多人看来感觉高深莫测,我们可以先用一个比喻来简单的解释一下。比如在做简单的整数算数时,知道算法口诀的人,心算即可,但遇到比较复杂的算数问题时,就得需要一个计算器了。

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)的编/解码加速。

给CPU直接开挂!从OpenPOWER的CAPI+FPGA看第二代异构计算纠删码是应对降低海量分布式存储占用空间的常用手段,相对于传统的3复本冗余的存储模式(相当于3x容量占用),纠删码冗余的存储容量只相当于原数据量的1.4x,降低了超过50%的存储空间需求,但在大规模数据读写过程中,纠删码的实时编/解码运算对于服务器CPU来说将是一个比较大的占用,在分布式应用架构中,这意味着将影响应用本身的性能

给CPU直接开挂!从OpenPOWER的CAPI+FPGA看第二代异构计算通过Semptian NSA-120的加速,获得了明显的纠删码的性能提升,如果再多加一块Semptian NSA-120(双CPU配置时最多可插4块),性能还会加倍提高

给CPU直接开挂!从OpenPOWER的CAPI+FPGA看第二代异构计算为了进一步方便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数据平台更好的选择。

给CPU直接开挂!从OpenPOWER的CAPI+FPGA看第二代异构计算IBM基于支持CAPI+全闪存阵列而推出NoSQL数据加速引擎,配套全闪存阵列可以通过CAPI加速卡直接访问应用内存空间,大大降低了数据传输的延迟,非常有利于单笔数据访问量少,但IO密集的键值存储(KVS,Key-Value Store)平台

给CPU直接开挂!从OpenPOWER的CAPI+FPGA看第二代异构计算通过与非CAPI控制卡连接的性能相对比,可以看出由于CAPI连接不是传统的I/O驱动模式,而近似于CPU直联,所以在IOPS性能与延迟性能上较传统的PCIe控制卡有明显的提升,不过如果是大数据块传输,CAPI控制卡在总带宽上可能会有一定劣势,但到下一代CAPI这将不再是问题

来源:ZD至顶网服务器频道

0赞

好文章,需要你的鼓励

2015

09/10

13:37

分享

点赞

邮件订阅
白皮书