「跨越内存墙,走向可编程世界」(Across the memory wall and reach a fully programmable world.)
参考文献:
[1] Large-Scale Reconfigurable Computing in a Microsoft Datacenter https://www.microsoft.com/en-us/research/wp-content/uploads/2014/06/HC26.12.520-Recon-Fabric-Pulnam-Microsoft-Catapult.pdf
[2] A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services, ISCA'14 https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/Catapult_ISCA_2014.pdf
[3] Microsoft Has a Whole New Kind of Computer Chip—and It’ll Change Everything
[4] A Cloud-Scale Acceleration Architecture, MICRO'16 https://www.microsoft.com/en-us/research/wp-content/uploads/2016/10/Cloud-Scale-Acceleration-Architecture.pdf
[5] ClickNP: Highly Flexible and High-performance Network Processing with Reconfigurable Hardware - Microsoft Research
[6] Daniel Firestone, SmartNIC: Accelerating Azure's Network with. FPGAs on OCS servers.
作者: eason320hk 时间: 2018-4-12 10:59
自己的领域答一下,微软的这篇论文前两天我刚刚看过。
这条新闻是真的。这个项目已经做出来了,并且这篇论文将会出现在2014年的ISCA上。ISCA是计算机架构领域的顶级会议。文章题目叫 “A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services”。现在ISCA还没开,所以论文在ACM上搜不到,过几周应该能搜到了。
通常情况下,用FPGA实现的算法速度可以比CPU快100倍。所以文章里说FPGA处理Bing算法的速度比CPU快40倍也是可信的。最后整个系统级的性能是:在保持latency不变的情况下,吞吐量增加了一倍,在保持吞吐量不变的情况下,latency减小了。整个系统的功耗没有明显增加。
技术难度在于软件硬件接口的设计和整合。FPGA的开发代价是远高于CPU的,所以架构要有一定的灵活,要可以和软件系统简单可靠地接合。另一个难点是系统的可靠性。1600多块FPGA链接在一起,是很容易出现错误(errors, failing hardware, reboots, software updating)。所以如何及时探测错误,如何处理错误,如何保持整个系统的稳定性需要做很多的工作。
算法改造并不是难点。因为考虑到和现有系统的匹配,他们完完全全就是照搬的Bing的软件算法(完全没有一点改动)。
这个工作算是把FPGA应用在数据中心的一个尝试。不只是微软,Amazon,google也参与了这个工作。我相信未来FPGA一定会应用在数据中心。不过现在来看FPGA的开发难度还是太高了点。希望High level synthesize能够让FPGA的开发简化。作者: keajoo 时间: 2018-4-12 10:59
问题好快!我也刚看到这则新闻。
可信度没问题,微软一直有一支reconfigrable computing部门,发过不少好文章。去年葡萄牙的FPL2013会议(FPGA领域顶级会议)上keynote4,微软的人做了题为“Reconfigurable Hardware at the World’s Largest Software Company
”的报告。不过可能出于保密当时没有过多介绍有价值的信息。反而keynote3,来自Google的“Accelerating the datacenter”提供了一些思路。