

除了借助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资源使用进行调度等。
相关报导 