一种数据中心功耗调节方法及装置与流程

文档序号:12887014阅读:372来源:国知局
一种数据中心功耗调节方法及装置与流程

本发明涉及功耗控制领域,特别涉及一种数据中心功耗调节方法及装置。



背景技术:

在数据中心内部,所有的服务器都分配有一定大小的功率配给,同时保证整个机架上的服务器的功率配给之和不超过机架电源的总功率。当前,很多数据中心分配给服务器的功率配给是服务器的额定功率。然而,服务器实际运行功率在大部分时间里远远低于额定功率,引起了功率配给的极大浪费,制约了机架装机数量。因此,适当降低数据中心内服务器的功率配给,对提升机架装机量,节约服务器的占地成本有着极为重要的意义。

由于服务器cpu、硬盘等部件在制造时存在的工艺差别,会导致上架后服务器的峰值功耗与选型时候的峰值功耗存在差异(可以达到单个服务器相差20-30w),这样会直接影响到现有部署方案下单个机架的节点数量,导致减少服务器部署密度。同时,由于it设备峰值功耗的不确定性,现有的依赖经验的服务器部署方式会在数据中心部署的各个节点(机架,列头柜,单个机房等)处留下冗余,过多的冗余会降低数据中心供电的使用率。

图1为数据中心cpu利用率累计分布图所示(数据从百度某数据中心采录,此数据中心目前负载较低),如图1所示,cpu使用率从侧面反馈了整机的负载,横轴每小时内平均的cpu使用率,纵轴表示累计分布的比例,可以看到,统计到所有的服务器的粒度时(累计分布达到1),数据中心(idc)层面的cpu利用率为31%左右,而在列头柜(pdu)和机架(rack)层面,使用率为39%和43%。从图中可以看出,由于数据中心设计时按照峰值功耗进行设计,而由于实际运行时业务很少会达到峰值功耗,在机架/列头柜/数据中心层面的稳定负荷率会小于设计的峰值功耗,并且在机架/列头柜/数据中心的负载率会逐步降低,通过利用这些分布不均的情况,可以增加服务器部署量。然而,现有的用于数据中心的服务器机架位分配方式通常是人工凭经验分配,存在着机架利用率不足,电力资源利用率低的问题。



技术实现要素:

本发明为解决现有技术的上述缺陷,提供一种数据中心功耗调节方法及装置。

一方面,本发明提供一种数据中心功耗调节方法,包括:

采集机架总功耗;

若判断获知机架总功耗接近第一预设阈值,则通过查询数据中心拓扑获取机架内各服务器的功耗;

将各服务器按照功耗比排序,利用通用调度器根据服务器功耗比顺序依次对各服务器进行任务调度。

其中,所述机架上布置多个不同型号的服务器,所述方法进一步包括:

基于统一峰值功耗管理,不同型号的服务器对外提供统一的峰值功耗限制功能。

其中,所述基于统一峰值功耗管理包括:

基于从smbios中获取新服务器的配置信息,修改现有服务器配置数据库,添加对于新服务器的功耗管理功能的支持。

其中,所述方法还包括,定时处理被冻结的服务器,接收通用调度器发送的新任务。

其中,所述利用通用调度器根据服务器功耗比顺序依次对各服务器进行任务调度包括:

若服务器功耗比接近第二预设阈值,则利用通用调度器迁移任务;

若服务器功耗比高于第二预设阈值小于第三预设阈值,则利用通用调度器控制服务器暂停接受新任务。

其中,所述方法还包括,当服务器功耗接近第四预设阈值时,通过降低cpu运行频率和/或内存运行频率的方式降低单个服务器功耗,进而降低机架总功耗。

另一方面,本发明还提供一种数据中心功耗调节装置,包括:

采集模块,用于采集机架总功耗;

获取模块,用于判断获知机架总功耗接近第一预设阈值时,则通过查询数据中心拓扑获取机架内各服务器的功耗;

调度模块,用于将各服务器按照功耗比排序,利用通用调度器根据服务器功耗比顺序依次对各服务器进行任务调度。

其中,所述调度模块还用于,定时处理被冻结的服务器,接收通用调度器发送的新任务。

其中,所述调度模块具体用于:

若服务器功耗比接近第二预设阈值,则利用通用调度器迁移任务;

若服务器功耗比高于第二预设阈值小于第三预设阈值,则利用通用调度器控制服务器暂停接受新任务。

