基本概念
定义
Intel® Intelligent Power Node Manager(简称 Intel NM,英特尔智能电源节点管理器)是英特尔面向服务器与数据中心打造的硬件 + 固件级平台级电源与散热管理技术,是英特尔数据中心能效管理体系的核心底层组件,为单节点到集群级的算力能效优化提供底层能力支撑。
物理架构
系统架构图
核心运行链路
数据流向
硬件依赖架构
核心定位与运行架构
Intel NM 是内嵌于英特尔服务器芯片组(PCH)管理引擎(Intel® ME, Manageability Engine)中的电源管理策略引擎,具备带外(OOB)独立运行特性:它不依赖主机 CPU、操作系统与业务负载,独立于主机系统运行,不占用业务算力资源。
数据采集
通过 PMBus 协议从合规电源模块获取整机实时功耗数据,同步采集 CPU、内存等核心组件的运行状态与服务器进风口温度等热参数。
策略执行
联动 BIOS、操作系统电源管理(OSPM),通过调节 CPU P-state(性能状态)、C-state(休眠状态)等参数,动态平衡服务器功耗与性能,执行预设的管理策略。
外部交互
通过服务器 BMC(基板管理控制器),基于标准 IPMI 协议与外部管理控制台 / 软件通信,接收管控策略、上报监测数据,具备良好的生态兼容性。
硬件依赖
需配套支持的英特尔 Xeon 服务器处理器、对应服务器芯片组(如 5500/5520、C600/C610 系列等)、PMBus 合规电源、启用对应功能的 BIOS 与 BMC 固件。
核心能力
基于 Intel 官方技术规范,Intel NM 的核心功能可分为四大类:
精准动态功耗监测
实时测量服务器整机与核心组件的实际功耗,支持单次瞬时采样与时序化历史数据记录,通过标准 IPMI 接口对外输出,彻底解决数据中心服务器功耗不可见、无法精细化计量的痛点,为能效优化提供数据基础。
平台级功率封顶(Power Capping)
这是 Intel NM 的核心标志性能力。它可接收外部管理系统下发的功率策略,为单节点服务器设定固定功率预算上限;在不超出功耗上限的前提下,动态调节硬件性能参数,最大化给定功耗约束下的系统性能。若无法维持功率上限,可触发分级告警或安全关机动作,保障硬件与供电系统安全。
热管理与异常场景保活
支持基于服务器进风口温度、核心硬件温度的阈值管控策略,可自动调节功耗以缓解机房热点,降低散热系统负载;在市电限电、空调故障等应急场景下,可通过动态功率限制自动降低整机功耗与发热量,维持核心业务在线,避免业务中断。
精细化策略化管控
支持基于时间周期、负载变化、外部事件触发的多维度电源管理策略,可针对业务峰谷、机房供电规划、集群调度需求定制差异化管控规则,实现服务器全生命周期的能效优化。
IPMI命令集
命令格式
Intel NM 基于 IPMI 标准的 OEM 扩展命令实现外部交互,使用 NetFn 0x2E(OEM NetFn for Node Manager)进行命令传输。
命令码定义
| 命令码 | 命令名称 | 功能描述 |
|---|---|---|
| 0xC0 | Policy Control | 启用/禁用策略 |
| 0xC1 | Set Policy | 设置功率/热管理策略 |
| 0xC2 | Get Policy | 获取策略配置 |
| 0xC3 | Set Alert Threshold | 设置告警阈值 |
| 0xC4 | Get Alert Threshold | 获取告警阈值 |
| 0xC5 | Set Suspend | 暂停/恢复策略 |
| 0xC6 | Get Suspend | 获取暂停状态 |
| 0xC7 | Reset Statistics | 重置统计数据 |
| 0xC8 | Get Statistics | 获取功耗统计 |
| 0xC9 | Get Capabilities | 获取NM能力 |
| 0xCA | Get Version | 获取NM版本 |
| 0xCB | Set Power | 设置电源状态 |
| 0xCE | Set Alert Destination | 设置告警目标 |
| 0xCF | Get Alert Destination | 获取告警目标 |
Intel ID 标识
所有 NM 命令请求需包含 Intel 厂商标识:
- 字节 0-2: 0x57 0x01 0x00(Intel 标识)
Get Statistics 命令详解
命令格式
命令码: 0xC8
NetFn: 0x2E
请求数据: 0x57 0x01 0x00 [Domain] [Statistics Type] [Reserved...]响应数据
| 字节 | 定义 |
|---|---|
| 0-2 | Intel ID (0x57 0x01 0x00) |
| 3 | Domain |
| 4 | Statistics Type |
| 5-6 | Average Power (W) |
| 7-8 | Maximum Power (W) |
| 9-10 | Minimum Power (W) |
| 11-12 | Average Inlet Temp (°C) |
| ... | ... |
Set Policy 命令详解
命令格式
命令码: 0xC1
NetFn: 0x2E
请求数据:
- 0x57 0x01 0x00 (Intel ID)
- Domain (0-3 bits)
- Policy ID
- Policy Type (Trigger Type | Action | Correction Time)
- Policy Exception Actions
- Policy Limit (W)
- Correction Time (ms)
- Trigger Limit
- Statistics PeriodPolicy Type 详解
| 位 | 名称 | 说明 |
|---|---|---|
| 0-2 | Trigger Type | 触发类型(时间/温度/外部事件) |
| 3 | Action | 处理动作(限制/告警/关机) |
| 4-5 | Correction Time | 修正时间范围 |
触发类型
| 值 | 名称 | 说明 |
|---|---|---|
| 0x00 | Time After Host Reset | 主机复位后延迟 |
| 0x01 | Time After BMC Reset | BMC复位后延迟 |
| 0x02 | Inlet Temperature | 进风口温度触发 |
| 0x03 | Prochot# | 处理器热保护触发 |
动作类型
| 值 | 名称 | 说明 |
|---|---|---|
| 0x00 | No Action | 无动作 |
| 0x01 | AC Power Cycle | 交流断电重启 |
| 0x02 | Hard Reset | 硬复位 |
| 0x03 | Shutdown | 正常关机 |
| 0x04 | Log Event Only | 仅记录事件 |
ipmitool 使用示例
获取功耗统计
# 获取全局系统功耗统计
ipmitool -H <BMC_IP> -U <USER> -P <PASS> raw 0x2e 0xc8 0x57 0x01 0x00 0x01 0x00 0x00设置功率封顶策略
# 设置功率上限为 200W (0x00C8 = 200)
ipmitool -H <BMC_IP> -U <USER> -P <PASS> raw 0x2e 0xc1 0x57 0x01 0x00 0x10 0x01 0xc8 0x00 0x00 0x00 0x60 0x00 0x00 0x00 0x00 0x1e 0x00获取版本信息
# 获取 Node Manager 版本
ipmitool -H <BMC_IP> -U <USER> -P <PASS> raw 0x2e 0xca 0x57 0x01 0x00版本演进
Intel NM 随英特尔 Xeon 服务器平台迭代持续演进:
| 版本 | 核心能力 | 典型平台 |
|---|---|---|
| 1.0/1.5 | 基础功耗监测、简单功率封顶 | 5500/5520 系列 |
| 2.0 | 增强策略引擎、子系统域管控 | C600 系列 |
| 3.0 | 完整 IPMI 接口、CUPS 支持 | C610 系列、Purley |
| 4.0+ | 虚拟化增强、云原生接口 | Scalable |
版本差异
- 1.x: 基础功耗采样、固定功率上限
- 2.0: 多策略并行、IPMI 规范化、子系统域管理
- 3.0: CUPS(Compute Use Performance Scaling)、增强安全验证、虚拟化场景支持
- 4.0+: 云原生 API、动态策略优化、多节点协同
配套生态
作为底层能力引擎,Intel NM 的上层核心配套为 Intel® Data Center Manager(Intel DCM) 数据中心管理平台,可实现从单节点、机架到整个数据中心的集群级功耗管控、策略编排、可视化监控与数据分析。
同时,Intel NM 开放标准 IPMI 接口,支持第三方服务器厂商、ISV 管理软件、云管理平台原生集成,适配规模化数据中心的统一管理需求。
第三方集成
- FreeIPMI: 提供
get-node-manager-statistics、get-node-manager-version等 OEM 命令 - OpenStack Ceilometer: 集成 Intel NM 用于功耗数据采集
- Redfish: 通过 DMTF Redfish 标准接口访问 NM 数据
应用场景
提升机架部署密度
通过功率封顶消除服务器功耗设计冗余,在固定供电容量的机架中部署更多服务器,最大化机房空间与供电资源利用率。
数据中心能效优化
基于实测功耗数据优化机房供电与散热配置,官方实测数据显示,可在不影响业务性能的前提下实现 4%-18% 的整机功耗降低,同步降低数据中心 PUE。
虚拟化 / 云资源调度
为云平台、虚拟化环境提供功耗与热数据支撑,优化虚拟机 / 容器的调度策略,规避机房与服务器热点,提升集群整体资源利用率。
机房应急容灾
在供电、散热系统异常场景下,实现分级功耗管控,保障核心业务持续运行,降低非计划停机风险。
Linux内核API
主流 Linux 内核通过 IPMI 子系统提供对 Intel NM 的访问支持:
// 通过 ipmitool 接口访问
int raw_ipmi_command(int BMC_fd, uint8_t netfn, uint8_t cmd,
uint8_t *data, int data_len,
uint8_t *response, int resp_len);
// 通过 OpenIPMI 内核接口
struct ipmi_msg {
uint8_t netfn;
uint8_t cmd;
uint8_t *data;
int data_len;
};
// 内核 hwmon 接口(部分平台支持)
// /sys/class/hwmon/hwmon*/device/power*_input补充说明
规范文档说明
Intel NM 的具体实现细节遵循 Intel 官方发布的外部接口规范(External Interface Specification),该规范记录了完整的 IPMI OEM 命令格式、传感器定义与策略引擎行为。
不同版本的服务器平台对应不同版本的 NM 规范,实现前需确认平台支持的 NM 版本与功能集。
参考资料
Intel 官方文档
- Intel® Intelligent Power Node Manager 3.0 External Interface Specification
- Intel® Intelligent Power Node Manager 2.0 Specification