詳解新型云計算服務器的設計與實現
1、概述
云計算是一種全新的計算模式,其核心驅動力是:企業或個人不再需要在電腦中安裝大量應用軟件,而是通過Web瀏覽器接入到一種大范圍的、按需定制的服務中,即“云服務”。它將使用戶體驗發生根本性的變化。
傳統的服務器主要面向科學計算,通過提高CPU的時鐘頻率、指令集并行度、核數等來提高服務器的性能。Intel/AMD/IBM等公司的服務器產品均過分迫求性能,忽視了產品的功耗、體積、成本等能效因素,結果導致服務器能效較低,同時造成了服務器體積大、功耗高等問題。云計算則以商業計算為主,它并不注重數學運算的性能,而需要解決大量邏輯運算和多用戶同時請求的問題。因此,必須采用全新的思路來設計云服務器系統結構。本文分析了新型云計算服務器的系統結構,設計并實理了一個ICCS-PW新型云計算服務器。
2、新型云計算服務器系統結構
新型云計算服務器關注的是高性能吞吐量計算能力,關注在一段時間內的工作最總和。因此,新型云計算服務器在架構上和傳統的服務器有著很大的區別。在傳統服務器中,均包含處理器摸塊、存儲模塊、網絡模塊、電源、風扇等設備。
新型云服務器體系架構按照功能校塊劃分成云處理器模塊、網絡處理模塊、存儲處理模塊與系統件理模塊等,它們通過引入緊耦合高速互連網絡來提供完成網絡模塊和存儲模塊的硬件虛擬化。新型云計算服務器模型如圖1所示。
相比傳統服務器架構,新型云計算服務器大大提高了其利用率,同時也在系統中省去了很多重復的硬件很據云計算服務的特點,采用多個云處理器完成系統設計,并引入低功耗管理理念完成對系統的集中冗余管理。
新型云服務器將計算、存儲、交換、管理等集成到個標準系統中,與外界的網絡設備、存儲設備間的接口和通用架構保待一致,操作系統主要支持Linux,以便用戶應用軟件的移植。
#p# 3、新型云計算服務器關鍵技術
3.1云處理器
本文設計的新型云處理器關注的是高性能吞吐量計算。高性能吞吐量計算是指把高端的單線程性能與多核多線程聯系起來,關注一段時間工作量總和,而不是看單個核或單線程在某個Benchmark上運行后的性能指數和結果。
云服務器一般包括線程、核、處理器、網絡、加速器等功能單元全部計算的總和。因此,云計算一般都有著龐大的數據輸入量或海量的工作集,導致占用很多內存,但訪問方式卻缺乏空間局部性,從而使現有的多級cache內存架構失效率大大提高。
由于在實際情況下,很多服務器通過數以百計的雙面內置的內存模型來驅動大量數據,使得內存不可避免地遠離處理器,令處理器有可能很多時間花在等待遠處內存的數據或指令的獲取。同時,云處理的中斷比較多,必須要處理好CPU計算和數據存取之間的關系。
本文的云處理器采用以下技術:
(1)硬件多線程技術
硬件多線程技術即在一個核中實現了多個硬件線程,通過多組寄存器存取各個線程的狀態,來達到硬件線程之間的正確與零消耗地切換。這些線程對于上層操作系統或者軟件是透明,可以直接認為底層是具有多個核的架構,然后完全按照多核處理器那般調度和分配。
(2)硬件探測技術
高性能吞吐量計算主要還得克服“內存墻問題”,即如何讓L1 cache訪問失效時,讀取L2 cache或者主存所致的延遲控制在可容忍的范圍內。在傳統處理器中,大多數程序都是最大程度地利用cache空間和時間來容忍主存的延遲。云處理器設計了新型的非阻塞cache,這種cache能夠在失效的情況下不全部鎖定cahce,讓加載數據可以繼續運行。
(3)網絡處理技術
云處理器內嵌了網絡協處理器。它實現智能路由轉發器功能,將最常見也是最耗費時間的TCP包剪切與URL地址解析進行硬件處理,大幅度提高云服務器性能與速度。云處理器經過了特別設計與優化,針對網絡應用程序逐位處理的特性,加入如柱式移位器等專用于網絡處理的硬件單元。協處理器與內存單元之間一般使用支持資料組交互作用的總線,并連接雙端口的RAM,緩沖來自總線的網絡數據包。
3.2網絡拓撲結構
為了提高新型云計算服務器中多處理器之間數據交換的效率,提升性能,本文采用多維互聯網絡。多維互聯網絡具有大容量、易擴展以及高可靠性等特點。為了達到這些特點,需要在交換核心部件—交換結構方面有所突破。
多維互聯網絡最先應用于并行計算和多處理器技術,相對于多處理器系統的應用,數據交換中對吞吐量的要求更高,需要有業務質量保證,但對分組時延要求不高,多維互聯結構具有巨大的交換容量以及高度的可擴展性和魯棒性,這些特點恰好滿足了大容量交換網絡對容量、可擴展性和可靠性方面的要求,多維互聯結構具有很高的并行處理特性和很好的可擴展性。
新型云計算服務器采用3D-torus結構網絡拓撲、蟲孔路由并結合虛通道技術的交換網絡的節點結構,它可以實現維序路由算法和對節點資源進行合理的調度。3D-torus網絡拓撲示意圖如圖2所示。
在該結構框架下,節點被劃分成數據平面和控制平面2個部分,分別處理數據信號和控制信號,這使節點的結構更加清晰,功能更加明確。本文利用3D-tons實現的云服務器具有高帶寬、低時延的特點,能很好地滿足云計算多用戶高吞吐量訪問的特點。
3.3負載均衡
由于云計算需求的不斷增長,需要具備提供大量并發訪問服務的能力。如果簡單的提高單機系統的硬件性能并不能真正解決這個問題,因為在把單機系統的性能提高到一定的程度時,其性價比會急劇下降,而且單機系統的性能總是有限的。因此,必須采用多個處理器提供網絡服務,并將網絡請求分配給這些處理器分擔,才能提供處理大量并發服務的能力,而如何把網絡請求合理地分配到多個處理器上,使之不出現一個處理器過忙、而別的處理器卻未充分發揮處理能力的情況。
本文在云計算服務器中采用負載均衡機制,負載均衡技術可以解決成本、性能、可擴展能力等各方面的矛盾,通過相對總體成本較低的計算機群集,可以實現單機系統無法提供的強大性能。
負載均衡的實現方式有軟件和硬件2種
基于軟件的負載均衡,具有針對小規模系統性價比高,和能夠更好地根據系統與應用的狀況來分配負載等特點,但負載能力卻受服務器本身性能的影響,性能越好,負載能力越大。
而采用硬件實現方式一般直接通過智能交換機實現處理能力更強,并與系統無關、負載性能強的負載均衡設備,其更加適用于一大堆設備、大訪問量與簡單應用模式。因此,非常符合目前數據中心中占主流的Web服務。
調度算法決定了負載均衡的好壞。好的調度算法不僅可以使服務器集群內的每個服務器都充分發揮各自的性能,使整個服務器集群的負載均勻分布,也不會使集群內的服務器負載過重。本文在云服務器設計中植入硬件負載均衡單元,同時配備多種供選擇的均衡算法。在實際應用中可以根據規模綜合考慮采用何種均衡方式本文根據云服務器的應用場合,同時采用了軟件和硬件負載均衡策略。
3.4硬件虛擬化
傳統的服務器一般配備有自己的主板、電源、網絡模塊和存儲模塊等,能夠獨立成系統。但根據目前數據中心的部署的情況來看,更多地采用集中式存儲結構。就網絡訪問而言,目前主要采用千兆網卡,如果其能滿負荷工作,能夠同時支持數十萬個TCP并發請求,但后端的處理速度無法跟上,所以目前高性能雙至強4核處理器也只能支持最多2萬個并發請求。
新型云計算服務器針對存儲模塊進行硬件虛擬化,去掉主板上不常使用,但十分耗電相關硬件,可根據需要集中訪問存儲設備,將使得服務器結構更加精簡,大大降低系統功耗。針對網絡模塊進行硬件虛擬化,讓一定數量的處理器去共享網絡通信外沒,即提高了網絡換塊的利川率,同時也降低進一步降低了功耗。
3.5服務管理
新型云計算服務器將通過為管理層提供管理接口的形式,支持云計算服務管理。
在資源接口層,提供服務器硬件平臺服務接口,以便資源接口采用面向資源管理服務的方式進一步封裝。在通用資源層,提供服務器通用資探管理服務接口,以便通用資源層進一步封裝后體現出與硬件平臺無關的特點。在服務管理層,提供高級的資源和計算服務,如流程服務、動態分配計算資源、資源監控、系統的健康管理、自動優化的調用接口。
#p# 4、新型云計算服務器的實現
本文針對云計算服務的特點,采用了低功率處理器、3D-torus網絡、硬件盤擬化、負載均衡、服務管理等技術,研制的ICCS-PW新型云服務器系統結構如圖3所示。它采用并行計算機技術將多處理器、存儲、I/O通過高速網絡實現整機,大大降低了云服務器的體積和功耗。
ICCS-PW新型云計算服務器的內部實物照片如圖4所示,外部實物照片如圖5所示。
需要說明的是,由于目前還沒有專門針對云計算的云處理器產品,本文在設計新型云計算服務器時采用低功耗處理器。由于它在芯片上簡化了流水線、cache等微結構,因此大大地降低了功耗。
ICCS-PW新型云計算服務器支持并發連接數45000個~150000個。與傳統服務器相比,新型云服務器在處理性能相同的情況下,體積和功耗可降低到傳統服務器的1/4。
傳統服務器與云計算服務器運行成本對比如表1所示,其中,假定傳統服務器與云計算服務器全天24 h不間斷工作,電費按照0.5元/kWH,托管費用按照每月300元。可以看出,云計算服務器比傳統服務器運行成本降低75%,具有綠色環保的特點。
5、結束語
本文在研究云計算的特點的基礎上,設計并實現了一種新型云計算服務器,具有低功耗、小體積等的特點。下一步將對可變計算結構、網絡請求快速處理、高效能動態負載請求節能處理等技術進行研究,進一步減低云計算服務器的運行成本,達到節能環保的目的。