Understanding BIOS Configuration for Performance Tuning
Understanding BIOS Configuration for Performance Tuning
发表时间: 2022-05
速读
一句话结论 本文系统性地整理了13个关键的BIOS参数调优清单,通过禁用节能模式并最大化硬件运行速率,指导用户在基准测试和性能敏感型集群场景下释放服务器的极限计算性能。
要解决什么问题 服务器出厂时的默认BIOS设置通常是为了在计算性能、系统功耗和整体稳定性之间取得平衡,而不是针对极限计算性能进行深度优化。这种默认的平衡策略在面对基准测试和对性能极其敏感的集群应用场景时,会成为限制底层硬件潜力发挥的核心卡点。具体而言,默认配置下的卡点机制主要体现在两个方面:一是系统为了节能,会在任务空闲或负载不高时自动触发降频机制,甚至让处理器核心或整个节点进入休眠状态,导致突发的高负载任务无法瞬间获得峰值算力;二是内存访问路径未针对多节点架构进行局部性优化,可能引发跨节点的数据搬运延迟。如果不打破这些默认的功耗墙和调度策略,底层硬件就无法提供持续且最大化的CPU频率和内存带宽支持。因此,必须对BIOS进行专门的性能调优。
怎么做的 核心思路是彻底放弃对系统功耗的妥协,通过系统性地调整13个关键BIOS参数,强制硬件始终以最高规格运行并优化底层数据访问路径。整个调优方案主要由电源与频率管理、内存架构配置、以及特定硬件特性控制三个维度的部件构成。在电源与频率管理方面,首先必须将整体电源配置、CPU频率以及内存速度这三项基础指标全部强制设置为最大值。其次,必须禁用P-State和C-State这两个核心节能特性。C-State的作用是在CPU空闲时降低其功耗;而P-State启用后会在没有活动时让特定NUMA节点上的所有核心进入类似C-State的睡眠模式,为了追求极致性能,这两者都应被关闭。同时,需要开启Turbo Mode(睿频模式),该技术允许处理器核心在热设计功耗的功率、温度和规格限制范围内,自动以高于标称频率的速度运行。在内存架构配置方面,建议将内存通道模式设置为独立模式,这使得每个内存通道都能拥有专属的内存控制器,保障内存通道以全速运行。关键的一步是禁用Node Interleaving(节点交错),这实际上是为了启用NUMA模式,确保对于任何给定的逻辑处理器,内存总是被分配到其本地NUMA节点上,从而大幅降低内存访问延迟;此外,通道交错技术通过将RAM分成多个部分来支持同时进行多次读写操作,以此提高内存访问的并行度。在特定硬件特性控制方面,超线程技术允许一个CPU核心同时处理多个数据流,在大多数常规系统中应开启,但当CPU利用率接近100%的满载状态时,超线程反而可能损害性能,此时必须将其禁用。对于Haswell、Broadwell及更新架构的处理器,建议禁用IO Non Posted Prefetching选项;对于AMD处理器,可关注旨在为高性能计算场景优化系统设置的HPC Optimizations模式。最后,散热模式必须设定在性能模式下运行,以确保高负载下的功能正常。
效果如何 本文档作为一份通用的BIOS配置指导手册,并未搭建具体的实验环境,没有提供硬件配置、软件配置以及数据集等详细信息。同时,文中没有设置任何对比基线方法,也未包含具体的基准测试数据或量化结果图表来证明这些配置变更带来的确切性能提升幅度。尽管缺乏量化数据,作者明确指出了该调优方案必须承受的代价和面临的失效场景:追求最大性能配置会带来显著的功耗增加,散热模式的改变也意味着更高的风扇转速,因此这种极限配置并不适用于所有常规应用程序,仅推荐用于基准测试或高性能集群。此外,作者承认的一个重要局限是,不同服务器厂商的BIOS底层实现方式存在细微差异,部分参数并非在所有BIOS版本中都会暴露给用户。因此,在进行任何实际修改之前,强烈建议用户首先参考其服务器制造商提供的官方BIOS指南。
A1 主要贡献
本文档旨在指导用户如何通过调整BIOS(基本输入/输出系统)设置来优化服务器性能。
-
核心问题: 服务器的默认BIOS设置通常是为了平衡性能、功耗和稳定性,而非针对极限性能进行优化。对于基准测试和性能敏感的集群等应用场景,需要对BIOS进行专门的调优以释放硬件的全部潜力。
-
研究目标: 本文的目标是提供一个通用性的BIOS性能调优参数列表,解释每个参数的功能及其对性能的影响,并为用户提供明确的配置建议,以实现最大化的计算性能。
-
创新点/核心内容:
- 系统性参数清单: 本文系统性地整理并解释了13个与性能密切相关的关键BIOS参数,涵盖了电源管理、CPU特性、内存配置和系统散热等多个方面。
- 明确的调优建议: 针对每个参数,都给出了以性能为导向的推荐设置(例如,禁用P-State和C-State,开启Turbo Mode等)。
- 背景与权衡: 明确指出了追求极致性能的代价,即显著增加的功耗,并提醒用户这种配置并非适用于所有应用。同时强调了不同服务器厂商BIOS实现的差异性,建议用户在操作前参考官方指南。
A3 概述
通常情况下,我们希望将BIOS调优至高性能模式。在大多数情况下,BIOS性能调优只需要执行一次。需要注意的是,最大性能配置会消耗大量电力,因此并不适用于所有应用程序。然而,对于基准测试和性能敏感的集群,推荐采用性能配置。每个供应商的BIOS实现方式略有不同。在开始之前,建议查阅服务器制造商提供的BIOS指南,必要时升级BIOS,并根据您的需求进行配置。
A2 性能调优参数详解
以下是进行BIOS性能调优时需要关注的参数列表。
-
电源 (Power)
- 为了获得最大性能,应将电源配置设置为以最大功率运行。
-
P-State
- 功能与影响: 如果启用P-State,在没有活动时,CPU(特定NUMA节点上的所有核心)将进入“睡眠”模式。此模式类似于C-State,但作用于整个NUMA节点。在大多数情况下,它能在空闲时节省电力。
- 性能调优建议: 然而,对于以性能为导向的系统,当功耗不是主要考虑因素时,建议禁用P-State。
-
C-State
- 功能与影响: 为了节能,可以在CPU空闲时降低其功耗。每个CPU都有几种称为“C-states”或“C-modes”的电源模式。
- 性能调优建议: 这种操作不适合BIOS性能配置,因此应予以禁用。有关C-State的更多信息,请参考【1,Everything You Need to Know About the CPU C-States】。
-
睿频模式 (Turbo Mode)
- 功能与影响: 该技术(英特尔称为Turbo Boost Technology)能自动使处理器核心以高于标称频率的速度运行。处理器必须在热设计功耗(TDP)的功率、温度和规格限制内工作。这项技术可以提升单线程和多线程应用程序的性能。
- 性能调优建议: 为追求高性能,应启用此模式。更多信息,请参阅【2,Intel® Turbo Boost Technology Frequently Asked Questions】。
-
超线程 (Hyper Threading)
- 功能与影响: 超线程技术允许一个CPU核心同时处理多个数据流,从而提高性能和效率。
- 性能调优建议: 在某些情况下,关闭超线程反而能为单线程任务带来更高的性能。对于常规系统,在大多数情况下应开启。然而,当CPU利用率接近100%时,超线程可能没有帮助,甚至会损害性能。因此,在这种高负载情况下,应禁用超线程。
-
IO Non Posted Prefetching
- 功能与影响: 此参数与Haswell/Broadwell及更新架构的处理器相关。
- 性能调优建议: 在这些系统上应禁用该选项。请注意,并非所有BIOS版本都会暴露此参数。
-
CPU频率 (CPU Frequency)
- 性能调优建议: 为了获得最大性能,应将CPU频率设置为最大速度。
-
内存速度 (Memory Speed)
- 性能调优建议: 为了获得最大性能,应将内存速度设置为最大值。
-
内存通道模式 (Memory channel mode)
- 性能调优建议: 为了性能,应使用独立模式(independent mode)。通过使用此模式,每个内存通道都可以拥有自己的内存控制器,从而使内存通道以全速运行。
-
节点交错 (Node Interleaving)
- 功能与影响: 当禁用节点交错时,NUMA(非一致性内存访问)模式被启用。相反,启用节点交错意味着内存将在内存节点之间交错,操作系统将看不到NUMA架构。
- 性能调优建议: 出于性能考虑,我们希望禁用节点交错(从而启用NUMA),以确保对于任何给定的逻辑处理器,内存总是分配到其本地NUMA节点上。
-
通道交错 (Channel Interleaving)
- 功能与影响: 通道交错将RAM分成多个部分,以支持同时进行多次读/写操作,从而提高内存访问并行度。
-
散热模式 (Thermal Mode)
- 性能调优建议: 应在性能模式(Performance mode)下运行以确保功能正常。这通常也意味着更高的功耗和更高的风扇转速。
-
HPC优化 (HPC Optimizations)
- 功能与影响: 此模式与C-state模式类似,仅在AMD处理器中支持。它旨在为高性能计算场景优化系统设置。
A4 实验环境
本文档作为一份通用的配置指南,未提供具体的实验环境信息,包括硬件配置(如GPU、CPU、网卡型号)、软件配置(如操作系统、依赖库)以及数据集或模型参数。
A4 实验结果
本文档旨在提供BIOS配置建议以优化性能,并未包含任何具体的实验、基准测试数据或结果图表来量化这些配置变更带来的性能提升。
A5 结论
为了在服务器上获得更高的性能,特别是在进行基准测试或部署性能敏感型应用时,对BIOS进行性能调优是推荐的关键步骤。本文提供了一份包含13个核心参数的检查清单,指导用户如何配置电源管理、CPU特性、内存模式等以实现性能最大化。
核心结论是,性能调优通常涉及禁用节能特性(如P-State、C-State)、启用性能增强功能(如Turbo Mode),并将CPU和内存速度设置为最大值。同时,应启用NUMA模式(通过禁用Node Interleaving)以优化内存局部性。
然而,需要强调的是,最大性能配置会带来显著的功耗增加,且不同服务器厂商的BIOS实现存在差异。因此,在进行任何修改之前,强烈建议用户首先参考其服务器制造商提供的官方BIOS指南。
参考文献列表
[1] Everything You Need to Know About the CPU C-States. (本文档未提供详细发表信息)
[2] Intel® Turbo Boost Technology Frequently Asked Questions. (本文档未提供详细发表信息)
💬 评论讨论
欢迎在这里分享您的想法和见解!