在過去幾年里,“綠色IT”幾乎成為了節能硬件的同義詞,這些硬件較之之前幾代類似的設備或組件更加高效、節能。例如,這些節能硬件設備在設計時具備節能模式或配有高級電源管理技術,這樣在設備停機或不工作時可以消耗少量的能源。還有一個例子就是更加智能的數據中心冷卻技術,盡管數據中心具有高機架密度,但這一智能冷卻技術同樣可以減少數據中心的能源消耗。當然,包括服務器、存儲設備、打印機、筆記本和臺式機等在內的硬件設備目前也都進行了改進,以減少能源的消耗。
盡管,這些硬件設備和組件都逐漸進行了低能耗的改進,但是隨著全球信息和通信技術(ICT)的快速發展,整個ICT行業的電力消耗也將快速增長,且這種速度要比一般的電力消耗速度更快。據NEIS(Network of Excellence in Internet Science)曾經發布的一份報告顯示,ICT行業在全球總體電力消耗所占的比例已從2007年的4%增長到2012年4.7%。僅計算機這一硬件設備就消耗了全球近5%的能源。
坦白說,全球范圍內的ICT能源消耗曲線目前還處于起伏不定的狀態。
軟件在綠色IT中逐漸扮演了一個非常重要的角色,ICT系統中的軟件主要是用來操控硬件、給硬件下達啟動程序的指令,所以ICT節能的根本在于這些軟件。如果軟件可以使硬件以更少的能源消耗傳遞更出色的性能,那么我們就可以扭轉計算機耗能逐年增長的趨勢。
荷蘭的集群綠色軟件(Cluster Green Software)項目就是利用軟件提升硬件節能的一個實例,該項目位于荷蘭阿姆斯特丹大都市區域(Amsterdam Metropolitan Area),是一項由各個區域組織合作的新的科學技術項目。參與此項目的組織主要致力于以下兩個方面:1)利用圖表的方式將那些使用軟件的大型系統的能源消耗情況表現出來,同時努力尋找減少軟件能源使用的方法;2)針對大型軟件系統開發相應的管理工具,以便用戶可以有效地管理能源使用情況。同時,該項目的成員組織正在開發一個工具包,以便用戶更好地管理數據和計算中心中的能源使用。
集群綠色軟件項目的前提是,確保嵌入在軟件中的效率原則被置于整個能源鏈最開始的部分。軟件僅僅給硬件提供指令是不夠的,最好的方法是軟件的編寫首先能夠更加有效地減少硬件的電力消耗。如果軟件是以一種中立的方式開發的,那么它可以運行于不同配置的硬件中,且在這些硬件中的軟件利用效率是相同的。
這個集群綠色軟件項目中的一個案例分析顯示,智能、高效的軟件應用可以節省大量的能源,根據實際情況,能源節省的百分比大概在30%到90%。
該項目的一個參與者——SIG(軟件改進小組,Software Improvement Group)結合其自身的一些研究成果,向企業提供了一些富有實踐性的建議,這些企業也都致力于利用其軟件提高能源使用效率。SIG提供的咨詢和建議都是基于其準確的測量和科學的研究上,SIG幫助企業找到能源消耗的源頭,并提供改進的建議,以幫助企業優化能源的應用。
荷蘭阿姆斯特丹大學的應用科學軟件能源足跡實驗室(Amsterdam University of Applied Sciences Software Energy Footprint Lab,SEFlab)是SIG的一個研究合作伙伴,在SEFlab中,來自SIG的軟件專家、阿姆斯特丹應用科學專業的電氣工程師和各行各業的合伙人共同研究軟件對計算機能源消耗的影響。高度準確的能源消耗測量方法在服務器中的各種硬件組件中高頻度使用,以對比不同的軟件應用、不同的軟件架構設計和不同源代碼中的能源應用效率。
當然,這些研究和項目實施的最終目標是讓軟件開發人員設計出具有節能意識的軟件代碼。目前,阿姆斯特丹大學已在計算機科學專業開設了一個碩士研究生學位,主攻方向是軟件工程和綠色IT。希望未來在全球范圍內,將會有更多的大學開設這樣的項目和專業,促進下一代軟件工程的發展,減少全球ICT的能源消耗。
以下是由SIG提供的十條綠色軟件的最佳實踐:
1. 虛擬化——虛擬化系統中的所有組件,以共享硬件基礎設施;
2. 測量——恰當地部署測量基礎設施以確定運營中的能源KPI;
3. 更新硬件——替換掉原來舊的硬件設施,使用那些新的、高性能且低功耗的硬件;
4. 考慮可用性——嘗試優化可用性需求,以免出現利用不足的情況;
5. 優化性能——優化系統性能以降低高工作負載情況下的容量需求;
6. 使用能源設置——采用硬件和虛擬層提供的節能設置;
7. 試驗——敢于去嘗試不同的設計和配置;
8. 限制過量擴大——根據實際需求(而不是預設的未來需求)擴大系統;
9. 禁用環境——即時(而不是持續地)激活測試和容錯環境;
10. 匹配工作負載——清楚地了解你的工作負載,并動態地擴展系統以匹配工作負載。