这个套件让Power8服务器硬件加速更简单

作者:haoxingheng

在CAPI规范问世之前,使用FPGA来做硬件加速的过程很费劲。它是把FPGA做到一块PCIe板卡里,FPGA通过CPU的PCIe控制器访问主机内存空间。因为所有的CPU线程看到的都是单一虚拟地址空间,CPU不能直接访问PCIe的地址,要先做物理地址映射;反之CPU的物理地址也需要映射到PCIe地址空间。PCIe板卡和处理器之间交互执行路径长而且全程软件参与,同时为了保证Cache一致性,也需要软件做映射。这种处理方式做了太多的工作,开销很大,这样就需要寻求其他的技术来解决,CAPI规范便应运而生。

那么,这里以最快的速度简单的描述下 OpenPOWER CAPI 规范是什么:它提供了一种加速卡和CPU间内存、存储一致性连接的方式,加速卡计算资源和CPU间不再需要CPU线程参与搬运数据。

CAPI体系(图片来自IBM)

CAPI体系(图片引用自“大话存储”公众号)

这个体系里面有三个重要角色:AFU是主加速逻辑,由用户构建;PSL给AFU提供存储器接口和地址翻译(和CPU侧使用相同页表),并提供Cache,由IBM以硬核形式提供;CAPP相当于FPGA侧的ccAgent,但被放到了CPU侧。

这种架构的主要好处是:

①更加高效。CAPP加速器通过低延时的通信通道实现和CPU线程对等的方式锁定内存,比传统的处理器到加速器间复杂的协议转换更高效。

②更经济。服务费根据每个核的使用情况产生,客户更倾向于使用在更少的CPU上使用更少的线程,CAPI允许不使用CPU线程搬运数据。

以上的背景描述有助于解释为什么 BittWare发布包含Xilinx基于Virtex UltraScale VU095 FPGA的XUSP3S加速卡的CAPI开发套件是一个大事件。这个开发套件为 Xilinx UltraScale FPGA 和CAPI IBM POWER8系统间提供了更快更有效的连接方式。开发套件包括FPGA加速卡、IBM Power服务层(PSL)IP核、CAPI Host支持库以及一个CAPI设计实例。

获取关于XUSP3S PCIE网络卡的更多信息请访问: https://forums.xilinx.com/t5/Xcell-Daily-Blog/BittWare-s-XUSP3S-PCIe-Net...

声明:本文为原创文章,转载需注明作者、出处及原文链接,谢谢!