置身事内:腾讯的造芯之路

互联网2022-06-08 09:20:20未知

置身事内:腾讯的造芯之路



事后想来,芯片验证工程师Lynda觉得进腾讯有点“草率”了。

作为一个在半导体行业工作过多年的资深工程师,Lynda第一次看到腾讯发布芯片岗位需求时,略感到一丝惊讶。2019年1月她带着好奇加入这家互联网大厂,准备撸起袖子,大干一场。

面试时,主导芯片设计工作的Henry给她打过一剂预防针:“我们是从零开始做芯片。”Lynda试图代入鹅厂一贯的低调来理解这句话,但随即便在第一天上班时被跟同事的对话震到了:

-“我们的仿真工具呢?” -“没有,还在谈。”

-“验证环境怎么说?” -“还……没有。”

-“那……验证流程呢?-“这个……也没有。“

对于一个芯片验证工程师来说,仿真工具、验证环境、验证流程就是必备的生产力工具。Lynda想全程参与芯片研发业务,倒不怕从头开始,只不过没想到连这些必备品都能 “三无”。

当一家互联网公司投身半导体时,工具的欠缺还不是最紧要的。“造芯”不仅是业务的简单延伸,它往往意味着更复杂的产业链、更耗时的人才沉淀、以及更迥异的生态文化和技术理念。

比如芯片研发不像软件开发尚可后期不断改bug,设计问题没被前期验证发现,一旦流片就只能沦为一块“砖头”。而Lynda所担任的验证工程师,就是防止前期努力打水漂的守门员。

这个岗位的重要性不言而喻,设计工程师与验证工程师的比例在很多芯片公司会达到1:3。但Lynda入职后环顾四周,发现不仅自己只有一个并肩作战的同事,连验证的代码也一行都没有。

这时候,Lynda才开始明白Henry口中的“从零开始”意味着什么,以及她面临着怎样一场艰难的战役。

01

雄关如铁,出师未捷

在腾讯云副总裁、云架构平台部总经理谢明看来,“从零开始”的背后还有更多的曲折故事。

谢明所在的云架构平台部,站在腾讯各类前端应用的身后,是腾讯海量业务数据冲刷的前线,有效支撑了QQ、邮箱、微信、微云、流媒体视频等一个又一个的国民级应用。

2013年,QQ相册已经发展成腾讯最大的一个存储类业务。让用户访问相册的速度更快、体验更顺滑,成了一个很急迫的需求。转化成相应的技术问题,就是图片能否更快地转码?能否在不损画质的情况下压缩?能否以更低的成本存储?

他们反复地追问。

团队深刻地明白底层技术创新对上层应用的放大价值。软件架构上固然要永远不停歇地进行自我超越,但他们敏锐地察觉到,只有在硬件上也作出创新,才能实现更深层次的突破。

问题是:一个做软件出身的团队,怎么去做硬件?

一圈研究之后,他们决定先拿FPGA(可编程阵列逻辑)试水。跟我们平时电脑和手机里的通用芯片相比,FPGA是一种专用集成电路(ASIC),能够实现灵活的“半定制”开发。

FPGA相比起芯片容错率高,但在吞吐率、延迟、功耗和灵活性等维度上都很平衡。尤其是在处理海量数据时,FPGA相比GPU具有超低延时的显著优势,很适合用在特定的业务场景。

事实验证了这种判断。2015年,团队集中力量研发的图片编码FPGA,取得了比CPU编码和软件编码更高的压缩率和更低的延时,也帮助QQ相册很大程度上降低了存储成本。他们看到了在FPGA方向探索和深入的可能性。

2016年前后,由Alpha Go引爆的AI热潮更把FPGA拉入了主流视野。团队通过FPGA对深度学习模型的CNN算法进行加速后,处理性能达到通用CPU的4倍,而单位成本仅为1/3。

FPGA效果虽好,但技术门槛比较高,“如果把FPGA云化,是不是一个能够扩大应用的解决路径?”

带着这样的期待,2017年1月20日,腾讯云推出了国内首款FPGA云服务器,希望以云计算的方式,将FPGA能力推广到更多企业。

