準則: 節能

已完成

影片中的內容仍然有效,但由於綠色軟體基金會的準則重新編號,因此準則編號可能會有所不同。

電力與碳

大部分的人認為電力很乾淨。 當我們將某物件插入牆壁時,我們的手不會變髒,而我們的膝上型電腦也不需要排放管道。 然而,事實是大部分的電力都是透過燃燒化石燃料 (通常是煤) 所產生,而能源供應是導致碳排放之單一最重要的原因。

可以這麼說,電力與碳排放有直接的關係,因此我們可以將電力視為碳排放的其中一個代表。

從在智慧型手機上執行的應用程式,到定型在資料中心執行的機器學習模型,所有軟體都會在執行過程中消耗電力。 減少電力消耗,以及我們軟體的後續碳汙染排放的最佳方式之一,是讓我們的應用程式更節能。

此知識也是為什麼永續型軟體工程的重要準則是建置節能的應用程式

作為永續型工程師,我們必須了解電力。 我們的旅程並非從電腦開始,而是從如何產生為電腦供電的電力開始。

能源與電源的比較

能源會測量使用之電力量,能源的標準單位是焦耳或 J。然而,千瓦小時 (或 kWh) 是另一個用來代表能源消耗量的常見方式。

電力通常會回報為電源或能源,這是兩種不同的概念:

能量= 功率 ✕ 時間

  • 能量是使用的總電力量;而能量的標準單位是焦耳或 J。

  • 功率是每個單位時間消耗的電力速率;功率的標準單位是瓦特或 W。一瓦特等於每秒 1 焦耳。

代表能量消耗的常見方式是經過一時間單位的功率,例如瓦特秒或千瓦小時。 例如:

  • 20 瓦特秒或 20 Ws 等於 20 W 執行一秒所能得到的功率。 因為 1 瓦特等於每秒 1 焦耳,因此該值為 20 焦耳。

  • 20 千瓦小時或 20 kWh 是如果 20,000 瓦特使用一小時的能量。

    Energy = 60 X 60 X 20,000 = 72,000,000 Joules = 72 Megajoules (72 MJ)

能源比例

使用率會測量使用了多少電腦資源,通常以百分比來表示。 閒置電腦的使用率百分比較低並且未被利用。 以最大容量執行的電腦具有高百分比並且正在得到充分利用。

能源比例是衡量電腦系統中所耗用電力與有用工作完成速率 (其使用率) 之間關聯性的一種測量。 如果整體耗電量與電腦的使用率成正比,則為能源成正比。

在能源成正比的系統中,能源效率是恆定的,不論使用率為何,能源效率都維持不變。 不過,硬體的能源效率並非恆定。 其會根據內容而有所不同。 由於許多不同硬體裝置元件的複雜互動,因此能源效率可能為非線性,這表示電源與使用率之間的關聯性不成正比。

Diagram showing power versus utilization.

在使用率為 0% 時,電腦仍會消耗 100 W;在使用率為 50% 時,其會消耗 180 W,而在使用率為 100% 時,則會消耗 200 W。 耗電量與使用率之間的關聯性非為線性,且其不會橫跨原點。

由於這項關聯性,因此利用電腦的比率愈高,將電力轉化成有用運算作業的效率就會越高。 盡可能以最高使用率在最少的伺服器上執行工作,便能夠將其能源效率最大化。

靜態功率消耗

造成這種能源不成比例的原因有很多種,其中一個是靜態功率消耗。

閒置的電腦即使其使用率為零百分比,仍然會消耗電力。 此靜態功率消耗會隨著設定和硬體元件而有所不同,但所有元件都有一定的靜態功率消耗。 這種潛在功率消耗是電腦、膝上型電腦與行動裝置都具備省電模式的其中一個原因。 如果裝置處於閒置狀態,其最後會觸發休眠模式,讓磁碟和螢幕進入睡眠狀態,甚至變更 CPU 頻率。 這些省電模式可節省電力,但還有其他取捨選擇,例如在喚醒裝置時的重新啟動速度較慢。

伺服器通常不會設定為積極或甚至是最低程度的省電模式。 許多伺服器使用案例都要求儘快運用完整處理能力,以便回應快速變更的需求。 這種情況可能會讓許多伺服器在需求較低的期間處於閒置模式。 閒置伺服器其成本來自於隱含碳和其使用率不佳的情況。

時脈速度

時脈速度 (頻率) 是電腦或其微處理器的運作速度,以每秒循環數 (百萬赫茲) 來表示。 消費者裝置通常會動態調整計算裝置的時脈速度,以達到更高的能源比例。

時脈速度表示電腦執行指令的速度。

微處理器的能源效率隨著時脈速度而變更,與低時脈速度相比,高時脈速度的能源效率通常較低。 例如,在 I7-3770K 系統中,您可以以 3.5 GHz 執行 50 W 或約以 5 GHz 執行 175 W。 時脈速度大約增加 40%,則功率需要增加 >3✕

在低使用率時降低時脈速度可提高能源效率,進而將硬體的能源效率提升到最高。