一种低能耗计算机集群节点的高可靠性控制方法

文档序号:10690886阅读:350来源:国知局
一种低能耗计算机集群节点的高可靠性控制方法
【专利摘要】本发明公开了一种低能耗计算机集群节点的高可靠性控制方法,该方法包括下列步骤:通过对集群中的节点进行分组,在节点唤醒时对各个分组进行一定量的节点开机次数限制使其不超过一定的阀值,在节能调度时则对节点分组进行关机次数的限定使其不超过一定的阀值。相对于传统的无限制调度算法,本发明能够有效地降低系统总的开关机次数。同时,将开关机次数尽可能均匀地分布到各个节点组中,避免了由于开关机次数集中在少数几个节点带来的部分节点的提前失效。从而,在降低集群系统能耗的同时,在一定程度上提高了系统的可靠性。另外,由于组内节点的开关机次数可以互借,又具有一定的灵活性,可以最大限度地降低系统的能耗。
【专利说明】
一种低能耗计算机集群节点的高可靠性控制方法
技术领域
[0001]本发明涉及了一种低能耗计算机集群节点的高可靠性控制方法,本发明的要求保护的技术方案所属领域为计算机集群系统领域。
【背景技术】
[0002]过去,人们通常将功耗和能耗作为手持设备和移动设备等嵌入式设备的关键考虑因素。因为这些设备通常通过电池来供电,而没有连接到公共电网中。另外,能耗也决定了这些设备的使用时间。比如移动设备等,所以有很多面向这些设备的低功耗和低能耗的设计。然而,现在的许多大规模计算机集群系统中,能耗的花费成为越来越重要的成本开销,功率和能量的管理对于服务器集群来说也是至关重要的,大规模集群系统的节能已经成为一个非常重要的技术领域。针对集群系统的能耗优化方法主要有两个,一个是在满足当前负载任务性能的情况下,尽可能保持最少的工作节点个数,同时将其余的空闲节点关闭或者休眠。另外一个方法就是统计各个节点的性能特征,发挥各个节点最大的计算能力,避免能量消耗在功耗比较大的节点部件上面。集群层次能耗优化的目的在于通过限制能耗总额和负载迀移来保证节点的能耗优化,确保整个集群在能耗受限的情况下达到能效最优。
[0003]在以往的大规模集群系统节能领域里,在应用层进行节能是当前研究的热点方向之一。这是因为底层能耗的优化都依赖于对应用程序的能耗情况进行准确估计,而大多数运行逻辑和数据只能通过上层的应用程序获得。所以,大多数的节能方法是通过根据外部负载请求的轻重来进行节点的关闭和唤醒,从而根据负载的实际情况来提供对应的资源服务,以避免提供过多的资源所带来的资源浪费。但是这种根据外部负载的情况自适应的调整工作节点数目和待机节点数目的方法,必然要涉及到集群节点在两种不同的工作状态之间的转换,即休眠节点通过唤醒进入工作状态,和处于工作状态的节点通过待机命令,进入待机状态。
[0004]但是对节点频繁的进行开机和关机将严重缩短节点寿命。设想一个场景,对于一个几千个节点的数据中心来说,考虑到外部负载具有周期性,如果某个节点一天的开关机次数为100次,则根据节点寿命和开关机次数之间关系,节点内部的磁盘部件的寿命最短可能仅为200天。对于一个大规模的集群系统来说,这意味着巨大的硬件成本更新开销。现在的集群系统节能调度方法都没有考虑开机或关机对节点可靠性的影响,只是单单从节能的角度思考,没有从节点可靠性的角度出发来降低成本。
[0005]所以针对上述场景遇到的问题,目前亟待需要一个改进的方法来解决集群系统节能调度下节点的可靠性问题。

【发明内容】

