

除了借助Kepler工具監測裸機環境每秒的能耗指標,也期盼三大公雲業者公開公雲VM的能耗資訊,提高測量準確度
Kepler目前提供了兩種部署途徑,因應裸機環境(Bare Metal)與公有雲虛擬環境(VM)中 Kubernetes 叢集的能耗數據蒐集需求。在裸機環境中,企業可直接透過硬體感測器即時獲取系統功率指標;在公有雲虛擬機器環境中,由於雲端供應商未公開硬體感測器的數據,需依訓練好的功率模型來推論背後的功率數據,提供給Kepler使用,來推估能耗數據。 (/IBM)
他指出,Kepler目前提供了裸機環境(Bare Metal)與公雲的虛擬環境(VM)兩種部署途徑,根據不同的部署方式,測量的能耗結果的準確度可能會有所差異。
在裸機環境中,由於可以直接存取硬體感測器上的數據,Kepler能夠直接獲取CPU使用率、記憶體和GPU操作等系統指標來估算能耗。例如,當一個Process使用了10%的CPU,也就占用了CPU功耗的10%,進而精確測量每個Process、容器或Pod的能耗數據。
相比之下,在公雲的虛擬環境上,因為雲端供應商未公開硬體感測器的數據,Kepler無法直接測量VM的功耗,只能依賴事先訓練的功率預測模型,來推估每個虛擬機器的功耗,因此,在公雲虛擬環境中的能耗測量準確度不及裸機環境。
在公雲環境中,Kepler推估VM的功率需要一個功率模型,這個功率模型必須在模型伺服器上完成訓練,先用裸機的數據訓練出一個功率模型之後,再把整套模型伺服器軟體裝到和Kepler相同的執行環境,來根據該環境提供的資訊來推論背後的功率數據,提供給Kepler使用,來推估能耗數據。
Marcelo強調,Kepler專案團隊正持續改進Kepler工具,以提升功率模型的準確性。例如針對亞馬遜AWS等公雲使用的硬體訓練專屬功率模型。此外,隨著新處理器的推出,團隊也會陸續增加更多功率模型。
Kepler近期新增VM功耗建模功能,開始支援蒐集EC2 Spot實例的能耗數據,也利用開放功耗資料庫SPECpower來訓練模型,此外,還能結合Kuberentes雲原生CI/CD工具Tekton,建立自動化模型訓練流程。
但他坦言,目前在公有雲虛擬機環境中,使用功率模型進行估算,雖已盡可能接近實際數據,但準確度仍難達到100%。他期盼未來雲端供應商能公開每臺虛擬機的能耗數據,以便更精確地計算雲端應用的能耗數據。
近來,不少雲原生永續新專案與Kepler工具結合,逐漸形成生態系,像是Peaks專案可以感知功耗變化並調整工作負載排程,優化Kubernetes資源分配與調度。Clever專案則可利用ML模型預測和調整Pod資源使用進行調度等。
相關報導 