从效果上来说,在FPGA云服务器上进行FPGA硬件编程的企业,确实能将性能提升至通用CPU服务器的30倍以上,而只需支付相当于通用CPU约40%的费用。以一家著名的基因检测公司为例,传统用CPU需要检测一周的基因序列,FPGA可以压缩到数小时完成。

然而云化后的FPGA,没能如预期般迅速席卷整个行业。

一方面,FPGA毕竟是一种“半定制”的电路,许多企业还是无法独立胜任FPGA开发,需要更加上层的服务;另一方面,通用芯片成本的迅速下降,也让FPGA的性价比优势逐渐丧失。

云端商业化的受挫泼来一盆冷水,把团队的热情从巅峰一下子打到了谷底,同时也把两个问题赤裸裸地抛到整个团队的眼前:FPGA对业务的价值究竟有多大?FPGA还能继续做吗?

受此打击,团队在2018年也近乎分崩离析,人员开始集中式地离开。腾讯在“造芯”上的第一次探索,画上了一个遗憾的逗号。

02

柳暗花明,“蓬莱”问世

在FPGA云服务器受挫后,腾讯需要重新思考硬件之路要怎么走下去。

在团队几乎解散的2018年,中国芯片行业迎来暖春:中美贸易摩擦给全民普及了芯片的重要性,科创板的设立为半导体企业上市开启大门,而国家资金的进场更是让大江南北一片热火朝天。

但是,对于互联网公司来说,做芯片跟做云计算、数据库、存储系统等一样,需要有具体的业务场景支撑,不能“为了做而做”。在经历过一场不算成功的探索后,腾讯要等待下一个真实需求带来的机会。

时间进入2019年。那是人工智能规模化应用的元年,内外部业务都提出了对AI芯片的强烈诉求。AI芯片,要不要做?

这个问题被提出来的时候,腾讯的管理层有过反对的声音,担心技术人员只是头脑发热,只是为了追逐热点。但同时,管理层也给了足够的灰度,没有明令禁止小团队级别的探索。

以小规模、低成本、特定应用场景的方式先行试水,成了大家的共识。

云架构平台部将第一款芯片敲定AI推理方向,取名“蓬莱”,希望这款芯片能像中国古代神话里的海外仙山一样,稳固地立于汹涌波涛之上。

这支硬件突围小分队,也被正式命名为“蓬莱实验室”。


有了FPGA探索时积攒的经验,蓬莱实验室对硬件编程语言已经相当熟练,也在标准接口、总线等方面积累了一些平台化的设计。然而,两者的研发要求,不可同日而语。

如果说做FPGA是搭现成的积木,那么做芯片就是直接从伐木开始来着手来制造积木。FPGA出了问题可以重新编程,而芯片只有一次流片机会,一旦出错,所有的努力便付诸东流。

此外, FPGA的资源是现成固定的,芯片的资源却是由自己定义的。一个字,就是要“抠”:用最小的资源做最大的事。

芯片架构工程师Rick用“装修”改“重建”来形容整个蓬莱项目。一开始,团队以为能把之前FPGA的技术较为简单地转成芯片。做着做着发现,以为终归只是以为——FPGA架构在芯片中能直接复用的并不多,团队只能把原来的架构整个拆掉,重写的代码量高达85%。

像DDR存储器这样的重中之重,芯片厂商通常会有专门的验证人员负责,而刚起步的蓬莱实验室没这个条件,只能靠抢时间把功课补回来。Lynda后来回忆道:“我恨不得一天有48个小时”。

2020年1月,蓬莱芯片流片完成,被合作方快递到深圳。新冠疫情刚刚在全国范围内暴发,公司已经开启集体远程办公。


流片完成的蓬莱芯片被快递回深圳

项目负责人Henry戴着手套取到快递,用酒精仔细消毒后,带到空空荡荡的办公楼,大开着窗户和风扇,在一片消毒水味中,他和几个同事一起开始了至关重要的点亮操作。

所谓点亮,就是给芯片上电,首先看有没有短路冒烟,接着就是测试一些基本功能。是芯片还是“砖头”,成败在此一举。


调试蓬莱芯片的时钟

结果,芯片的时钟频率一直没出来。要知道,时钟频率是芯片的“节拍器”,没有时钟频率,芯片的不同模块等于没对好表,就无法协同工作。

是不是这块芯片的问题?实验人员换了一块芯片,依然没有信号输出。

