軟體碳強度(SCI) 規範

介紹

軟體通過其運行的硬體產生排放,包括物理硬體消耗的能量和與製造硬體相關的排放。該規範定義了一種計算軟體系統碳排放率的方法。其目的是説明使用者和開發人員就他們將來使用的工具、方法、體系結構和服務做出明智的選擇。這是一個分數而不是總分;較小的數字比較高的數位更好,並且無法達到 0。該規範的重點是説明使用者和開發人員瞭解如何改進軟體以減少或避免排放的產生。

只有通過消除排放,才能降低SCI分數。這可以通過修改軟體系統以使用更少的物理硬體、更少的能源或消耗更低的碳能源來實現。中和或迴避抵消不會降低 SCI 評分(參見排除部分)。這使得 SCI 成為組織可以採用的理想策略,以實現以消除排放為重點的氣候目標。

SCI適合所有人。可以計算任何軟體應用程式的SCI分數,從大型分散式雲系統到小型單體開源庫、任何本地應用程式,甚至是無伺服器功能。產品或服務運行的環境也可能有所不同;來自個人計算機、私有數據中心或超大規模雲。

軟體從業者在軟體應用程式的設計、開發和交付過程中,在集體降低 SCI 分數方面發揮著重要作用。以下清單提供了一些可用於跨不同軟體角色執行此操作的策略:

  • 對於軟體工程師來說,這意味著編寫節能程式碼。
  • 對於 AI/ML 開發人員來說,這意味著模型優化、使用預訓練模型或利用優化的硬體進行訓練。
  • 對於資料庫工程師來說,這包括架構設計、存儲選擇和查詢優化等選擇。
  • 對於DevOps從業者來說,這需要創建一個碳感知管道,並考慮何時安排建設和利用清潔能源。
  • 對於 QA 工程師來說,它涉及跨瀏覽器和設備創建節能測試自動化和性能測試腳本。
  • 對於架構師來說,這意味著無伺服器或事件驅動架構、基礎設施優化和碳感知系統設計等選擇。

SCI 鼓勵使用精細的真實世界數據進行計算,這在某些環境中很難獲得,尤其是公共雲。訪問更高解析度計算所需的數據可能並不總是可用的。在這種情況下,強烈建議本規範的使用者向其供應商(無論是硬體、主機還是其他)索取此類數據。

在缺乏對必要真實世界數據的訪問、能力或權利的情況下,SCI 允許通過建模生成數據,而不是使用最佳估計。

範圍

本規範描述了一種計算軟體系統碳排放率的方法;即其 SCI 分數。此分數的目的是提高應用程式可持續性證書的意識和透明度。該分數將幫助軟體從業者在系統設計、開發和部署過程中做出更好的循證決策,最終將碳排放降至最低。可靠、一致、公平和可比的衡量標準允許在制定過程中確定目標並跟蹤進展情況。

計算

計算和報告 SCI 分數所需的步驟是:

  1. 綁定:確定軟體邊界;即,要包括的軟體系統的元件。
  2. 規模:由於SCI是一個速率(每個功能單元的碳排放量),因此選擇最能描述應用程式如何擴展的功能單元。
  3. 定義:對於軟體邊界中列出的每個軟體元件,確定量化方法;基於遙測的真實世界測量,或基於模型的基於實驗室的測量。
  4. 量化:計算每個軟體元件的速率。整個應用程式的SCI值是系統中每個軟體元件的SCI值的總和。
  5. 報告:披露 SCI 分數、軟體邊界和計算方法。

方法摘要

SCI 是一種比率;每單位的碳排放量。用於計算軟體系統SCI值的公式為:R

SCI = C per R

哪裡:

  • 軟體導致排放的碳總量。C
  • SCI 方程中的所有元素都按相同的功能單元進行縮放(例如,每增加一個使用者的碳排放量、API 調用或 ML 訓練運行)。R

這可以擴展到:

SCI = (O + M) per R

運營排放

要計算與軟體相關的運行排放,請將運行軟體的硬體的耗電量乘以特定區域的碳強度。

要計算軟體應用程式的運行排放量,請使用以下命令:O

O = (E * I)

這是軟體系統為功能工作單元消耗的能量。這可以應用於幾個分類法:

  • 數據中心
  • 單個電腦(例如,VM/Node)
  • 單個服務(例如,API 調用或 ML 訓練運行)
  • 代碼的執行

單位:以千瓦時(kWh)為單位。