其中,所述装置还包括限制模块,所述限制模块,用于当服务器功耗接近第四预设阈值时,通过降低cpu运行频率和/或内存运行频率的方式降低单个服务器功耗,进而降低机架总功耗。

本发明提供的数据中心功耗调节方法和装置,当机架总功耗接近预设阈值时,获取机架内各服务器的功耗;将各服务器按照功耗比排序,利用通用调度器根据服务器功耗比顺序依次对各服务器进行任务调度,并通过降低cpu运行频率和内存运行频率来降低机架功耗。通过上述方法调节机架功耗,在不影响数据中心稳定性的前提下,提高了供电利用率。

附图说明

图1为根据本发明实施例提供的数据中心cpu利用率累计分布图;

图2为根据本发明实施例提供的数据中心功耗调节方法流程示意图;

图3为根据本发明实施例提供的服务器峰值功耗管理流程图;

图4为根据本发明实施例提供的数据中心功耗调节装置结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图2为根据本发明实施例提供的数据中心功耗调节方法流程示意图,如图2所示,该方法包括:步骤s1,采集机架总功耗;步骤s2,若判断获知机架总功耗接近第一预设阈值,则通过查询数据中心拓扑获取机架内各服务器的功耗;步骤s3,将各服务器按照功耗比排序,利用通用调度器根据服务器功耗比顺序依次对各服务器进行任务调度。

其中,步骤s1中,采集机架总功耗。当服务器为一体机时,通过查询数据中心拓扑信息,获取与本服务器同机架的所有服务器功耗,得到机架功耗;当服务器不是一体机时,可以从机架管理节点处得到机架功耗。一体机是指将传统分体台式机的主机集成到显示器中,从而形成一体台式机。

具体地,当服务器是一体机时,可以实时获取机架上各服务器的当前功耗,以确定机架的总体功耗。例如,通过查询数据中心拓扑信息,获取机架上的各个服务器的当前功耗,并将各个服务器的当前功耗的总和确定为机架功耗。当服务器不是一体机时,可以通过机架上的各个设备各自的特定接口来获取其当前功耗;此外,还可以通过特定应用利用网络来获取机架上的各个设备的当前功耗。

其中,步骤s2中,若判断获知机架总功耗接近第一预设阈值,则通过查询数据中心拓扑获取机架内各服务器的功耗。

数据中心网络拓扑主要分为三层拓扑结构。包括数据中心与外部运营商互联的核心交换层,数据中心网络拓扑用户层或接入层,以及将连接两者实现数据聚合的汇聚层。本实施例中,通过查询数据中心拓扑信息,可以获取机架内各服务器功耗。

具体地,第一预设阈值小于机架的峰值功耗,当服务器功耗接近第一预设阈值时,可以通过查询数据中心拓扑获取机架内各服务器的功耗。

其中,由于服务器cpu、硬盘等部件在制造时存在的工艺差别,会导致上架后服务器的峰值功耗与选型时候的峰值功耗存在差异(可以达到单个服务器相差20-30w),这样会直接影响到现有部署方案下单个机架的节点数量,导致减少服务器部署密度。需要对各个服务器的峰值功耗进行管理。本实施例中,所述机架上布置多个不同型号的服务器,各个服务器基于统一峰值功耗管理,不同型号的服务器对外提供统一的峰值功耗限制功能。图3为根据本发明实施例提供的服务器峰值功耗管理流程图,如图3所示,首先从smbios中获取服务器配置信息,配置信息包括厂商和型号等,smbios(systemmanagementbios)是主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范。dmi(desktopmanagementinterface,dmi)的主要组成部分是managementinformationformat(mif)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过dmi,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。dmi(desktopmanagementinterface,dmi)就是帮助收集电脑系统信息的管理系统,dmi信息的收集必须在严格遵照smbios规范的前提下进行。

进一步地,在获取了服务器配置信息之后,与现有的服务器配置数据库进行对比。调整现有的服务器配置数据库,选择合适的功耗管理。本实施例中,使用现有的x86-64服务器通过调整cpu运行时频率实现的功耗管理功能(ibmaem,hpilo,其他厂商均使用intelnodemanager技术),功耗管理功能包括功耗获取和设置限额,隐藏了各个厂商功耗管理实现的异构性,通过设置限额,对外提供统一的峰值功耗限制功能,并且功耗限制是硬件限制,设定后响应时间在毫秒级别,且不会超出此功耗限制。