再换一块,还是没有。现场鸦雀无声。

实验人员已经不敢动手了。有人忍不住开玩笑,是不是该回家改简历了。

但除了沮丧,大家心里更多的是疑惑。因为项目虽然人少、资源少,近乎是白手起家,但蓬莱团队从设计人员到验证人员都有信心说:每一步都做好了。到底是哪里不对呢?

在无比凝重的气氛中,他们继续放板、上电、读取信号……

第四块芯片,亮了。剩下的所有芯片,也都没问题。

真相其实很简单。28纳米工艺的芯片不良率只有3%,但偏偏随机测试的前三片都是坏片,小概率事件就恰好让他们全赶上了。这让他们把“生一胎”的紧张情绪,体验到十足。

在虚惊一场后的拍手相庆中,腾讯第一款芯片,宣告问世。

03

更上一层,“紫霄”凌云

量产后的蓬莱芯片,实战表现也不负众望,助力腾讯推出中国第一台获准进入医院临床应用的智能显微镜,实现自动识别医学图像、统计细胞数目并直接显示在视野上,性能表现完全符合设计要求。


蓬莱芯片在智能显微镜上调试

这一扫当年FPGA云服务器项目的阴霾,说明在制造造出直面应用、性能卓越的芯片,这条路,腾讯走得通。

终端芯片蓬莱的问世,只是完成了从0到1的任务。团队已经迫不及待向要从1到N,向着大规模云端芯片进军。蓬莱实验室负责人Alex将大芯片申请立项戏称为“A轮融资”。

初试锋芒之后,团队需要向公司说明,为什么需要用更大的投入去做大规模芯片?在短期和长期能否保持领先性?如何与内外部业务结合创造价值?

腾讯这次面临的决策,要容易做得多。

首先是蓬莱实验室的成熟。通过一边行军一边成长,蓬莱实验室完成了一次次蜕变,建立起完整、严谨、规范的芯片研发体系和流程。这已经是一支具备硬核气场的“正规军”。

更重要的是,团队证明了腾讯做芯片的优势和站位。

谢明解释说,从行业来看,做芯片除了要考虑技术和工艺,最大的难点在于对芯片的“定义”。传统芯片厂商的优势在于前者,但芯片做出来之后再去匹配需求,在很多场景下真实性能是损失的。Google、腾讯这类科技企业的优势在于自身就是需求方,对需求的理解和洞察最深刻、最透彻。

方向没有问题,技术和工艺也没问题,腾讯高级执行副总裁、TEG(技术工程事业部)总裁卢山给予了全面支持,并通过总办争取到了更多的headcount和资金。

有了公司战略的支持,团队志气满满奔赴更大的战场。蓬莱实验室副总监Austin决定兵分两路,在AI推理和视频编解码上并行推进。

AI小分队继续做蓬莱的2.0版“紫霄”。这是《封神演义》里鸿钧老祖所居宫殿的名字。在稳固的仙山上牢筑“紫霄”,代表了新的野心:

这次,他们将目标直接定为业界第一。


紫霄所有的架构都围绕着有效算力去做。团队优化片上缓存设计,并摒弃竞品常用的GDDR6内存,采用先进的2.5D封装技术,把HBM2e内存与AI芯片合封在一起,从而把内存带宽提升了近40%。

技术迭代一日千里。紫霄立项后,业内最高性能表现又被竞品刷新。虽然紫霄的设计性能相比这个最高表现还足够“安全”,但团队还打算继续加码。

经过研究,他们在芯片内部增加了计算机视觉CV加速器以及视频编解码加速器,可创新性地大幅减小AI芯片和x86 CPU之间的交互和等待。

即便因此而增加了两个复杂的自研模块,团队仍然在计划的6个月时间里完成了从架构确定到验证以及流片的全部流程。

2021年9月10日,紫霄顺利点亮。


在图片和视频处理、自然语言处理、搜索推荐等应用场景下,这款芯片打破了制约算力发挥的瓶颈点,最终在实际业务场景性能表现达到了业界标品的2倍。

04

独立自研,“沧海”一笑

AI小分队给自己芯片取名“紫霄”,而视频编解码则取名“沧海”,颇有海天相接之意。

