修改30行 Linux 代码,或可减少高达30%的能耗
IEEE Spectrum 为技术内行人士准备
数据中心可以通过一个代码调整来大幅降低能耗 分享
为技术内行人士准备
主题
航空航天 AI 生物医学 气候技术 计算 消费电子 能源 技术史 机器人 半导体 电信 交通运输
板块
更多
新闻简报 特别报道 合集 说明 顶级编程语言 机器人指南 ↗ IEEE 工作网站 ↗
供 IEEE 会员
IEEE Spectrum
关于我们 联系我们 转载与权限 ↗ [广告 ↗](https://spectrum.ieee.org/<https:/advertise.ieee.org/ >)
关注 IEEE Spectrum
支持 IEEE Spectrum
IEEE Spectrum 是 IEEE 的旗舰出版物,IEEE 是世界上最大的致力于工程和应用科学的专业组织。我们的文章、播客和信息图让读者了解技术、工程和科学的进展。 加入 IEEE 订阅 关于 IEEE联系与支持无障碍非歧视政策条款IEEE 隐私政策Cookie 偏好
© Copyright 2025 IEEE — 保留所有权利。IEEE 是一个公共慈善机构,是世界上最大的技术专业组织,致力于为人类福祉推进技术发展。
数据中心可以通过一个代码调整来大幅降低能耗
修改30行 Linux 代码,或可减少高达30%的能耗
Rina Diane Caballar
2025年3月17日
阅读需3分钟
1
Rina Diane Caballar 是一位特约编辑,报道科技及其与科学、社会和环境的交叉领域。
滑铁卢大学计算机科学教授 Martin Karsten 和他的合作者修复了一个效率低下的问题,可以节省高达 30% 的数据中心能源使用
Joe Petrik/滑铁卢大学
linux 网络 操作系统 开源 数据中心
世界上大部分的网络流量都通过数据中心进行路由,数据中心也为耗电的人工智能 (AI)应用提供动力。仅在美国,数据中心在 2023 年消耗了该国总电力的约 4%,预计到 2028 年这一数字将上升至 12%。
一些研究人员正在进行宏伟的思考,制定创新的方案来使数据中心更具可持续性。另一些人,比如Martin Karsten,他是滑铁卢大学(位于加拿大)的系统和网络教授,正在以极小的方式改进当前的方法,以减少数据中心能源消耗。
Karsten 和他的前硕士生 Peter Cai 发现了 Linux 操作系统 (OS) 在内核级别处理网络流量时的低效率:Linux 内核是操作系统的“种子”或核心,管理硬件和进程之间的通信和内存等资源。
在数据中心的案例中,这些进程需要弄清楚将通过网络传输的称为“数据包”的信息片段发送到哪里。当网络接收到一个新的数据包时,它会触发一个中断请求。内核将此请求发送到 CPU,然后 CPU 暂停其当前任务以处理该数据包。
操作系统还会定期轮询网络,以在中断请求触发之前检查是否有传入的数据包。这种繁忙轮询机制以 CPU 功耗为代价,最大限度地减少了网络流量处理的延迟。特别是在低流量情况下,即使没有数据包需要处理,轮询也会继续进行,从而导致不必要的能源消耗。
Karsten 决定优化这种方法。他说:“我们不是总是等待固定的时间段,而是根据我们所知的应用程序中的情况动态地等待。”他设计了一种技术,使得繁忙轮询发生在网络流量高峰期,并暂停不必要的中断请求。当网络流量减少时,基于中断的传送会恢复。“这使得最终的机制更加高效和灵活,”他补充道。
优化 Linux 以实现 能源效率
为了将理论付诸实践,Karsten 与 云计算服务提供商 Fastly 的杰出工程师兼 Linux 内核的频繁贡献者 Joe Damato 合作,开发了这些更改。事实证明,他们不需要编写任何新代码。
Damato 说:“这实际上只是重新组织数据流和数据处理的方式。我们 piggyback 在 Linux 内核中的现有代码上,并更改事物的运行顺序。”
这种改变导致大约 30 行代码的重新编写。他们在不同的场景和工作负载下测试了其修改的功能和性能,发现内核的改进可以将功耗降低高达 30%。
这种节能是有条件的。“这有点像最佳情况,因为 30% 适用于网络堆栈或通信部分,”Karsten 解释说。“如果一个应用程序主要做的是这个,那么它将看到 30% 的改进。如果应用程序做了很多其他事情,只是偶尔使用网络,那么 30% 将缩小到一个较小的值。”
修改后的代码尤其有利于网络主导型应用程序,如流量水平在一天中波动的数据中心,因为这种改变是自动的,并且是基于网络流量负载的动态改变。如此小的代码片段也可能产生巨大的连锁反应,一些报告指出,Linux 被绝大多数数据中心提供商 和 网站广泛使用。
Linux 内核更新上线
该 代码 已作为 1 月份 Linux 内核发布版本 6.13 的一部分实施。Karsten 和 Cai 还在 ACM 计算系统测量与分析汇刊 上发表了一篇相关的 论文,并在 ACM SIGMETRICS 2024 会议上展示了该论文。
Damato 希望在今年即将举行的 Linux 内核网络会议上宣传他们的工作。他还计划在 Fastly 的 H2O 服务器 中添加对类似机制的支持。
并且由于 Linux 是 开源 的,Damato 希望其他人会效仿他们的榜样。“无论你使用 nginx 还是 Apache 还是任何你的 Web 服务器,你都能够使用我们发布的一些代码来帮助启发和指导你如何为你的 Web 服务器实现相同的功能。”
对于 Karsten 来说,这项工作促使他将 可持续性 和 软件效率 作为他的下一个研究议程。
“当我 90 年代在计算机科学领域成长时,每个人都关心效率。因为计算机很小,只有少量的内存。它们很慢,所以你必须担心每个周期和每个字节,”他说。“不知何故,在过去的 20 年里,这一点已经丢失了。每个人都完全热衷于性能,而忽略了效率或资源消耗。我认为现在是时候转向了,我们可以找到方法使事情更有效率。”