实际使用中通过修改已有服务器配置数据库,可以动态的添加对于新的服务器功耗管理功能的支持。本发明实施例通过服务器峰值功耗管理,定义了统一的功耗管理方式,统一了不同服务器厂商的功耗管理实现,对外提供一致的调用接口。

其中,步骤s3中,将各服务器按照功耗比排序,利用通用调度器根据服务器功耗比顺序依次对各服务器进行任务调度。

具体地,功耗比为服务器的当前功耗/额定功耗,将各个服务器根据功耗比由大到小进行排序,通用调度器依次对各个服务器进行任务调度,优先处理功耗比较大的服务器。通用调度器选定功耗比较大的服务器,调度方式包括迁移该服务器的任务,或者控制该服务器暂停接受新任务。当通用调度器迁移任务时,可以将该服务器运行的任务迁移至其他机架的服务器,并且优先迁移内存占用率最高的任务。控制单个服务器功耗,进而降低机架总功耗。

进一步地,在对服务器进行任务调度时,若服务器功耗比接近第二预设阈值,则利用通用调度器迁移任务;若服务器功耗比高于第二预设阈值小于第三预设阈值,则利用通用调度器控制服务器暂停接受新任务。例如,机架上a服务器功耗比为79%,b服务器功耗比为83%。第二预设阈值为80%,第三预设阈值为85%。将各个服务器根据功耗比由大到小进行排序,利用通用调度器依次对各个服务器进行任务调度,优先处理功耗比较大的服务器。由于b服务器的功耗比大于第二预设阈值,小于第三预设阈值,通用调度器首先冻结b服务器,使b服务器停止接收新任务。a服务器的功耗比接近第二预设阈值,通用调度器将a服务器的某一任务迁移至其他机架上的服务器。达到了控制机架功耗,提高供电利用率的效果。

本发明实施例提供的数据中心功耗调节方法,当机架总功耗接近预设阈值时,获取机架内各服务器的功耗;将各服务器按照功耗比排序,利用通用调度器根据服务器功耗比顺序依次对各服务器进行任务调度,并通过降低cpu运行频率和内存运行频率来降低机架功耗。通过上述方法调节机架功耗,在不影响数据中心稳定性的前提下,提高了供电利用率。

在一个实施例中,本发明实施例提供的数据中心功耗调节方法还包括,定时处理被冻结的服务器,接收通用调度器发送的新任务。当某个服务器的功耗超过第二预设阈值,小于第三预设阈值时,通用调度器控制该服务器暂停接受新任务,将该服务器冻结。为了避免影响数据中心业务性能,需要定时处理被冻结的服务器,使服务器接收通用调度器发送的新任务。

例如,现有的机架第一预设阈值为500w,机架上有20台服务器。采集机架总功耗,得到机架总功耗为490w,接近机架第一预设阈值。则通过查询数据中心拓扑获取该机架内各服务器的功耗,如图3所示,经过服务器的峰值功耗管理,各服务器的峰值功耗均为40w,将各个服务器按照功耗比进行排序,其中,功耗比为服务器的当前功耗/额定功耗,第二预设阈值为80%,第三预设阈值为85%。将各个服务器根据功耗比由大到小进行排序,利用通用调度器依次对各个服务器进行任务调度,优先处理功耗比较大的服务器。此时a服务器功耗比为79%,b服务器功耗比为83%。由于b服务器的功耗比大于第二预设阈值,小于第三预设阈值,通用调度器首先冻结b服务器,使b服务器停止接收新任务,60s后,通用调度器解除对b服务器的冻结,使b服务器可以接收新任务。a服务器的功耗比接近第二预设阈值,通用调度器将a服务器的某一任务迁移至其他机架上的服务器。最终达到了控制机架功耗,提高供电利用率的效果。

在一个实施例中,数据中心功耗调节方法还包括,当服务器功耗接近第四预设阈值时,通过降低cpu运行频率和/或内存运行频率的方式降低单个服务器功耗,进而降低机架总功耗。

具体地,数据中心服务器运行的负载率有待提高,且同一时刻达到设计峰值的概率很低,在接近峰值的特殊情况时,可以通过节点本身的功耗封顶(powercapping)来控制,进而达到可靠地提升机架利用率的目的。