不同于蓬莱和紫霄主打AI,沧海是一款视频转码芯片。如果说当年QQ相册图片的转码问题是蓬莱团队做硬件的最早契机,那视频编解码小分队在这个方向上的继续探索,正是完成了一次对初心的呼应。

不同的是,“沧海”的应用场景已经远超当年的范畴。

当多媒体业务从图片时代进化到音视频直播时代,天量的4K/8K超高清的数字内容如潮水一般持续冲击着云计算基础设施。每增加一个比特的数据,都会带来相应的转码算力和CDN带宽成本。

这是一道直观而严峻的数学题,而沧海小分队的解题目标也非常清晰,那就是要做一款业界最强的视频转码芯片,把压缩率发挥到极致。

好在,腾讯丰富的多媒体应用场景,以及腾讯云覆盖的众多直播互动头部客户,为沧海的研发提供了得天独厚的分析和验证条件。


团队先是推出了沧海的核心自研模块——硬件视频编码器“瑶池”,并决定在沧海完成研发之前给瑶池一次大考。

这个大考就是2020年的MSU世界编解码大赛,该大赛由莫斯科国立大学(MSU)主办,十多年来一直是全球视频压缩领域最具影响力的顶级赛事,吸引了包括英特尔、英伟达、谷歌、华为、阿里和腾讯在内的国内外知名科技企业参与。

结果是,瑶池实现1080P@60Hz的视频实时编码,力压群雄获得了SSIM (结构相似性)、PSNR(峰值信噪比)和VMAF(视频多方法评估融合)等各项客观指标评测第一名,以及人眼主观评价第一的好成绩,相比第二名领先了一个身位。

经此硬仗,沧海在技术上得到了充分检阅。

2022年3月5日,Derick和他带领的视频编解码小分队收到流片回来的芯片“沧海”,又正逢深圳因疫情而全面远程办公。

他们申请特批进入空空荡荡的办公楼。这情景,和两年前点亮蓬莱时何其相似。


不曾想到,点亮蓬莱时的一波三折,同样重现。克服了一些调试中的意外,在一片欢呼中,腾讯的第三款芯片、同时也是完全自主研发的第一款芯片沧海成功点亮。

化沧海为一粟。沧海最终实现以更小的数据量、更小的带宽提供相同质量的视频,压缩率相比行业最佳表现还提高了30%以上。

从蓬莱到紫霄再到沧海,从28纳米工艺到12纳米工艺,从8个人发展到100多人,从仿真工具一无所有到“天箭验证平台”正式落成,从努力跟上合作伙伴的节奏到独立做完全SOC。

两只小分队胜利会师。蓬莱团队,完成了一场“芯”路进化。

05

“100G”时代,双木参天

躬身跳进造芯大潮的,不是只有云架构平台部。

在多媒体、AI处理积极求变的同时,底层的云服务器也面临着相似的问题:当软件优化带来的性能提升无法让产品拥有区别于竞品的明显竞争力时,如何让性能突破现有天花板?

2019年,腾讯迎来云计算业务上的里程碑——云服务器规模突破了100万。腾讯云副总裁、腾讯网络平台部总经理邹贤能敏锐地观察到,随着服务器接入带宽不断提升,服务器用于网络处理的CPU资源也越来越多。

能否以更低成本的方式来实现服务器网络处理,同时还提供更高的网络性能?腾讯的网络平台部也将目光投向了软硬协同与硬件加速。

面对这样“既要、又要”的挑战,邹贤能决定给服务器做个减法:“把网络数据处理的负担从CPU卸载出来”。

“智能网卡”的想法就这样诞生了。

所谓智能网卡,一方面像普通网卡一样肩负起服务器的对外网络访问,实现不同服务器和数据中心之间的网络互联。另一方面,它额外带有CPU/FPGA/内存等智能单元,能分担一部分服务器的虚拟化计算任务,实现服务器整体网络和存储性能的加速。

换句话说,网络平台部要做的事,是要在网卡里新装一个服务器。


腾讯智能网卡“银杉”

一开始,团队希望找到一款现成的商用板卡降低工作量。

网卡硬件负责人Hayden牵头开展方案论证和调研,但商用芯片的加速引擎不支持私有协议成为当时直面的第一大挑战,也是最大的障碍。一些著名的网卡设备商听了腾讯的要求就摇头:

