決定虛擬服務(wù)器所需要的CPU核心數(shù)量是一件非常復(fù)雜的事情,但是綜合考慮下面幾個(gè)因素,相信管理員能夠作出最適合于自己的決定。
看起來決定虛擬服務(wù)器所需要的單顆CPU核心數(shù)量是一件非常簡(jiǎn)單的事情,但事實(shí)上有很多復(fù)雜因素需要考慮。首先,在虛擬環(huán)境CPU的使用率通常非常低。其次,內(nèi)存大小和速度通常會(huì)比CPU產(chǎn)生更大的影響。最后,虛擬服務(wù)器通常是I/O密集型的。
事實(shí)上,服務(wù)器并不需要單顆CPU具有太多的核心數(shù)量,因此表面上,CPU內(nèi)核數(shù)量越少越好。但是問題在于服務(wù)器設(shè)計(jì)的其他因素,這些因素都會(huì)對(duì)成本造成影響,因此最終都會(huì)成為影響配置的決定性因素。
內(nèi)存
DRAM(動(dòng)態(tài)內(nèi)存)價(jià)格非常昂貴,而最新、密度更高的DIMM(雙列直插式存儲(chǔ)模塊)相比于主流的DIMM更加昂貴,因此廉價(jià)但是供應(yīng)量充足的普通DIMM也許是一種更好的選擇。但是現(xiàn)在Optane或者NAND的NVDIMM已經(jīng)成為TB級(jí)別內(nèi)存擴(kuò)展的最佳方式。
使用NVDIMM或者更加廉價(jià)的DRAM需要增加DIMM插槽數(shù)量,這樣做能夠?qū)⑾到y(tǒng)內(nèi)存帶寬擴(kuò)大一倍并且?guī)砥渌苑矫娴男阅芴嵘?,管理員就能夠在服務(wù)器上加載更多的實(shí)例了。
向服務(wù)器添加快速的NVMe SSD能夠顯著提升實(shí)例的I/O性能。過去這是一種非常昂貴的解決方案,但是現(xiàn)在NVMe已經(jīng)進(jìn)入消費(fèi)級(jí)市場(chǎng),價(jià)格大幅降低。
NVMe大幅度降低了操作系統(tǒng)在I/O方面的開銷,能夠節(jié)省大量的CPU和內(nèi)存時(shí)間周期。類似地,RDMA(遠(yuǎn)程直接數(shù)據(jù)存?。┍粡V泛應(yīng)用在HCI(超融合基礎(chǔ)架構(gòu))中,將會(huì)在未來幾年成為一種標(biāo)準(zhǔn)的以太網(wǎng)特性,能夠減少虛擬服務(wù)器集群之間的系統(tǒng)開銷和延遲。
總而言之,內(nèi)存和I/O方面的性能提升允許管理員運(yùn)行更多的虛擬服務(wù)器實(shí)例,從而導(dǎo)致CPU數(shù)量不足。因此需要增加單顆CPU的核心數(shù)量,才能夠保證服務(wù)器的正常運(yùn)行。
實(shí)例配置
在這篇文章,有必要談?wù)撘幌戮烤故裁词菍?shí)例。當(dāng)然,我們不能為實(shí)例設(shè)置固定大小。實(shí)例可能包含多種配置以適用于多種應(yīng)用程序??梢允且粋€(gè)虛擬核心對(duì)應(yīng)一個(gè)物理核心,或者多個(gè)虛擬核心對(duì)應(yīng)一個(gè)物理核心,甚至是一個(gè)虛擬核心對(duì)應(yīng)整個(gè)CPU。內(nèi)存和I/O分配同樣是相互獨(dú)立的變量。
實(shí)例的發(fā)展趨勢(shì)是更大的DRAM和更多的I/O以及更低的虛擬核心比——也就是每個(gè)實(shí)例中更多的CPU。如果管理員希望未來五年之內(nèi)使用這種等級(jí)的實(shí)例,那么具有更多CPU核心的服務(wù)器引擎將會(huì)起到很大幫助作用。
容器和微服務(wù)
這種相對(duì)全新的虛擬化方式是為了替代基于hypervisor的實(shí)例。通常由于共享內(nèi)存段,運(yùn)行容器的服務(wù)器相比運(yùn)行hypervisor的服務(wù)器所需的DRAM更少,因此容器的數(shù)量通常會(huì)是實(shí)例數(shù)量的三到五倍。但是實(shí)例數(shù)量的增加意味著需要更多的CPU核心。
如果我們向微服務(wù)軟件架構(gòu)遷移,存儲(chǔ)和網(wǎng)絡(luò)服務(wù)功能都被轉(zhuǎn)變?yōu)楹苄〉娜萜骰P?,?yīng)用程序被分隔為微服務(wù)元素,那么單臺(tái)服務(wù)器能夠運(yùn)行的容器數(shù)量還會(huì)繼續(xù)提升,而且是大幅度地。微服務(wù)意味著需要CPU進(jìn)行更加頻繁的狀態(tài)切換。需要更好的性能表現(xiàn)和并發(fā)能力,因此單個(gè)CPU需要更多的核心才能夠滿足要求。
服務(wù)器架構(gòu)創(chuàng)新
所有這些都忽略了服務(wù)器架構(gòu)方面的領(lǐng)先技術(shù)。關(guān)于HMC( Hybrid Memory Cube)方面的討論已經(jīng)持續(xù)了三年,其能夠?qū)PU和DRAM段形成更加緊耦合的模型。這種方式能夠大幅度提升DRAM速度,比如適用于許多并行通道的電接口和架構(gòu)調(diào)用以及DRAM。
現(xiàn)在很多主流廠商都在推廣類似于HMC的平臺(tái),其早期版本限制DRAM大小不能超過32GB。這足夠在三層和DRAM之間形成一個(gè)足夠大的中間層緩存,有效提升內(nèi)存性能表現(xiàn)以支持更多的CPU核心。由此得出的結(jié)論是多CPU核心是有意義的。
增加核心的成本方面考慮
通常數(shù)量更少、更加強(qiáng)大的服務(wù)器相比于多臺(tái)小型服務(wù)器在成本方面更加具有優(yōu)勢(shì)。它們的運(yùn)行成本更低,能夠支持25Gb以太網(wǎng)和50Gb RDMA連接。底層基礎(chǔ)架構(gòu)的電力成本得到平攤,而運(yùn)營(yíng)費(fèi)用——供電、制冷和維護(hù)等——也都更加便宜。
所有這些討論包含一些如何選擇組件的不錯(cuò)建議。比如,每顆核心的成本會(huì)隨著數(shù)量的增加而下降,但是最好的三到四顆CPU很有可能是全新的,需要50%到100%的額外費(fèi)用。同樣的情況也適用于內(nèi)存和SSD。
如果沒有使用前沿技術(shù),那么看起來更多的CPU核心和配置更高的服務(wù)器相比于小型服務(wù)器更加具有吸引力,但是爆米花大小的web服務(wù)器除外。
展望未來
未來的服務(wù)器架構(gòu)發(fā)展路線相比于之間更加模糊,是否轉(zhuǎn)向以內(nèi)存為中心的架構(gòu)——比如Gen-Z——依舊在爭(zhēng)論之中。即便如此,我們依然能夠在2018年看到32核心的CPU,并且如果將HMC內(nèi)存體積擴(kuò)展到TB級(jí)別,那么CPU核心數(shù)量還會(huì)繼續(xù)增加。一些廠商暗示可能會(huì)在架構(gòu)中同時(shí)使用DRAM和NAND。
通過使用多核虛擬服務(wù)器和HCI架構(gòu),特定負(fù)載所需要的服務(wù)器存儲(chǔ)將會(huì)大幅度減少。
注意事項(xiàng):需要注意網(wǎng)絡(luò)設(shè)計(jì)和流量。我們?nèi)耘f在和LAN以及WAN的限制做斗爭(zhēng),即便使用最新的速度和技術(shù)。加密和壓縮正在快速成為L(zhǎng)AN的必要特性,這樣就會(huì)帶來更多的CPU負(fù)載,也就需要更多的CPU核心。
作者:Jim O'Reilly來源:TechTarget中國(guó)