為了開開心心的用上自己的芯片,AWS在2015年收購了以色列芯片公司Annapurna Labs,隨著芯片實力的加強,AWS的Nitro從一個網(wǎng)卡一步步演進,變成了AWS基礎(chǔ)設(shè)施非常非常重要的一個組成部分。
Nitro的能力可以總結(jié)為三個方面:
NitroHypervisior:專有硬件上承載hypervisior,讓主機實現(xiàn)近似裸機服務(wù)器的性能表現(xiàn);
NitroCards:專有硬件承載存儲、網(wǎng)絡(luò)功能,以及控制EC2實例的業(yè)務(wù)邏輯;
Nitro安全芯片:硬件層的安全驗證能力;
也就是說,Nitro既能作為網(wǎng)卡,也能連接和控制硬盤,控制EBS塊存儲,它Offload了CPU運行Hypervisior的工作負載,而且還能做一些硬件安全檢查,按照周舸的介紹說,有了Nitro,AWS可以快速發(fā)展多種EC2實例。
前不久AWS發(fā)布的產(chǎn)品中,EC2 Mac實例讓人眼前一亮,有人開玩笑說,“Mac滯銷了,救救蘋果吧”,有人說,“又少了一個買蘋果電腦的理由”。
在實際架構(gòu)中,MacMini被直接放在機架里,另一端連的就是Nitro卡,接入了Nitro卡之后就意味著可以像別的EC2實例一樣,可以對接各種云服務(wù)。
在Nitro卡的幫助下,AWS今年發(fā)布了許多新的實例,去年re:Invent的時候還只有270多種實例,而現(xiàn)在有了400個實例,Nitro的貢獻很大。在Nitro的幫助下,AWS可以提供支持包括AMD、Intel和ARM在內(nèi)的多個計算平臺。
處理器芯片:ARM處理器Graviton的性價比
如果說蘋果發(fā)布搭載M1處理器的Mac電腦,讓PC廠商覺得ARM個人電腦有搞頭,那么AWS在發(fā)布搭載Graviton處理器的服務(wù)器的做法,則是讓ARM服務(wù)器芯片廠商,讓ARM服務(wù)器廠商備受鼓舞。
當國內(nèi)ARM服務(wù)器廠商還在強調(diào)跑安卓虛擬機的優(yōu)勢的時候,暴露出的是應(yīng)用場景發(fā)展匱乏的根本性問題,而當看到Graviton實例能支撐包括Web場景,包括MySQL、PostGresql等場景時,真正看到了ARM服務(wù)器真正的用武之地,ARM發(fā)展誠可期待。
從周舸的介紹中可以看出來AWS要發(fā)展ARM的必要性:
比如在Web網(wǎng)站場景中,用戶需要的是更強的IO性能,如果是原來的處理器平臺,有許多CPU資源被浪費了,如果改用ARM處理器,則可以省下很多成本。第一代Graviton靠這一特性能節(jié)省40%的成本。
Graviton2推出的時候,AWS對處理器架構(gòu)有了更深入的思考。
周舸解釋說,多核以及多線程技術(shù)固然有優(yōu)勢,但并不是所有應(yīng)用都需要,通用處理器發(fā)展了這么多年,既要發(fā)展多核多線程,也要照顧那些不需要多核多線程的應(yīng)用,這使得架構(gòu)會很復雜,會有很多功能模塊,成本會很高,用不到的時候會造成浪費。
而Graviton2沒什么歷史負擔,用化繁為簡的思路來看,只強調(diào)構(gòu)建好多核能力,而不考慮再構(gòu)建超線程的能力,比如類似SMT的那種技術(shù)。
實測數(shù)據(jù)發(fā)現(xiàn),Graviton2即使是在跑數(shù)據(jù)庫這種重型工作負載的時候,仍有非常優(yōu)秀的表現(xiàn),采用Graviton2的M6g實例與采用至強處理器的M5實例相比,全用物理核的M6g性能表現(xiàn)要比用超線程的M5要強。
如果覺得物理內(nèi)核對比多線程不公平,那么可以比性價比,實際上,M6g的性價比要高于M5實例(大約30%-40%)。
如果用戶有運行在ARM上的實例,那M6g將是非常理想的選擇,周舸也表示,有很多在Linux上面跑的程序都可以快速、簡單的轉(zhuǎn)到Graviton上面去,用起來并不難。
目前,國外以及國內(nèi)很多用戶都用上了Graviton處理器支撐的實例,主要用在包括Nginx Web服務(wù)器類、MySQL和Redis數(shù)據(jù)庫類以及HPC、大數(shù)據(jù)等場景中,應(yīng)用類型還是挺豐富的。
多元化的算力是必然趨勢,隨著應(yīng)用的深入,相信ARM架構(gòu)會獲得更進一步的發(fā)展,AWS應(yīng)該算的上是ARM陣營的一面旗幟。