能耗應包括預留或預配的硬體消耗的所有能耗,而不僅僅是實際用於滿足軟體需求的硬體。

特定區域的碳強度

電力的碳強度是衡量每千瓦時 (kWh) 電力消耗產生多少碳 (CO2eq) 排放量的指標。

特定區域的碳強度因數衡量電網區域內電力的電網碳強度。如果用電量連接到電網,則應使用該電網的短期邊際、長期邊際或平均排放電網強度,不包括任何基於市場的措施。如果電力消耗未連接到更大的區域電網,則應使用該系統的適當排放係數。從開發人員的角度來看,就消除碳排放的影響而言,只有基於位置的資訊才是重要的。這不包括基於市場的措施,與100%可再生能源聲明不同。

單位:應以每千瓦時的碳克數(gCO2eq/kWh)為單位。

隱含排放

隱含碳(也稱為“嵌入碳”)是指在硬體設備的創建和處置過程中排放的碳量。

當軟體在設備上運行時,設備總隱含排放的一小部分分配給軟體。這是需要在SCI方程中計算的值。M

該部分由分時共用和資源共享組成。軟體在設備上運行的時間長度決定了其分時。在分時期間,僅為該應用程式保留的設備百分比決定了該應用程式的資源分享。

要計算分時,請在設備的預期使用壽命內攤銷總隱含碳,然後根據為使用預留的時間進行推斷。例如,如果設備的隱含碳為 1000 千克,預期壽命為四年,並且保留使用一小時,則分時隱含排放量為 1000 * 1/(4*365*24) 或總排放量的 28 克左右。

若要計算資源份額,請查看保留供軟體使用的總可用資源的份額。例如,為軟體預留的虛擬CPU總數的百分比是虛擬化雲空間中資源共享指標的不錯選擇。

要計算軟體應用程式的份額,請使用以下公式:M

M = TE * TS * RS

  • TE= 隱含排放總量;所有硬體元件的生命週期評估 (LCA) 排放總和。
  • TS= 分時度假;保留供軟體使用的硬體總生命週期的份額。
  • RS= 資源分享;保留供軟體使用的硬體總可用資源的份額。

進一步往下推展

M = TE * (TiR/EL) * (RR/ToR)

  • TiR= 預留時間;保留硬體供軟體使用的時間長度。
  • EL= 預期壽命;設備安裝的預期時間。
  • RR= 保留的資源;保留供軟體使用的資源數。
  • ToR= 總資源;可用資源的總數。

應包括軟體邊界內使用的硬體的所有隱含排放的估計值。

可以使用簡單的模型來估算隱含排放量;然而,在計算隱含碳時,應盡可能使用最精細的數據,理想情況下是來自設備 LCA 的排放數據。

由於SCI的目的是消除排放,因此不應包括任何基於市場的措施

單位:以碳克(gCO2eq)為單位。

功能單元轉換

總 SCI 分數可以由多個組成部分的 SCI 分數組成。

然後,只要所有元件 SCI 分數的函數單位相同,就可以將這些分數相加以計算總 SCI。要將多個元件的SCI分數相加為一個總分數,所有元件的功能單元 R 應相同。R

如果軟體元件的功能單元與聚合功能單元不同,則需要轉換元件 SCI 分數以匹配聚合 SCI 功能單元的分數。用於計算 SCI 分數的任何單位轉換係數的詳細資訊應披露。

軟體邊界

生成 SCI 分數的第一步是確定軟體系統的邊界是什麼;即,在計算 SCI 分數時要包含或排除哪些軟體元件。

SCI的計算應包括對軟體運行有重大貢獻的所有支援基礎設施和系統。

支援基礎設施和系統可能包括:

  • 計算資源
  • 存儲
  • 網路設備
  • 記憶
  • 監測
  • 閑置機器
  • 伐木
  • 掃描
  • 構建和部署管道
  • 測試
  • 訓練 ML 模型
  • 操作
  • 備份
  • 支援冗餘的資源
  • 支援故障轉移的資源
  • 最終用戶設備
  • IoT 設備
  • 邊緣設備

如果邊界包括本地和/或雲數據中心運營,則應考慮數據中心的效率,包括運營數據中心所需的冷卻和其他能源消耗。數據中心的能源效率通常以 PUE(電源使用效率)值的形式提供。E

功能單元

生成 SCI 分數的第二步是確定將使用哪個功能單元來描述應用程式的擴展方式。首先,確定功能單元,使用 .然後計算每單位 .RCR

