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