有無(wú)RDMA前后
典型如RDMA,就是繞過(guò)了CPU操作的流程,把原本CPU要做的事兒交給了別人。類(lèi)似的offlload創(chuàng)新有很多,在超大規(guī)模云計(jì)算中心這種效率至上的地方,AWS的Nitro也在做同樣的事兒。
有無(wú)Nitro架構(gòu)上發(fā)生的變化
從上圖可以直觀的感受到,有了Nitro系統(tǒng)之后,系統(tǒng)構(gòu)建的復(fù)雜度明顯降低。在實(shí)際實(shí)現(xiàn)當(dāng)中,Nitro分為三大方向,且三大方向相互獨(dú)立。
這三大方向分別是:
NitroHypervisior:專(zhuān)有硬件上承載hypervisior,實(shí)現(xiàn)近似裸機(jī)服務(wù)器的性能表現(xiàn);
NitroCards:專(zhuān)有硬件承載存儲(chǔ)、網(wǎng)絡(luò)功能,以及控制EC2實(shí)例的業(yè)務(wù)邏輯;
Nitro安全芯片:硬件層的安全驗(yàn)證能力;
NitroHypervisior
Nitro首先是一塊ASIC芯片做成的系統(tǒng),插在云數(shù)據(jù)中心的物理服務(wù)器上,把原本需要運(yùn)行在CPU上的軟件hypervisior要做的事兒自己做了。
圖自AWS re:Invent 2018
把原來(lái)虛擬機(jī)軟件要做的事兒交給專(zhuān)有硬件來(lái)做之后發(fā)生了很多變化,最最最主要的就是性能上的變化。AWS首席技術(shù)布道師Jeff Bar在一篇博客里寫(xiě)道:有了NitroHypervisior的實(shí)例跟裸機(jī)服務(wù)器主機(jī)相比,性能只差了大約1%,這一微小差別很難察覺(jué)出來(lái)。上圖是一張?jiān)?018年AWS re:Invent大會(huì)keynote上公布出來(lái)的圖,它展示了采用Nitro hypervisior的C5實(shí)例與沒(méi)用Nitro的C4,以及裸機(jī)服務(wù)器主機(jī)的喚醒時(shí)延對(duì)比,C5主機(jī)表現(xiàn)與裸機(jī)服務(wù)器主機(jī)差別非常小。
Nitro的引入是AWS EC2的極具突破性的創(chuàng)新,上圖回顧總結(jié)了EC2多年來(lái)使用的虛擬化技術(shù)的變遷史,從上到下的歷代更新中,用硬件直接干的事兒越多,從純軟的虛擬化到半虛擬化,性能越來(lái)越好,最開(kāi)始連CPU和內(nèi)存都是虛擬的,后來(lái),Nitro用ASIC硬件運(yùn)行的基于KVM的Hypervisior取代了原來(lái)的Xen虛擬化方案,CPU、內(nèi)存、網(wǎng)絡(luò)、存儲(chǔ)都成了硬件來(lái)支撐的了,現(xiàn)在可以說(shuō)是真正的硬件虛擬化了,性能嗖嗖的上來(lái)了。
在性價(jià)比方面,Nitro將原本在通用CPU里運(yùn)行的Hypervisior抽離到了專(zhuān)有硬件上,offload掉了原本需要服務(wù)器自己做的事兒,所以,用戶買(mǎi)到的資源就不再打折扣了,比如CPU和內(nèi)存資源就更足量了,如果說(shuō)騰出來(lái)的CPU計(jì)算資源量不好描述的話,那么內(nèi)存容量的足額交付就非常直觀了。
那么,性價(jià)比能差多少呢?
以C5實(shí)例為例,從新一代的C5實(shí)例開(kāi)始,AWS未來(lái)幾乎所有的新型主機(jī)會(huì)用Nitro。對(duì)比一下,原來(lái)C4系列主機(jī)CPU:RAM的配比是1:1.875,現(xiàn)在變成真正的1:2了,當(dāng)然計(jì)算資源也有類(lèi)似的提升,用戶能買(mǎi)到能足額交付的資源,或者說(shuō)買(mǎi)到的資源都能用于業(yè)務(wù)上了,對(duì)于用戶來(lái)說(shuō)意味著性價(jià)比的提升。
今年2月份的一則消息顯示,AWS中國(guó)的用戶已經(jīng)能使用包括計(jì)算優(yōu)化(Compute-optimized)的C5和C5d實(shí)例,內(nèi)存優(yōu)化(Memoryoptimized)的實(shí)例R5和R5d實(shí)例,說(shuō)起性價(jià)比提升,AWS給出的數(shù)據(jù)顯示,從C4升級(jí)到C5的話,中國(guó)用戶能享受到的性價(jià)比提升高達(dá)49%。另外,R5相對(duì)R4實(shí)例,每個(gè)vCPU能提供額外5%的內(nèi)存空間,而且,R5相對(duì)于R4價(jià)格降幅也高達(dá)49%。
可以說(shuō),C5最大的特點(diǎn)就是性價(jià)比提升,這一做法比打價(jià)格戰(zhàn)高級(jí)多了。對(duì)于云主機(jī)這種需求和要求都非常明確的商品來(lái)說(shuō),性價(jià)比對(duì)用戶還是非常有吸引力的,AWS表示有數(shù)千客戶都開(kāi)始用上了C5的實(shí)例,包括大名鼎鼎的Netflix也對(duì)C5相對(duì)于C4的性價(jià)比贊賞有加,在實(shí)際使用中,Netflix發(fā)現(xiàn)C5實(shí)例比C4實(shí)例的性價(jià)比提升了40%。
當(dāng)然,以上性價(jià)比數(shù)值都是AWS或者Netflix根據(jù)精確的計(jì)算算出來(lái)的,普通用戶想直觀感受下性價(jià)比差異的話,可以參考這一網(wǎng)址(https://aws.amazon.com/ec2/pricing/on-demand/),中國(guó)用戶可查看(https://www.amazonaws.cn/en/ec2/pricing/ec2-linux-pricing/)。
筆者我也簡(jiǎn)單感受下吧,簡(jiǎn)單查看如下價(jià)格表會(huì)發(fā)現(xiàn),同樣是36核的實(shí)例,C5內(nèi)存比C4的內(nèi)存生生多出來(lái)12GB,價(jià)格卻降低了大約20%,C5果真是加量還降價(jià)了,有興趣的朋友也可以自己看看。
截圖自AWS中國(guó)官網(wǎng)
當(dāng)然,如果能在整體能力上有所提升就再好不過(guò)了,從實(shí)際數(shù)據(jù)可見(jiàn),C5實(shí)例的各方面配置相比C4也有明顯提升。
在計(jì)算能力提升方面,一方面要靠NitroHypervisior做offload節(jié)省出來(lái)的計(jì)算資源。另一方面,當(dāng)然要靠新一代的CPU了,AWS的C5實(shí)例采用的是英特爾定制的第一代至強(qiáng)可擴(kuò)展處理器,支持最高72vCPU和144GB內(nèi)存(保持計(jì)算優(yōu)化型主機(jī)1:2的配比),支持AVX 512指令集強(qiáng)化的向量和浮點(diǎn)計(jì)算能力,而C4最高只有36vCPU和60GB內(nèi)存配置。
Nitro Cards
存儲(chǔ)方面,在C4時(shí)代,Nitro card就用在了EC2的實(shí)例存儲(chǔ)當(dāng)中了,而C5d系列實(shí)例在存儲(chǔ)方面進(jìn)行了強(qiáng)化,支持本地的NVMe SSD。本地的NVMe的性能優(yōu)勢(shì)毋庸贅言,在IOPS和延遲方面都有顯著提升。目前,除了C5d以外,M5d還有裸機(jī)服務(wù)器的EC2實(shí)例也都支持本地的NVMe存儲(chǔ)了,凡是實(shí)例命名里有字母d的都是支持本地NVMe SSD。另外,在支持遠(yuǎn)程EBS塊存儲(chǔ)的時(shí)候,還采用了非常先進(jìn)的NVMe over fabric技術(shù)。
總之,NitroCard充當(dāng)NVMe控制器的角色,也從hypervisior做offload,充分利用硬件的能力。不僅如此,Nitro Card還在硬件層實(shí)現(xiàn)了EC2實(shí)例與存儲(chǔ)之間的隔離,隔絕了用戶間的一些性能干擾。
VPC網(wǎng)絡(luò)方面,Nitrocard充當(dāng)網(wǎng)卡,充當(dāng)ENA控制器的角色,充當(dāng)SDN功能的專(zhuān)有硬件,從hypervisior做offload,讓服務(wù)器的CPU不用預(yù)留資源去處理網(wǎng)絡(luò)事務(wù)。此外,除了類(lèi)似Nitro Card充當(dāng)NVMe控制器時(shí)候的隔離性能干擾的特性外,AWS的這塊特殊的網(wǎng)卡還支持許多高級(jí)的網(wǎng)絡(luò)加速特性。
Nitro的功能相對(duì)獨(dú)立,可以根據(jù)需求靈活搭配來(lái)組建,Nitro Card 控制器是一個(gè)大管家,可以管理Nitro的Hypervisior、存儲(chǔ)、網(wǎng)絡(luò)以及安全功能。AWS通過(guò)它來(lái)在后臺(tái)進(jìn)行系統(tǒng)管理。
Nitro 安全芯片
在安全方面其實(shí)就沒(méi)什么offload了。我們知道,各種設(shè)備的firmware對(duì)系統(tǒng)的安全有序運(yùn)行都非常關(guān)鍵,為了正確管理這些firmware,Nitro 安全芯片一方面追蹤服務(wù)器上各種控制器的firmware的IO操作,一方面還能升級(jí)管理這些firmware,這是原來(lái)的服務(wù)器做不到的。在啟動(dòng)服務(wù)器的時(shí)候,Nitro芯片會(huì)做各種底層的安全驗(yàn)證,以此來(lái)保證系統(tǒng)安全。
結(jié)語(yǔ)
以上就是Nitro系統(tǒng)的主要職責(zé),它將存儲(chǔ)、網(wǎng)絡(luò)、管理以及安全的能力都o(jì)ffload到專(zhuān)有的硬件上了,省去了與通用計(jì)算設(shè)備搶占資源的麻煩,節(jié)省資源,提升效率,作為AWS平臺(tái)的一部分,用戶對(duì)于Nitro是不可見(jiàn)的,而且,用戶不需要知道有Nitro這個(gè)東西,各種使用體驗(yàn)與原來(lái)沒(méi)有Nitro的實(shí)例幾乎一樣,然而,用戶拿到的資源更多了。
看來(lái)用專(zhuān)有硬件做專(zhuān)業(yè)的事兒,比通用硬件帶來(lái)的效率要高的多,不然怎么會(huì)提升性價(jià)比呢。云巨頭在信息產(chǎn)業(yè)有舉足輕重的作用,除了在業(yè)務(wù)上對(duì)傳統(tǒng)IT帶來(lái)沖擊以外,在IT架構(gòu)本身也帶來(lái)了許多新變化,云巨頭需要定制適用于超大規(guī)模數(shù)據(jù)中心的服務(wù)器、網(wǎng)絡(luò)和存儲(chǔ)等基礎(chǔ)硬件,當(dāng)考慮到規(guī)模效應(yīng)時(shí),將一些領(lǐng)域做得深入細(xì)致也是必然趨勢(shì),AWS的Nitro在EC2的offload上開(kāi)了個(gè)頭,從不跟友商比較的AWS,這次又以一種新的方式,恐怕要逼得純粹的云主機(jī)價(jià)格戰(zhàn)無(wú)路可走。
2019年全球閃存峰會(huì)將于2019年8月22-23日在中國(guó)杭州國(guó)際博覽中心召開(kāi),大會(huì)由中國(guó)存儲(chǔ)器產(chǎn)業(yè)聯(lián)盟,中國(guó)計(jì)算機(jī)學(xué)會(huì)信息存儲(chǔ)專(zhuān)委會(huì),武漢光電國(guó)家研究中心,百易傳媒(DOIT)共同舉辦,將有中國(guó)計(jì)算機(jī)學(xué)會(huì)存儲(chǔ)專(zhuān)委會(huì)、武漢國(guó)家光電研究中心、SNIA等多家業(yè)內(nèi)頂尖機(jī)構(gòu)的重量級(jí)嘉賓參與其中,有眾多業(yè)內(nèi)知名大咖,意見(jiàn)領(lǐng)袖共襄盛舉。