亚马逊云科技造芯

二十五年前,亚马逊是一个卖书的公司;十五年前,亚马逊是一个电商公司。
云计算公司

事实上,从2006年开始,亚马逊就开始考虑在云计算领域的战略布局了,成立了亚马逊云科技AWS。通过十几年的发展,这部分业务已经成为了驱动亚马逊下一个阶段发展的最重要的力量。

这里的驱动有两个方面的含义,一个是财务方面,另外一个是技术方面。

亚马逊在过去的很长一段时间里都是持续亏损的,但在2000年之后就开始慢慢的扭亏为盈。这里面很重要的原因,就是高附加值高利润的云计算的逐渐兴起。

经过将近20年的发展,2020年云科技部门虽然收入只占亚马逊总收入的12%,但利润有135亿美元。公司有将近60%的税前利润是由亚马逊云科技提供的。

从技术方面看,亚马逊云科技是全球当之无愧的云计算第一大厂。根据知名咨询机构Gartner发布的“全球云技术设施和平台服务魔力象限”这份报告,亚马逊云科技已经连续11年在领导力象限排名第一。

科技大厂发展到一定阶段,自研芯片就成了必然的选择。国外的谷歌微软如此,国内的阿里腾讯也如此。而这波风潮的引领者,果然还是亚马逊。

亚马逊自研芯片这步棋,走的无比正确。芯片也帮助从一个To C的电商,逐步转型并且颠覆一个To B的行业。

亚马逊云计算做的好好的,干嘛要做芯片呢?这个就要从AWS成立十年之后, 2016年开始说起。

源起:第一座高峰

2016年,亚马逊收购了一个位于以色列的名叫Annapurna Labs的公司。Annapurna安娜普尔纳,喜马拉雅山脉的一座高山,海拔8091米,也是世界第十高峰。

安娜普尔纳峰是人类登上的第一座超过8000米的高山。很有代表意义的是,对Annapurna Labs的收购,也是亚马逊云科技在造芯之路上“征服”的第一座山。为了这次收购,花了3.5亿美元,但是从现在这个穿越的视角往回看,这3.5亿美元就撬动了超过4000亿美元的全球云计算市场

事实上,两家公司在收购之前就已经有很密切的合作了。亚马逊云科技的当家技术叫做Amazon EC2,Elastic Compute Cloud的缩写,中文叫做弹性云计算。一个云计算的基础性平台,之前说的那些计算、存储、人工智能等等应用,都是运行在这个平台上的一个个实例(instance)。

可以把Amazon EC2看成是超市里的货架,实例就是货架上的商品,如各种蔬菜水果和日用百货。

这两家公司主要的合作方向,就是想办法不断迭代提升Amazon EC2 这个平台的性能和灵活性。但是当时的合作还并没有深入到云数据中心的两大核心:基础设施架构和CPU。

不过AWS一直想玩一把大的,做数据中心芯片,基于Arm架构的数据中心芯片。亚马逊的大神工程师James Hamilton早在2014年就有意无意地说过,基于Arm的数据中心芯片的研发速度太慢,性能也无法和x86芯片相比。

言者无心听者有意,这些话就引发了业界极大的好奇,大家都在揣测难不成亚马逊要自己做芯片了吗,这个螃蟹在之前从来也没人吃过。

在2016年的re:Invent大会上,James Hamilton就从口袋里拿出了亚马逊云科技自研的第一颗数据中心芯片。其实并不是CPU处理器,而是一个网络芯片,主要用来支持2x25G以太网的数据包处理。

已经足够震撼了。业界这个时候才意识到,云厂商已经不满足于去买“货架”了,而是去设计研发货架了。这样的好处非常明显,就是能很好的结合商店的情况,如可以充分利用空间、如果量大的话也能极大降低成本。

 

云科技云存储云服务器 云科技是什么公司_基础设施

 

 Nitro与Graviton:第二、三座高峰

一年之后,亚马逊云科技发布了新一代的Amazon EC2 C5实例。和前一代的产品相比,C5实现了25% ~ 50%的能效提升,引入了对裸金属的支持。这些提升背后,就是Amazon Nitro带来的系统重构。Nitro系统一直发展进化到现在,里面的很多概念启发和影响了现在大火的DPU。所以Nitro就是亚马逊造芯之路的第二个重要的里程碑。

James Hamilton的ARM处理器之梦,终于在2018年变成了现实。在当年的re:Invent大会上,发布了Amazon Graviton处理器,在2020年推出了第二代、在今年推出了第三代,每代都取得了极大的飞跃和提升。Graviton是基于ARM架构的服务器CPU芯片,实现了大规模的商业化应用,意义是不言而喻的。

接下来就以Graviton和Nitro这两个标志性的芯片项目为例,一起深入的看看亚马逊云科技造芯背后的本质逻辑。

Graviton:要玩,就玩把大的

x86服务器芯片其实起源于客户端芯片,逐渐往里面增加服务器芯片需要的功能。亚马逊没有这样的包袱,就专注于服务器芯片本身,就看准了基于ARM架构的服务器CPU。

James Hamilton就在博客里说过很多次,虽然很多公司都失败了,但仍然觉得Arm服务器CPU是不可阻挡的趋势。

结果赌对了。

Graviton2采用7纳米工艺制造,集成了300亿个晶体管。片上集成了64个ARM N1内核,支持64K的一级缓存、1M二级缓存、32M三级缓存,64个内核的内部总线带宽达到了2TB/s,并且在服务器安全性上做了针对性的优化,如加密的DRAM、以及没有多线程的相互独立的CPU内核设计等等。

 

