用开源保护地球,Crane云上助力全球碳中和节能减排

语言: CN / TW / HK

沈祖麟,Crane Member,专注容器网络、成本优化等领域,常活跃于开源社区。GitHub:  https://github.com/zsnmwy

减少碳排放是人类共识

你知道吗?北极热到可以穿短袖了,温度飙升至32.5摄氏度。科学家说,众多物种随着全球变暖已经到达了灭绝边缘,如果不立即采取措施,北极熊会在本世纪末灭绝。减少碳排放、保护地球已成为全人类共识。

全球气候行动峰会发布的《指数气候行动路线图》显示,数字科技在能源、制造业、农业、建筑、交通等领域的解决方案,可以帮助全球减少15%的碳排放,是实现碳减排的关键技术因素。云计算平台是数据中心基础设施的“操作系统”,连接数据中心基础设施和上层应用的纽带和桥梁。如何在业务功能不受影响的情况下,提高整体的能耗比,使用更低的能耗,使计算、存储、网络等资源满足一样的业务需求。提高整体的能耗比,降低PUE,成为数据中心节能的关键。通过在云计算平台层面实施先进的技术和管理措施,能够极大的提高云计算数据中心的能源利用率,促进降本增效,实现碳排放的显著减少。

从Crane到Carbon Neutrality

你能在3秒内从Carbon Neutrality(碳中和)这个词汇中找出CRANE这几个字母吗?是的,Crane不仅仅是Cloud Resource Analytics and Economics,还具备一个隐藏能力:碳中和。Crane正式发布国内第一个云原生应用碳排放计算器和优化器。

Crane提供了面向云原生技术栈的云成本优化解决方案,云原生的核心特性是面向应用的。那么如何针对应用进行碳排放测算并给出优化建议呢?下文给出详细计算方法。

节点利用率与碳排放是相关的

基于工作负载利用率计算功耗

