(一)资源调度关键技术
云计算建立在计算机界长期的技术累计基础之上,包括软件和平台作为一种服务、虚拟化技术和大规模的数据中心技术等关键技术。数据中心(可能是分布在不同地理位置的多个系统)是容纳计算设备资源的集中之地,同时负责对计算设备的能源提供和空调维护等。数据中心可以单独建设,也可以置于其他建筑之内。动态分配管理虚拟和共享资源在新的应用环境——云计算数据中心里面临新的挑战,因为云计算应用平台可能分布广泛而且种类多样,加之用户需求的实时动态变化很难准确预测,以及需要考虑系统性能和成本等因素使得问题非常复杂。需要设计高效的云计算数据中心分配调度策略算法以适应不同的业务需求和满足不同的商业目标。目前的数据中心分配调度策略主要包括先来先服务、负载均衡、最大化利用等。提高系统性能和服务质量是数据中心的关键技术指标,然而随着数据中心规模的不断扩大,能源消耗成为日益严重和备受关注的问题,因为能源消耗对成本和环境的影响都极大。
云数据中心资源调度关键技术主要包括以下几个方面。
1.调度策略:是资源调度管理的最上层策略,需要数据中心所有者和管理者界定,主要是确定调度资源的目标,以及确定当资源不足时满足所有立即需求时的处理策略。
2.优化目标:调度中心需要确定不同的目标函数以判断调度的优劣,目前有最大化满足用户请求、最低成本、最大化利润、最大化资源利用率等优化目标函数。
3.调度算法:好的调度算法需要按照目标函数产生优化的结果,并且在极短的时间之内,同时自身不能消耗太多资源。一般来讲,调度算法基本都是NP-Hard问题,需要极大的计算量而且不能通用。业界普遍采用近似优化的调度算法并且针对不同应用调度算法不同。
4.调度系统结构:与数据中心基础架构密切相关,目前多是多级分布式体系结构。
5.数据中心资源界定及其相互制约关系:分析清楚资源以及其相互制约关系有利于调度算法综合平衡各类因素。
6.数据中心业务流量特征分析:掌握业务流量特征有助于优化调度算法。
(二)资源调度策略分类
1.性能优先
(1)先来先服务
最大限度地满足单台虚拟机的资源要求,一般采用先来先服务的策略,同时结合用户优先级。主要考虑如何最大化满足用户需求,并考虑用户优先级别(包括重要性和安全性等)。初期的IBM虚拟计算等都是如此,多用于公司或学校内部。可能没有具体的调度优化目标函数,但须说明管理员是如何分配资源的。服务器可分为普通、高吞吐量、高计算密度等类别供用户选择。
(2)负载均衡
负载均衡是指使所有服务器的平均资源利用率达到平衡,如VMware和Sim公司产品等采用了负载均衡策略。
优化目标:资源利用的平衡,即所有物理服务器(CPU、内存利用率、网络带宽等)利用率基本一致。每当有资源被分配使用时,需要计算、监控各资源目前的利用率(或者直接使用负载均衡分配算法),将用户分配到资源利用率最低的资源上。
通过软、硬件都可以实现。硬件方式通过提供负载平衡专门的设备,如多层交换机,可以在一个集群内分发数据包。通常情况下,实施、配置和维护基于硬件的解决方案需要时间和资金成本的投资。软件方式可以采用Round Robin等调度方式。
(3)提高可靠性
优化目标:使各资源的可靠性达到指定的具体要求(例如保证业务99.9%时间)。例如,Amazon 99.95%的业务可靠性承诺。
业务可靠性与服务器本身的可靠性(平均故障时间、平均维修时间等)相关,还有停机、停电、动态迁移等造成的业务中断将影响业务的可靠性。
例如一台物理服务器的可靠性是90%,用户要求的业务的可靠性是99.9%,调度需要至少双机备份。假设一次动态迁移对于业务的可靠性降低0.1%,则调度策略需要减少(或避免)动态迁移。
在一定前提下,尽量减少虚拟机迁移次数(平均迁移次数、总迁移次数、单台虚拟机最大迁移次数)。需要统计虚拟机迁移对可靠性造成的量化影响。提高可靠性的方式是备份冗余等方式,使用主备份方式时主用机与备用机不放置在同一物理机上或同一机架上。具体指标也可以由用户指出(作为需求选项由用户选择)。
2.成本优先
(1)提高整体利用率
优化目标:资源利用率最大,使所有数据中心计算资源得到最大程度的利用(或用最少的物理机满足用户需求)(www.xing528.com)
输入:当前数据中心的资源分布,用户请求(特定的虚拟机)。
输出:用户请求的虚拟机配置在数据中心的物理机编号。
定义:
物理(虚拟)服务器的利用率(或效率)=已分配CPU/已开物理机可虚拟出的CPU总数。
这一参数说明当前服务器的使用情况,由此可以排列出不同服务器效率的高低。选择虚拟机时总是按照其利用率从小到大排列。
每台虚拟机单位时间内的价格=虚拟机在单位时间的成本×(1+a)
其中:a为利用率,可由提供商控制
虚拟机单位时间内的成本可由其占用的计算资源、存储资源和网络资源的成本进行估算(取较大值)。
(2)最大化利润
优化目标:最大化利润,使用各种资源的收入(单位时间)减去使用各种资源的总成本得出利润。
考虑因素主要包括以下几点。
1)单位资源单位时间的成本(每台物理机可能不一样)=固定成本(含折旧、人力等)+变动成本(与其功耗相关),虚拟机的功耗率=虚拟机满负载的总成本/虚拟机总CPU容量。
2)每台物理机上的成本=启动成本(每次新开一台服务器的成本)+单位资源单位时间的成本×时间×资源大小。
3)单个用户请求的收入=该用户选择的虚拟机单位时间价格×使用时间,资源总收入为所有用户的收入之和。
4)每次用户使用结束后,比较迁移条件,如果满足则可以进行迁移,以减少物理服务器开机数量,减少成本。
(3)最小化运营成本
最大限度降低运营成本,减少制冷、电力、空间成本。
优化目标:最小化成本,使所有资源成本之和最小化。考虑因素主要包括以下几点。
1)单位资源单位时间的成本(每台物理机可能不一样)=固定成本(含折旧、人力等)+变动成本(与其功耗相关)。
2)虚拟机的功耗率=虚拟机满负载的总成本/虚拟机总CPU容量。
3)每台物理机上的成本=启动成本(每次新开一台服务器的成本)+单位资源单位时间的成本×时间×资源大小。
4)单个用户请求的收入=该用户选择的虚拟机单位时间价格×使用时间,资源总收入为所有用户的收入之和。
综上所述,需要考虑到公司实际的业务需求和商业目标而选取不同的调度策略。对于满足公司内部业务需求为主的应用,可以考虑最小化成本、最大化利用率和负载均衡等;对于商业应用为主的需求,可能考虑最大化利润较好。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。