字节跳动:利用 AI 自动调优 Linux 内核参数
在近日举办的 Linux Plumbers Conference 上提出,字节跳动 Linux 内核工程师 Cong Wang 发表了一个“Linux Kernel Autotuning”的主题演讲,提议可以使用人工智能(AI)和机器学习(ML)来调整 Linux 内核,从而为特定工作负载带来效果最优化。
他指出,现在的 Linux 内核为用户提供了数以千计的参数,因此想要通过调整参数以获得最佳性能已经变得越来越困难。大多数情况下,不同的工作负载需要对不同的 Linux 内核参数集进行不同的调整。
而在像字节跳动这样的大型数据中心,要针对数百种不同的工作负载手动调整 Linux 内核参数几乎是不可能的。因此字节跳动提出了一个解决方案,尝试以最小的工程投入实现整个 Linux 内核参数调整过程的自动化。
我们还注意到,内存管理是 Linux 内核子系统中对自动调优的需求较多的一个。借助贝叶斯优化等机器学习算法,我们相信自动调优甚至可以击败大多数 Linux 内核工程师。在本次演讲中,我们将介绍 Linux 内核自动调整解决方案的工作原理以及其设计和架构的概述。我们还将研究 Linux 内核内存管理的一些特定案例,以展示我们的结果作为概念验证。
对于未来的工作,我们希望利用这个机会提出并讨论一个内核内机器学习框架,该框架可以进一步推动这个项目,在内核空间中完全优化 Linux 内核快速路径。
Wang 打趣称,此举并不是为了“让 Linux 内核工程师失业”,而是旨在将人类工程师从调整每个单独工作负载的性能的工作中解放出来,同时利用历史数据做出更好的决策,找到比目前使用试错和启发式方法得出的解决方案更好的解决方案。
自动调整系统旨在根据特定的工作负载和硬件配置,自动调整 Linux 内核的内部设置。这种动态调整可确保最佳性能,解决 Linux 社区长期以来面临的一个针对特定场景手动调整内核的难题。
- 动态优化: 系统持续监控内核性能,对 CPU 频率缩放和内存管理等设置进行实时调整。
- 提高效率: 通过优化资源使用,自动调整系统大大提高了 Linux 系统的效率,尤其是在不同工作负载的环境中。
- 用户友好界面: 该系统包含一个用户友好界面,即使技术知识有限的用户也能从增强的内核性能中受益。
- 可定制的设置: 高级用户可以自定义自动调整参数,根据其特定需求定制系统。
虽然目前还处于早期阶段,但字节方面表示已经取得了一些进展。例如,通过将 DAMON(一个用于内存访问监控和优化的 Linux 内核子系统)与该框架结合使用,能够为 MySQL 应用程序找到最佳方案。为此,他们运行了不同的 DAMON 方案并对其性能进行了比较,发现可以将应用程序的内存使用量减少 30%。
在另一项案例中,该公司通过优化调整 16 个内核 sysctl 参数,优化了 NGINX 服务器上的 HTTP 网络延迟。在最佳情况下,与专家手动调整相比,ML 调整使 NGNIX 网络性能提升了 12%。
字节并未宣称其 AI/ML 方法适用于所有 Linux 调整工作,但工程师也表示:“虽然存在局限性,但我们相信内核机器学习不仅是可能的,而且是必要的。”
科技媒体 ZDNet 的编辑对字节此举表达了认可,并认为其可能改变 Linux 应用程序的游戏规则。“通过简化内核优化,将使 Linux 对更广泛的用户和应用程序来说更易用、更高效。特别是,我看到自动调整系统几乎可以提升所有服务器、云计算和数据中心应用的性能。”

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
FFmpeg 6.1 发布,7.0 时代即将来临
11月10日,FFmpeg 6.1正式发布。 FFmpeg 发布版本的时候,按照惯例,会选择一些物理学家名字作为代号,这一新版本代号为“Heaviside”。主要为纪念伟大的英国数学家和物理学家奥利弗·黑维塞(Oliver Heaviside)。 奥利弗·黑维塞(Oliver Heaviside)自学成才,没有系统经历过高等教育,但在物理、数学、工程领域成果非凡,其名言一直为人所津津乐道。 “数学分2种,严格的和物理直观化的。前者的范围窄;后者粗犷而广泛。拘泥于公式的严格证明只会令绝大多数的数学物理探究止步不前。难道我要在完全理解消化反应的所有机理以前,拒绝进食吗?” Mathematics is of two kinds, Rigorous and Physical. The former is Narrow: the latter Bold and Broad. To have to stop to formulate rigorous demonstrations would put a stop to most physico-mathematical inquiries. A...
- 下一篇
Fleet 推出 Kotlin Multiplatform 支持预览版,在单一 IDE 中开发 KMP 应用程序!
记得加关注, Kotlin 之路不迷路! Kotlinlang.org Kotlin Multiplatform(KMP) 是 JetBrains 构建的开源技术,允许跨多个平台共享代码,同时保留了原生编程的优势。支持的平台包括 iOS、Android、桌面、Web 等。 现在,我们在Fleet中推出 Kotlin Multiplatform 支持预览版,这将简化多平台应用程序开发,进一步丰富 Fleet 中广泛的 Kotlin 支持。请注意,如果您的目标是 iOS 和 macOS,则需要 Xcode。 由此开始 Fleet 中的 Kotlin Multiplatform 项目: https://www.jetbrains.com.cn/en-us/help/kotlin-multiplatform-dev/fleet.html 我们来看看其中的部分功能。 简洁 打开多平台项目时,Fleet 将自动为 Android 和/或 iOS 平台创建运行配置,如项目构建文件中所声明。您可以使用它们在 Android 虚拟设备或 iOS 模拟器上执行应用程序。 多语言编程 Fleet 是多语...
相关文章
文章评论
共有0条评论来说两句吧...