企业应用系统占用资源管理策略研究
针对电网系统的私有云的计算平台的特点,当内部用户程序申请使用公共资源池时候,为提高资源池的计算效率,降低用户的使用时间成本,提出基于平均概率的资源负载均衡调度算法,该算法通过计算,对用户的程序块分配恰当的虚拟机,降低虚拟机的排队队列。通过仿真计算,该算法具有良好的效果。
【关键词】云计算 虚拟机 资源管理
南方电网公司在“十二五”规划中提出“绿色IT”的信息化建设理念,并重点从资源整合、推广虚拟化技术等方面提高资源的利用率,遵从低碳经济、节能减排的新的信息化建设模式,实现“优化信息系统运行环境,提高软硬件资源的效能”绿色数据中心建设策略。从虚拟化迈向云计算,通过云计算实现跨系统的资源动态调整是一个渐进的、系统的过程,云计算是系统虚拟化和按需服务的最高境界。
云计算的优点是:硬件成本低、计算能力强以及存储容量大,用户以低成本投入在较短时间内获得极高的计算性能,无需专门投资购买昂贵的硬件设备,进行频繁的保养与软硬件升级,节省人力资源和软硬件成本。其中,资源分配是云计算技术的关键技术,指通过互联网,将计算资源和存储资源按需分配给外部用户,资源分配的效率非常重要,对云计算平台的系统综合性能影响很大。
资源分配的算法研究自计算机诞生起,就是一个研究的重要领域,但针对计算机内部的操作系统的资源分配和早期网路环境的资源分配的相关技术无法满足当前云计算环境的需要,因此,许多研究人员提出针对云计算环境的资源分配算法。
针对云计算环境中的资源调度方法,不同的学者提出了各自的策略.如芝加哥大学的Sotomayo,以openBebula为平台,构建虚拟资源租约管理器,虚拟资源按照不同的方式以租约的形式提供给用户。学者Kong等提出了一种在虚拟化的数据中心中基于模糊预测的有效的任务调度方法,该方法以时间和可靠性为目标,建立了以模糊规则为预测的模型,并提出了基于模糊规则预测的调度算法。Iyer研究大量的虚拟资源间的竞争关系,对虚拟机间由于竞争关系可能带来的性能下降进行分析,并以此为基础提出预测虚拟资源竞争状态的模型。Song等人则提出了一种在虚拟化的数据中心中以多层调度器为核心的调度模型。从这些研究中可以看出,资源调度是云计算中的核心研究课题。
在管理方面,云计算的管理可以分为三层:用户层,机制层和检测层。机制层主要负责各种管理云的机制,包括运维管理,资源管理,安全管理等。其中资源管理是机制层的核心,其主要负责资源的部署和调度,接受来自云计算用户的资源请求,并且把特定的资源分配给资源请求者,合理地调度相应的资源,使得任务得以执行。资源管理包含资源模型,资源发现,调度组织,调度策略等,其中调度策略是资源管理的关键所在。
云计算环境中的资源是动态异构的,在对大规模任务进行资源调度时,应该要尽量提高系统的吞吐量和最优跨度同时考虑资源的安全、负载均衡等问题。资源调度是个NP问题,各种启发式算法都可以用于资源调度的任务分配问题。
1 调度模型
其中App表示应用程序(在这里表示平台软件业务单元,用PSU表示),VM表示虚拟机,Host表示实际主机。用户不必了解应用程序在哪台物理主机上执行,只需提交到虚拟机资源上执行,物理主机可以拥有一个或多个虚拟机名称,换而言之,每台物理主机可以被划分成一个或多台虚拟机; 同时,虚拟机也可以指向一台或多台物理主机。
这里对每个PSU的调度进行描述:
如图1,假设云计算环境下某时刻ti有m个应用{p1,p2..,pm}在虚拟机上运行,虚拟机有{VM1, VM2,...,VMn},Host有{H1,H2,..,Hk}台。
考虑一种情况,每个虚拟机都有多个任务在排队等待运行,而每个任务只有运行完毕才能进行下一个任务,但每个虚拟机的性能不等,这是因为整个云环境中,每个物理主机的体系结构、软硬件执行速度、容量和吞吐量等性能可能不同。同时,网络传输速度与理想情况不一致,因此,对物理主机完成执行的结束时间的计算将会非常困难,因此,在云计算中,把任务分配给效率最高、排队队列最少的虚拟机将会极大地提高整体的性能。
定义 每个PSU执行条件由CPU性能,内存,带宽构成。
定义 满载率FL:设在VMi上等待运行的PSU数目是wi,则满载率FL定义为
其中,E(W) 为方差。显然,FL越小,则调度越趋于平衡。
设t时刻的满载率为FLt,当有一个PSU申请加入,则可以赋予的虚拟机为{VM1, VM2,..,VMn},当指定PSU给某个VMi,1≤i≤n后,满载率为为FLt+1。
在满载率的基础上,我们得到平均概率的资源负载均衡调度算法如下:
该算法的时间复杂度是0(n3)。
该算法的思想是,当任务(PSU)少于虚拟机时,随机分配一台虚拟机运行每个PSU;当任务(PSU)多于虚拟机时,必然导致每个虚拟机的等待队列相应变长,理想状态是等待队列都一样长度,然而,有的虚拟机关联到的物理主机性能较好,所以等待队列收缩较快,新来的任务(PSU)按算法自动分配给该虚拟机的队列。有以下几种情况:
情况1:虚拟机足够多,同时所关联的物理机器性能极佳,每个任务来后,很快被消化,这是排队的队列长度为0,这种理想的情况下,任何算法都看不出优势;
情况2:虚拟机性能不足,很多任务排队等待虚拟机运行处理,此时,任务到来时,分给哪一个虚拟机是很有讲究的,如果分配最优,则排队的队列长度相差不大,而且,最后的总时间是较少的。
下面通过试验验证情况2。
2 实验仿真
这里在南网电网公司基于云计算技术的基础设施试点建设项目中,使用Cloudsim实现基于平均概率的资源负载均衡调度算法的调度算法,并在相同的模拟环境下与Cloudsim推荐的调度算法进行了比较。
试验过程:在一定时间内随机产生PSU单元,每个PSU运行单元执行周期是0.5秒,PSU执行单元的基本条件是CPU运行主频在0.20~0.6GHZ之间,内存在0.2~1.0GB之间,网络带宽要求在1.0~2.0MB/s之间。随机产生PSU 6秒后,各个虚拟机的等待队列状态见图2。由于此时的虚拟机尚未完成所执行的PSU,各个队列中有累积的PSU,但从队列的长度可以看出各个虚拟机的性能,如果各个虚拟机的性能是相等的,在一个随机时间后,各排队的队列几乎平均,因此由于性能有差异,导致队列分布不均匀。实验关注的是队列的排队情况以及整个云计算执行任务的效率。
可以看到,由于算法1对PSU的导向作用,编号为3,4的虚拟机的运行性能较好,该时刻排队队列最短。在第6s至10s之间,放慢随机任务的产生速度,之后,观察排队队列情况,排队队列数目见图3。由于是平均到达,如果不考虑算法的分配情况下,每个队列可获得的任务数应该是平均相等的,但由于算法的干预,性能佳的机器获得更多的任务,如果在其中,停止供应相应的PSU,则性能好的机器的队列消耗快,这也符合常识。
从图3可以看出,第3,4个虚拟机的运行性能依然表现较好,说明单位时间内已处理的任务的数量是最多的。
在此基础上,完成的PSU单元与Cloudsim的算法进行比较,见图4。在任务量较少时,两种算法分不出优劣,这与我们在之前所分析的情况1的结论是一致的;但随着任务数增加,平均概率的资源负载均衡调度算法进一步体现优势,具体表现在,完成全部任务数的总时间下降趋势比较明显。
模拟结果表明平均概率的资源负载均衡调度算法在任务完成的总时间上性能指标显著好于费用最优调度算法(如图4)。
3 结论
为了提高云计算系统资源的利用率以及强调“能者多劳”的观点,本文提出了一种调度算法,在试点项目中研发的南网云资源管理系统(简称为CRMS)加以实现,让性能好的虚拟机更好发挥作用,同时提高整个云计算平台的效率,不仅能满足应用程序运行的性能要求,同时也减少系统总运行时间,提高资源调度率,最终达到节能环保的要求。
作者简介
胡永华(1969-),男,云南省昆明市人。硕士学位。现为云南电网有限责任公司高级工程师,主要从事电力信息系统规划和管理工作。
周兴东(1965-),男,云南省昆明市人。硕士学位。现为云南电网有限责任公司高级工程师,主要从事电力信息系统规划和管理工作。
作者单位
云南电网有限责任公司 云南省昆明市 650000