据美国科技网站PCWorld 8月12日报道,微软于12日宣布了一种全新的名为“Catapult”的构件,它可大幅提升微软旗下搜索引擎必应(Bing)的搜索性能,其内置有一个专门的可重复编程芯片。据称微软准备在2015年将这一技术应用到自家所有数据中心。无独有偶,中国最大的搜索引擎百度也宣布了相似的消息。百度在加利福尼亚州库比蒂诺召开的Hot Chips学术大会上递交了论文,该大会致力于分享微处理器及其相关技术方面所取得的成果。
如今,图形芯片被认为是个人电脑和游戏机的重要组成部分,正如几年前,音频加速器也被人们认为是必不可少的。这些芯片各司其职、效率极高,共同为我们的电脑服务。还有一类芯片,也就是我们常说的微处理器,如英特尔的酷睿处理器、AMD的A系列APU(加速处理单元)和ARM的Cortex处理器,它们属于通用芯片,这意味着它们能够胜任各种复杂任务。
资料图
FPGAs(现场可编程门阵列)的定位恰好位于两者之间,比起专一功能的芯片,它在更低的性能条件下,具有一定的可编程性。微软的高级研究设计工程师Andrew Putnam说,最初的想法是用FPGAs让老旧服务器重获新生,同时“增加服务器的灵活性”。用他的话来说,“一旦数据中心采购了一台服务器,这台服务器往往得工作到寿终正寝。”
灵活性对于软件算法的提升至关重要,搜索算法就是一个典型的例子,搜索算法本身需要不断地微调和优化。Andrew Putnam说,随着时间的推移,固定功能的服务器加速器效率会变得越来越低,浪费空间和电力。
Andrew Putnam的团队曾尝试使用6台赛灵思公司(Xilinx)的FPGAs,但最终放弃。因为这会使服务器的设计复杂化、易产生单点故障以及散热过大,这些问题让支撑Bing和微软云服务的数据中心的管理者颇为不安。于是微软转向了“Catapult”, 其内置Altera Stratix V G5 D5,拥有8GB内存、32MB闪存和PCI Gen 3 x8通路。
Catapult会出现在微软的开放式服务器中,“开源计算”(Open Compute Project) 这一想法最早由Facebook提出并发扬光大,该项目旨在为面向运行互联网服务的高效节能计算机提供技术参数和设计信息,并将其进行共享,从而通过共享设计参数来促进专业服务器的有效性和需求。这也就意味着,戴尔、惠普这些硬件供应商将无法再继续完全掌控服务器产品的设计流程。微软的服务器拥有两个主频为2.1GHz的8核因特尔至强(Xeon)处理器,一个64GB DRAM(动态随机存取存储器 ),4个2TB硬盘及两个512GB SSD。微软将一块FPGA芯片插入到每台服务器中,同时将服务器又插入到半机架(48台服务器)中。FPGA芯片通过6x8的圆环形网络中的电缆相连。
微软随后扩大了FPGA芯片的试验范围,对数据中心的1632个服务器进行了试验。Andrew Putnam说,微软发现了FPGA芯片提高了Bing的搜索性能。Bing的搜索处理量提升了一倍,搜索时间缩短了29%,随之而来的好处是微软的服务器数量可以削减一半。
Andrew Putnam说道,这个测试非常成功,将在2105年覆盖所有的Bing服务器。目前所面临的挑战是继续挖掘FPGA技术的其它应用场景。
让我们再来看看中国的搜索巨头百度。百度在中国有数万个服务器,它也采用了FPGAs来提升深度神经网络(Deep Neural Networks)的性能,这种算法涵盖了传统搜索、语音识别乃至图片搜索和识别。百度使用搭载了赛灵思公司(Xilinx) K7 480t-2l FPGA芯片的主板,可以在任何类型的IU和2U服务器上实现拔插。在不同的工作负载下,FPGA比CPU和GPU的效率都要高出好几倍。
从用户的角度出发,他们关心的是必应(Bing)和百度搜索服务的质量。目前Bing和百度都致力于提升自家搜索算法的效率和性能,这对广大用户来说无疑是个好消息。(实习编译:陶崔未 审稿:陈薇)