[0006]本发明的主要目的在于提供一种在集群系统中节能时保证节点高可靠性的控制方法,该方法以保证节点可靠性为主线,在节能调度时将记录各个节点的关机次数或者在节点唤醒时记录各个节点的开机次数,通过设计的算法对各个节点的开关机次数进行一些限制,有效地保证了各个节点的可靠性。
[0007]本发明的目的通过下述技术方案实现:
[0008]一种低能耗计算机集群节点的高可靠性控制方法,所述应用于节能环境下的高可靠性控制方法包括:
[0009]计算机集群系统中的前端机运行后台模块,所述后台模块包括负载均衡模块和节点唤醒模块、基于节点分组的关闭次数限制的节能调度模块;
[0010]计算机集群系统中的前端机接收到客户端的请求,所述负载均衡模块根据前端机中的待处理请求的队列长度,检测当前的后台服务节点数目是否满足需求,如果当前的工作节点数目小于需求数,则转入所述节点唤醒模块进行基于节点分组的开机次数限制的唤醒算法唤醒部分节点;如果当前工作的后台服务节点数目大于等于需求数,则转入所述节点调度模块进行基于节点分组的关闭次数限制的调度算法关闭部分节点。
[0011 ]进一步地,所述基于节点分组的开机次数限制的唤醒算法具体如下:
[0012]将各个后台服务节点进行分组,其中分组的大小由用户自行设定,在进行后台服务节点唤醒时,先查看后台服务节点所在的分组的开机次数是否小于设置的阈值,接着检查后台服务节点的状态是否是待机状态,如果上述二个条件都满足,则进行后台服务节点的唤醒操作,待后台服务节点启动完毕,将其加入工作节点集;否则,终止唤醒操作。
[0013]进一步地,所述基于节点分组的关闭次数限制的调度算法具体如下:
[0014]将各个后台服务节点进行分组,其中分组的大小由用户自行设定,在进行后台服务节点关闭时,先查看后台服务节点所在的分组的关机次数是否小于阈值,接着检查后台服务节点的状态是否是开机状态,如果上述二个条件都满足,则进行后台服务节点的关闭操作,否则,终止关闭操作。
[0015]进一步地,所述节点调度模块具体工作过程如下:
[0016]先选择源节点,再选择与之匹配的目标节点,然后将源节点上的负载迀移至目标节点上,最后,根据所述基于节点分组的关闭次数限制的调度算法对源节点进行调度,决定是否休眠源节点。
[0017]进一步地,根据活跃节点的负载值以及活跃节点的关闭次数集合,选取待迀移的源节点。
[0018]进一步地,所述节点调度模块在进行集群节能调度时,所述计算机集群系统会实时监测当前的服务质量来动态调整分组大小和关机次数阈值,若存在某个请求的延迟时间超过当前设定的延迟阈值,则将分组大小减半,延迟阈值减I,否则将分组大小加倍,延迟阈值加I。
[0019]进一步地,所述负载迀移采用基于TCP的迀移技术,各个后台服务节点上都运行一个守护进程用来复制和缓存客户端在连接建立过程中发送的报文,在获知迀移的目标节点后,源节点通过IP隧道,将本机上的报文封装后发送给目标节点,目标节点根据IP隧道协议解开封装,报文被TCP迀移系统的内核获取并提取出报文,然后与目标节点进行三次握手。
[0020]进一步地,当后台服务节点要进行关闭时,将所述后台服务节点置于ACPI等级的第3级别。
[0021]在负载迀移完成之后,要节省被迀移的负载的节点能耗需要将源节点进行关闭(广义上,关闭操作也可以等同理解为休眠操作),与前面节点唤醒放在一起,后台服务节点的休眠和唤醒使计算机集群系统的服务节点必须具备远程休眠和远程唤醒节点的能力,当后台服务节点要进行关闭时,将后台服务节点置于ACPI (高级配置和电源管理接口,Advanced Configurat1n and Power Management Interface)等级的第3级别,在此状态下,计算机集群系统将所有的工作状态的程序和数据都保存在内存里面,除了对内存等必须设备供电外,将其余设备全部关闭。此状态下的功耗一般几瓦左右,同时此状态的唤醒时间比关闭时的唤醒时间短很多,计算机集群系统接着处理下一个用户端请求,如此循环不断。
[0022]进一步地,所述负载均衡模块负责监测各个服务节点的负载,维护一个记录各个节点负载的数据结构,根据数据结构中活跃节点表和各个节点表项的连接数将当前客户端的请求分发至合适的后端服务节点。
[0023]本发明相对于现有技术具有以下优点:
[0024](I)本发明采用基于分组的节点可靠性保证方法,组内保证节点开启和待机次数的灵活性,组间能保证节点的可靠性。
[0025](2)本发明将负载均衡和节能调度分离,可扩展性较强,具有较高的推广价值。
[0026](3)本发明根据服务质量自适应的调整分组大小和待机次数阈值,使节能,服务质量,可靠性得到有效的平衡。
【附图说明】
[0027]图1为本发明的计算机集群系统的整体架构图;
[0028]图2为本发明公开的一种低能耗计算机集群节点的高可靠性控制方法的流程图。
【具体实施方式】
[0029]下面结合实施例子及附图,对本发明作进一步详细说明,但本发明的实施方式不限于此。
[0030]实施例
[0031]计算机集群系统整体架构图如图1所示。整体工作流程图如图2所示。主要通过下述方案来进行实现:包括负载均衡模块,基于分组的唤醒次数限制的唤醒模块,基于分组的待机次数限制节能调度模块。其核心思想在于,通过对集群中的节点进行分组,在节点唤醒时对各个分组进行一定量的开机次数限制,在节能调度时对节点分组进行关机次数的限定。相对于无限制算法,能够有效地降低系统总的开关机次数,从而保证系统的可靠性。同时,将开关机次数尽可能均匀地分布到各个节点组中,避免了由于开关机次数集中在少数几个节点带来的部分节点提前失效。
[0032]工作流程如下所示:
[0033](I)集群系统中的前端机接收到客户端的请求,前端机中的负载均衡模块则根据选定的负载均衡算法将负载分发到相应的后台各节点。负载均衡模块能够监测各个服务节点的负载,维护一个记录各个节点负载的数据结构。它将客户请求根据一定的负载均衡算法分发到各个节点上。
[0034](2)根据前端机中的待处理请求的队列长度,维护与之匹配的工作节点数目,检测当前的节点数目是否满足需求,如果当前的工作节点数目小于需求数,则进行基于开机次数限制的唤醒算法唤醒部分节点,如果当前的工作节点数目大于等于需求数,则进行下一步,即节点调度模块。
[0035](3)在进行基于开机次数限制的唤醒时,将各个节点进行分组,其中分组的大小可以用户自己设定,在进行节点的唤醒时,先查看节点所在的分组的开机次数是否小于阈值,接着检查节点的状态是否是待机状态。如果二个条件都满足,则进行节点的唤醒操作。
[0036](4)节点调度模块根据节能调度算法将负载尽可地集中于少数节点,以提高资源利用率同时节省能耗。先选择源节点,再选择与之匹配的目标节点,然后将源节点上的负载迀移至目标节点上。最后进行源节点的关闭,但是在进行源节点的关闭时,要根据基于节点分组的关机次数限制的算法进行调度。具体过程如下,先将节点进行分组,分组大小可以用户自己设定,记录各个分组的当前关机次数,再进行待机操作前要检查源节点的关机次数是否小于设置的阈值。并且查看源节点是否处于工作状态,因之前的源节点选取时节点状态已处于工作状态,所以只要保证分组的关机次数满足条件即可进行待机操作。
[0037]在大规模可扩展的Web服务系统中,服务后端大多采用基于集群的架构,而在这种集群系统中,一般存在一个或少数几个前端机,另外还有更多的服务节点。其中前端机用于管理和监控这些服务节点,而服务节点直接与用户打交道(如图1所示)。
[0038]前端机中的负载均衡模块启动运行,负载均衡模块根据它的活跃节点表和各个节点表项的连接数将当前请求的分发至合适的服务节点。当前端机选定了服务该请求的后端节点后,后端节点与该客户端建立TCP连接,用户直接在该TCP连接上传输http请求和相关数据,无须前端机的干预,这样充分减少了前端机的服务压力,不会使前端机成为系统的瓶颈。
[0039]前端机通过查看当前的活跃节点负载值来判断系统是否处于满载状态,如果是,则需进行基于分组的开机次数唤醒算法。进行分组的开机次数唤醒时,查看节点所在分组的开机次数是否超过阈值,如果有,则为了保证分组的可靠性不进行节点唤醒,否则,唤醒节点,等待节点开启完毕。节点的唤醒采用的是远程网卡唤醒技术,系统发送特殊的唤醒帧到网卡,网卡收到唤醒帧后给主板上电,然后启动节点。
[0040]若上述两步完成,则进行基于分组的关闭次数限制的集群节能调度,在进行集群节能调度时,系统会根据当前的服务质量来动态调整分组大小和关机次数阈值,若存在某个请求的延迟时间超过当前设定的延迟阈值,则将分组大小减半,延迟阈值减I,这样能避免过度关机,保证服务质量,否则将分组大小加倍,延迟阈值加1,这样能在保证服务质量的基础上充分节能。前端机的节能调度模块将根据活跃节点的负载值以及活跃节点的关闭次数集合选取源节点,源节点既要在在负载上满足条件,又要其所在分组的关机次数符合限制的阈值条件。源节点选取成功后,接着需要寻找与之匹配的目标节点。如果这两个动作都成功,则将源节点上的负载迀移至目标节点。在负载迀移完成之后,为了节省被迀移的负载的节点能耗,需要将源节点进行休眠。总之,系统根据外部负载的高低将节点进行唤醒或休目民,使系统维护一个动态工作节点集合,使节能,服务质量,节点可靠性得到有效统一。
[0041]上述实施例子为本发明较佳的实施方式,尽管已针对本发明进行了详细的说明和描述,但并不限制本发明的范围。任何不脱离本发明方案的精神和原理的修改或等同方案,均应涵盖在本发明的权利要求范围当中。
【主权项】
1.一种低能耗计算机集群节点的高可靠性控制方法,其特征在于,所述控制方法包括: 计算机集群系统中的前端机运行后台模块,所述后台模块包括负载均衡模块和节点唤醒模块、基于节点分组的关闭次数限制的节能调度模块; 计算机集群系统中的前端机接收到客户端的请求,所述负载均衡模块根据前端机中的待处理请求的队列长度,检测当前的后台服务节点数目是否满足需求,如果当前的工作节点数目小于需求数,则转入所述节点唤醒模块进行基于节点分组的开机次数限制的唤醒算法唤醒部分节点;如果当前工作的后台服务节点数目大于等于需求数,则转入所述节点调度模块进行基于节点分组的关闭次数限制的调度算法关闭部分节点。2.根据权利要求1所述的一种低能耗计算机集群节点的高可靠性控制方法,其特征在于, 所述基于节点分组的开机次数限制的唤醒算法具体如下: 将各个后台服务节点进行分组,其中分组的大小由用户自行设定,在进行后台服务节点唤醒时,先查看后台服务节点所在的分组的开机次数是否小于设置的阈值,接着检查后台服务节点的状态是否是待机状态,如果上述二个条件都满足,则进行后台服务节点的唤醒操作,待后台服务节点启动完毕,将其加入工作节点集;否则,终止唤醒操作。3.根据权利要求1所述的一种低能耗计算机集群节点的高可靠性控制方法,其特征在于, 所述基于节点分组的关闭次数限制的调度算法具体如下: 将各个后台服务节点进行分组,其中分组的大小由用户自行设定,在进行后台服务节点关闭时,先查看后台服务节点所在的分组的关机次数是否小于阈值,接着检查后台服务节点的状态是否是开机状态,如果上述二个条件都满足,则进行后台服务节点的关闭操作,否则,终止关闭操作。4.根据权利要求3所述的一种低能耗计算机集群节点的高可靠性控制方法,其特征在于, 所述节点调度模块具体工作过程如下: 先选择源节点,再选择与之匹配的目标节点,然后将源节点上的负载迀移至目标节点上,最后,根据所述基于节点分组的关闭次数限制的调度算法对源节点进行调度,决定是否休眠源节点。5.根据权利要求4所述的一种低能耗计算机集群节点的高可靠性控制方法,其特征在于, 根据活跃节点的负载值以及活跃节点的关闭次数集合,选取待迀移的源节点。6.根据权利要求4所述的一种低能耗计算机集群节点的高可靠性控制方法,其特征在于, 所述节点调度模块在进行集群节能调度时,所述计算机集群系统会实时监测当前的服务质量来动态调整分组大小和关机次数阈值,若存在某个请求的延迟时间超过当前设定的延迟阈值,则将分组大小减半,延迟阈值减I,否则将分组大小加倍,延迟阈值加I。7.根据权利要求4所述的一种低能耗计算机集群节点的高可靠性控制方法,其特征在于, 所述负载迀移采用基于TCP的迀移技术,各个后台服务节点上都运行一个守护进程用来复制和缓存客户端在连接建立过程中发送的报文,在获知迀移的目标节点后,源节点通过IP隧道,将本机上的报文封装后发送给目标节点,目标节点根据IP隧道协议解开封装,报文被TCP迀移系统的内核获取并提取出报文,然后与目标节点进行三次握手。8.根据权利要求4所述的一种低能耗计算机集群节点的高可靠性控制方法,其特征在于, 当后台服务节点要进行关闭时,将所述后台服务节点置于ACPI等级的第3级别。9.根据权利要求1所述的一种低能耗计算机集群节点的高可靠性控制方法,其特征在于, 所述负载均衡模块负责监测各个后台服务节点的负载,维护一个记录各个后台服务节点负载的数据结构,根据数据结构中活跃节点表和各个节点表项的连接数将当前客户端的请求分发至合适的后端服务节点。
【文档编号】H04L12/24GK106059835SQ201610605245
【公开日】2016年10月26日
【申请日】2016年7月28日
【发明人】张涛
【申请人】北京神狐时代通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1