后摩爾時(shí)代,通用處理器越來(lái)越不合時(shí)宜,越來(lái)越多的嘗試在讓軟件和硬件做更深入的配合,通俗地說(shuō),就是面向場(chǎng)景做優(yōu)化,與另起爐灶的AWS不同,谷歌打算讓x86面向特定場(chǎng)景做優(yōu)化,從僅有的信息來(lái)看,效果還不錯(cuò)。
剛剛過(guò)去的十年中,CPU、GPU、FPGA以及ASIC的分工越來(lái)越明確,讓計(jì)算變得原來(lái)越專業(yè)化。好處是,在云計(jì)算的技術(shù)創(chuàng)新和商業(yè)競(jìng)爭(zhēng)的推動(dòng)下,企業(yè)可以根據(jù)自己的實(shí)際需求量體裁衣,尋找最(挑剔)合適的計(jì)算方式。
谷歌云最近發(fā)布的Tau實(shí)例也是一個(gè)很好的例子。Tau是一個(gè)希臘字符,表示的是黃金分割比。谷歌工程副總裁烏爾斯·赫茲勒 (Urs Holzle)表示,這個(gè)名字表達(dá)了谷歌想面向特定負(fù)載實(shí)現(xiàn)計(jì)算、內(nèi)存和I/O之間一個(gè)恰到好處的平衡。t2d是一個(gè)Tau系列實(shí)例中的第一個(gè),t2d使用的處理器都經(jīng)過(guò)了特殊調(diào)整,使得在一些非常特定的工作負(fù)載上能提供更好的性價(jià)比。t2d實(shí)例基于AMD的“米蘭”單路Epyc 7003處理器打造,該處理器最多可提供64個(gè)核心,但在t2d的實(shí)現(xiàn)中,用戶最多可激活60個(gè)內(nèi)核,還有4個(gè)內(nèi)核用來(lái)運(yùn)行KVM hypervisior以及存儲(chǔ)和網(wǎng)絡(luò)等功能。聽(tīng)到這里,忍不住又想起了AWS的Nitro卡,阿里云神龍架構(gòu)的MoC卡,英偉達(dá)的DPU,還有前不久英特爾宣布推出的IPU。目前為止,谷歌并沒(méi)有自研專用硬件來(lái)運(yùn)行KVM hypervisior以及存儲(chǔ)和網(wǎng)絡(luò)等功能,從而讓所有核心全新全意運(yùn)行應(yīng)用負(fù)載,AWS的Nitro除了有自研的Nitro,還能讓改良版的KVM hypervisior運(yùn)行在Nitro上。不過(guò),谷歌很有可能也有某種SmartNIC,它也可以O(shè)ffload一些存儲(chǔ)和網(wǎng)絡(luò)功能,不用非得是DPU那種。因?yàn)椋覀兛吹絋au t2d實(shí)例的64個(gè)內(nèi)核中有60個(gè)內(nèi)核可用于運(yùn)行實(shí)際工作負(fù)載,如果谷歌沒(méi)有類似的Offload方案的話,運(yùn)行Hypervisior、存儲(chǔ)和網(wǎng)絡(luò)就需要占用大約30%的內(nèi)核。
谷歌通過(guò)運(yùn)行SPECrate2017_int_base整數(shù)基準(zhǔn)測(cè)試,對(duì)AWS的Graviton2實(shí)例和Azure的至強(qiáng)Cascade Lake實(shí)例做了一個(gè)對(duì)比,測(cè)試結(jié)果發(fā)現(xiàn)谷歌的t2d實(shí)例的性能比AWS的Graviton2實(shí)例高56%,性價(jià)比比AWS的Graviton2實(shí)例高42%,比Azure基于至強(qiáng)的方案表現(xiàn)就強(qiáng)的更多了。
下圖中是谷歌自己做的SPEC測(cè)試得到的性能對(duì)比數(shù)據(jù):
下圖是性價(jià)比對(duì)比數(shù)據(jù):
測(cè)試中,谷歌選擇的是AWS的Graviton2 m6g.8xlarge實(shí)例,32 vCPU和128GB內(nèi)存,成本是1.232美金每小時(shí),Tau實(shí)例也是32vCPU,128GB內(nèi)存,成本是1.352美金每小時(shí),雖然比AWS貴一點(diǎn),但性能要高很多。
不過(guò),目前還不清楚t2d上使用的AMD 64核米蘭的成本情況,但谷歌愿意強(qiáng)調(diào)的是性價(jià)比的提升。
另外,上圖測(cè)試中,谷歌選擇的是Azure的D32s_v4實(shí)例,32vCPU加128GB內(nèi)存,成本是1.536美金每小時(shí)。
D32s_v4實(shí)例使用的不是英特爾最新的Ice Lake至強(qiáng)可擴(kuò)展處理器,如果是Ice Lake的話,英特爾方案的性價(jià)比也會(huì)有所提升,與前兩者的差距應(yīng)該會(huì)有所縮小。
Azure從四月份就公開(kāi)預(yù)覽的了新一代基于Ice Lake至強(qiáng)的主機(jī)——DS_v5,DS_v5也是32vCPU加128GB內(nèi)存的配置,但成本只有每小時(shí)0.768美金,性能方面,特別是單核原始整數(shù)性能方面在提升20%的同時(shí),價(jià)格只有原來(lái)的一半,仔細(xì)對(duì)比一下,結(jié)果如下圖:
看起來(lái),微軟可能在Ice Lake至強(qiáng)可擴(kuò)展處理器上拿到了非常大的折扣,微軟在Ice Lake 實(shí)例的發(fā)布細(xì)則中也提到,這是特殊的預(yù)覽版定價(jià)。
考慮這個(gè)價(jià)格水平,再考慮到從Cascade Lake到Ice Lake帶來(lái)的整數(shù)性能提升,Azure的Ice Lake主機(jī)才是性價(jià)比之王,所以這也就能理解為什么谷歌不用Azure的Ice Lake實(shí)例做對(duì)比了。
到此為止,可以肯定的是,谷歌肯定也算了一筆賬,谷歌也想知道微軟在這種性價(jià)比之下,最后要怎么定價(jià),答案很可能是:每小時(shí)不到 1.00 美元。至于結(jié)果如何,我們且拭目以待吧。
競(jìng)爭(zhēng)是好事兒,所有的云廠商都需要為怎么才能更省錢(qián)(怎么優(yōu)雅滴降價(jià)吸引客戶)展開(kāi)技術(shù)競(jìng)賽。
順便提一下,t2d相對(duì)于AWS主機(jī)56%的性能優(yōu)勢(shì)是因?yàn)槭褂昧薃MD優(yōu)化過(guò)的C/C++ (AOCC) 編譯器,該編譯器針對(duì) Epyc(霄龍)架構(gòu)進(jìn)行了許多調(diào)整,就像英特爾編譯器針對(duì)其至強(qiáng)可擴(kuò)展處理器芯片進(jìn)行的優(yōu)化一樣。
谷歌也承認(rèn),使用開(kāi)源GCC 11 編譯器時(shí),它的性能僅比 Graviton2 高了25%,所以說(shuō),有一半的性能優(yōu)勢(shì)來(lái)自編譯器,一半則來(lái)自芯片。之所以價(jià)格下降是因?yàn)?Tau 實(shí)例沒(méi)有將內(nèi)存配置拉滿,還可能有一些功能特性有所精簡(jiǎn)。
以下是三個(gè)不同的主機(jī)在 CoreMark 基準(zhǔn)測(cè)試中的情況,CoreMark 基準(zhǔn)測(cè)試也是衡量 CPU 性能的一種比較常用的方法,然而,谷歌在這里只討論性價(jià)比數(shù)據(jù):
Tau t2d 實(shí)例將在第三季度上架,同時(shí)也將作為谷歌Kubernetes Engine容器平臺(tái)的底層計(jì)算平臺(tái)。
谷歌工程副總裁烏爾斯·赫茲勒表示未來(lái)可能會(huì)采用別的芯片組方案來(lái)打造適合特定用戶的配置。(這里是暗示英特爾呢嗎?不應(yīng)該不是英特爾吧?)
與AWS不同,谷歌是希望依靠x86本身來(lái)進(jìn)行提升,不強(qiáng)迫用戶面向別的架構(gòu)重新編譯和應(yīng)用。(這里肯定是說(shuō)AWS的Graviton2)
ARM類型的實(shí)例確實(shí)是一個(gè)競(jìng)爭(zhēng)方案,但目前基于AMD的方案能在特定工作負(fù)載中取得可見(jiàn)的優(yōu)勢(shì),如您所見(jiàn),包括AWS的Graviton2在內(nèi)。