- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
IBM:牵手赛灵思,未来服务器会“少,快,好,省”
FPGA:让服务器"少,快,好,省"
在大数据膨胀的背景下,数据中心运维人员采用易于编程的多核CPU和GPU来开发应用,但CPU和GPU都遇到了单位功耗性能的瓶颈,此时异构计算的优势突显。赛灵思亚太区通信和数据中心业务拓展高级经理梁晓明介绍,"基本计算形式是在CPU旁边增加一个FPGA加速卡,它针对Workload设计一段硬件程序,基于FPGA的应用加速相比CPU/GPU实现方案,单位功耗性能可提升25倍,而时延则缩短了50到75倍,与此同时还能实现出色的I/O集成(PCIe、DDR4SDRAM接口、高速以太网等)。具体来说,FPGA加速卡不管作为软件的一部分提供给客户,或者是作为数据中心里面1/2、1/3普遍需要附带的一个附加键,外部形式不变,这张卡会随着软件产品、系统服务交给最终用户,它的功能用户可以去定义,也可以在后续的软件运行过程中去重新更改它的属性,更改它的处理能力。FPGA加速卡的功耗不等,功耗小的是20瓦、25瓦,功耗大的是75瓦。对比CPU和GPU单元,有的CPU功耗是145瓦,有的是100多瓦,GPU功耗可达200-300瓦;在计价形式方面,对用户部署供电环境的要求简单,用户不需要为了插4个GPU卡重新定义10千瓦的定价;在处理能力方面,典型性能可以做到5000个DSP,在压缩方面应用广泛;另外,FPGA加速卡配置了存储器,这是自给体系的小系统,业界也有合作伙伴直接把PFGA加速卡变成服务器的标准主件提供给客户。"
根据以上特点可以看出,FPGA加速卡与CUP的协同合作可以使得未来服务器满足"少,快,好,省"的特点,服务器数量减少,运行速度加快,用户体验变好,功耗大大降低,帮助用户节省费用。
FPGA工作人员展示FPGA芯片技术
赛灵思FPGA加速卡更多详细介绍,请参照:软件工程也能跨界玩转FPGA。
CAPI:连通CPU和FPGA的桥梁
CPU与FPGA联手的结局固然很美好,但是他们的接口想实现互通却很复杂,CAPI就是为了解决这一问题而出现,它可以拉近硬件加速和应用软件之间的距离。CAPI怎么帮助用户简化流程?IBM中国研究院资深研究员陈飞指出,"传统上,如果我们想使用FPGA对一个应用进行加速,首先要做的事情就是软件人员和硬件人员坐下来一起对这个应用进行分析,原因是硬件人员往往不了解软件,而软件人员也并不清楚硬件能够帮他们做什么。当他们决定使用FPGA对他们的软件进行加速之后,接下来一个问题就是怎么切分软硬件之间的接口。这其实并不容易,如果切分不好,最后性能往往达不到预期。经过软硬件接口的切分之后,有可能会对数据结构进行改变,因为如果数据不进行改变,放到FPGA上面有可能运行的效率也不高,所以这也是一个技术活。随后是开发环境的搭建,大概需要半个月或者一个月。当开发环境搭建好以后,软件人员和硬件人员需要紧密合作,随时交互,对数据结构进行改变,然后放在FPGA上进行计算,最后才能放在生产环境上面进行部署。"
陈飞补充,"由于FPGA以I/O设备的形式存在于系统上面,它不能直接被应用程序调度,它需要一个内核程序来替它做中间传输。如果用户程序有一些数据要交给加速器运算的话,它首先需要把数据拷贝到内核程序帮他们开辟的一个缓冲空间里,然后才能被硬件上的DMA引擎进行读取。内存环境分配的缓冲大小是非常有限的,相对于用户程序数据的大小可能只是它的1%,只有缓冲上面的引擎被DMA引擎读走了之后才能往这上面写,这必须由用户数据控制。同时这个结果从加速器上面进行反馈的时候也是一样的,它会先写到内核分配的缓冲,然后再从缓冲里面读取出来,刷新到它的目标内存上去。这一过程需要我们更改用户的程序执行这一过程。由此可见这一工作模式的局限性,对于FPGA硬件,传统的I/O设备只能访问物理地址空间,所以用户需要内核程序,这既是软件工作人员的工作量,也会给执行中带来性能的额外开销。同时由于内核分配缓冲的大小是有限的,我们需要更改用户程序,这又增加了额外的工作量,因此软件团队对硬件的引入会有某种程度上的抗拒。有过开发经验的人会知道即使是数据搬移到了FPGA,数据的存储格式在软件存储上和硬件存储上往往都需要做出调整,比如:在软件里面我们常用各种指针、链表这样的数据格式来存储数据,但是FPGA是不认识这些格式,所以为了让FPGA能处理这些数据,必须要对这些数据进行一些预处理。当然不是所有的应用程序都需要这么做,只是说通用的框计下面我们需要做这么多的事情,CAPI就是试图去简化这样的流程。"
陈飞强调,"CAPI是FPGA与CPU互联的一种方式,它的连接与CPU和内存之间的连接从模式上是一样的,它们都遵守着catch存储的一致性原则。我们需要做的事情就是在FPGA里面嵌入一个模块,包含在我们的开发套件里面,使用这个模块,用户去开发用户自定义的加速器,对里面的应用程序进行加速,CAPI首先保证高性能地正确地读取到你想要的数据,其次它使用虚拟地址,也就意味着软件所有的数据在FPGA硬件上面都可以用,它还有丰富的硬件同步机制,帮助软件硬件的同步,不需要写很多的软件代码就能实现软硬件之间的同步。由于这种特征的存在,使用CAPI的话编程模型会比传统更简单。在传统的FPGA加速模式下,有可能要把所有的数据都加载到FPGA上面,它一边计算一边对数据进行过滤,FPGA和系统的带宽就会出现瓶颈。但是使用CAPI,它可以按需访问用户的数据,先取出一部分数据来进行计算之后,再决定下一步加载什么样的数据,这样的话也可以减轻FPGA板卡和已有系统之间带宽的压力。"
全部开源:让联盟成员都参与进来
开源是目前用户非常欢迎的一种技术分享形式,而针对OpenPOWER,IBM也采用了开源的做法,这种开源还是完全的开源,IBM大中华区科技战略合作总经理姜锡岫表示,"两年前,OpenPOWER成立时我们只有六个联盟成员,今天已超过150家,我们希望通过互动合作,相互协同,包括不同技术的交换创新,做有特色的品牌。我们希望通过OpenPOWER,跟不同生态圈的朋友提供很好的解决方案给到最终用户。未来几年在IT行业里,我们会在中国市场上更好地支持本地企业,从成立这个部门以来,从芯片、服务器、软件都做了不同程度的开放,我们希望能够在中国产出技术可控的本地产品,希望通过开放的合作带来很多本地的解决方案,包括我们的服务器、整个IT行业所需要的重要关键软件。另外,我们技术合作的概念不是把技术开放,而是希望通过合作培育人才,把我们的成果共享。我们去年跟苏州中晟宏芯合作,把POWER源代码做了第二次授权,整个芯片有900多万的RTL代码,42亿个二级管电路,22纳米制造工艺。下一代CB2将全面开放POWER芯片技术,让所有中国IT产业同仁可以享受到开放的好处。我们承诺协助建立中国本土产业链,从CPU开始是中国制造,到服务器也是,去年已经跟无锡中太做了第一台RedPOWER服务器。"
Bruce Wile指出,"我们会有更多的合作伙伴,比如中太数据提供服务器,NVIDIA提供GPU,赛灵思提供FPGA芯片,恒扬提供FPGA板卡解决方案,还有Ubuntu提供操作系统解决方案,三星提供的存储解决方案,我们希望是以一个合作伙伴的形式,向更多的企业提供应用,提供服务。"
原创内容,谢绝转载!
更多相关内容,请参照:服务器专区。
上一篇:太思科技联手欧洲业者JOIN推出“单一费率畅游欧洲39国”预付套餐
下一篇:大跌眼镜,iPhone里的调制解调器居然这么弱!