例如,如果應用程式按用戶數進行縮放,則選擇此作為功能單元。

應使用軟體邊界中所有元件的一致選擇。R

建議的功能單位清單包括:

  • API 呼叫/請求
  • 基準
  • 使用者
  • 機器
  • 分鐘/時間單位
  • 裝置
  • 物理網站
  • 數據量
  • 批處理/計劃作業
  • 交易
  • 資料庫讀/寫

定量方法

生成 SCI 分數的第三步是確定在量化軟體邊界中每個元件的碳排放量時要採取的方法。

SCI 的目標是量化單位 .CR

量化碳排放有兩種主要方法,一種是通過真實世界的數據進行測量,另一種是通過模型進行計算C

軟體邊界中的每個元件都可以使用測量或計算來量化碳排放量。

強烈建議聯繫供應商(無論是硬體、託管還是其他),瞭解量化 SCI 分數所需的解析度所需的數據。

測量

碳排放量可以通過測量元件 () 在一段時間內的實際總碳排放量除以同一時間段內的功能單元數 () 來量化,得到每個 .例如,可以測量有關應用程式「在野外」的實際使用方式的數據,然後除以同一時間段內服務的用戶數量,以獲得每個使用者。CRCRC

計算

可以對一個單位的外觀進行建模,並計算在受控實驗室環境中執行一個功能工作單元()的總碳()。例如,可以創建一個基準測試應用程式,該應用程式對與應用程式交互的使用者進行建模,然後測量該基準測試每次運行時發出的量。結果仍然是每個使用者。RCRCC

將 SCI 分數與基線進行比較

在採取措施降低軟體的碳強度時,應將強度與基線進行比較。基線的計算方法應與擬議 SCI 的計算方法相同,但不包括擬議的行動。基線和擬議的SCI之間的測量、假設、模型、功能單元等應保持不變。

核心特點

隨著本規範的發展,以下核心特徵應保持不變:

  • SCI 對碳意識、能源效率和硬體效率很敏感
    • SCI的目的是鼓勵減少軟體碳排放的行動。因此,SCI 應對本文檔中「軟體可持續性行動」中描述的那些行動保持敏感;具體來說,就是碳意識、能源效率和硬體效率。
    • 如果應用程式的 SCI 為 X,然後採取措施使應用程式更具碳意識、更節能或更高效的硬體效率,則 X 的值將下降。
  • SCI 從系統影響的角度出發
    • SCI 的目的是鼓勵採取行動,減少軟體的碳排放,從而在全系統層面而不僅僅是在地方層面實現減排。局部層面的優化可能會帶來微觀上的改進,但可能會在宏觀層面上產生負面的下游影響,從而抵消這些行動的影響。
    • 應通過闡明軟體及其相關基礎設施的邊界來採用這種系統視圖,同時牢記本規範中提到的排除項
  • SCI 易於實施
    為了實現大規模影響,SCI 鼓勵通過易於實施來採用。
    • 任何沒有太多經驗或培訓的人都應能夠遵循SCI規範說明。
    • SCI的計算應能夠在不產生任何成本的情況下進行,例如數據、服務或工具。
    • 在可能的情況下,團隊應考慮投入更多時間或金錢來計算他們的SCI數位以提高其準確性。
  • SCI 鼓勵使用粒度資料
    在計算 SCI 值時,應使用可用的最高粒度資料來計算、 、 和 。在無法獲得時態粒度數據的情況下,應使用可接受的最低粒度級別的年度值。OEIM

排除

重點是消除,而不是抵消。消除的一噸碳(意味著它沒有排放到大氣中)與抵消的一噸碳不同。到目前為止,更可取的目標是從一開始就不排放碳。

只有消除排放的措施才能降低 SCI 分數。因此,SCI分數不能通過碳抵消(例如基於市場的措施)來降低。

基於市場的措施

基於市場的措施是旨在中和或抵消碳排放的金融工具。基於市場的措施包括但不限於以下內容:

  • 碳抵消或碳信用
  • 移除儲存 (RMU)
  • 減排單位(ERU)
  • 經認證的減排量 (CER)
  • 電力屬性憑證 (EAC)
  • 購電協定 (PPA)
  • 可再生能源信用 (REC)

書目

參考文件:

[1] 淨零排放標準,科學碳目標倡議 (SBTi),https://sciencebasedtargets.org/net-zero

資料來源:軟體碳強度 (SCI) 規範 (greensoftware.foundation)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *