以“新一代可编程计算机网络的发展和前沿”为题的2019年首期青创联盟线上研讨会本周四上午10点开始(长按下面二维码进入直播间或点击文章下方阅读原文)。为了让大家对本期研讨会的内容有一定的准备,本文将通过美国《Wired》杂志发表的微软可编程芯片项目(FPGA)的故事,介绍一下可编程芯片的前世今生。
微软可编程芯片项目(FPGA,现场可编程门阵列)名为Project Catapult ,于在2011 年6 月正式建立。一般说到可编程芯片,指的是硬件可编程。跟传统芯片依靠软件调整功能不同,可编程芯片是直接调整硬件,效率更高。
微软为什么会对FPGA 感兴趣呢?
答案是:顺应人工智能、机器学习等技术浪潮,以及更好地做云计算服务。
早在2010 年微软就用上了FPGA。当时,微软云应用部门的主管道格•伯格(Doug Burger)的团队设计了一款能在FPGA 上运行必应(Bing)机器学习算法的硬件方案,交给必应的部门负责人。
这件事情起初没有得到太多回应。道格的团队又花了几个月时间做了原型机,证明用他们的方案运行必应机器学习算法时,速度比原来快一百倍。
这个结果把必应的老大陆奇吸引过来。他给了道格•伯格资金和1600 多台服务器做更多的测试。硬件设备到位后被部署在微软园区内的一处用于试验的数据中心。
接下去的两年时间里,Catapult项目在微软内部的一系列测试表明,必应的决策树机器学习算法在FPGA 芯片上的运行时间比普通芯片快大约40 倍,性能提升了95%。后来,Catapult项目被部署在必应搜索引擎上,必应团队还打算用它来运行基于深度神经网络的新搜索算法。下为《Wired》杂志发表的文章原文翻译:
2012年12月的一天,道格•伯格(Doug Burger)站在微软首席执行官史蒂夫•鲍尔默(Steve Ballmer)面前,想向他描绘一幅互联网的未来发展蓝图。
道格是一名计算机芯片研究员,他于2008年加入微软。他想说服微软的高层,让他们接受他的“Project Catapult”(弹射器计划)。
道格•伯格
道格认为,互联网正朝着一个全新的方向发展。未来,一些互联网巨头会掌控绝大部分网络流量。他们掌控的资源既包括软件,也包括硬件。这些互联网公司的数据吞吐量会非常巨大,现有网络架构将不能够满足他们的需求。届时,这些公司不仅要开发全新的软件系统,更要打造全新的服务器、网络设备等硬件设备与软件配合。
Catapult项目将为微软数以百万计的服务器开发出专门定制的芯片,微软将可以根据自己的工作需求,对这些芯片进行针对性编程,进而开发出效率更高、功耗更低的软硬件综合体。
道格话还没说完,鲍尔默就忍不住发话了。鲍尔默说,我来微软研究院要听的是研发工作报告,不是夸夸其谈。“他开始审问我”伯格回忆道。这也不能怪鲍尔默,微软从事Windows系统、Word和Excel等PC软件开发已经40年,互联网领域也是刚开始涉足。微软没有足够的人力和物力去开发芯片,而且芯片开发是一个费时、费力、费钱,对微软来说也有点不务正业的行为。这就好像可口可乐公司要去卖可乐鸡翅。
Catapult项目的原型硬件
如今的Catapult
对于老板的质疑,道格并没有被吓倒。他镇静的分析道,谷歌和亚马逊已经开始了相应的研究。世界上没有哪家硬件公司能为微软的线上服务规模生产硬件。微软要想在未来的竞争中不落人后,就只能自己打造硬件。可惜鲍尔默并未接受这些观点。
就在此时,有人加入了讨论,这个人就是微软必应搜索引擎部门的负责人陆奇。他说,他的团队已经和道格就可编程芯片讨论了两年,道格的计划是有可能实现的。“我的团队已经开始做了”陆奇说。
如今,被道格和陆奇寄予厚望,认为将改变世界的可编程芯片已经问世,它的名字叫“现场可编程逻辑门阵列”(FPGA)。FPGA项目已经被部署在必应搜索引擎上,必应团队还打算用它来运行基于深度神经网络的人工智能搜索算法。与普通计算机芯片相比,FPGA运行人工智能的速度将快出几个数量级。
例如,过去需要等待4秒才能等到的搜索结果,现在只要23毫秒。此外,FPGA还驱动着微软的云计算服务Azure。未来几年里,微软每台新增的服务器里都装备了FPGA。在全球范围内,这样的机器将多达数百万台。“这赋予了我们强大的运算能力和巨大的灵活性,还有可观的经济效益。”道格说,“全球互联网架构都将遵循微软的标准。”
Catapult项目团队成员:阿德里安•考尔菲尔德(Adrian Caulfield)、张益肇、道格•伯格和安德鲁•普特南
这个项目已经超越了必应搜索追赶谷歌搜索的范畴。事实上,Catapult项目代表着一种趋势——未来全球网络系统的运行方式将发生改变。从美国的亚马逊到中国的百度,所有的互联网巨头都在以自制芯片助力标准的服务器芯片,希望以此跟上人工智能的发展脚步。
如今,为了运行其庞大的线上服务帝国,微软每年要在硬件上花费五六十亿美元。所以,这方面的工作“不再仅仅是研究”。2014年接任微软CEO的萨蒂亚•纳德拉(Satya Nadella)说,“它根本上已经成为首要事项。”这正是道格2012年在会议上想要阐述的事情,也正是它推动着伯格和他的团队克服重重困难最终打造出全球超级计算机。
一款古老又崭新的计算机芯片
2010年12月,微软研究员安德鲁•普特南(Andrew Putnam)回到家乡科罗拉多州休假。再过两天就是圣诞节了,但他还没来得及去置办年货。就在他开车去商场的时候,电话响了。电话那头是他的领导道格。道格打算节后和必应的高管碰面,他需要一款硬件设计方案,让必应的机器学习算法可以在FPGA之上运行。
于是,安德鲁一头钻进了路边的咖啡馆,花了大约5个小时起草设计方案。道格和安德鲁都是科学家出身。道格在得克萨斯州大学奥斯汀分校做过九年计算机教授,他的研究方向是微处理器,并在任教期间设计出了一种名为EDGE的新型芯片。
安德鲁在华盛顿大学做过五年研究员,在那里从事FPGA相关研究。这种可编程芯片问世已有数十年,但大多用来制作其他处理器的原型。2009年,道格介绍安德鲁加入微软,他们开始一起探索把FPGA用于助力网络服务。
Catapult项目的第一版硬件,道格的团队在微软西雅图园区的一个数据中心对它进行了测试
但他们的领导对FGPA概念却并不买账。“每两年就会有人跟我说一次,FGPA时代‘终于要来了’。”微软研究院副总裁、道格团队的直属上司彼得•李(Peter Lee)说,“所以,当他们向我展示这个想法时,我和任何有理智的人一样,颇为不屑。”不过伯格团队认为,FGPA的时代终将来临,而必应的搜索引擎是绝佳的应用方案。
微软的搜索引擎是一个依托数千台服务器运行的线上服务产品,每台服务器都由一部中央处理器(CPU)驱动。然而,尽管英特尔等芯片厂商在不断改进CPU,但这些芯片已经跟不上软件的发展脚步,这主要是因为人工智能的出现。必应搜索之类的服务已经超越了摩尔定律的范畴。摩尔定律是指在价格不变的基础上,每隔18个月芯片的性能增长一倍。但人们又不能依靠增加芯片数量来满足摩尔定律的要求。
另一方面,研发和生产定制化的CPU成本是非常昂贵的。FPGA为解决这一难题提供了极佳的解决方案:一方面它们能够让工程师打造出速度更快、功耗更低的芯片;另一方面可编程芯片是可定制的,这样它们就能应对层出不穷的新技术和新商业模式带来的挑战。
圣诞节后不久,道格就向必应搜索引擎团队的高管们展示,FPGA能够成为一种加快搜索速度的低能耗方案。对此,高管们并未明确表态。于是在接下来的几个月里,道格及其团队按照安德鲁的设计方案,制造了一款芯片原型,以此证明可编程芯片可以提高必应机器学习算法的运行速度大约100倍。“就在那个时候,他们开始产生兴趣。”吉姆•拉鲁斯(Jim Larus)说,“但随后,他们开始给我们出难题了。”吉姆当时是该团队的一员,如今在瑞士洛桑联邦理工学院担任院长。
原型产品是一个装有六个FPGA的盒子,它由一整个机架的服务器共享使用。如果盒子出现故障,或者服务器需要六个以上的FPGA,所有的机器就都无法工作了。必应的工程师非常讨厌发生这种情况。“但他们是对的。”吉姆说。
于是,道格的团队又花了好几个月时间打造第二款原型产品。这一次是一块可以插入服务器的电路板,上面只有一个FPGA。不过,所有服务器上的FPGA可以相互连接,形成一个巨大的可编程芯片池,从而让必应的任何一台服务器都可以接入使用。
正是这个原型产品让伯格获得了陆奇的支持。他向道格提供了资金,让他可以在1600多台服务器上装备FPGA并进行测试。在中国制造商的帮助下,伯格团队用六个月时间打造出了硬件。然后,他们在微软园区的一处实验数据中心对首批机架进行了安装部署。可就在一天晚上,数据中心的灭火系统意外启动。他们花了三天时间进行恢复,所幸,系统正常运行了。
测试显示,2013年到2014年的数月间,使用新芯片后,必应“决策树”机器学习算法的运行速度大约提高了40倍。2014年夏天,微软公开表示,将很快在真正的必应数据中心使用该硬件。但之后,微软却叫停了这个项目。
不仅仅为必应服务
前几年,必应还是微软在线业务的主要组成部分,但到2015年时,微软已拥有另外两项规模庞大的在线业务:商业生产力套件Office 365以及云计算服务Azure。同所有竞争对手一样,微软高管意识到,运营一个不断增长的线上商业帝国,唯一高效的方式是在同一个基础上运营所有的服务。如果Catapult项目要改变微软,就不能只用于必应,它必须能够对Azure和Office 365提供支持才行。
但问题在于,Azure的高管并不在乎提高机器学习的速度,他们需要的是网络系统方面的帮助。在Azure的数据中心之间,往来传输的数据流量增长迅猛,这项服务使用的CPU已经跟不上节奏。最终,包括Azure首席架构师马克•拉希诺维奇(Mark Russinovich)在内的一些人意识到,Catapult项目也能在这方面提供帮助,只是帮助方式不同于它在必应中的运用。马克的团队需要在每台服务器与主网络的连接之处使用可编程芯片。这样,他们就可以在所有流量到达服务器之前完成处理。
FPGA架构的第一版原型是由一整个机架服务器共享使用的单个盒子(Version 0)。之后,团队给每台服务器配备了各自的FPGA(Version 1)。再后来,他们把芯片安装在服务器和整体网络之间(Version 2)
因此,FPGA团队不得不再次重新设计硬件。在第三版原型产品中,芯片将被置于每台服务器的终端,并直接连接到网络,同时仍可以形成一个任何机器都能接入使用的FPGA池。看上去,这样的设计似乎能够用于Office 365。Project项目终于准备正式上线。
“这是一种全然不同的看待世界和思考世界的方式。”吉姆说。Catapult项目硬件的成本仅占服务器其他部件总成本的不到30%,消耗的能量也少于整体的10%,但却能将数据处理速度提高一倍。
Catapult项目的部署规模是巨大的。Azure使用这些可编程芯片来传输、加密和压缩数据。至于必应,这些芯片正推进它向新的人工智能技术迁移,即深度神经网络。据一位微软员工称,Office 365将逐渐使用FPGA进行加密、压缩以及机器学习,此举将惠及2310万用户。道格指出,这些芯片最终将驱动微软的所有服务。
这真能做成吗?
“我们在推动公司做这件事,想想还是有些不可思议。”彼得•李说。他在微软研究院内部掌管着一个名为NeXT的组织,其名称的含义是“新体验和新技术”。这个组织是纳德拉出任首席执行官之后,亲自推动成立的,它代表着微软的一个重大转变。NeXT致力于促成那些很快能出成果的研究,它们要能在短期内改变微软的发展进程,而不是等到几年之后,就比如Hololens增强现实头戴设备,还有Catapult项目。道格说,“未来的飞跃来自非CPU技术。”
彼得•李
目前,包括微软在内的所有互联网巨头都在使用图形处理器(GPU)对CPU提供补充,前者是一种为游戏和其他视觉化应用程序呈现图像的芯片。举例来说,当这些公司使用数百万张照片来训练自己的神经网络识别面孔时,大部分的计算工作都是由GPU完成的。训练完成后,微软等公司还会使用其他类型的芯片运行自己的神经网络。尽管定制芯片的成本极其高昂,但谷歌却不惜花费,自主设计了运行神经网络的处理器:张量处理器(TPU)。
在TPU问题上,谷歌是牺牲了长期的灵活性来换取了速度的提升。比方说,当用户向智能手机发出语音指令时,谷歌希望消除识别过程中的任何延迟现象。这样做的问题在于,如果神经网络模型发生改变,谷歌必须开发出一款新的芯片。但如果使用FPGA,微软就省去了开发新型芯片的麻烦。虽然FPGA的速度比不上谷歌的定制芯片,但微软可以在需求发生变化时,对芯片进行重新编程。这种重新编程的方式不仅适用于新的人工智能模型,也适用于几乎任何领域。如果某一种设计有望在未来几年发挥重要作用,微软就可以一直利用FPGA编程,打造出一款专用芯片。
Catapult项目的新版硬件(V2),这是一块可以插入微软服务器终端的电路板,它可以直接连接到整体网络
微软提供的服务是如此广泛,它们使用的FPGA又是如此之多,在这种情况下,全球芯片市场都将因此发生改变。这些FPGA来自一家名为Altera的公司,英特尔副总裁黛安•布莱恩特(Diane Bryant)说,他们去年之所以收购Altera,其中的原因正是微软。这笔交易价值167亿美元,是英特尔有史以来进行的最大收购。她说,到2020年,所有大型云计算公司的全部服务器中,将有三分之一装备FPGA。
CPU、GPU、TPU,还有FPGA,这些名词让人有点犯晕,但它们的潜在含义才是最重要的。眼下,微软、谷歌、亚马逊等公司正通过云计算,为世界上的许多技术提供驱动力,而这些新型芯片将为更广泛的应用程序和在线服务提供动力。彼得•李表示,凭借Catapult项目,微软将继续扩展其全球超级计算机的能力,直至2030年。他说,在那之后,微软将转向量子计算领域。
想想如今,研制量子计算机的难度是何等之大,那看起来就像是一个遥不可及的梦。但几年前,Catapult项目不也是一样吗?
第七期青创联盟线上研讨会
2019年1月10日 10:00-11:00
线上观众征集!
活动议程:
1.主旨报告——20分钟
2.讨论&问答环节——35分钟
嘉宾阵容:
主讲:金鑫,约翰霍普金斯大学计算机系助理教授
主持:陈凯,香港科技大学计算机科学与工程系副教授
讨论嘉宾:
黄群,中科院计算所先进计算机系统研究中心副研究员
李柏晴,香港中文大学副教授
李丹,清华大学副教授
报名方式
1. 加入微信群,扫以下二维码,添加未来论坛小助手,请标注姓名和单位,申请加入YOSIA Webinar微信群。
2. 加入QQ群,搜索群号:206523081,申请加入“未来论坛青年科学家”QQ群,请备注姓名-单位(没有备注无法通过)。每期 Webinar 预告和直播间地址将在群里发布。
YOSIA Webinar 旨在促进交叉学科的深度学术交流,探讨科研尖端问题,期望通过启发跨学科、跨领域合作,为学术研究带来新思维角度。YOSIA Webinar邀请学术造诣深厚的联盟成员分享其研究领域专业知识,提出对跨学科的需求和思考,在讨论环节带动交叉学科科研人员深度思考、碰撞激发,推动跨学科合作。
未来论坛青年科学家创新联盟 简称“青创联盟”,为全球优秀的华人青年科学家提供学术探讨与思想交流的平台,在跨界碰撞中畅想未来,在交叉合作中孕育新思想,以共同推动跨界前沿科学的进步,从而发掘科研界的未来世界级领袖。 青创联盟成员可以在未来论坛平台上开展学术分享、科普宣传和科技成果转化。
内容来源:
1.美国《Wired》杂志,原标题:MICROSOFT BETS ITS FUTURE ON A REPROGRAMMABLE COMPUTER CHIP,原文链接:https://www.wired.com/2016/09/microsoft-bets-future-chip-reprogram-fly/。
2.造就,原标题:微软可编程芯片诞生记:从遭受白眼到改变世界,原文链接:https://www.zaojiu.com/talks/815,翻译:何无鱼,来源:Wired。
3.好奇心日报,原标题:微软说:他们未来的重要计划是……可编程芯片,原文链接:http://www.qdaily.com/articles/32672.html。