09月03日 : RISC(Reduced Instruction Set Computer)即精簡指令集,一直是移動設備的主流技術。而CISC (Complex Instruction Set Computer)即復雜指令集,已經在虛擬化環境下發展壯大。二者都是設計制造微處理器的兩種典型技術,但是 RISC以及RISC芯片現在在服務器中承擔了更為重要的角色。這主要歸功于ARM及其參考架構,而64位ARM處理器的出現意味著管理員必須采用虛擬化戰略以最大限度地提高系統的利用率和可擴展性。
64位ARM處理器提供虛擬化支持
為使虛擬化發揮優化資源以及硬件性能優勢,服務器需要支持一些核心的處理器技術。
首先,處理器必須提供允許hypervisor管理并分配計算資源的指令集,沒有資源重疊影響工作負載安全性。早期的部署依賴軟件進行管理與分配,但是軟件 實際上影響了性能而且對在舊系統上進行虛擬化進行了嚴格的限制。傳統的x86處理器采用虛擬化擴展,ARM也采用了這一方式,在ARMv7中針對虛擬化引 入了硬件加速。
其次,在虛擬化環境中內存是一個主要關注點。傳統的32位處理器只能訪問4GB的系統內存,這限制了系統能夠支持的虛擬機的總數。這一限制提醒我們遷移到64位處理器,64位處理器在理論上能夠訪問16艾字節的內存,遠遠大于在目前的服務器系統中實際配置的內存大小。
大型物理地址擴展通過將32位地址映射到40位地址范圍,使舊有的ARM處理器克服了32位內存限制。但是為了支持數據中心工作負載并運行企業級操作系 統,ARM處理器還必須遷移到64位平臺。ARMv8架構比如ARM的Cortex-A50系列是一款真正的能夠進行64位尋址的64位處理器。
什么時候使用ARM處理器進行服務器虛擬化
Intel至強、AMD酷龍以及其他x86處理器能夠處理大量指令,而且包含數十億個在2-3GHz頻率下運行的晶體管。這一數量巨大的晶體管處理復雜指令的擴展集合,但是將消耗大量的電力,而且會影響處理效率。
RISC技術的目標是通過精簡指令集降低功耗并提升性能。RISC減少了指令的數量,因此減少了晶體管的總數。晶體管的數量更少降低了功耗,這是通過處理器提升性能的最快方式。這一精簡的處理器使用1GHz或者更低的時鐘頻率能夠達到更好的性能。
相比部署在x86服務器上的工作負載,RISC應用以及底層的操作系統通常更加簡單和具體。例如,Web服務器工作負載主要是通過存儲向網絡交換數據并提供Web頁面服務。這些任務需要相對少的指令集合,更適合用于RISC技術以及以及互補服務比如Java和ActiveX。ARM處理器帶來的性能提升同樣能夠加速Web頁面交付并提升用戶體驗。
相反,具有高處理請求或多樣化處理請求的應用,或者是具有高內存要求的應用通常不適合采用RISC技術。這意味著業務必須實現服務器與任務的匹配。
RISC 服務器必須有ARMv8或者類似包含虛擬化擴展的處理器。硬件還具備使服務器虛擬化更有效率的加速功能。服務器還需要足夠多的處理器和內存來支持預期的工 作負載。主要的虛擬化廠商提供了運行在ARM處理器之上的hypervisor軟件以及操作性系統,比如Ubuntu Server以及Ubuntu Desktop 12.04。
考慮到RISC在服務器領域羽翼未豐,部署ARM服務器并使用虛擬化比如HP Moonshot平臺,應該參考實驗室測試以及內部的概念驗證項目。
使用64位ARM處理器分配資源
64位ARM系統的虛擬資源分配和傳統的x86系統的工作原理類似:必須對資源進行調整以優化工作負載的性能。然而計算資源擴展的方式是不同的。
在傳統的x86系統中,處理器可擴展性受限是因為操作系統以及工作負載通常沒有設計為在多個處理器之間進行擴展。單個x86處理器通常提供了足夠多的計算周期,工作負載在多個處理器核心之間擴展的情況很少。
在RISC處理系統中,單個RISC核心沒有提供像x86處理器那樣充分的處理功能。RISC處理器在速度以及復雜性方面的特性降低了功耗而且能夠高效運 行。然而,管理員仍舊需要改變他們感知RISC處理器核心的方式。例如,Intel至強處理器可能提供了10個核,而64位的Tilera TILEGx-8072提供了72個核。完整的RISC服務器S2Q多模云服務器在2U的服務器空間內提供了8顆64核的處理器,共計512個核。
這意味著相對于傳統的x86平臺,RISC應用能夠在核心和處理器之間進行更平滑擴展。這打開了更大工作負載計算可擴展性的大門,對于某些基于云的應用,當用戶需要很大的可擴展性時RISC可能是更適宜的平臺。
類似HP Project Moonshot這樣的項目強調了RISC以及RISC處理器架構的重要性。RISC在服務器虛擬化領域的增長將推動64位架構的采用以及虛擬化部署,最終實現最佳的工作負載靈活性及可擴展性。