雷竞技注册
新闻

微软提出fpga辅助服务器在摩尔定律结束时获得速度

2016年11月07通过史蒂夫asrar

微软使用可编程芯片为机器学习、模式匹配等多种算法提供加速实现。

微软使用可编程芯片为机器学习、模式匹配等多种算法提供加速实现。

Doug汉堡他是微软的一名计算机芯片研究员,是第一个提出将fpga作为加速器来装备微软服务器的想法的人。他认为,在未来,互联网巨头将需要设计他们的软件和硬件,以满足未来复杂算法的需求。而世界上的硬件制造商也不打算生产微软所需要的产品。

ASIC、FPGA或通用芯片上的软件?

为了达到最佳速度,我们需要在专用芯片上实现功能。

在服务器中使用asic面临两个主要限制:首先,为了减少管理问题和拥有一致的平台,我们更喜欢数据中心的同质性。其次,数据中心服务发展极其迅速。例如,服务器需要应对AI算法的变化,这种变化一年可能会发生几十次。使用一种特殊用途的芯片是根本负担不起的每一个新问题。此外,由于构建一个专用集成电路需要几个月的时间,新芯片有时到上市时就会过时。因此,尽管asic的速度有所提高,但它们并不适合这些应用。

FPGA实现不如asic快;然而,与使用编程语言在通用处理器上实现函数的设计相比,它们仍然能够提供速度上的改进。因此,可采用fpga实现灵活的加速度数据中心所必需的。

项目弹射器

伯格提出了一个项目弹射器,它利用fpga的速度和灵活性来提高微软服务器的效率。尽管微软已经设计了超过40年的软件,但它没有工程师和工具来设计自己的服务器。这个项目起初并没有受到热烈欢迎;然而,汉堡和气路他最终说服了他们的老板开始开发Catapult。

项目弹射器,以快速和有效地实现AI算法。图片由微软

在实验证明基于fpga的数据中心可以将特定的机器学习算法加快40倍后,微软于2014年宣布为必应配备这项技术。

目前,必应利用可编程芯片在硬件(而非软件)上执行部分排名算法。在不久的将来,硬件将实现深度神经网络算法,以显著加快必应的搜索过程。因此,Bing将更快地返回更多相关的结果,因为它将考虑更多的资源。

虽然Catapult的成本低于服务器中使用的所有硬件的30%,而且它消耗的总能量不到10%,但它将数据处理速度提高了两倍。

所有的互联网巨头——谷歌、亚马逊、百度等等——都在某种程度上遵循着类似的方向:在他们的服务器上添加额外的芯片,这样他们就可以根据快速变化的算法调整他们的系统。

例如,谷歌利用asic的昂贵解决方案来提供更高的速度。谷歌的芯片张量的处理单元或者TPUs,牺牲灵活性来最小化神经网络算法的执行时间。然而,谷歌推出一种新的神经网络模型的那一天,该公司将需要制造一种新的芯片。

新技术缓解了摩尔定律的终结

所观察到的摩尔定律很长一段时间以来,我们一直享受着越来越快、越来越便宜的处理器。然而,在过去的十年中,我们见证了CPU性能的缓慢增长。这让从计算机制造商到数据中心经理的许多人感到沮丧。

为了避开这种趋势,微软的研究人员对渐进式的改进不感兴趣。他们在寻求彻底的改变。他们决定在FPGA上开发部分算法,并在通用CPU上获得一些速度改进。换句话说,他们将一些算法的计算负担从缓慢的通用CPU转移到快速的专用fpga。

由于fpga并不新鲜,人们通常低估了它的潜力。这就是为什么在Catapult项目之前,没有人认真考虑过大规模使用fpga进行云计算。Lu相信基于fpga的技术将使微软在2030年之前能够很好地扩展其处理能力。他指出,2030年之后,极有可能出现具有量子功能的超高速计算机。

fpga可惠及微软的其他服务

随着必应在2014年取得成功,微软后来决定在其云计算服务Azure和Office 365中采用类似的技术。每个服务都有不同的瓶颈和优先级。必应依靠这项技术来促进新的人工智能算法。Azure的严重问题是网络流量,因此,提出了一种改进版本的技术来路由数据。Office 365使用新方案来执行加密、解密和机器学习算法。

德里克邱他解释说,在前门使用fpga可以带来一个更快、更安全的网络。他进一步说明,当我们去银行取钱时,我们去出纳员那里,而不是经理那里。类似地,FPGA从主处理器中卸下了不必要的计算负担。

相信在未来,每一个新的微软服务器都会配备这种技术。

项目弹射器团队成员,从左起,Adrian Caulfield, Doug Burger, Andrew Putnam, Eric Chung和Sitaram Lanka。图片由微软

微软的技术对FPGA市场产生了重大影响。英特尔收购阿尔特拉去年夏天收购了167亿美元。该公司计划在许多应用中使用Altera fpga,如汽车、机器人、无人机等。

然而,黛安娜科比他指出FPGA市场的变化说服英特尔收购Altera。她相信世界上三分之一的服务器将很快使用fpga作为加速器。

有关如何在云计算中使用fpga作为加速器的详细说明,请参阅由微软研究团队发布。