“现在网卡的功能很简单,你们这个要求太复杂了,很难实现的。”

还有些直白地质疑:“网卡数量这么多,可靠性要求高,你们自己搞得定吗?”

难道智能网卡项目刚起步就要流产?

邹贤能给团队指明了方向:“既然智能网卡是云数据中心追求极致性能与成本的关键部件,如果市面上没有满足腾讯需求的产品,那我们就自己造一个。”

方向明确之后,路线也很快清晰起来:先从基于FPGA自研智能网卡起步,再开展智能网卡芯片研发。

2020年9月,腾讯第一代基于FPGA的自研智能网卡正式上线,命名为“水杉”,寄寓着团队希望产品可以像这种珍稀乔木一样适应性强、快速生长。

疫情期间各种突发需求砸来,初生的水杉没有被挑战压弯。

Hayden回忆道,一个大客户本身采用了UDP音视频协议,在属性上是“不可靠”、允许丢包的,极大地依赖网络吞吐和稳定性,却要求高并发、高质量的音视频传输效果。

水杉智能网卡迎难而上,通过大幅提升服务器的网络性能,帮助该客户完成了24小时零丢包的极限压力测试,稳定上线运行,交出了一份漂亮的答卷。

水杉投入应用后,第二代智能网卡“银杉”的研发工作也紧锣密鼓地启动,并于2021年10月正式上线。这一代智能网卡的网络端口翻了一番,达到了2*100G。

在又一颗参天大树的支撑下,腾讯云对外推出了业界首款自研第六代100G云服务器。它的计算性能提升最大220%、存储性能最大提升100%。单节点接入网络带宽相比上一代最大提升4倍,延时下降50%。


“银杉”搭载在业界首款自研100G云服务器上

“两棵树”在网络硬件卸载上取得的巨大收益,令团队兴奋不已。

当FPGA路线逐渐逼近性能和功耗的瓶颈,网络平台部决定再一次把主动权掌握在自己手里。腾讯的第四款芯片,也是首款智能网卡芯片应运而生,它也有一个 “仙气十足”的名字——“玄灵”。

06

“玄灵”乍现,芯事未完

按照计划,这款7纳米工艺的芯片将在2022年底流片。

Hayden受命快速组建起了玄灵芯片研发团队,不断挑战多个“mission impossible”。

从性能指标来看,玄灵支持设备数量将提升到10K以上,相对商业芯片提升6倍。同时,它的性能相对商业芯片也可提升4倍,通过将原来运行在主机CPU上的虚拟化、网络/存储IO等功能卸载到芯片,可实现主机CPU的0占用。

这颗短小精悍的芯片,充分诠释了面向未来极致性能的“玄”,与面向各类业务需求灵活加速的“灵”。

目前,玄灵项目正在紧锣密鼓地进行智能网卡流片前的验证和测试,打造腾讯云下一代高性能网络基础设施;

蓬莱实验室的AI推理芯片紫霄和视频转码芯片沧海则将量产,与腾讯业务深度融合应用;

还有一些新的芯片项目也在酝酿成长,继续探索有需要的技术方向,丰富这一本“山海经”。

腾讯海量业务面临的全新挑战,以及云计算高速发展的必然要求,“倒逼”腾讯走上了这条造芯之路。这些从业务需求出发的芯片,必定会深入现实应用来证明自身的价值。

“我们不是无中生有、拍脑袋要去做芯片。我们一开始就知道,腾讯的需求足够大,足够我们去做这件事。”卢山说道。

从2010年起,腾讯就开始以云服务的方式对外开放自身的数字技术与连接能力,奔赴这场产业数字化转型升级的时代大潮。躬身入局,腾讯看到深度的数实融合正在引领全真互联的技术趋势。

而在腾讯之外,中国的科技公司们正在向创新的深水区挺进,突破瓶颈的努力显得愈发重要。无论是数实融合还是上游创新,硬科技的海面上一片百舸争流,它们都在历史的浪潮奋楫中流。

在这场大潮中置身事内,腾讯的芯事必然在星辰大海中得到回响。



本文标签: 网卡  腾讯  内存  芯片  fpga  

相关推荐

猜你喜欢

大家正在看