法律状态公告日
法律状态信息
法律状态
2017-06-09
授权
授权
2015-01-07
实质审查的生效 IPC(主分类):G06F9/50 申请日:20140819
实质审查的生效
2014-12-17
公开
公开
技术领域
本发明属于高性能计算和云计算领域,涉及一种高性能计算和云计算混合环境中的动态资源管理方法。
背景技术
目前在学术界和工业界已展开深入研究并获得广泛认可的计算模式主要有:高性能计算和云计算。高性能计算(High Performance Computing)是一种传统地并行计算模式,是计算机科学的一个重要分支。高性能计算的发展与高性能计算机技术的不断推进密不可分,一方面,高性能计算机的研制开发为高性能计算提供了强大的底层硬件工具和物质基础,而高性能计算的广泛应用也推动了高性能计算机技术自身的发展。高性能计算主要用于处理复杂的计算问题,应用在需要大规模科学计算的环境中,主要涉及天气预报、核武器研究、核材料储存仿真、石油勘探与油储模拟、生物信息技术、基因测序等。通常而言,高性能计算的应用程序一般采用并行算法,把一个大的普通问题根据一定的规则分为许多小的子问题,在集群内的不同节点上进行并行计算,从而可以缩短问题的处理时间。
另一种计算模式为云计算,云计算(Cloud Computing)是一种利用互联网实现随时随地、按需、便捷、弹性地访问共享资源池(如计算设施、存储设备、应用程序等)的计算模式,是分布式计算、互联网技术、大规模资源管理等技术的融合与发展。云计算借鉴了很多传统技术的思想,比如面向服务的体系结构(SOA),网格计算,效用计算,虚拟化技术等等。通常情况下,云计算采用计算机集群构成数据中心,并以服务的形式交付给用户,使得用户可以像使用水、电一样按需购买云计算资源。云计算的服务根据其抽象层次的不同,通常可分为平台即服务(PaaS),软件即服务(SaaS),和基础设施即服务(IaaS)。其中,平台即服务是指运营商在云端提供一种软件开发和部署的环境,对底层的OS进行了屏蔽和抽象。软件即服务是指运营商提供运行在云计算基础设施上的应用程序,用户可以在各种设备上通过诸如浏览器等客户端访问云计算应用。基础设施即服务提供给用户的服务是对云端计算设施的利用,包括处理、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和 应用程序。
云计算IaaS服务构建于大型数据中心之上,利用虚拟化技术为用户提供可定制的、可靠的、可弹性扩展的虚拟机资源。基于云计算IaaS服务,用户可按需构建虚拟机集群,并可根据上层应用工作负载的变化动态改变虚拟机集群的规模。另外,由于IaaS层可托管于云计算服务提供商,所以用户可以简化系统资源管理的复杂性,降低运维成本,提高经济效益。目前,典型的云计算IaaS服务提供商有Amazon、Rackspace等公司,它们在全球各地构建大型数据中心,并以虚拟机的形式为用户提供可伸缩的云服务。虚拟化技术是支撑云计算的基础,其主要是由虚拟机形式运行在物理机上,虚拟机是指通过软件模拟的、具有完整硬件系统功能的运行在一个完全隔离环境中的完整计算机系统。其特点主要包括:1)平台无关性。虚拟机将各类型的硬件平台抽象成统一标准,减少了硬件的支持成本并增加了IT资源的共享能力。2)灵活性。虚拟机以单个虚拟磁盘文件的形式存在,其相关操作如安装、复制、删除等极其简单。3)资源复用性。利用虚拟机可有效消除传统数据中心“一台服务器运行一个应用程序”模式下效率低下的现象。利用虚拟化技术可大幅提高处理资源和存储资源的利用率,并显著降低设备、能源和管理等方面的成本。目前云计算IaaS层被广泛研究和部署的虚拟机管理平台是Openstack,它由Rackspace和NASA共同开发的开源云计算平台,帮助服务商和企业内部实现类似于Amazon EC2和S3的云架构服务。
发明内容
技术问题:本发明提供了一种通过预测下一时刻的任务到达率,在满足用户QoS需求的前提下,动态为任务提供所需的计算资源,提高了混合环境的资源利用率,同时提高了混合环境中的云计算环境里资源利用率的高性能计算和云计算混合环境的动态资源管理方法。
技术方案:本发明的高性能计算和云计算混合环境中的动态资源管理方法,在高性能计算和云计算混合环境下,不断对到达的任务进行动态资源分配,当完成对一批任务的动态资源分配后,按照如下方法对混合环境中的云计算环境里的物理资源进行资源优化:
采集云环境里系统物理机的计算机CPU利用率、存储利用率和内存利用率,根据系统状态约束条件,建立物理机资源利用最大化优化模型,求解所述优化模型,得 到虚拟机放置方案,然后按照如下改进的虚拟机迁移方法实现云计算环境里的资源优化:
1)获取物理机列表和物理机上运行的所有虚拟机列表;
2)将所述物理机列表中的所有物理机按负载量从小到大依次排序;
3)将当前物理机上的所有虚拟机取出并按负载量从小到大依次排列,确定其中负载量最小的虚拟机,所述当前物理机在初始步骤中为负载量最小的物理机;
4)进行虚拟机迁移:即按照所述步骤3)中的排序,依次为虚拟机寻找并迁至放置的物理机,当出现一个虚拟机无法找到合适放置的物理机时,进入步骤6),否则在完成为当前物理机中所有虚拟机的迁移后,进入步骤5);
5)判断是否完成所有物理机的虚拟机迁移,如是,则进入步骤7);否则按照所述步骤2)的排序,将当前物理机的下一个物理机更新为当前物理机后返回步骤3);
6)如果当前物理机为负载量最小的物理机,则判定无法进行资源优化,结束云计算环境里的资源优化流程,否则将当前物理机之前已完成的虚拟机迁移方案作为云计算环境里的资源优化输出;
7)将所有的虚拟机迁移方案作为云计算环境里的资源优化输出。
本发明方法的优选方案中,系统状态约束条件为物理机的负载最大化,物理机的资源利用率最大,以及物理机的计算机CPU利用率、存储利用率和内存利用率不超过物理机最大容量。
本发明方法的优选方案中,动态资源分配的具体方法为:
步骤一:根据高性能计算和云计算混合环境的历史日志数据,分析混合环境任务到达率的历史数据特征,得到任务到达率的时间序列特征,同时选取AR模型,将所述任务到达率的时间序列特征输入AR模型进行系统到达率的预测;
步骤二:将所述步骤一中预测得到的任务到达率作为输入,将混合系统的任务到达模式、任务执行时间的分布特征以及硬件资源池的容量作为限制条件,建立G/M/n排队模型,然后求解所述G/M/n排队模型,得到混合系统的动态资源分配。
本发明方法的优选方案中,步骤二中求解所述G/M/n排队模型的方法为:
a)将响应时间R最小作为优化问题,根据以下约束条件构建最优化问题:计算资源量不超过总得资源池总量以及计算时间不超过用户需求的计算时间;
所述响应时间R为;
其中,T为计算完提交任务量所耗时间,X表示计算完成的任务量,n为服务器数量,为任务平均到达时间间隔,ρ为系统中的设备利用率,为任务到达时间间隔方差,为系统服务时间方差;
b)利用内点罚函数方法求解所述步骤a)构建的最优化问题,得到到达任务的需求计算资源。
有益效果:本发明与现有技术相比,具有以下优点:
(1)现有的高性能计算或者云计算单一的计算模式无法满足实际应用需求,而本发明中采用高性能计算和云计算混合环境利用动态资源管理方案解决了多样化任务对不同计算模式的实际应用需求问题。
(2)资源优化算法是采用在Sercon算法基础上提出不同的算法结束条件同时调整部分参数,使得算法适用高性能计算和云计算混合环境架构,提高了算法执行效率,使得混合环境系统性能更好。
附图说明
图1为本发明高性能计算和云计算混合环境结构示意图;
图2为本发明的高性能计算和云计算混合环境中动态资源管理方法的模块间逻辑关系图。
具体实施方式
下面结合说明书附图和具体实施方式对本发明再作进一步详细的说明。
本发明在具有高性能计算和云计算混合环境的集群环境中运行,其中高性能计算环境和云计算环境是双栈式结构并且集群硬件资源预留共享资源池。
本发明中高性能计算和云计算混合环境的任务提交为统一入口,提交任务后,系统脚本程序将详细记载任务提交时间,任务量,任务到达率等信息,生成.log的混合环境日志文件在本地磁盘。
本发明中高性能计算和云计算混合环境包括一个统一的动态资源管理节点,管理节点通过核心交换机和机架交换机与各个计算节点相连。计算节点负责执行任务,监 控各个计算节点物理资源的系统信息,每个计算节点通过调用操作系统的命令(vmstat[options][delay[count]]和free等命令)读取物理资源的CPU,Storage,Memory利用率以及网络I/O的信息,并每隔15秒钟将此信息发送给管理节点,收到计算节点采集的可用系统信息后,管理节点将各节点的实时系统信息记入数据库。
同时管理节点根据分析混合环境的日志文件以及记入数据库的系统信息,执行动态资源管理机制。本发明中的混合环境中的动态资源管理节点具有决策与触发执行功能,即根据决策结果触发计算节点执行具体的资源分配与虚拟机迁移调度命令,具体实现包括以下:
该方法在高性能计算和云计算混合环境下,不断对到达的任务进行动态资源分配,当完成对一批任务的动态资源分配后,按照如下方法对混合环境中的云计算环境里的物理资源进行资源优化:
采集云环境里系统物理机的计算机CPU利用率、存储利用率和内存利用率,将此三项指标的上限作为约束条件,建立负载集中,物理机资源最大化利用以及迁移成本最小化多目标混合优化模型。
利用评价函数法求解此多目标混合优化模型,求解步骤如下:
1)所建立的物理机资源最大化利用的多目标混合优化问题即转化为多目标极小化模型即多目标极小化优化问题。
2)上述1)中求得的多目标极小化优化问题中的每个极小化目标分配一组对应的权系数(λ1,λ2,...,λm),且
这样即可将多目标极小化优化问题转化为一个与之相关的单目标(数值)极小化问题,然后通过求解这个单目标函数的极小化问题来到达求解原模型的目的。
3)确定权系数。设第i个分目标相对第j个分目标的相对重要程度为aij,于是我们可以把上述3个极小化分目标两两比较,它们的相对重要程度可用一个矩阵表示:
一般aijλj-λi≠0(i≠j),所以可以选择一组权系数(λ1,λ2,...,λm),使误差平方和最小,即
且受约束于然后利用拉格朗日乘数法即可求得权系数(λ1,λ2,...,λm)。
4)求解带有权系数的单目标极小化问题,如下:
求解后得到虚拟机放置方案,然后按照如下改进的虚拟机迁移方法实现云计算环境里的资源优化:
1)获取物理机列表和物理机上运行的所有虚拟机列表;
2)将所述物理机列表中的所有物理机按负载量从小到大依次排序;
3)将当前物理机上的所有虚拟机取出并按负载量从小到大依次排列,确定其中负载量最小的虚拟机,所述当前物理机在初始步骤中为负载量最小的物理机;
4)进行虚拟机迁移:即按照所述步骤3)中的排序,依次为虚拟机寻找并迁至放置的物理机,当出现一个虚拟机无法找到合适放置的物理机时,即这个虚拟机放置在任一物理机上,此物理机总负载都超过负载总量额度,进入步骤6),否则在完成为当前物理机中所有虚拟机的迁移后,进入步骤5);
5)判断是否完成所有物理机的虚拟机迁移,如是,则进入步骤7);否则按照所述步骤2)的排序,将当前物理机的下一个物理机更新为当前物理机后返回步骤3);
6)如果当前物理机为负载量最小的物理机,则判定无法进行资源优化,结束云计算环境里的资源优化流程,否则将当前物理机之前已完成的虚拟机迁移方案作为云计算环境里的资源优化输出;
7)将所有的虚拟机迁移方案作为云计算环境里的资源优化输出。
本发明的一种优选实施例中,系统状态约束条件为物理机的负载最大化,物理机的资源利用率最大,以及物理机的计算机CPU利用率、存储利用率和内存利用率不超过物理机最大容量。
动态资源分配的具体方法为:
步骤一:根据高性能计算和云计算混合环境的历史日志数据,高性能计算的任务 是由系统自动提交,所以每天的数据量并无明显的波动变化,呈现稳定状态。本系统的云计算任务均来自各个租用资源单位工作人员的手动请求与提交,所以随着工作时间的推移有着明显的周期性。最后在综合考虑预测模型的计算开销以及预测精度等因素后,本发明以AR模型为基础,其中AR模型即自回归(AutoRegressive,AR)模型又称为时间序列模型,AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值,其目的都是为了增加有效数据,只是AR模型是由N点递推,而插值是由两点(或少数几点)去推导多点,所以AR模型要比插值方法效果更好。
结合混合系统中高性能计算和云计算任务的任务到达率不同的历史数据特性,针对高性能计算采用AR(2)模型进行任务到达率预测,针对云计算任务采用改进的基于周期性分解的AR(2)预测模型进任务到达率行预测。(数据采集为一年时间的日志记录文件,统计每小时时间内的任务到达率状况)
步骤二:高性能计算和云计算混合环境的任务到达是统一的平台入口,通过对其进行监测,混合系统的任务到达不符合泊松分布,而更符合一般分布。并且单一环境的排队模型不能满足高性能计算和云计算混合系统。所以将所述步骤一中预测得到的任务到达率作为输入,将混合系统的任务到达模式、任务执行时间的分布特征以及硬件资源池的容量作为限制条件,建立G/M/n排队模型。排队论起源于丹麦工程师艾尔郎对电话交换机效率的研究,随着生灭过程的引入,排队论逐渐成为数学界的重要学科之一,马尔科夫链方法的运用使得排队论得到了更进一步的发展。排队论是研究系统随机聚集现象和随机服务系统工作过程的数学理论和方法,又称随机服务系统理论,为运筹学的一个分支。当顾客到达系统的间隔时间服从一般分布G(t),服务时间服从负指数分布,系统中有n个服务台,这样的排队论系统为G/M/n排队模型。
然后求解所述G/M/n排队模型,得到混合系统的动态资源分配:
a)将响应时间R最小作为优化问题,根据以下约束条件构建最优化问题:计算资源量不超过总得资源池总量以及计算时间不超过用户需求的计算时间;
所述响应时间R为;
其中,T为计算完提交任务量所耗时间,X表示计算完成的任务量,n为服务器 数量,为任务平均到达时间间隔,ρ为系统中的设备利用率,为任务到达时间间隔方差,为系统服务时间方差;
b)利用内点罚函数方法求解所述步骤a)构建的最优化问题,求解步骤如下:
1)选取初始数据
2)定义障碍函数
3)求解无约束问题
4)判断终止
得到到达任务的需求计算资源。
上述实施例仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和等同替换,这些对本发明权利要求进行改进和等同替换后的技术方案,均落入本发明的保护范围。本实施例中未明确具体说明的各组成部分均可用现有技术加以实现。
机译: 云计算环境中的虚拟机控制程序,云计算环境中的虚拟机控制方法,虚拟机控制装置和云计算系统
机译: 响应于第二云计算环境中的资源或服务变得可用,将虚拟机从第一云计算环境迁移到第二云计算环境
机译: 适用于云计算环境的高性能计算框架