不同CPU型号,不同服务器在空闲和满载时的功率均有不同。服务器厂商通常会定期将服务器功耗信息提交至标准性能评估组织(如:https://www.spec.org/),并交由该组织公开数据。服务器的功耗通常包含最低功耗和最高功耗,最低功耗代表CPU利用率为0%时,该服务器开机以后维持基本运转时的功耗;最高功耗代表CPU利用率100%时,也就是CPU满负荷运转时的功耗。不同服务器的功耗差异主要是因为CPU架构、型号和数量不同导致的,下表展示了几款典型服务器的功耗信息。

提供商 服务器型号 处理器 总核数 平均最低功耗(Watts) 平均最高功耗(Watts)
Inspur Corporation Inspur i24LM6 Intel Xeon Platinum 8368Q 76 348 769
LTechKorea, Inc. LKG-2212-C Intel(R) Xeon(R) Gold 6226R 32 96.6 377
Lenovo Global Technology ThinkSystem SN550 V2 Intel Xeon Platinum 8352M 896 2,115 5,637

既然服务器功耗与CPU利用率直接相关,那么针对任何业务,就可以通过如下公式将工作负载的CPU利用率转换成为功耗:其中参数解释如下:

  • Max Watts:服务器利用率为100%时,单个vCPU的功耗。

  • Min Watts:服务器利用率为0时,单个vCPU的功耗。

  • Avg vCPU Utilization:平均vCPU利用率,如CPU用量为200%代表使用了2个vCPU

因此要衡量一个业务的功耗,我们只需查询该业务运行的服务器型号,并根据业务的CPU利用率,便可以将业务的CPU开销转换成对应利用率的功耗。

但局限于现实情况,我们可能无法实时得知具体工作负载所对应的服务器型号。譬如:云厂商没有提供用于查询服务器功耗的API接口;工作负载运行在虚拟机上,而vCPU因云服务器的规格而被限制。为了可在无法获知具体服务器型号数据时,尽可能地规避数据不精准而带来的误差,我们可以基于不同云厂商公开的所有服务器型号,每核时的平均功耗。基于平均功耗,即可在不获取服务器型号数据的前提下,估算工作负载的功耗,如下表:

云提供商 Average Min Watts Average Max Watts
AWS 0.74 3.5
GCP 0.71 4.26
Azure 0.78 3.76
均值 0.743 3.84

基于功耗计算碳排放

在有了功耗信息以后,如何再将功耗转换为碳排放量?中国生态环境部2022年发布的《电力行业温室气体核算指南修订版》中明确提出,电网排放因子采用0.5810tCO2/MWh,并且将根据生态环境部发布的最新数值适时更新。区域因子在新版指南中去掉了,因此无论所处地域,未来国内碳排放测算都使用统一排放因子。

工作负载的碳排放最终计算公式为:

用Crane碳排放优化器保护地球

就数据中心的容量而言,IT 设备的利用率通常十分低。服务器的利用率只有 5-15%,处理器利用率为 10- 20%,存储设备利用率为 20-40%,网络设备利用率为 60-80%。但即使任何此类设备空闲,设备仍然消耗大部分电能。一台标准服务器即使是在完全没有工作的情况下也会消耗 30-40%的最大功率(闲置瓦数:200W+)。

要降低碳排放量的核心方案,除了为数据中心更换清洁能源,另一个便是将单机的资源利用率提高、提高单机能耗比。而Crane碳排放优化器恰恰可以帮您将单机的资源利用率提高、提高单机能耗比。Crane碳排放优化器是Crane能力的另一个维度的展示,将从节点维度入手,专注于能耗、碳排放的展示以及指导用户如何去做资源优化。

Crane碳排放优化器可基于Crane的能力对拥有碳排放指标的数据中心进行优化,合理提高单机的工作负载占比,降低整体能耗,从而达到低耗低排低碳的效果;可结合自建IaaS平台的能力,动态休眠物理服务器,从而优化物理服务器的在线数量,降低数据中心的电费开销、减少碳排放。

Crane碳排放优化器通过Crane的Recommendation能力,对工作负载进行副本数、资源分析,推荐恰当的副本数、资源配置。从而有效地改善资源浪费问题,提供整体能耗比。

通过上述公式以及在集群中通过Node Exporter采集到的工作负载数据,我们即可构造对应的PromQL (Prometheus Query Language) 语句,在Dashboard上实时显示集群中的碳排放量。

上图可以清晰地看到每个工作负载所产生的碳排放量以及其能耗。若某类工作负载占比过高,可考虑将其调度到电费单价较低的数据中心。譬如:广州地域的数据中心运行离线任务的工作负载能耗占比过高,则可以考虑将离线任务的工作负载迁移至贵州地域的数据中心。即从电费单价较高区域的任务迁移至电费单价较低地域,该理念与“东数西算”的理念不谋而合。

上图可以见到手工配置与推荐配置存在较大的差异,体现了基于经验的资源配置不准导致资源⼤量浪费。Crane在内部落地后,在辅助业务优化资源利用率,节能减排效果显著。某业务部门优化前应用占用100万核,平均利用率15%;优化后核数下降到80万,利用率提升到19%。单单此业务部门每年减少碳排放794吨,Crane为保护地球贡献了自己的力量。

总结

现有Crane的视角主要是对一个集群来分析以及观测。但是对于多集群、多地域、跨区域仍然比较欠缺,而Crane碳排放优化器可以让Crane有了一个新的视角来观测集群。Crane碳排放优化器可以辅助用户判断该工作负载是否值得跨地域部署应用,使得我们计算集群的使用成本可以进一步地降低。

编者

麟是网络专家,对控制面数据面都非常精通,出于个人兴趣,鳞对网络知识做了体系化的梳理和记录,包括但不限于网络基础架构、操作系统网络知识、CNI、负载均衡、安全、DNS、Service Mesh。如果你也对网络相关的技术感兴趣,不妨扫码看一下鳞的个人笔记:

参考资料

碳排放计算方法参考: https://www.cloudcarbonfootprint.org/docs/methodology/#energy-estimate-watt-hours