进一步地,在机架处设置一个小于机架功耗峰值的powercapping值,当机架总功耗达到powercapping之后,服务器节点会通过内置于服务器主板固件中的程序和机架管理节点检测实时功耗,服务器功耗接近第四预设阈值时,通过降低cpu运行频率和/内存运行频率的方式降低单个服务器功耗,进而降低机架功耗,在设置了合适的机架powercapping值后,可以保证机架功耗不超标。

本发明实施例提供的数据中心功耗调节方法,当机架总功耗接近预设阈值时,获取机架内各服务器的功耗;将各服务器按照功耗比排序,利用通用调度器根据服务器功耗比顺序依次对各服务器进行任务调度,并通过降低cpu运行频率和内存运行频率来降低机架功耗。通过上述方法调节机架功耗,在不影响数据中心稳定性的前提下,提高了供电利用率。

图4为根据本发明实施例提供的数据中心功耗调节装置结构框图。如图4所示,数据中心功耗调节装置包括采集模块、获取模块和调度模块,其中:

采集模块401,用于采集机架总功耗;获取模块402,用于判断获知机架总功耗接近第一预设阈值时,则通过查询数据中心拓扑获取机架内各服务器的功耗;调度模块403,用于将各服务器按照功耗比排序,利用通用调度器根据服务器功耗比顺序依次对各服务器进行任务调度。

具体地,当服务器是一体机时,可以实时获取机架上各服务器的当前功耗,以确定机架的总体功耗。例如,通过查询数据中心拓扑信息,获取机架上的各个服务器的当前功耗,并将各个服务器的当前功耗的总和确定为机架功耗。当服务器不是一体机时,可以通过机架上的各个设备各自的特定接口来获取其当前功耗;此外,还可以通过特定应用利用网络来获取机架上的各个设备的当前功耗。

其中,获取模块402用于判断获知机架总功耗接近第一预设阈值时,则通过查询数据中心拓扑获取机架内各服务器的功耗。数据中心网络拓扑主要分为三层拓扑结构。包括数据中心与外部运营商互联的核心交换层,数据中心网络拓扑用户层或接入层,以及将连接两者实现数据聚合的汇聚层。本实施例中,通过查询数据中心拓扑信息,可以获取机架内各服务器功耗。

具体地,第一预设阈值小于机架的峰值功耗,当服务器功耗接近第一预设阈值时,可以通过查询数据中心拓扑获取机架内各服务器的功耗。

其中,由于服务器cpu、硬盘等部件在制造时存在的工艺差别,会导致上架后服务器的峰值功耗与选型时候的峰值功耗存在差异(可以达到单个服务器相差20-30w),这样会直接影响到现有部署方案下单个机架的节点数量,导致减少服务器部署密度。需要对各个服务器的峰值功耗进行管理。图3为根据本发明实施例提供的服务器峰值功耗管理流程图,如图3所示,首先从smbios中获取服务器厂商和型号,smbios(systemmanagementbios)是主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范。dmi(desktopmanagementinterface,dmi)的主要组成部分是managementinformationformat(mif)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过dmi,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。dmi(desktopmanagementinterface,dmi)就是帮助收集电脑系统信息的管理系统,dmi信息的收集必须在严格遵照smbios规范的前提下进行。

进一步地,在获取了服务器厂商和型号之后,与现有的服务器配置数据库进行对比。调整现有的服务器配置数据库,选择合适的功耗管理实现。本实施例中,使用现有的x86-64服务器通过调整cpu运行时频率实现的功耗管理功能(ibmaem,hpilo,其他厂商均使用intelnodemanager技术),功耗管理功能包括功耗获取和设置限额,隐藏了各个厂商功耗管理实现的异构性,通过设置限额,对外提供统一的峰值功耗限制功能,并且功耗限制是硬件限制,设定后响应时间在毫秒级别,且不会超出此功耗限制。

实际使用中通过修改已有服务器配置数据库,可以动态的添加对于新的服务器功耗管理功能的支持。本发明实施例通过服务器峰值功耗管理,定义了统一的功耗管理方式,统一了不同服务器厂商的功耗管理实现,对外提供一致的调用接口。

其中,调度模块403用于将各服务器按照功耗比排序,利用通用调度器根据服务器功耗比顺序依次对各服务器进行任务调度。

具体地,功耗比为服务器的当前功耗/额定功耗,将各个服务器根据功耗比由大到小进行排序,通用调度器依次对各个服务器进行任务调度,优先处理功耗比较大的服务器。通用调度器选定功耗比较大的服务器,调度方式包括迁移该服务器的任务,或者控制该服务器暂停接受新任务。当通用调度器迁移任务时,可以将该服务器运行的任务迁移至其他机架的服务器,并且优先迁移内存占用率最高的任务。控制单个服务器功耗,进而降低机架总功耗。

