亚马逊云科技造芯
亞馬遜云科技造芯
二十五年前,亞馬遜是一個賣書的公司;十五年前,亞馬遜是一個電商公司。
云計算公司
事實上,從2006年開始,亞馬遜就開始考慮在云計算領域的戰(zhàn)略布局了,成立了亞馬遜云科技AWS。通過十幾年的發(fā)展,這部分業(yè)務已經成為了驅動亞馬遜下一個階段發(fā)展的最重要的力量。
這里的驅動有兩個方面的含義,一個是財務方面,另外一個是技術方面。
亞馬遜在過去的很長一段時間里都是持續(xù)虧損的,但在2000年之后就開始慢慢的扭虧為盈。這里面很重要的原因,就是高附加值高利潤的云計算的逐漸興起。
經過將近20年的發(fā)展,2020年云科技部門雖然收入只占亞馬遜總收入的12%,但利潤有135億美元。公司有將近60%的稅前利潤是由亞馬遜云科技提供的。
從技術方面看,亞馬遜云科技是全球當之無愧的云計算第一大廠。根據(jù)知名咨詢機構Gartner發(fā)布的“全球云技術設施和平臺服務魔力象限”這份報告,亞馬遜云科技已經連續(xù)11年在領導力象限排名第一。
科技大廠發(fā)展到一定階段,自研芯片就成了必然的選擇。國外的谷歌微軟如此,國內的阿里騰訊也如此。而這波風潮的引領者,果然還是亞馬遜。
亞馬遜自研芯片這步棋,走的無比正確。芯片也幫助從一個To C的電商,逐步轉型并且顛覆一個To B的行業(yè)。
亞馬遜云計算做的好好的,干嘛要做芯片呢?這個就要從AWS成立十年之后, 2016年開始說起。
源起:第一座高峰
2016年,亞馬遜收購了一個位于以色列的名叫Annapurna Labs的公司。Annapurna安娜普爾納,喜馬拉雅山脈的一座高山,海拔8091米,也是世界第十高峰。
安娜普爾納峰是人類登上的第一座超過8000米的高山。很有代表意義的是,對Annapurna Labs的收購,也是亞馬遜云科技在造芯之路上“征服”的第一座山。為了這次收購,花了3.5億美元,但是從現(xiàn)在這個穿越的視角往回看,這3.5億美元就撬動了超過4000億美元的全球云計算市場。
事實上,兩家公司在收購之前就已經有很密切的合作了。亞馬遜云科技的當家技術叫做Amazon EC2,Elastic Compute Cloud的縮寫,中文叫做彈性云計算。一個云計算的基礎性平臺,之前說的那些計算、存儲、人工智能等等應用,都是運行在這個平臺上的一個個實例(instance)。
可以把Amazon EC2看成是超市里的貨架,實例就是貨架上的商品,如各種蔬菜水果和日用百貨。
這兩家公司主要的合作方向,就是想辦法不斷迭代提升Amazon EC2 這個平臺的性能和靈活性。但是當時的合作還并沒有深入到云數(shù)據(jù)中心的兩大核心:基礎設施架構和CPU。
不過AWS一直想玩一把大的,做數(shù)據(jù)中心芯片,基于Arm架構的數(shù)據(jù)中心芯片。亞馬遜的大神工程師James Hamilton早在2014年就有意無意地說過,基于Arm的數(shù)據(jù)中心芯片的研發(fā)速度太慢,性能也無法和x86芯片相比。
言者無心聽者有意,這些話就引發(fā)了業(yè)界極大的好奇,大家都在揣測難不成亞馬遜要自己做芯片了嗎,這個螃蟹在之前從來也沒人吃過。
在2016年的re:Invent大會上,James Hamilton就從口袋里拿出了亞馬遜云科技自研的第一顆數(shù)據(jù)中心芯片。其實并不是CPU處理器,而是一個網絡芯片,主要用來支持2x25G以太網的數(shù)據(jù)包處理。
已經足夠震撼了。業(yè)界這個時候才意識到,云廠商已經不滿足于去買“貨架”了,而是去設計研發(fā)貨架了。這樣的好處非常明顯,就是能很好的結合商店的情況,如可以充分利用空間、如果量大的話也能極大降低成本。
Nitro與Graviton:第二、三座高峰
一年之后,亞馬遜云科技發(fā)布了新一代的Amazon EC2 C5實例。和前一代的產品相比,C5實現(xiàn)了25% ~ 50%的能效提升,引入了對裸金屬的支持。這些提升背后,就是Amazon Nitro帶來的系統(tǒng)重構。Nitro系統(tǒng)一直發(fā)展進化到現(xiàn)在,里面的很多概念啟發(fā)和影響了現(xiàn)在大火的DPU。所以Nitro就是亞馬遜造芯之路的第二個重要的里程碑。
James Hamilton的ARM處理器之夢,終于在2018年變成了現(xiàn)實。在當年的re:Invent大會上,發(fā)布了Amazon Graviton處理器,在2020年推出了第二代、在今年推出了第三代,每代都取得了極大的飛躍和提升。Graviton是基于ARM架構的服務器CPU芯片,實現(xiàn)了大規(guī)模的商業(yè)化應用,意義是不言而喻的。
接下來就以Graviton和Nitro這兩個標志性的芯片項目為例,一起深入的看看亞馬遜云科技造芯背后的本質邏輯。
Graviton:要玩,就玩把大的
x86服務器芯片其實起源于客戶端芯片,逐漸往里面增加服務器芯片需要的功能。亞馬遜沒有這樣的包袱,就專注于服務器芯片本身,就看準了基于ARM架構的服務器CPU。
James Hamilton就在博客里說過很多次,雖然很多公司都失敗了,但仍然覺得Arm服務器CPU是不可阻擋的趨勢。
結果賭對了。
Graviton2采用7納米工藝制造,集成了300億個晶體管。片上集成了64個ARM N1內核,支持64K的一級緩存、1M二級緩存、32M三級緩存,64個內核的內部總線帶寬達到了2TB/s,并且在服務器安全性上做了針對性的優(yōu)化,如加密的DRAM、以及沒有多線程的相互獨立的CPU內核設計等等。
再用小商店的例子,Graviton2可以看做是亞馬遜云科技給自己量身定做的新一代貨架;還在貨架上進了很多新貨,也就是Graviton2的EC2實例,如針對通用計算的M6g、針對存儲的R6g、針對計算應用的C6g等等。這里的小g指的就是基于Graviton2的ARM架構實例,云計算領域的另外一個重要的突破。原來貨架上擺的都是x86的貨,現(xiàn)在終于有基于ARM的貨了。
不僅有貨,貨還不錯。除了性能比前一代的大幅提升之外,功耗、成本都極大的降低了。從性價比的角度,就是單位性能的成本(price/performance),基于Graviton2的這些實例比x86實例提升了40%。
2021年底發(fā)布的Graviton3芯片,又把性能和性價比提升了一個新的高度,但是采用了一種所有人都沒有想到的方式。
從晶體管和工藝來看,Graviton3集成了550億個晶體管,幾乎是上一代的一倍。另外一個芯片大神Jim Keller曾經說過,單純追求晶體管數(shù)量沒有太多意義,如何把這些多出來的晶體管用起來。
當商店面積擴大一倍的時候,該增加更多的貨架擺放更多商品,還是重新改造商店讓動線更加合理,或者開辟出單獨的區(qū)域作為咖啡館,讓顧客在逛街之后能有休息的地方,這些其實和設計芯片有很多共通之處。
在Graviton3發(fā)布之前,很多人預測內核數(shù)量會提升到128個甚至更多,或者主頻能提升2-30%。結果發(fā)布之后大家都傻了,Graviton3仍然保留了64個ARMv8內核,主頻和前一代2.5GHz相比也幾乎保持不變,只有2.6GHz。
這多出來的250億個晶體管去哪了呢?
答案是,都去用來提升并行度、以及提升內存帶寬了。比如,每個Graviton3內核的內存帶寬比前一代增加了50%,非常大的提升。
好像商店原來每個小時只能進100個人,其他人只能在外面排隊等著。但現(xiàn)在面積大了,每小時可以讓150個人進來買東西。當然還優(yōu)化了整個商店的購物流程和購物體驗,讓每個人購物的時間都縮短了,這就進一步提升了效率。
所以根據(jù)亞馬遜云科技給出的數(shù)據(jù),在沒有增加內核數(shù)量和頻率的情況下,Graviton3的性能相比前一代提升了至少25%,功耗降低了高達60%。
不僅如此,商店里還開咖啡館了,Graviton3里還集成了機器學習的硬件加速單元,對于這些應用可以實現(xiàn)3倍的性能提升。
正因為有了高算力和低功耗的支持,亞馬遜云科技還推出了新型的C7g實例,適用于高性能計算、電子設計自動化EDA、分布式分析等等這些基于CPU的計算密集型負載,也是首個支持DDR5的云計算實例。要知道這些計算密集型的應用原本都是x86 CPU絕對控制的領域,這也是基于Arm架構的CPU在云數(shù)據(jù)中心里又邁出的一大步。
Nitro:
真正重要的地方,是看不見的地方
Graviton再牛,只是一個CPU,背后需要有一整套基礎設施去保障支持高效運行。這個就是Amazon Nitro系統(tǒng)。不是一個單獨的芯片,而是多個芯片和板卡組成的基礎架構。
究竟什么是基礎設施架構呢?再回到商店,這里面的水電管線、物流倉儲、上貨下貨整個流程都是支撐商店正常運轉的基礎設施架構。
去商店是為了買東西的,如果沒有這些背后的基礎設施,壓根沒貨可買,或者連商店門都打不開。數(shù)據(jù)中心也是如此,用戶希望用就是服務器或者虛擬機,但要處理很多網絡通信、數(shù)據(jù)存儲、安全管理等等技術問題,這些基礎設施對于用戶來說是看不見的。
這些服務和設備可能來自很多不同的廠商,作為用戶,特別不想一個個的去做兼容和適配。需要一個虛擬化的方法,把這些底層的服務和設備都隱藏起來,給用戶虛擬出來一個統(tǒng)一的機器和接口,可以直接在上面開發(fā)。
這個特別像很多便利店,雖然背后的物流倉儲等等都是五花八門的,但在外面看起來都是一樣的,購物體驗也是類似的。
所以這就是Nitro產生的最本質原因,已經成為了驅動所有EC2實例的平臺,可以實現(xiàn)存儲訪問、加密、監(jiān)控、實例配置等等所有工作。能把數(shù)據(jù)中心的那些計算網絡存儲等基礎設施都卸載掉,釋放出寶貴的內核資源,虛擬出來一個統(tǒng)一的用戶接口。不管底層用的是x86 CPU還是 Arm CPU,對于用戶來說都沒有區(qū)別。還有專門的安全系統(tǒng)和芯片,這樣主機之外的任何系統(tǒng)和人,都沒辦法登陸或者讀取基于Nitro的實例內存。
這個不就是現(xiàn)在大火的DPU想要干的事,其實Nitro已經做了很久了。
在2021年的re:Invent大會上,亞馬遜云科技發(fā)布了新一代的Nitro SSD,也把不同廠商的SSD都隱藏和處理掉,從根本上解決了不同廠商的產品對數(shù)據(jù)中心以及客戶帶來的適配性的影響。
小結
在梳理這些內容的時候,有兩個最大的感觸。第一,造芯不僅是亞馬遜云科技選擇的一條正確的道路,更是一條必由之路。雖然這條路上很多公司都倒下了,但活下來的都取得了巨大的成功。為什么很多科技巨頭公司發(fā)展到最后,都會不約而同的選擇自研芯片。
第二個感悟,就是沒有選擇只做一個芯片,而是做了一個很大的芯片布局,在領域專用的基礎上不斷迭代優(yōu)化。也沒有盲目的追求性能,而是結合自己的需求,在性能功耗成本等等因素里做了對于自己最優(yōu)的選擇,這個也能為很多想要自研芯片的公司提供很好的借鑒。
參考鏈接:
https://www.163.com/dy/article/GUP1KBFU0531NIP0.html
參考鏈接:
https://www.163.com/dy/article/GUP1KBFU0531NIP0.html
總結
- 上一篇: 晶体管逻辑芯片设计微缩图形化
- 下一篇: 光刻机技术创新