云计算下资源调度算法的节能研究
2018-01-04滕云
滕云
摘要:随着经济的发展,技术的进步,云计算——一种全新的商业计算模型兴起了,它在不断发展过程中,其高耗能的弊端也日益显现出来。云计算指的是一种按使用量付费的模式。它可以提供给用户非常便捷的能够使用的能够满足需求的网络访问,进入到能够配置的计算资源共享池。云资源调度可以说是云计算中一个非常重要的问题,甚至可以说是它的核心内容,所以我们非常有必要针对云计算下的资源调度算法的节能手段进行研究。
关键词:云计算;资源调度算法;节能
中图分类号:TP302 文献标识码:A 文章编号:1009-3044(2018)30-0262-03
据相关资料显示,美国服务器在2005年里所消耗的总电能达到全年电能消耗量的0.6%,如果说我们将冷却设备的耗能加入其中计算的话,那么服务器所消耗的总电能达到了全年电能消耗量的1.2%,其总电费也达到了2.7亿美元,这一数额非常惊人。我们要看到这并不是美国的特殊情况,在其他国家也出现了类似的现状。计算机能够极大地提升我们的工作效率,但是在生产与经营过程中,计算机所消耗的能源过多,既加大了对环境的威胁,又增加了生产者的经济负担。云供应商能够提供给用户丰富的资源及服务,从而用户能够更方便地使用这些资源。那么为了能够满足用户需求,服务商需要对于资源进行存储和管理,从而确保资源的有效性。同时服务商能够通过收取用户缴纳的服务费获取利润。虽然很多人已经对云资源调度做了很深入的研究,但是我们应该看到目前的算法并不太适合云计算的资源调度,不够节能。造成这种现象的原因有很多,比如,网络资源调度一般只会考虑怎样将任务合理分配到网格上,使得每个资源都能够被充分分配。然而云计算每时每刻都有来自虚拟机器的申请与释放。并且计算中的任务的运行时间是它选择的资源调度计算方法来决定的,但使用时间却是用户决定的,因此它的時间无法左右虚拟机被使用的时间。资源调度的目的是为了在保障任务顺利完成的前提下尽可能缩短运行时间,从而达到节能的效果。在本文中,我们需要考虑在运行云计算的资源调度算法的时候尽可能减少计算数据的用电量,用以节约资源。
1 云计算与云资源调度
1.1 云计算的含义
人们对云计算的定义说法有很多,至少是一百种,然而到底什么才是云计算呢?云计算指的是一种按使用量付费的模式。它可以提供给用户非常便捷的能够使用的能够满足需求的网络访问,进入到能够配置的计算资源共享池.云供应商为用户提供资源以及各项服务,使用户可以在访问这些资源时能够像访问一般应用那样,同时供应商必须管理和储存资源,以保证该资源的可靠性,这样,用户只需要根据实际情况进行交付相关的费用。目前为止,很多人更接受美国国家标准技术研究院的定义即云计算指的是一种按使用量付费的模式。它可以提供给用户非常便捷的能够使用的能够满足需求的网络访问,进入到能够配置的计算资源共享池,资源包括网络,服务器,存储,应用软件以及服务。这些资源能够很快地被提供给用户,而且这个过程的管理十分简单,与供应商交互比较少。
1.2 资源调度的含义
什么是云计算下的资源调度?它主要是指高效的分配、计算、分析、研究以及运用于运营过程中。调度就是指在一定的时间内对资源进行合理的调配,依靠这些资源对任务进行高效有质的处理,从而达到最优的期望值,更好地解决所出现的问题。资源调度能够在管理城市道路交通、分配医疗设备等多个领域中发挥重要作用。在操作过程中,资源调度算法是一个调度的函数算法,它是以先前制定的策略为基础,为了使得优化目标得以实现从而制定的算法。节能的资源调度就是指在合理调配过程中,要加大对节约能耗的投入。计算中的任务的运行时间是它选择的资源调度计算方法来决定的,但是它的使用时间却是用户决定的,它的时间无法左右虚拟机被使用的时间。而且资源调度的目的是为了任务运行的时间实现节能,但它的使用时间不能够改变。因此,我们需要考虑在运行云计算的资源调度算法的时候尽可能减少计算数据的用电量,用以节约资源。
2 对云计算的优势和资源调度算法的介绍
2.1 云计算较于传统的优势
相对于传统的计算,云计算的优势在于虚拟技术。在云计算环境下,资源是抽象的虚拟的,因为用户对虚拟资源的要求有一定的差异,物理资源也是有一定的差异,所以虚拟资源如何被均衡的调度是现在一个难题。资源调度是采用一定的计算方法和策略将虚拟的资源映射到物理资源上,而且是恰如其分的映射,实际情况中,每一个虚拟资源都能够有一个带有属性的节点。比如具有内存属性或者CPU属性又或者是带宽属性。每一个物理资源也可以带有多个属性,这点与虚拟资源差不多。我们可以将物理资源的属性化为公式p(m,C,b)。虚拟资源的属性为v(m,C,b)其中,m指的是内存属性,C指的是cpu属性,b指的是带宽属性。一个云资源的调度可以是多个物理资源组成的L(pi1,pi2,pi3...pim)。用这个公式来表示虚拟资源cv1被调度到pi1上,虚拟资源cv2调度到物理资源的pi2上,以此类推。许多的研究都显示,资源调度其实就是个NP难题,如果仅仅是运用传统的算法对其求解,是很复杂的,更不要说节能了。
2.2 对资源调度过程的介绍
在云计算这一大环境背景下,资源的调度过程可以进行如下的描述,不同的任务运行在不同的虚拟机上,然后一到二台虚拟机又可以运行在同一台服务器上,没有任务的虚拟机与服务器就自动处于休眠的状态,不消耗任何能源。据此,我们可以看出,在服务器集群中加入了虚拟机,从而使得一个服务器可以承接多个任务的运行,降低了服务器的成本,同时又减少了对能源的消耗与浪费。通过查阅资料以及实际运行,找到一种能够对资源进行合理调配的方式,从而缩短任务的执行时间,降低能源的消耗是本文的主要研究目的。但是这两个目标却处于相互矛盾的位置,要想缩短任务的执行时间,就必须提高该服务器CPU的使用次数,也就是使用频率,但是这样,所消耗的能源也就越多;要想降低能源的消耗,就必须降低服务器CPU的使用率,但是这样,又会拉长任务的执行时间,二者很难达到平衡。综上所述,要想很好的解决这一问题,就必须对一组Pareto进行运算,然后找出其最优值。找出Pareto最合适的解,主要对NSGA-II算术方法进行了运用,从整体上搜索云计算的大背景下资源的调度方式,然后找出最合适的方式,在任务的执行时间不变的情况下,使得能耗得到降低,从而使得节能调度的目标得以实现与完成。
2.3 对资源调度算法的介绍
在科学技术迅速发展的当代以及经济发展的需求,服务器和任务的数量都在高速增长,同时资源调度的方式以及数量也在成倍增长,并且其前景也没有丝毫减少的趋势。云资源调度可以说是云计算中一个非常重要的问题,甚至可以说是它的核心内容,针对这种计算,很多静态资源调度的算法就已经被提出来了,甚至已经应用到实际中去。然而,有些算法并不太适合云计算的资源调度,不够节能。在这种时代背景下,改进过后的NSGA-II几乎是不可能在短时间内找到最合适的调度方式。为了能够在短时间内找到最优解,使得运算效率得以提高,以NSGA-II运算方法的精英保留策略和快速的非支配排序等运算手段为基础,然后在其中掺加了与众不同的学习机制和初始化方法。在NSGA中又加入了特殊的种群初始化的算法和新的学习机制,有利于该模型更好地解决现实中的问题。节能的资源调配必须要将节能和应用质量这两个相互制约的问题进行权衡,使二者能够处于一个平衡的状态,相互影响,相互促进。
2.4 资源调度算法的相关研究与不足
经过不断研究与探索,异构机群共同创造了一种低功耗的节能调度算法,这种算法是以经典的Min Min算法为基础,将休眠状态的控制策略运用在该机群的每一个节点中,平衡了性能与能耗二者之间的关系,但是如果唤醒该休眠机制,需要花费更多的准备时间,拉长了任务执行时间,从而使得任务的执行效率遭到了大幅度下降。GA算法的第一目标是缩短时间跨度,第二目标是减少能量消耗,经过实践,该算术方法对能源消耗予以了大幅度下降,不过其在满足QoS的需求和提高系统的性能方面还需要不断的完善。后期采用了TAlloc法,主要任务是将负载能力低的应用与设备转移到少核的陈旧的服务器,将负载能力高的应用与设备转移到核多的全新的服务器,并且使陈旧的服务器尽可能处于关闭的状态,不过在运行过程中,对应用与设备进行频繁的迁移与转换导致应用的执行效率遭到了大幅度下降。還有学者对节能的云计算框架进行了定义,并且以这一架构为基础,研究出来了以节能为目标的分配算法和资源配置。这一算术方法以降低能源消耗为目标,对设备的能耗特点和QoS进行了充分考虑,同时还将虚拟机的迁移策略融入其中。该算术方法在降低企业运营成本和提高资源的利用率与利用价值做了突出贡献,但是该算术方法只是对执行功率与能耗小的资源予以采用,长时间下去,容易造成负载的不平衡发展,不利于其持续发展。所以我们需要进一步修改算法。
2.5 对资源调度算法的改进
异构商用服务器集群共同构成了云计算的资源池,我们可以用数学中的集合来对其进行说明,A这一集合就表示服务器集群,a1,a2…就表示处在该集群的各种服务器,为各种运行任务提供资源就是服务器的任务。某一服务器在一秒内能够完成的任务数,我们可以用b表示,其中最大的数值就是该服务器的CPU的最大运算速度,服务器的性能是不同的,所以不同的CPU有着不同的最大运算速度。另外,在任务执行过程中,服务器的性能不同,它所消耗的能源也是不等值的,我们可以用C来对其进行表示。用集合D表示服务器准备执行的任务的总和,d1,d2,d3…表示总和中的任务之一,任务的大小就是指d这一任务的单位任务数值,我们可以用e来表示。完成一个任务,所需要的时间是一定的,我选择用t来对表示任务的执行时间。任务在运行过程中,服务器会为其分配一定的CPU使用率,这一数值我们用f来进行表示,f的取值范围大于等于0,小于等于1。f是服务器最大运算速度的一个比值,当f等于0时,表明该服务器没有运行该任务,当f等于1时,则表明该服务器正在以最大的速度对该任务进行运行。
3 资源调度算法创新与建议
3.1 资源调度算法的创新
为了达到提高执行效率从而增强云系统的可靠性,研究人员对数据本地性调度以及可靠性感知调度进行了研究,为了节能以及使运营成本达到最低,人们也对能源消耗资源调度做了大量的研究。怎样分配资源给工作流任务成为热点话题,只为满足用户提出的一些请求。云计算中资源调度的算法的好坏会影响整个数据的性能以及用电量。可以采取蚁群算法和预测算法相结合的云计算资源调度算法来降低用电量以达到节能的目的。结合式算法有几个创新的地方:首先我们可以利用虚拟机对其资源做预留。根据算法预测了一些数据,了解了数据中心一些负载变化,能够有效降低用电量,提高数据的性能。其次通过利用预测算法能够预测出未来一定时间内数据中心的负载情况,进而能够恰到好处的开关主机并预留资源。预测算法的最大好处就是能够提前预判下一秒数据中心的负载状况,从而使主机不必频繁开关,以做到资源预留。云计算是具有动态性和实时性的。所以改进蚁群算法是非常有必要的。当数据中心利用效率非常低的时候,蚁群算法能够将虚拟机在某一个宿主机中集合,从而提高利用效率。这种算法的好处是能够使数据中心不必因为虚拟机时常迁移而造成额外用电量的使用。
3.2 对未来研究云计算资源调度的建议
云计算的资源调度领域要想做到节能,未来对其的研究应该包括以下几个方面:第一,负载要均衡。负载均衡可以说是提高其资源调度性能的重要部分。调度过程中,必须结合这个因素才能够避免热点从而提高资源的利用效率。第二,混合云计算中的资源调度也受到了许多学者的注意。它能够决定,应用程序应该待在公共云还是私有云,并且它能够根据这些不同的云的不同特点去运行相关的应用,从而达到最有优势的整体开销,节能也会有更多的发展。第三,多目标资源调度也是一个学术界的热点话题。因为它考虑的因素越多,它的性能就会越好,开销会更低。
4 结语
本文的主要目标就是缩短任务执行时间和降低能源消耗,然后对资源进行合理调配,希望既保护了环境,又降低了运营商的经营成本,从而有助于我国经济的可持续发展。本文讨论了云计算大环境下资源调度的节能问题,并且通过对蚁群算法的研究对所讨论的问题进行了描述而且提出了未来云计算资源调度发展的路线,希望能够给云计算资源调度节能研究领域提供一些有用的建议。
参考文献:
[1] 柳兴. 移动云计算中的资源调度与节能问题研究[D]. 北京邮电大学, 2015.
[2] 石帅. 云计算环境下的虚拟机节能调度算法研究[D]. 哈尔滨工业大学, 2014.
[3] 王涛, 杨喆. 数据中心中云计算资源调度算法的浅入分析[J]. 自动化技术与应用, 2018(1):47-48.
[4] 王峰. 云计算下安全可控的移动弹性资源动态调度算法[J]. 科学技术与工程, 2018(3).
[5] 张晞. 云计算环境下改进的虚拟机资源调度算法研究[J]. 科技通报, 2018(2).
【通联编辑:代影】