云科技云存储云服务器 云科技是什么公司_基础设施_02

 

 再用小商店的例子,Graviton2可以看做是亚马逊云科技给自己量身定做的新一代货架;还在货架上进了很多新货,也就是Graviton2的EC2实例,如针对通用计算的M6g、针对存储的R6g、针对计算应用的C6g等等。这里的小g指的就是基于Graviton2的ARM架构实例,云计算领域的另外一个重要的突破。原来货架上摆的都是x86的货,现在终于有基于ARM的货了。

不仅有货,货还不错。除了性能比前一代的大幅提升之外,功耗、成本都极大的降低了。从性价比的角度,就是单位性能的成本(price/performance),基于Graviton2的这些实例比x86实例提升了40%。

2021年底发布的Graviton3芯片,又把性能和性价比提升了一个新的高度,但是采用了一种所有人都没有想到的方式。

 

云科技云存储云服务器 云科技是什么公司_云科技云存储云服务器_03

 

 从晶体管和工艺来看,Graviton3集成了550亿个晶体管,几乎是上一代的一倍。另外一个芯片大神Jim Keller曾经说过,单纯追求晶体管数量没有太多意义,如何把这些多出来的晶体管用起来

当商店面积扩大一倍的时候,该增加更多的货架摆放更多商品,还是重新改造商店让动线更加合理,或者开辟出单独的区域作为咖啡馆,让顾客在逛街之后能有休息的地方,这些其实和设计芯片有很多共通之处。

在Graviton3发布之前,很多人预测内核数量会提升到128个甚至更多,或者主频能提升2-30%。结果发布之后大家都傻了,Graviton3仍然保留了64个ARMv8内核,主频和前一代2.5GHz相比也几乎保持不变,只有2.6GHz。

这多出来的250亿个晶体管去哪了呢?

答案是,都去用来提升并行度、以及提升内存带宽了。比如,每个Graviton3内核的内存带宽比前一代增加了50%,非常大的提升。

好像商店原来每个小时只能进100个人,其他人只能在外面排队等着。但现在面积大了,每小时可以让150个人进来买东西。当然还优化了整个商店的购物流程和购物体验,让每个人购物的时间都缩短了,这就进一步提升了效率。

所以根据亚马逊云科技给出的数据,在没有增加内核数量和频率的情况下,Graviton3的性能相比前一代提升了至少25%,功耗降低了高达60%。

不仅如此,商店里还开咖啡馆了,Graviton3里还集成了机器学习的硬件加速单元,对于这些应用可以实现3倍的性能提升。

正因为有了高算力和低功耗的支持,亚马逊云科技还推出了新型的C7g实例,适用于高性能计算、电子设计自动化EDA、分布式分析等等这些基于CPU的计算密集型负载,也是首个支持DDR5的云计算实例。要知道这些计算密集型的应用原本都是x86 CPU绝对控制的领域,这也是基于Arm架构的CPU在云数据中心里又迈出的一大步。

Nitro

真正重要的地方,是看不见的地方

Graviton再牛,只是一个CPU,背后需要有一整套基础设施去保障支持高效运行。这个就是Amazon Nitro系统。不是一个单独的芯片,而是多个芯片和板卡组成的基础架构。

 

云科技云存储云服务器 云科技是什么公司_云科技云存储云服务器_04

 

 究竟什么是基础设施架构呢?再回到商店,这里面的水电管线、物流仓储、上货下货整个流程都是支撑商店正常运转的基础设施架构。

去商店是为了买东西的,如果没有这些背后的基础设施,压根没货可买,或者连商店门都打不开。数据中心也是如此,用户希望用就是服务器或者虚拟机,但要处理很多网络通信、数据存储、安全管理等等技术问题,这些基础设施对于用户来说是看不见的。

这些服务和设备可能来自很多不同的厂商,作为用户,特别不想一个个的去做兼容和适配。需要一个虚拟化的方法,把这些底层的服务和设备都隐藏起来,给用户虚拟出来一个统一的机器和接口,可以直接在上面开发。

这个特别像很多便利店,虽然背后的物流仓储等等都是五花八门的,但在外面看起来都是一样的,购物体验也是类似的。

所以这就是Nitro产生的最本质原因,已经成为了驱动所有EC2实例的平台,可以实现存储访问、加密、监控、实例配置等等所有工作。能把数据中心的那些计算网络存储等基础设施都卸载掉,释放出宝贵的内核资源,虚拟出来一个统一的用户接口。不管底层用的是x86 CPU还是 Arm CPU,对于用户来说都没有区别。还有专门的安全系统和芯片,这样主机之外的任何系统和人,都没办法登陆或者读取基于Nitro的实例内存。

这个不就是现在大火的DPU想要干的事,其实Nitro已经做了很久了

在2021年的re:Invent大会上,亚马逊云科技发布了新一代的Nitro SSD,也把不同厂商的SSD都隐藏和处理掉,从根本上解决了不同厂商的产品对数据中心以及客户带来的适配性的影响。

小结

在梳理这些内容的时候,有两个最大的感触。第一,造芯不仅是亚马逊云科技选择的一条正确的道路,更是一条必由之路。虽然这条路上很多公司都倒下了,但活下来的都取得了巨大的成功。为什么很多科技巨头公司发展到最后,都会不约而同的选择自研芯片。

第二个感悟,就是没有选择只做一个芯片,而是做了一个很大的芯片布局,在领域专用的基础上不断迭代优化。也没有盲目的追求性能,而是结合自己的需求,在性能功耗成本等等因素里做了对于自己最优的选择,这个也能为很多想要自研芯片的公司提供很好的借鉴。

 

参考链接:

https://www.163.com/dy/article/GUP1KBFU0531NIP0.html

 

 

 

参考链接:

https://www.163.com/dy/article/GUP1KBFU0531NIP0.html

人工智能芯片与自动驾驶