欢迎来到学术参考网

桌面云的智能自适应性调度研究

发布时间:2016-05-24 10:38

  在广东移动现有的桌面云基础上,针对现有云计算平台缺乏针对资源供应量的自动调整机制的问题,研究了云计算平台中基础设施资源供给的自适应性问题。主动监控不同等级用户的性能指标和系统指标,并以此为依据,提出了桌面云的智能自适应性理论,统一调度管理不同资源。根据资源需求量对云服务的资源供给进行调整,选择恰当的虚拟机组合为云服务提供足量且高利用率的资源。

 

  1 云计算简介

 

  云计算(Cloud Computing)是一种近年兴起的计算模式,与传统计算模式相比较,云计算通过共享可配置计算资源,解决以往传统计算环境中,由于硬件或问题复杂度带来的限制。云计算具有以下基本特性:按需索取、广泛的网络访问、资源池化管理和供应、快速弹性伸缩和服务度量[1]

 

  依据服务模式分类,云计算可以分为软件即服务(SaaSSoftware as a Service)、平台即服务(PaaSPlatform as a Service)和基础设施即服务(IaaSInfrastructure as a Service)SaaS通过浏览器把程序传给用户,这个模式大大减少了用户在软件授权和开发商方面的开支,同时也实现了供应商的效益最大化。Salesforce[2]是典型的SaaS应用。PaaS则通过这种形式的云计算,把开发、部署环境作为服务来提供,如Google App Engine[3]IaaS负责的是最底层的硬件支持,通过将CPU、内存、网络等计算机资源可计算化,向上层SaaSPaaS提供硬件支持。典型的例子有亚马逊的EC2[4]VMwarevSphere[5]等。本文的研究对象主要面向IaaS云。

 

  2 研究环境及相关方法

 

  2.1 广东移动桌面云

 

  2009年,广东移动通过将云计算应用到办公系统中,并且结合虚拟桌面技术,让新全球通移动信息化大厦,实现员工的高效、安全、可控的移动办公。在2010年和2011年两年的努力下,构建了桌面虚拟化架构(VDI)与应用虚拟化结合的统一桌面云。云计算的核心就是整合资源,所以随着桌面云的投入使用及用户规模的不断扩大,需要精细化整合资源,智能自动化调度管理资源,从而来构建高鲁棒性的桌面云,来提高桌面云的ROI投资收益率。

 

  2.2 云计算平台的规模自适应性研究

 

  私有云的主要目的之一是在云中设备及数据具有完全所有及控制权并满足日常运作需求的前提下,降低能源及维护成本,提高系统整体可靠性,为硬件平台的平滑升级提供支持。基于以上目的,私有云通常配备有足够的硬件资源以保证高峰时期的资源供应。同时,私有云内部运行的虚拟机类型相对公有云比较少,资源的使用时间、数量有较强的规律性。本文所研究的云计算平台的规模自适应性问题即在此环境下,建立适合的模型。通过对业务需求的资源量进行预测及必要的修正,自动调度虚拟机,以保证资源供给,支持应用的正常运行,合理分配资源,提高物理机的资源使用率,降低能耗。

 

  云计算平台的规模自适应性可以分解为向上扩展性(Scale-out)、向下扩展性(Scale-down)和规模的自适应性(Adaptive)三类。向上扩展性主要指伴随着计算资源需求的增长,平台自身的资源扩展性。向下扩展性则是平台满足节约成本的资源供给。规模的自适应性则是满足用户需求变化的资源供给。

 

  3 系统设计

 

  3.1 整体设计

 

  不同等级的用户有相应规定的资源使用标准,但用户有时有些特别繁重的业务需要处理,需要临时调大所需资源。通常的做法是用户提出申请,管理员经过故障排查,当发现由非系统故障引起时,调整用户虚拟机资源,交付用户使用资源。用户使用完后,管理员恢复用户原有标准的资源,整个业务过程比较繁琐,时间较长。

 

  桌面云智能自动优化管理模型通过统一状态监控,主动发现用户的资源使用情况以及接近90%使用率等临界状态,并且相应系统资源有足够的富裕资源。自动化运维模块自动调度统一资源管理模块,动态调整用户资源,调整过程对用户透明,满足用户的弹性需求。当统一状态监控发现用户资源已经释放,自动化运维模块自动调度统一资源管理模块,动态调整用户资源恢复到原有标准。这种主动智能动态资源调整可以及时满足用户的弹性需求,提升用户的使用体验。

 

  主机资源占用率在80%90%是合理经济的状态,主机资源占用率太低除了白白浪费资源外主机还要耗电,所以在满足用户需求的情况下,要精细计算所需资源,并自动将空闲资源进行整合,实现ROI投资收益率最大化。

 

  3.2 系统架构

 

  以自动化运维平台为核心,通过统一监控平台主动监控用户状态和系统状态,智能统一地调度资源。系统架构如图1所示:

 

  3.3 主要技术方案及关键技术

 

  以自动化运维平台为核心,通过统一监控平台主动监控用户状态和系统状态,智能统一地进行调度管理。本文的模型主要包括三个部分,统一状态监控、自动化运维和统一资源调度。具体如下:

 

  (1)统一状态监控

 

  建立云性能指标基线,包括用户状态性能指标基线和系统状态性能指标基线。这里的难点在于,桌面云平台具有多平台和多用户特点。所以,选择了具有跨平台和稳定性兼具的Nagios监控方案。通过Nagios服务器和用户虚拟机探针,在用户虚拟机上收集行为数据集。并且,通过Web前端进行基线展示和优化的自动部署。具体如下:

 

  用户状态监控:侧重在用户使用体验监控。根据不同用户等级建立用户状态的性能指标基线,包括VDI和应用发布2个部分。

 

  1)用户信息:用户名、登录时间、使用时间、当前状态;

 

  2)用户虚机的性能:总体CPU、内存、磁盘I/O、网络流量;

 

  3)用户虚机运行的应用性能:应用CPU、内存。

 

  系统状态监控:统一监控不同平台和系统的状态,建立系统状态的性能指标。

 

  1)VMware等虚拟化平台性能监控:CPU、内存、存储、网络;

 

  2)Windows等应用服务器性能监控:CPU、内存、磁盘I/O、网络。

 

  关键技术:采用数据库建立性能指标基线,使用虚机性能监控技术、虚拟化平台性能监控和Windows应用服务器性能监控技术。

 

  (2)自动化运维

 

  建立触发条件(阀值),整合各种不同平台和系统的接口。定时检测用户虚拟机状态,并且根据预设条件触发自动化运维流程,统一调度不同资源,智能恢复可用资源。

 

  1)建立不同等级用户的资源调度模式和要求(迁移、中止会话、关机等);

 

  2)流程模型;

 桌面云的智能自适应性

  3)整合各种不同平台和系统的接口;

 

  4)智能连接可用桌面;

 

  5)统一管理混合虚拟化平台。

 

  对于智能连接可用桌面,其技术难点在于,如何让SUNRAY瘦终端在VMware VC不可用或ESX服务器不可用情况下,自动智能地连接到其他可用的桌面。探索和研究结果如下:

 

  1)VMware VC不可用(VCDB故障)

 

  正常模式下,VDI通过VMware VC获得用户虚机的信息(包括虚机状态、IP),然后SUNRAY瘦终端通过该信息连接虚机。如果VMware VC不可用,VDI无法获得虚机信息,SUNRAY瘦终端无法连接虚机。研究建立用户虚机IP信息库,让SUNRAY瘦终端自动直接连接用户的虚机IP

 

  2)ESX服务器不可用(服务器硬件或系统故障,机笼交换机故障等导致大量虚机不可用),研究让SUNRAY瘦终端自动连接应急虚机池的虚机或其他Windwos终端服务器。

 

  通过采用多种虚拟化平台,包括VMwareHyper-V

 

  Oracle VirtualBoxCitrix Xenserver等,统一管理,提高整体高可用性并形成差异化虚机平台,满足各种用户的需求。

 

  关键技术:使用流程管理产品,建立运维模型,统一接口。

 

  (3)统一资源调度

 

  整合各种不同资源的接口,实现在用户使用过程中动态进行资源调整,尽量对用户透明无影响。同时,在实际部署的过程中加入了虚拟机优先级,用以区分用户群体,实现了对用户虚拟机的自动精细化管理。

 

  1)虚机资源动态调整;

 

  2)虚机动态迁移(主机迁移、存储迁移);

 

  3)用户会话资源动态调整;

 

  4)灾难恢复。

 

  关键技术:使用虚拟化平台管理工具和Windows终端会话管理功能。

 

  4 核心算法

 

  本研究的核心算法是云计算平台的规模自适应性方法。

 

  4.1 符号表

 

  算法符号定义表如表1所示。

 

  4.2 最大并发请求数预测

 

  虚拟机的应用,根据用户的行为习惯,每天都具有一定的规律性。如开发团队的群体,因为经常要测试程序,需要长时间占用大量内存。而与之相比,销售团队的虚拟机使用,一般集中在上班时间,并且一般为办公软件。最大并发请求数预测则是根据这些用户的历史行为习惯记录,对接下来的一段时间内,用户虚拟机的最大并发请求做出预测。然后,根据预测结果对虚拟机进行资源的调度分配。本文采用一种基于历史最大并发数的预测方法对即将到来时刻的最大并发数进行预测。

 

  首先,本文的模型应用于大部分长期运行的基础设施,所以能够提供足够多的历史数据。同时这种基础设施性也决定了算法具有通用性。其次,本文通过时间序列预测算法,对下一个单位时间段的最大并发数进行短期趋势预测。所以,本文采用二次移动平均法作为预测下阶段时间的资源需求的预测算法。二次移动平均法如公式(1)所示[7]

 

  为应对实际生产环境中可能产生的故障及保证桌面云的高性能运转,最理想的取时长度为15分钟,从每个小时的第0分钟开始至第15分钟、第16分钟开始至第30分钟,如此类推。本文的算法使用了上一个月的历史数据,考虑到生产环境中季度业务更替等情况,因此具有其合理性。当应用到别的生产环境时,可适当进行调整。详细的数据记录及分时段整理由云平台接口完成,此处省略。

 

  4.3 预测修正

 

  本文的算法根据聚类的结果,预测出每个类别的最大并发请求数。为了保证桌面云系统的有序高效运行。本文的模型根据当前的预测值,对当前的配置进行更改,并且在下一个时间段对预测值和实际值进行校检。通过不断计算误差,可以得到预测的偏差值。然后根据偏差值,对下一次的预测做出修正。这里的偏差值是指经本节预测修正后的预测值与实际值相比的不足量与实际值之比,这是对模型的优化补充。

 

  4.4 虚拟机选择

 

  本节将描述算法所构建的虚拟机调度方案。本文定义应用的最大并发请求req与所需资源rc间存在函数关系freq-rc,如公式(3)所示:

 

  可以把实际的调度方案分为两类:一类是开启某类型的虚拟机,另外一类是关闭某类型的虚拟机。根据公式(3),可以通过freq-rc将给定的并发请求数转化为资源需求,对于此资源需求,云系统需适当调度虚拟机以适应之。当给定的资源不足时,开启某类型的虚拟机;反之当给定的资源过多时,关闭某类型的虚拟机,从而达到节省资源和适应用户弹性需求的目的。通过聚类算法,闲置资源和虚拟机的资源差异甲醛向量模长为聚类距离。本文扩展了向量模型,引入了不同维度的权值:

 

  调度流程具体如下:

 

  首先预测修正算法得出的最大并发请求数预测值及最大并发请求数与所需资源存在函数关系freq-rc作为输入。然后根据模型计算出所需的资源量以及虚拟机之间能够提供的资源量及其预测间的偏差。本文的算法通过不断地寻找最小模场确定候选虚拟机,并且对其进行资源需求校检。直到当前的资源满足预测值,算法才会停止。同时,当所有的虚拟机都进行了校检或无法找到候选虚拟机时,算法也将停止。

 

  5 结束语

 

  本文从广东移动的实际需求出发,进行合理的数据建模。将团队自主研发的云计算平台相关技术导入并完成有针对性的设计。通过科研实验和实际数据挖掘,获取平台调优的参数。实现了统一状态监控、自动化运维及云资源的统一调度。本项目提高了运维的自动化能力,减少了日常维护工作及处理工单数量,集群总体资源利用率提升了20%,节省资源30%。在实际部署的过程中,在自动化运维中加入了虚拟机优先级,用以区分用户群体,实现了对用户虚拟机的自动精细化管理。

 

  作者:匡华 谭丽丽 李梓萌 陈艳 来源:移动通信 20168

上一篇:锅炉智能化控制的意义与相关技术探讨

下一篇:用户体验的智能手机交互设计