作者 唐杰
记得IBM 100年的时候,蓝色巨人的口号是”From Zero to Hero”,现在看来,蓝色巨人的确是Hero相,坚决退出了X86的业务,因为是众所周知的原因。在系统级别,开放了自己的Power 系统。
这个力度之大,可以从Github上的资源https://github.com/open-power 看到,对比之下, Oracle的OpenSparc真心是在捣糨糊。
CAPI(Coherent Accelerator Processor Interface)的定义在这里:【1】
- 高速的处理器的扩展BUS 标准
- 底层基于PCIE的物理层,使用G3 X16
- 用于直接连接CPU和外置的各种加速器,包含GPU,ASIC和FPGA
-
低延时,高带宽
这个标准在2014定义,和IBM的OpenPower8 一起被发布。使用CAPI接口,在CPU和AFU之间使用相同的内存地址空间, 因此在CPU的主存和AFU的内存搬运数据就少了地址转换和刷cache的操作,因此可以做到低延时。在普通的PCIE设备和CPU的交互中,一个transaction需要20,000CPU指令周期,而CAPI可以减少到500个周期。
基于CAPI的各种加速方案,在2016年的OpenPower Summit有展示【2】:
在IBM的Powr 9上,IBM推出了OpenCAPI,也就是CAPI3.0. 主要的变化就是使用Bluelink 25GI/O替代了PCIE,同时OpenCAPI不需要PSL (power service layer)了,因为使用自己的协议。
整体上的变化不大,但是IBM更加明确了OpenCAPI 关注的应用:
- 加速器,这个容易理解,就是各种传统的FPGA和ASIC。
- 一致性的网络控制器, 这个有点意思,使用一个虚拟地址来减低网卡和CPU之间传输的延时。
- 高级内存:IBM是研究SCM的祖宗,这个不意外。
- 一致性的存储控制:这个是什么鬼,可能需要细节了。
对于这四个方向,希望大家在看的时候不要认为是IBM自己的事,要看到IBM Power9的主要客户Google的研发方向。
结束语:
2016年的10月的确比较热闹,大家都在抢占数据中心,因为2009年的Google的一本书《The Data Center as a computer》【3】。对于以上的各种标准,祝大家好运吧。
- https://en.wikipedia.org/wiki/Coherent_Accelerator_Processor_Interface
- https://www-304.ibm.com/webapp/set2/sas/f/capi/CAPI_POWER8.pdf
- https://book.douban.com/subject/4665320/