有人把云計算技術(shù)視為個人電腦、互聯(lián)網(wǎng)之后的第三次革新浪潮,認(rèn)為它即將甚至已經(jīng)從根本上改變整個信息產(chǎn)業(yè)的格局,改變?nèi)祟愂褂糜嬎銠C(jī)的習(xí)慣和方式,因此云計算技術(shù)得到了迅猛發(fā)展。但是,它改變世界的同時,自己也需要被改變:由于云計算規(guī)模越來越大,它對能源與環(huán)境的影響已越來越突出,能效問題是云計算發(fā)展道路上必須要跨過的障礙。
在云計算出現(xiàn)之前,想要大量儲存和處理數(shù)據(jù)只能自己搭建服務(wù)器系統(tǒng)。這不僅需要很多IT知識,還需要很高的成本,云計算技術(shù)的出現(xiàn)改變了這一切。所謂“云服務(wù)”,是指通過互聯(lián)網(wǎng),讓很多用戶共享軟硬件資源,按照用戶需求提供計算機(jī)等設(shè)備。于是,用戶不再需要了解“云”中的基礎(chǔ)設(shè)施細(xì)節(jié),也不需要擁有相關(guān)的專業(yè)知識,就能隨時隨地處理和存儲大量數(shù)據(jù)。因?yàn)樗麄儾挥秘?fù)責(zé)控制“云”中的設(shè)備和軟件,只需要付出相對低廉的費(fèi)用,把技術(shù)細(xì)節(jié)交給云服務(wù)的提供商來處理就好。
通過互聯(lián)網(wǎng),用戶可以非常方便地使用云服務(wù),因此互聯(lián)網(wǎng)上的“云”正迅速擴(kuò)張,變得越來越龐大,甚至能把產(chǎn)業(yè)鏈的不同環(huán)節(jié)整合在一起。此外,云計算還讓一些很有想象力的應(yīng)用成為現(xiàn)實(shí)。
云服務(wù)提供商集成的大量存儲和計算資源能形成規(guī)模效應(yīng),用戶可以隨時根據(jù)需要購買相應(yīng)服務(wù),而不需要為了短暫的高峰需求購買大量資源。從這個意義上說,云服務(wù)比本地服務(wù)更加節(jié)約資源和能源。根據(jù)模擬軟件CLEER的估算,如果所有的美國公司都把自己的電子郵箱程序、電子表格應(yīng)用和客戶管理軟件都轉(zhuǎn)移到集中的云服務(wù)器里,就可以把計算耗能降低87%,節(jié)省下的能源足夠讓洛杉磯運(yùn)轉(zhuǎn)一年。
云計算的好處顯而易見,但隨著其規(guī)模越來越大,云計算本身的能耗越來越不可忽視。今天,云計算的耗電量已經(jīng)超過全球總耗電量的1%。而且,把資源聚集在一起形成規(guī)模效應(yīng)本身也有成本。云計算服務(wù)商需要專門建設(shè)數(shù)據(jù)中心,并在數(shù)據(jù)中心里安置成百上千臺服務(wù)器、處理器和硬盤設(shè)備。這些設(shè)備運(yùn)行時會散發(fā)大量熱,因此數(shù)據(jù)中心需要額外的支持設(shè)備(比如散熱系統(tǒng))來維護(hù)正常運(yùn)作,互聯(lián)網(wǎng)公司谷歌甚至專門成立了能源部門為自己的數(shù)據(jù)中心供能。
一般來說,一個占地500平方米的數(shù)據(jù)中心每天消耗的電力就高達(dá)38000度,這一數(shù)字超過了3500戶歐洲家庭日用電量的總和。從2000年到2007年,全世界數(shù)據(jù)中心的耗電量已從700億度增至3300億度,到2020年預(yù)計將超過1萬億度。此外,在2014年,只有8.5%的數(shù)據(jù)中心負(fù)責(zé)人預(yù)計在2015年后數(shù)據(jù)中心的容量仍然夠用,到2020年時,75%的數(shù)據(jù)中心必須要擴(kuò)容。因此,到2020年,預(yù)計數(shù)據(jù)中心的建設(shè)規(guī)模幾乎將是2010年的兩倍,達(dá)到780億美元,這讓云計算的能效、對環(huán)境的影響等問題更為突出。
探秘云計算
從上面這些數(shù)字可以看出,為云計算設(shè)計高能效的解決方案已經(jīng)是迫在眉睫的問題。云計算耗能根源在哪?怎樣節(jié)約云計算?下面的內(nèi)容,不妨一看。
云計算系統(tǒng)有幾個不可或缺的部分。首先,它需要大量的硬件設(shè)備來存儲并處理數(shù)據(jù)。這些硬件設(shè)備包括放置在機(jī)柜內(nèi)的計算和存儲服務(wù)器,以及處理器、內(nèi)存、硬盤等服務(wù)器組件。其次,在服務(wù)器之間,服務(wù)器與用戶之間需要連接,所以網(wǎng)絡(luò)也必不可少,它是連接用戶與計算、存儲等云資源的橋梁。此外,數(shù)據(jù)中心還需要專門的軟件來監(jiān)控和管理云計算的基礎(chǔ)設(shè)施,這些軟件就是云管理系統(tǒng)(簡稱CMS)。最后,云服務(wù)商還需要安裝合適的應(yīng)用軟件,幫助用戶使用云服務(wù)。
這幾個部分都需要消耗大量的能源,也都會損失和浪費(fèi)很多能源,比如在夜間溫度較低時,散熱系統(tǒng)仍在全速運(yùn)行,或者系統(tǒng)在運(yùn)行,卻沒有為用戶提供服務(wù)。2003年,單機(jī)柜服務(wù)器的功率密度在0.25千瓦到1.5千瓦之間,而到了2014年,這個數(shù)字上升至10千瓦,預(yù)計到2020年會上升至30千瓦。而且,大多數(shù)服務(wù)器空載時的功率超過峰值功率的50%,服務(wù)器的平均利用率一般只有10%到50%。因此,一部只以20%性能運(yùn)行的服務(wù)器的能耗,可能相當(dāng)于它滿載時能耗的80%。考慮到僅在2013年最后一個季度,新服務(wù)器的出貨量就超過250萬臺,提高服務(wù)器的能效就成為第一要務(wù)。
而在網(wǎng)絡(luò)環(huán)節(jié),主要有3個地方會消耗能源:數(shù)據(jù)中心內(nèi)部的連接、不同數(shù)據(jù)中心間的網(wǎng)絡(luò)連接,以及讓外部用戶訪問的固定網(wǎng)絡(luò)和無線網(wǎng)絡(luò)。在目前的數(shù)據(jù)中心,網(wǎng)絡(luò)成本占所有運(yùn)營費(fèi)用的10%,這個數(shù)字還可能隨著互聯(lián)網(wǎng)流量的增加上漲到50%。B.硬件優(yōu)化之路提高能效的第一步是升級網(wǎng)絡(luò)設(shè)備,增加節(jié)能模式,減少網(wǎng)絡(luò)設(shè)施在未被充分使用時的耗電量。如果能把未使用的端口、連接和交換機(jī)完全關(guān)閉,它們就不會因?yàn)榭辙D(zhuǎn)而耗能了。
升級后,設(shè)備的熱載荷也會下降,這又會降低散熱系統(tǒng)的能耗,提升系統(tǒng)的穩(wěn)定性。不過,只調(diào)整網(wǎng)絡(luò)設(shè)備是不夠的,因?yàn)楫?dāng)網(wǎng)絡(luò)連通性降低時,系統(tǒng)性能也會下降。所以,還需要調(diào)整網(wǎng)絡(luò)結(jié)構(gòu),讓網(wǎng)絡(luò)流量可以沿著多個路徑傳播,或只通過少數(shù)幾個高能耗的關(guān)鍵路徑發(fā)送,而網(wǎng)絡(luò)中的其他部分則進(jìn)入低能耗模式。這種方案還可用于數(shù)據(jù)中心間的網(wǎng)絡(luò),充分挖掘網(wǎng)絡(luò)帶寬,因?yàn)榕總鬏斔璧某杀颈葐为?dú)傳輸要低。使用云管理系統(tǒng)的主要目的,是對基礎(chǔ)設(shè)施(包括服務(wù)器、虛擬機(jī)和應(yīng)用程序)進(jìn)行調(diào)度以實(shí)現(xiàn)負(fù)載平衡。虛擬機(jī)是體現(xiàn)云服務(wù)優(yōu)越性的最佳范例,它借助軟件模擬出計算機(jī)系統(tǒng),具有硬件功能,可以在完全隔離的環(huán)境中運(yùn)行。有幾種虛擬機(jī)的使用方法能提高云計算的能效。首先,可以讓虛擬機(jī)根據(jù)負(fù)載情況重新調(diào)配資源;其次,可以為虛擬機(jī)的布置選擇能效最高的物理機(jī);最后,可以將未充分利用的虛擬機(jī)遷移至數(shù)量更少的主機(jī)上,并把一直未使用的虛擬機(jī)關(guān)閉。
不過,這些步驟需要CPU軟件功耗模式來實(shí)現(xiàn)。該模式下,軟件和硬件彼此協(xié)調(diào)以共同調(diào)整能耗。而且,服務(wù)器本身也可以通過調(diào)整實(shí)際負(fù)載來降低能耗。研究表明,即便使用簡單的試探法(比如在服務(wù)器持續(xù)空載一段時間后關(guān)閉服務(wù)器),也能節(jié)約大量能源。
下一步措施是在更宏觀的范圍內(nèi)實(shí)施管理措施,比如合并多個數(shù)據(jù)中心。但是,這會增加虛擬機(jī)遷移所需的開銷,在輸入輸出兩端都要消耗能量。為了弄清楚合并數(shù)據(jù)中心能否提高能效,我們可以借助一些模擬工具,如CloudSim,它可以評估云計算管理系統(tǒng)消耗和節(jié)約的電量,并進(jìn)一步比較服務(wù)質(zhì)量的變化。顯然,如果既能降低能耗,又不會影響用戶使用云服務(wù),這種合并就有利于降低云計算的能耗。云管理系統(tǒng)不僅可以控制服務(wù)器,還可以控制網(wǎng)絡(luò)系統(tǒng),甚至控制散熱和供電,因?yàn)樵乒芾硐到y(tǒng)“知道” 需要哪些資源,不需要哪些資源,因此可以選擇合適的虛擬技術(shù),并在服務(wù)器空載時關(guān)閉散熱設(shè)備。為云計算提供支持的數(shù)據(jù)中心是一套高度耦合的系統(tǒng),幾乎可以視作一臺大型計算機(jī)。因此,除了從數(shù)據(jù)中心的每個部分著手,降低能耗之外,還得把整個數(shù)據(jù)中心視作一個整體,分析各個基礎(chǔ)設(shè)施之間的相關(guān)性,進(jìn)而尋找節(jié)能方案。
應(yīng)用設(shè)備是云計算中可管理的最小單位,但它們的性能可以影響所需服務(wù)器的數(shù)量,從而產(chǎn)生多米諾效應(yīng),進(jìn)一步影響網(wǎng)絡(luò)規(guī)模和支持性的設(shè)備——比如散熱和供電設(shè)備的數(shù)量。因此,為目標(biāo)應(yīng)用程序選擇適當(dāng)?shù)挠布Y源,可能會對數(shù)據(jù)中心的總體能耗產(chǎn)生重大影響。這里的實(shí)例包括,用GPU而不是CPU運(yùn)行可以高度并行的應(yīng)用程序(有些程序可以在成千上萬個處理器上同時運(yùn)行,節(jié)省運(yùn)算時間)。和CPU相比,GPU上的計算單元非常密集,可以同時執(zhí)行很多任務(wù),更適合并行計算,同時能耗更低。
美國勞倫斯·伯克利國家實(shí)驗(yàn)室開發(fā)出的開源能效評估模型CLEER能對應(yīng)用轉(zhuǎn)移至云端的過程進(jìn)行節(jié)能分析。CLEER估計,和現(xiàn)有的分布式使用商業(yè)軟件相比,云計算有可能把現(xiàn)在的能耗降低95%左右。此外,內(nèi)容數(shù)字化也能極大降低能耗。例如,在視頻行業(yè)中,通過云計算系統(tǒng)向用戶提供視頻的能耗比郵遞CD和DVD要低15%。
靈活的云架構(gòu)還能間接優(yōu)化能源利用。比如,數(shù)據(jù)中心中用來調(diào)整硬件負(fù)載狀態(tài)的技術(shù)還可以用來調(diào)節(jié)電網(wǎng)頻率,這樣電網(wǎng)就能保持在最優(yōu)頻率上,從而有助于能效在更宏觀層面上的提升。未來,研究人員既需要讓能效解決方案照顧到云計算系統(tǒng)里的每個單元,也要讓整個系統(tǒng)高效運(yùn)行,這樣才能解決云計算的能耗問題,云計算也才能讓我們的世界變得更好。