进一步地,调度模块403对服务器进行任务调度时,若服务器功耗比接近第二预设阈值,则利用通用调度器迁移任务;若服务器功耗比高于第二预设阈值小于第三预设阈值,则利用通用调度器控制服务器暂停接受新任务。例如,机架上a服务器功耗比为79%,b服务器功耗比为83%。第二预设阈值为80%,第三预设阈值为85%。将各个服务器根据功耗比由大到小进行排序,利用通用调度器依次对各个服务器进行任务调度,优先处理功耗比较大的服务器。由于b服务器的功耗比大于第二预设阈值,小于第三预设阈值,通用调度器首先冻结b服务器,使b服务器停止接收新任务。a服务器的功耗比接近第二预设阈值,通用调度器将a服务器的某一任务迁移至其他机架上的服务器。达到了控制机架功耗,提高供电利用率的效果。

本发明实施例提供的数据中心功耗调节装置,当机架总功耗接近第一预设阈值时,获取机架内各服务器的功耗;将各服务器按照功耗比排序,利用通用调度器根据服务器功耗比顺序依次对各服务器进行任务调度,并通过降低cpu运行频率和内存运行频率来降低机架功耗。通过上述方法调节机架功耗,在不影响数据中心稳定性的前提下,提高了供电利用率。

在一个实施例中,调度模块403还用于,定时处理被冻结的服务器,接收通用调度器发送的新任务。当某个服务器的功耗超过第二预设阈值,小于第三预设阈值时,通用调度器控制该服务器暂停接受新任务,将该服务器冻结。为了避免影响数据中心业务性能,需要定时处理被冻结的服务器,使服务器接收通用调度器发送的新任务。

例如,现有的机架第一预设阈值为500w,机架上有20台服务器。采集机架总功耗,得到机架总功耗为490w,接近机架第一预设阈值。则通过查询数据中心拓扑获取该机架内各服务器的功耗,如图3所示,经过服务器的峰值功耗管理,各服务器的峰值功耗均为40w,将各个服务器按照功耗比进行排序,其中,功耗比为服务器的当前功耗/额定功耗,第二预设阈值为80%,第三预设阈值为85%。将各个服务器根据功耗比由大到小进行排序,利用通用调度器依次对各个服务器进行任务调度,优先处理功耗比较大的服务器。此时a服务器功耗比为79%,b服务器功耗比为83%。由于b服务器的功耗比大于第二预设阈值,小于第三预设阈值,通用调度器首先冻结b服务器,使b服务器停止接收新任务,60s后,通用调度器解除对b服务器的冻结,使b服务器可以接收新任务。a服务器的功耗比接近第二预设阈值,通用调度器将a服务器的某一任务迁移至其他机架上的服务器。最终达到了控制机架功耗,提高供电利用率的效果。

在一个实施例中,本发明实施例提供的数据中心功耗调节装置还包括限制模块404,限制模块404用于当服务器功耗接近第四预设阈值时,通过降低cpu运行频率和/或内存运行频率的方式降低单个服务器功耗,进而降低机架总功耗。

具体地,数据中心服务器运行的负载率有待提高,且同一时刻达到设计峰值的概率很低,在接近峰值的特殊情况时,可以通过节点本身的功耗封顶(powercapping)来控制,进而达到可靠地提升机架利用率的目的。

进一步地,在机架处设置一个小于机架功耗峰值的powercapping值,当机架总功耗达到powercapping之后,服务器节点会通过内置于服务器主板固件中的程序和机架管理节点检测实时功耗,服务器功耗接近第四预设阈值时,通过降低cpu运行频率和/内存运行频率的方式降低单个服务器功耗,进而降低机架功耗,在设置了合适的机架powercapping值后,可以保证机架功耗不超标。

本发明实施例提供的数据中心功耗调节装置,当机架总功耗接近预设阈值时,获取机架内各服务器的功耗;将各服务器按照功耗比排序,利用通用调度器根据服务器功耗比顺序依次对各服务器进行任务调度,并通过降低cpu运行频率和内存运行频率来降低机架功耗。通过上述方法调节机架功耗,在不影响数据中心稳定性的前提下,提高了供电利用率。

最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1