发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种多节点服务器功耗控制方法及系统,实现灵活的功耗管理,降低资源的浪费。
为达到以上目的,本发明采取的技术方案是:一种多节点服务器功耗控制方法,包括以下步骤:
各节点服务器定时上报各节点服务器的节点板功耗值;
管理板接收各节点服务器的节点板功耗值,求和计算出整机总功耗值;
当整机总功耗值大于预设的上限值时,管理板计算出需要进行功耗封顶的节点板以及功耗封顶阈值,并下发功耗封顶指令,收到功耗封顶命令的节点板执行功耗封顶动作;
当整机总功耗值小于预设的下限值时,管理板向各节点服务器发送功耗封顶停止指令。
在上述技术方案的基础上,管理板计算出需要进行功耗封顶的节点板以及功耗封顶阈值,具体包括以下步骤:
根据预设时间段内监控得到的各节点服务器的节点板功耗值和整机总功耗值,计算所述整机总功耗的平均值和各节点服务器的节点板功耗平均值;
找出节点板功耗平均值大于整机总功耗的平均值的N个节点服务器;
计算N个节点服务器在预设时间段内节点板功耗值的标准差,并按照从大到小的顺序排序;
计算整机总功耗值与预设上限值的差Δp,分别计算各个需要进行功耗封顶的节点服务器的功耗封顶阈值,功耗封顶阈值的计算公式为:
其中,i为根据节点服务器的节点板功耗值的标准差由大到小的排序序号,取值范围为1、2、3...N,pi为第i个节点服务器当前的节点板功耗值,r为用户设置的封顶阈值调整幅度。
在上述技术方案的基础上,计算N个节点服务器在预设时间段内节点板功耗值的标准差,其计算方法为:
依据标准差公式,计算各个节点服务器在预设时间段内节点板功耗值的标准差,标准差公式为:
其中,N为上述步骤中计算出的N个需要进行功耗封顶的节点服务器,i表示第i个节点服务器,
为N个节点服务器的平均功耗值。
在上述技术方案的基础上,所述N个节点服务器的平均功耗值
其计算公式为:
在上述技术方案的基础上,所述r的取值范围为0-20%。
在上述技术方案的基础上,各节点服务器定时上报各节点服务器的节点板功耗值,具体包括以下步骤:
所述节点服务器BMC通过IPMB协议与ME进行通信获取节点板功耗值,通过UDP协议与管理板进行通信并上报功耗值。
本发明还提供一种多节点服务器功耗控制系统,包括:
多个节点服务器,其用于:定时上报各节点服务器的节点板功耗值;
管理板,其用于:接收各节点服务器的节点板功耗值,求和计算出整机总功耗值,当整机总功耗值大于预设的上限值时,计算出需要进行功耗封顶的节点板以及功耗封顶阈值,并下发功耗封顶指令,收到功耗封顶命令的节点板执行功耗封顶动作。
在上述技术方案的基础上,所述节点服务器包括基板管理控制器BMC和ME:
所述BMC用于:通过IPMB协议与ME进行通信获取节点板功耗值,通过UDP协议与管理板进行通信并上报功耗值;
所述ME用于:采集节点板功耗值。
在上述技术方案的基础上,所述管理板包括节点服务器筛选模块和功耗封顶模块:
所述节点服务器筛选模块用于:
根据预设时间段内监控得到的各节点服务器的节点板功耗值和整机总功耗值,计算所述整机总功耗的平均值和各节点服务器的节点板功耗平均值;
找出节点板功耗平均值大于整机总功耗的平均值的N个节点服务器;
所述功耗封顶模块用于:
计算N个节点服务器在预设时间段内节点板功耗值的标准差,并按照从大到小的顺序排序;
其中,标准差公式为:
N为上述步骤中计算出的N个需要进行功耗封顶的节点服务器,i表示第i个节点服务器,
为N个节点服务器的平均功耗值;
计算公式为:
计算整机总功耗值与预设上限值的差Δp,分别计算各个需要进行功耗封顶的节点服务器的功耗封顶阈值,功耗封顶阈值的计算公式为:
其中,i为根据节点服务器的节点板功耗值的标准差由大到小的排序序号,取值范围为1、2、3...N,pi为第i个节点服务器当前的节点板功耗值,r为用户设置的封顶阈值调整幅度。
在上述技术方案的基础上,所述功耗封顶模块还用于:当整机总功耗值小于预设的下限值时,向各节点服务器发送功耗封顶停止指令。
与现有技术相比,本发明的优点在于:
本发明通过各节点服务器定时上报各节点服务器的节点板功耗值;管理板接收各节点服务器的节点板功耗值,求和计算出整机总功耗值,当整机总功耗值大于预设的上限值时,管理板计算出需要进行功耗封顶的节点板以及功耗封顶阈值,并下发功耗封顶指令;当整机总功耗值小于预设的下限值时,向各节点服务器发送功耗封顶停止指令,从而实现更加灵活的功耗管理策略,最大化地合理使用资源,大大降低资源的浪费。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1所示,本发明实施例提供一种多节点服务器功耗控制方法,包括以下步骤:
S1、各节点服务器定时上报各节点服务器的节点板功耗值;
S2、管理板接收各节点服务器的节点板功耗值,求和计算出整机总功耗值;
S3、当整机总功耗值大于预设的上限值时,管理板计算出需要进行功耗封顶的节点板以及功耗封顶阈值,并下发功耗封顶指令,收到功耗封顶命令的节点板执行功耗封顶动作;
S4、当整机总功耗值小于预设的下限值时,管理板向各节点服务器发送功耗封顶停止指令。
以下结合附图对本发明的实施例作进一步详细说明。
参见图2所示,本发明实施例的功耗控制流程,具体包括以下步骤:
S110各节点服务器BMC定时上报各节点板功耗值。
各个节点服务器中设有基板管理控制器BMC和ME,BMC通过IPMB协议与ME进行通信获取节点板功耗值,管理板与节点板BMC通过UDP协议进行通信并上报功耗值。
S120管理板接收各节点服务器的功耗值,并求和计算整机功耗。
S130判断整机服务器总功耗值是否大于预设的上限值,如果大于,则进行步骤S140,如果整机功耗小于预设的下限值,则进行步骤S170。
S140管理板根据功耗管理策略,计算需要进行功耗封顶的节点板,以及功耗封顶阈值。
S150管理板下发功耗封顶指令。
S160收到功耗封顶命令的节点板执行功耗封顶动作。
S170判断整柜服务器总功耗值是否小于预设的下限值,若是,则进行步骤180;若否,返回步骤120;
S180管理板向各服务器发送功耗封顶停止指令。
参见图3所示,本发明实施例的功耗管理策略流程,具体包括如下步骤:
S210根据预设时间段内监控得到的多节点功耗的值和整机总功耗的值,计算所述整框功耗的平均值和各节点服务器总功耗的平均值。
S220找出节点板平均功耗值大于整框功耗的平均值的N个节点板。
在本实例中,只对节点板功耗平均值大于整机平均功耗值的节点进行功耗控制,与传统的对所有节点板进行功耗控制方法相比,功耗封顶效果更加明显。
S230依据标准差公式,计算N个节点板在预设时间段内节点板功耗值的标准差,并按照从大到小的顺序排序,标准差公式如下所示:
其中,N为上述步骤S220中找到的N个节点板,i表示第i个节点板,
为N个节点板的平均功耗,计算公式如下:
由于节点板功耗值波动范围大,可能导致整机总功耗超出预设上限值,且可能导致整机功耗波动而是整机服务器运行不稳定。而功耗封顶动作,会限制整机功耗值的范围,一定程度上减小了功耗值的波动范围,因此,对该波动范围大的节点板优先进行功耗封顶,从而减小功耗波动对整机的影响。
S240计算整机服务器总功耗与预设上限值的差Δp,依据下面公式计算N个节点板的功耗封顶阈值:
其中,i为上述步骤S230根据功耗波动幅度由大到小的排序序号,取值范围为1、2、3...N,pi为第i个节点服务器当前功耗值,r为各个封顶阈值的调整幅度,用户可根据实际情况进行设置。
具体的,由S240的公式可知,
将整机服务器总功耗与预设上限值的差Δp平均分配到N个节点服务器上,通过参数
对各个节点服务器的功耗值进行调整,节点板功耗值波动幅度越大,则i越小,对第i个节点板的功耗值调整的幅度越大,从而节点板功耗波动对整机服务器的影响越小,在一定程度上提高了整机服务器运行的稳定性。参数r为各个封顶阈值的调整幅度,用户可根据实际情况进行设置,r越大,则对功耗值的调整幅度越大,从而节点板功耗波动对整机服务器的影响越小,参数r的作用是起到微调的作用,因此取值不宜过大,建议取值在0-20%,当r为0时,N个节点功耗调整的幅度相等,都为
当r取值为20%时,如果N取值为5,则这5个节点功耗调整值分别为
5个节点功耗值调整幅度成等差数列,调整后的结果为整机功耗值降低Δp,因此实现了整机功耗在限定值范围以内。
当整机柜服务器出现功耗超过其最高限值时,对所有节点服务器进行功耗封顶操作,且下发的功耗峰值为相同值。对于多节点服务器,各个节点运行的业务不一样,有的节点服务器处于繁忙状态,有的节点服务器处于空闲状态,现有方案对所有节点统一处理,会影响节点服务器的运行性能,不能最大化地合理使用资源。而本申请通过设置r参数来动态配置功耗封顶阈值,从而实现了更加灵活的功耗调整方法,最大化地合理使用资源,大大降低了资源的浪费。
参见图4所示,本发明实施例还提供一种多节点服务器功耗控制系统,包括:
多个节点服务器,其用于:定时上报各节点服务器的节点板功耗值;
管理板,其用于:接收各节点服务器的节点板功耗值,求和计算出整机总功耗值,当整机总功耗值大于预设的上限值时,计算出需要进行功耗封顶的节点板以及功耗封顶阈值,并下发功耗封顶指令,收到功耗封顶命令的节点板执行功耗封顶动作;当整机总功耗值小于预设的下限值时,向各节点服务器发送功耗封顶停止指令。
作为优选的实施方式,所述节点服务器包括基板管理控制器BMC和ME:
所述BMC用于:通过IPMB协议与ME进行通信获取节点板功耗值,通过UDP协议与管理板进行通信并上报功耗值;
所述ME用于:采集节点板功耗值。
作为优选的实施方式,所述管理板包括节点服务器筛选模块和功耗封顶模块:
所述节点服务器筛选模块用于:
根据预设时间段内监控得到的各节点服务器的节点板功耗值和整机总功耗值,计算所述整机总功耗的平均值和各节点服务器的节点板功耗平均值;
找出节点板功耗平均值大于整机总功耗的平均值的N个节点服务器;
所述功耗封顶模块用于:
计算N个节点服务器在预设时间段内节点板功耗值的标准差,并按照从大到小的顺序排序;
其中,标准差公式为:
N为上述步骤中计算出的N个需要进行功耗封顶的节点服务器,i表示第i个节点服务器,
为N个节点服务器的平均功耗值;
计算公式为:
计算整机总功耗值与预设上限值的差Δp,分别计算各个需要进行功耗封顶的节点服务器的功耗封顶阈值,功耗封顶阈值的计算公式为:
其中,i为根据节点服务器的节点板功耗值的标准差由大到小的排序序号,取值范围为1、2、3...N,pi为第i个节点服务器当前的节点板功耗值,r为用户设置的封顶阈值调整幅度。
对比现有技术提供的方案,可以很明显的发现本发明实施例,对该波动范围大的节点板优先进行功耗封顶,从而减小功耗波动对整机的影响。且通过设置r参数来动态配置功耗封顶阈值,从而实现了更加灵活的功耗调整方法,最大化地合理使用资源,大大降低了资源的浪费。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。