发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种低能耗的面向web集群的调度系统,该调度系统使得web集群系统中的资源利用率有了较为明显的提高。
本发明的另一个目的在于利用上述系统实现一种面向web集群的低能耗调度方法。
为了达到上述第一个目的,本发明采用以下技术方案:一种面向web集群的低能耗调度系统,包括
可能量感知调度模块:以负载连接数作为敏感因子,根据敏感因子的动态变化对集群中的资源进行定制分配;
滞回控制器:用于控制web集群系统中集群节点的调度周期;
管理器:根据可能量感知调度模块发送出来的命令,对web集群系统中的集群节点做出调度;
可能量感知调度模块、滞回控制器和管理器依次连接。
为了达到上述第二个目的,本发明采用以下技术方案:一种面向web集群的低能耗调度方法,包括以下步骤:
(1)在web集群系统选中一个集群节点作为辅控节点PM1,控制该辅控节点PM1中的m个虚拟机始终处于工作状态,在负载连接数达到辅控节点PM1的负载连接数最大阈值之前,仅由辅控节点PM1处于工作状态;
(2)web集群系统中可能量感知调度模块对web集群系统的负载连接数进行监控,收集处于工作状态下的虚拟机中的负载连接数;滞回控制器控制web集群系统中集群节点的调度周期t;
(3)若可能量感知调度模块在一个调度周期t后检测到web集群系统中的负载连接数上升,则执行步骤(4);若可能量感知调度模块在一个调度周期t后检测到web集群系统中的负载连接数下降,则执行步骤(5);其中负载连接数在上升或下降前个数SC为:
负载连接数上升或下降后个数SC′为:
其中SCM为web集群系统的负载连接数最大阈值,n为web集群系统中集群节点的个数;
(4)负载连接数上升后,若j=k,则web集群系统保持不变,增加的负载连接至原工作队列的虚拟机中;若j≠k,则执行步骤(6);
(5)负载连接数在下降后,若j=k,则web集群系统保持不变,若j≠k,则执行步骤(7);
(6)扩展web集群系统中集群节点:选择j-k个处于休眠状态的集群节点,并将其唤醒,然后由管理器将辅控节点PM1中处于非工作状态下的虚拟机迁移至被唤醒的集群节点上,可能量感知调度模块修改被迁移的虚拟机的权值,使其进入到web集群系统的工作队列中,执行步骤(8);
(7)减少web集群系统中集群节点:管理器将web集群系统中当前负载连接数最少且在负载连接数上升阶段被唤醒的k-j个集群节点中的负载聚合到其他处于工作状态下的集群节点中,然后将这k-j个集群节点中原处于工作状态的虚拟机迁回至辅控节点PM1中,可能量感知调度模块修改被迁回的虚拟机的权值,使其从web集群系统的工作队列中退出,并将闲置后的集群节点转换成休眠状态,执行步骤(8);
(8)执行步骤(2)。
优选的,所述web集群系统在初始状态时,仅有辅控节点PM1处于工作状态。
优选的,所述web集群系统中每个集群节点的负载连接数最大阈值是相同的。
优选的,所述步骤(6)中,从辅控节点PM1迁移至其他集群节点的虚拟机数量均为2。
优选的,所述步骤(7)负载连接数减少时,管理器对web集群系统中离散分布的负载进行聚合时,当负载连接数少于单个集群节点的负载连接数最大阈值时,所有负载均连接至辅控节点PM1上。
优选的,所述集群节点中的虚拟机在工作状态时权值为1,在非工作状态时权值为0。
优选的,所述步骤(6)中由web集群系统内核选择j-k个处于休眠状态的集群节点,并将其唤醒,然后将可能量感知调度模块在辅控节点PM1中选定的处于休眠状态下的虚拟机的IP信息发送至管理器,管理器将这些被选定IP的虚拟机迁移到被唤醒的j-k个集群节点中;可能量感知调度模块将虚拟机的权值由0修改为1,权值被修改的虚拟机进入到web集群系统的工作队列中。
优选的,由web集群系统内核将所述步骤(7)中负载被聚合到其他集群节点的k-j个集群节点中的虚拟机的IP命令信息发送给管理器,管理器收到内核发送的包含有IP的命令信息后,将命令信息发送给包含有该IP的虚拟机的集群节点,然后将收到命令信息的集群节点中相应IP的虚拟机迁回到辅控节点PM1中,可能量感知调度模块将被迁回的虚拟机的权值从1修改为0,迁回后的虚拟机退出web集群系统的工作队列。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明通过可能量感知调度模块监控web集群系统中的负载连接数实现对系统中集群节点和虚拟机资源的合理调度,当负载连接数增加时,通过唤醒其他处于休眠状态下的集群节点,将辅控节点中处于非工作状态的虚拟机迁至来唤醒的集群节点,以满足负载访问需要,提高资源的利用率;当负载连接数减少时,管理器将web集群系统中离散分布的负载聚合到少量的集群节点中,根据负载连接数的数量所在级别,选择一个或多个在负载连接数上升阶段被唤醒的集群节点,将这些集群节点中原处于工作状态的虚拟机迁回至辅控节点中,并从web集群系统的工作队列中退出,然后将闲置后的集群节点转让成休眠状态,即当负载连接数较少时,过剩资源转入低能耗状态,降低了系统能耗。特别适合用于负载访问量存在突发性变化的系统。
(2)本发明中的滞回控制器控制web集群系统中集群节点进行调度的调度周期,即系统在一个调度周期后才进行节点分配,由于负载连接数的反复变化会使系统不稳定,而在一个调度周期后,负载的反复变化会趋于稳定,在此时再进行系统的资源就可以优化系统的反复变化,提高系统的性能。
(3)本发明仅以负载连接数作为敏感因子,系统仅通过对负载连接数的监控即可实现集群节点和虚拟机资源的调度,相对于传统的对后台集群节点的CPU、内存和网络等资源进行监控实现资源分配的方法,本发明方法操作更为简单,容易实现以及资源调度更为实时,并且系统资源调度的灵敏度也更高。
(4)本发明选定一个集群接节点作为辅控节点PM1,在本发明方法中只有辅控节点PM1中的几个虚拟机始终处于工作状态,在辅控节点PM1中负载连接数未达到其最大阈值时,控制web集群系统中其他集群节点均处于休眠状态;web集群系统在初始状态时,仅有辅控节点PM1的几个虚拟机处于工作状态,当web集群系统开启后,负载访问系统时,首先连接上的是辅控节点PM1中的虚拟机,在辅控节点PM1的负载连接数达到其上的最大阈值时,才唤醒其他的集群节点,进一步提高了资源的利用率。
实施例
如图1所示,本实施例公开了一种面向web集群的低能耗调度系统,包括
可能量感知调度模块:以负载连接数作为敏感因子,根据敏感因子的动态变化对集群中的资源进行定制分配;
滞回控制器:用于控制web集群系统中负载的波动,控制web集群系统中集群节点的调度周期;
管理器:根据可能量感知调度模块发送出来的命令,对web集群系统中的集群节点做出调度;
可能量感知调度模块、滞回控制器和管理器依次连接。
本实施例web集群系统包含有三个集群节点,web集群系统的负载连接数最大阈值为9000,每个集群节点上可以运行两个虚拟机,每个虚拟机最大的负载连接数为1500,因此每个集群节点的负载连接数最大阈值为3000,即3000为负载连接数的一个数量等级。其中集群节点中的虚拟机在工作状态时权值为1,在非工作状态时权值为0。
如图2所示,本实施例基于上述调度系统的面向web集群的低能耗调度方法如下:
(1)在web集群系统选中一个集群节点作为辅控节点PM1,控制该辅控节点PM1中的2个虚拟机VM1和VM2始终处于工作状态,其中web集群系统在初始状态时,仅有辅控节点PM1的两个虚拟机VM1和VM2处于工作状态,此时web集群系统处于最小规模。在辅控节点PM1中负载连接数未达到其负载连接数最大阈值时,控制web集群系统中其他集群节点均处于休眠状态,其中每个集群节点的负载连接数最大阈值是相同的。
(2)web集群系统中可能量感知调度模块对web集群系统的负载连接数进行监控,收集处于工作状态下虚拟机中的负载连接数,滞回控制器控制web集群系统中集群节点的调度周期t,实现对负载连接数的波动进行优化处理。本实施例系统的调度周期t为60秒;检测到本实施例web集群系统的负载连接数从SC≤3000时开始增长。
(3)可能量感知调度模块在一个调度周期t后检测到web集群系统中的负载连接数上升后数量仍为SC≤3000,此时web集群系统保持不变,增加的负载还是连接至辅控节点PM1。
Web集群系统中负载连接数在SC≤3000基础上继续的增长,可能量感知调度模块在一个调度周期t后检测到web集群系统中的负载连接数上升到数量为3000<SC≤6000,则此时web集群系统内核选择一个处于休眠状态的集群节点PM2,并将其唤醒,然后将可能量感知调度模块在辅控节点PM1中选定的处于休眠状态的虚拟机VM3和VM4的IP信息发送至管理器,管理器将这些IP的虚拟机VM3和VM4迁移到被唤醒的集群节点PM2中;可能量感知调度模块将被迁移的虚拟机VM3和VM4的权值由0改为1;使虚拟机VM3和VM4进入到web集群系统的工作队列中。
Web集群系统中负载连接数在3000<SC≤6000基础上继续的增长,可能量感知调度模块在一个调度周期t后检测到web集群系统中的负载连接数上升到数量为6000<SC≤9000,则此时web集群系统内核选择1个处于休眠状态的集群节点PM3,并将其唤醒,然后将可能量感知调度模块在辅控节点PM1中选定的处于休眠状态的虚拟机VM5和VM6的IP信息发送至管理器,管理器将这些IP的虚拟机VM5和VM6迁移到被唤醒的集群节点PM3中;可能量感知调度模块将被迁移的虚拟机VM5和VM6的权值由0改为1;使虚拟机VM3和VM4进入到web集群系统的工作队列中。
(4)web集群系统中的负载访问量在上述步骤(3)增长之后开始下降,可能量感知调度模块在一个调度周期t后检测到web集群系统中的负载连接数下降后数量仍为6000<SC≤9000,此时web集群系统保持不变。
web集群系统中的负载连接数在上述6000<SC≤9000的基础上继续下降,可能量感知调度模块在一个调度周期t后检测到web集群系统中的负载连接数下降到3000<SC≤6000,此时PM3中的负载连接数最少,管理器将在PM3中的负载聚合到PM1中和PM2中,web集群系统内核将包含有虚拟机VM5和VM6的IP命令信息发送给管理器,管理器收到内核命令信息后,再将命令信息发送给包含有虚拟机VM5和VM6的集群节点PM3,然后将收到命令信息的集群节点PM3中相应IP的虚拟机VM5和VM6迁回到辅控节点PM1中,可能量感知调度模块将被迁回的虚拟机VM5和VM6的权值由1改为0,使虚拟机VM5和VM6退出web集群系统的工作队列。
web集群系统中的负载连接数在3000<SC≤6000基础上继续下降,可能量感知调度模块在一个调度周期t后检测到web集群系统中的负载连接数下降到SC≤3000时,由管理器将在PM2的负载全部聚合到PM1中,即当负载连接数少于单个集群节点的负载连接数最大阈值时,所有负载均连接至辅控节点PM1上,web集群系统内核将包含有虚拟机VM3和VM4的IP命令信息发送给管理器,管理器收到内核命令信息后,再将命令信息发送给包含有虚拟机VM3和VM4的集群节点PM2,然后将收到命令信息的集群节点PM2中相应IP的虚拟机VM3和VM4迁回到辅控节点PM1中,可能量感知调度模块将被迁回的虚拟机VM3和VM4的权值由1改为0,迁回后的虚拟机VM3和VM4退出web集群系统的工作队列。此时web集群系统恢复到最小规模状态。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。