先把问题限定清楚:比较的是同样的工作量放在哪
说“同一局游戏放在两个地区”,先要约定两件事不变:玩家做的事一样,服务器承担的计算量一样。变化的只有机器所在的电网,以及机房本身的设施效率。这样比较,耗电的差别只剩下设施开销,碳排的差别则主要来自每一度电是怎么发出来的。
设定一款虚构的多人在线游戏。一个对局服务器槽位在 30 分钟对局里,平均占用 0.2 kW 的IT功率(CPU、内存、网卡的分摊份额),于是一局的IT耗电是 0.2 kW × 0.5 h = 0.1 kWh。这里必须区分功率和电量:kW 是瞬时功率,kWh 是这个功率持续一段时间的积分。一百万局,就是 10 万 kWh 的IT用电。
两个虚构地区的参数表
A 地区以煤电为主,电网平均碳强度取 650 gCO2/kWh,机房较新,PUE 取 1.15。B 地区水电和风电占比高,平均碳强度取 120 gCO2/kWh,但机房老一些,制冷效率差,PUE 取 1.35。故意让B的PUE更差,是为了看清一件事:PUE衡量的是设施效率,它既不反映电力来源是否低碳,也不反映IT负载本身是否高效。
| 项目 | A 地区(模拟) | B 地区(模拟) |
|---|---|---|
| 一百万局的IT耗电 | 100,000 kWh | 100,000 kWh |
| PUE | 1.15 | 1.35 |
| 设施总耗电 | 115,000 kWh | 135,000 kWh |
| 平均碳强度 | 650 g/kWh | 120 g/kWh |
| 碳排 | 约 74.8 吨CO2e | 约 16.2 吨CO2e |
逐步演算:三项连乘,任何一项单看都会误导
A 地区:100,000 × 1.15 = 115,000 kWh;115,000 × 650 g = 74,750,000 g,约 74.8 吨。B 地区:100,000 × 1.35 = 135,000 kWh;135,000 × 120 g = 16,200,000 g,约 16.2 吨。B 地区多用了约 17% 的电(20,000 kWh),碳排却只有 A 的约 22%。这就是“节能”与“减碳”不是一回事:Energy Efficiency 看的是每单位工作量用了多少电,Carbon Efficiency 看的是这些电带来了多少碳。
折回单局看:A 地区一局约 0.1 × 1.15 × 650 ≈ 75 g,B 地区约 0.1 × 1.35 × 120 ≈ 16 g。单局的数字小到没有意义,真正的量级出现在规模上;也正因如此,一局游戏的“碳排”不是游戏本身的属性,而是它在哪里、什么时候被执行的属性。同一份代码、同一批玩家,换一个放置方案,账单上的碳就变了。
反过来也成立。如果只盯着PUE,会把这局游戏放在A地区,因为它“更省电”;如果只盯着碳强度,又会忽略B地区机房的额外开销。九游会AI在做这类比较时,输出的是“IT耗电、PUE、碳强度”三列数据,而不是一个综合得分,让运营人员看得见每一项各自贡献了多少。
现实约束:对战服务器基本不能搬
上面的算法很容易让人得出“把服务器都搬到B地区”的结论,这个结论对实时对战是错的。假设玩家主要在A地区,服务器放到B地区后,单程网络延迟会增加几十毫秒的量级(具体取决于路由和距离,这里不设定具体数值),对节奏快的对战游戏,这直接落在操作反馈上。延迟一旦超出游戏的可接受范围,玩家会掉线、流失,或者改用别的服务器,最后既损害体验,也让此前算出的减碳成为空谈。九游会的设计取向是:实时对战服务器的放置由玩家分布、延迟和 SLA 决定,碳强度只在满足这些约束的候选地区之间做微调。
此外,玩家越是跨区连接,中间经过的路由与骨干网设备越多,网络传输本身也要耗电,这部分在上面的表里没有计入。所以“搬”这个动作的净收益,永远要减去传输和额外冗余的成本。还要考虑容量:低碳地区的机房不一定有富余的机位,突然涌入一批任务,可能把本地玩家的对战服务器挤到高负载,反而拉低体验。
如果玩家本来就分布在两个地区
再换一个更常见的设定:玩家一半在A、一半在B,两边各自的对战服务器本来就贴着玩家。这时两地的耗电和碳排都由玩家决定,运营方能动的杠杆很少:新增容量放在哪个地区、溢出的峰值流量优先落在哪边、两边的机房各自用什么供电合同。这正是这类比较最容易被误读的地方——“B地区更干净”只能指导增量决策,不能指导已经贴着玩家的存量对战服务器。
真正能移动的:把一天的任务拆开看
一款持续运营的游戏,后台每天还有大量不需要即时返回的工作:对局日志和反作弊分析、美术资产处理与压缩、补丁构建、推荐与内容生成的批量推理、报表汇总。它们的共同特点是允许晚几小时完成,也不依赖某个玩家所在的位置。这才是碳感知调度(Carbon-Aware Computing)的用武之地,参见凌晨批处理任务的窗口选择文章:凌晨任务一定要凌晨跑吗?九游会AI如何找到低碳“计算窗口”。
继续用模拟数据。假设某一天需要处理 2,000 kWh 的IT批处理量,机房PUE 取 1.15,总耗电 2,300 kWh。A 地区的碳强度随时间变化:凌晨 2 点因为煤电基荷为主,取 800 g/kWh;中午 1 点光伏出力高,取 380 g/kWh。同样的任务放在凌晨,碳排约 1.84 吨;放到中午,约 0.87 吨,差约 0.97 吨。耗电一度没变,变化的只有“什么时候用”。
| 执行方案 | 总耗电 | 碳强度(模拟) | 碳排 |
|---|---|---|---|
| A 地区,凌晨 2 点 | 2,300 kWh | 800 g/kWh | 约 1.84 吨 |
| A 地区,中午 1 点 | 2,300 kWh | 380 g/kWh | 约 0.87 吨 |
| B 地区(PUE 1.35),任意时点均值 | 2,700 kWh | 120 g/kWh | 约 0.32 吨 |
第三行显示出可移动任务的空间最大:如果日志和资产本来就存放在可以跨区访问的对象存储里,让批处理在B地区运行,节省的碳远大于在A地区内部挑时段。但这里的前提是数据搬运的代价可以接受。数据量很大的任务(比如原始对局回放的重新编码)如果要先把几十TB挪过去,传输的能耗、费用和时间可能吞掉一大半收益。跨区域迁移的更完整讨论,可以看游戏服务器能不能跟着可再生能源“迁移”?实时游戏和后台任务答案完全不同。
平均碳强度与边际碳强度:同一个“凌晨”,两种答案
上面表里用的是平均碳强度:某一时刻整个电网总排放除以总发电量。它适合做核算,也是温室气体核算体系里外购电力排放通常采用的口径。边际碳强度问的是另一件事:多出这一笔用电,会让哪台机组多发电?在晚上,增加的需求通常由燃气或燃煤机组响应;中午,则可能是本来会被弃掉的光伏。两种数值在同一时刻可以大不相同。
近期研究对此有直接的讨论:2024 年的一项研究比较了 65 个地区的平均与边际信号,其中超过一半的地区两种信号呈负相关,只有很少一部分地区强正相关。也就是说,按平均碳强度挑出来的“最干净时段”,从边际角度未必最好,反之亦然。这场争论目前并未完全定论,负责核算的团队与负责调度的团队常常用不同的口径。九游会AI目前的处理方式是把两种口径都保存在数据里,报表按平均因子出,调度建议里明确标注所用的信号,不把单一数字包装成“确定的减碳量”。
这类估算最容易在哪里出错
- 预测误差:碳强度是预测出来的。风光出力偏差、天气变化,会让“最干净时段”整体偏移;预测窗口越长越不准。
- 数据粒度:小时级均值会抹掉更短的波动;区域级数据也可能与机房实际接入的供电线路不一致。
- 购电合同与实际电网:机房通过绿电合同宣称使用可再生能源,与它每小时实际消耗的电网电力,是两种不同的口径,核算时要分别记录。
- 收益上限:一项 2024 年的研究指出,很多地区一天之内的碳强度波动本来就不大,区域之间的高低排序也相对稳定,实际可用的调度空间会明显小于理想情形;而且随着电网中可再生能源占比升高,这个空间还会变化。所以不能把“凌晨改中午”写成可以复制到所有地区的通用收益。
- 延迟任务的隐性成本:任务拖后运行,可能拉长版本发布周期、让排查反作弊问题的响应变慢。低碳窗口不能以拖垮业务节奏为代价,所以每类任务都要事先写明“最迟必须在什么时候完成”。
写进碳核算时,位置法和市场法要分开记
按温室气体核算体系对外购电力(范围2)的指引,企业通常需要并列报告位置法和市场法两个结果:前者用机房所在电网的平均排放因子,后者反映企业自己买的绿电或合同。换到调度场景,这意味着同一次“把批处理挪到B地区”,位置法里的减碳是真实的电网差异,市场法里则取决于合同。九游会碳足迹AI在生成报告时,会把两套口径并排放着,不用其中一套去替另一套背书。
这一切放进一个系统里,九游会当前怎么做
九游会数据中心AI的当前思路,是先把负载分成“不可移动”“可延迟”“可迁移”三档,为每一档设定时间窗口、可选地区和最大延迟;再读入区域电网的碳强度预测和机房的PUE,给出候选的执行时间和地区;最后把方案交给容量与延迟检查,才交由调度器执行。这个过程如果引入更多约束,比如成本、网络与容量,就会变成多目标问题,见游戏数据中心为什么不能只追求最低PUE?九游会AI开始把玩家延迟、算力和碳排放一起优化。
需要坦白的是,九游会目前的调度建议只覆盖可延迟和可迁移的负载,对战服务器仍按延迟优先;而且所有减碳估算都属于模型估计,需要与电表数据、云账单和运维记录核对后才能写进ESG报告。绿色算力并不是为了减碳而牺牲玩家延迟,它的意义在于,在原本就有弹性的那部分负载里,多找一点空间。