VMworld 2019 大會上 VMware 發佈了 Project Pacific,讓 vSphere 虛擬化平臺原生支援 Kubernetes,在 ESXi hypervisor 上直接運行 Kubernetes Pod (稱之為 vSphere Native Pod),並且性能可以超過裸機 8%。這可能有悖於大家對於虛擬化技術的一貫印象:虛擬化不是比裸機多了一層,會有一些額外的性能損耗嗎?要回答這一問題,首先要介紹一下現代伺服器的體系架構 NUMA。

 

現代伺服器的 NUMA 架構

NUMA 的全稱是 Non-Uniform Memory Access (非一致性記憶體訪問),它是由 UMA (Uniform Memory Access,一致性記憶體訪問) 技術發展而來的,UMA 和 NUMA 都是構建多處理器伺服器的基礎架構。在 UMA 架構中,伺服器中的多個 CPU 通過一個集中的記憶體控制器 (Memory Controller) 來統一訪問所有的記憶體,這可以有效地避免多個 CPU 對於記憶體訪問的競爭和衝突。但是記憶體控制器很容易成為整個系統的性能瓶頸,當一個 CPU 通過它訪問記憶體時,其他的 CPU 只能在旁邊等待;當系統中的 CPU 數量越來越多時,這個瓶頸很快就會把增加 CPU 所帶來的性能提升抵消掉。

一致性記憶體訪問 (Uniform Memory Access)

 

隨著 CPU 性能的不斷提高,UMA 架構阻礙了伺服器性能的進一步提升,所以又提出了 NUMA 架構,把記憶體控制器集成在 CPU 內部,由 CPU 來直接管理和訪問記憶體。Intel 從 Nehalem (2007年) 處理器開始把記憶體控制器集成在 CPU 內部,這樣記憶體就從 CPU 的匯流排來訪問了,性能大大提高;但是記憶體從集中管理變成了由各個 CPU 來分別管理。CPU 對於自己所控制的本地記憶體可以直接訪問,存取速度是最快的;對於連接在其他 CPU 上的異地記憶體則需要通過 CPU 之間的 Ultra Path Interconnect Link 匯流排 (這種匯流排以前也叫 QPI – Quick Path Interconnect) 來間接訪問,存取速度有所降低。

非一致性記憶體訪問 (Non-Uniform Memory Access)

 

vSphere 針對 NUMA 的優化

通過 NUMA 架構的記憶體訪問原理我們可以看到,在 CPU 上運行軟體的時候,要儘量讓 CPU 訪問本地記憶體,這樣有助於提高系統性能。這就要求作業系統針對 NUMA 架構優化對進程調度,把同一個進程和需要共用記憶體的進程儘量放在同一個 CPU 上來運行,vSphere 就是利用這一原理來進行性能優化的。

 

Project Pacific 針對 NUMA 的優化

Project Pacific 在 vSphere 環境中增加了一種 ESXi 原生的容器運行時環境 CRX (Container Runtime for ESXi ),CRX 是一種羽量級的虛機,其中僅包含 Linux 內核和必要的容器運行環境,Pod 就運行在 CRX 虛機中。大家知道一個 Pod 中會容納多個容器進程,vSphere 會把這幾個進程都調度在同一個 CPU 上運行,使得這幾個進程都可以通過本地記憶體來進行資料交換。 在性能測試中,我們發現 vSphere Native Pod 比物理伺服器還要快上 8% (詳情請閱讀博文 How Does Project Pacific Deliver 8% Better Performance Than Bare Metal? )。

 

vSphere 針對 Big Data 環境的優化

同樣的,針對大資料應用場景,vSphere 也有一系列地針對 NUMA 架構的優化措施,詳情可參見技術白皮書“Big Data Performance on vSphere 6”。在測試環境中,我們發現在 TeraSort Suite、TestDFSIO、Spark Support Vector Machine 等多個計算場景下,跟物理平臺上的性能相比,vSphere 虛擬化環境取得了更好的成績。

 

當然,這種針對 NUMA 架構優化而取得的性能提升還是比較小的,很多人可能並不會在意這些微小的性能差異。重要的是,我們要看到 vSphere 虛擬化環境可以達到跟物理機環境一致的性能水準,在某些情況下甚至可以比裸機做得更好。對於應用在 vSphere 虛擬化平臺上運行,不必糾結於性能損失方面的擔心。

 

延伸閱讀

將 VMware vSphere / vSAN 軟體與 Intel 的最新硬體平臺技術相結合,可以為用戶交付最佳的超融合架構平臺,幫助用戶簡化資料中心管理,降低採購和運維成本,輕鬆應對企業在數位化轉型中面對的各種挑戰。

  • VMware vSAN 是最佳的存儲方案平臺,具有管理簡便、高性能、低成本、易擴展的特點,在 vSAN 平臺上可以支援任何類型的應用。
  • Intel 至強處理器提供最強計算能力,基於傲騰 (Optane) 和 3D NAND 技術的固態盤是理想的快取記憶體,乙太網融合網卡提供穩定的網路頻寬和低網路延遲。