本发明专利技术公开了一种面向广域分布云系统公平的多任务虚拟机分配方法,包括下述步骤:S1:计算任务提交到云系统,云系统估算它们的虚拟机需求;S2:将所有任务降序排序并加入队列;S3:选择队列中估值大的任务,估算每一节点若作为该任务的初始节点可能产生最终的通讯消耗;S4:将该任务分配给估值最小的节点,并将该任务移出队列;S5:判断是否所有任务都分配了一个初始节点,是则执行S6否则返回S3;S6:对于每一个未满足虚拟机需求的任务遍历系统中可用节点,计算直径虚拟机比;S7:将比值最小的任务分配到对应的节点上;S8:判断是否完成所有任务的分配,是则结束分配否则返回执行S7。本发明专利技术能够获得一个更低的系统通讯消耗,且能够保证云系统的高公平性。
【技术实现步骤摘要】
本专利技术涉及云计算的研究领域,特别涉及一种。
技术介绍
云计算(英语:Cloud Computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备。云环境中分散着数量巨大并且异构的资源,云计算就是要解决如何高效安全的管理和共享接入云的各种资源。在云环境中,不仅资源的地理位置分布广泛,甚至属于不同的自治系统,而且资源往往具有异构性、动态性,如何有效分配计算资源是决定整个云性能、效率的关键问题。因此,随着云计算技术的日益普及,有效的云资源分配模型和算法将成为高效利用这些资源的关键。由于数据分布的离散性,一个任务将可能在需要多个节点协作完成(如Map-Reduce和多层次Web服务),当虚拟机之间的通讯量很大时,若虚拟机之间的物理距离很长,将长时间占用并消耗巨大的网络资源,这并不符合资源高效应用的理念。因此在一个资源分布很广的云系统中,降低分配给同一任务的节点间的通讯耗时将带来巨大的利润。此外为了保证云系统用户间的服务公平性,任务执行的时间应该与任务规模成正比,即大任务执行时间长,小任务执行时间短。具有高服务公平性是成熟云系统的重要标V 1、1、O目前尚未有针对广域分布云系统的多任务虚拟机分配方案,通用的做法是通过不断执行单任务虚拟机分配方法来满足多任务分配。单任务虚拟机分配方案通过减小被分配的虚拟机之间的最大路径长度(即直径)来减少节点之间的通讯消耗,提升系统性能。简要的技术路线如下:遍历系统中每个节点,分别计算出满足虚拟机需求的星型拓扑的直径,最后将任务分配给直径最小的拓扑。然而上述方法在多任务条件下存在一定的问题:(I)由于云系统的异构特性,每个节点的网络状况良莠不齐,首先进行分配的任务将优先占用更好的系统资源,在分配后期,任务将只能分配到网络状况并不良好的节点,造成巨大的通讯消耗。虽然满足了单任务的最优,但是不能保证,并且可能破坏全局最优。(2)由于先分配的任务将占有更加优质的系统资源,可能造成先分配的大任务执行时间要早于后分配的小任务。这将大大降低系统的公平性。因为任务的大小与其执行时间不成比例。分析上述两大缺陷,任务的分配顺序是主要原因。由于任务是按一定的顺序分配的,而云系统的异构性又决定了后分配的任务将得到较差的系统资源,大大影响系统性能。
技术实现思路
本专利技术的主要目的在于克服现有技术的缺点与不足,提供一种,该方法能够获得一个更低的系统通讯消耗并能够保证云系统的高公平性。本专利技术的目的通过以下的技术方案实现:,其包括下述步骤:S1:计算任务提交到75:系统,75:系统估算它们的虚拟机需求;S2:按照估算好的虚拟机需求将所有任务降序排序并加入队列;S 3:选择队列中估值大的任务,对每个节点估算该任务若以该节点作为初始节点可能产生最终的通讯消耗;S4:将该任务分配给估值最小的节点,并将该任务移出队列;S5:判断是否所有任务都分配了一个初始节点,是则执行步骤S6否则返回步骤S3 ;S6:对于每一个未满足虚拟机需求的任务遍历系统中可用节点,计算对应的直径虚拟机比;S7:将比值最小的任务分配到对应的节点上;S8:判断是否完成所有任务的分配,是则结束分配否则返回执行步骤S7。优选的,步骤SI中,云系统估算它们的虚拟机需求的具体方法为:通过系统所收集的过往任务的历史数据建立多元回归预测模型,建立以任务所处理的数据量为自变量,使用的虚拟机数量为因变量的回归方程,建模中使用到的参数有使用的虚拟机数量、任务所需处理的数据量、任务的通讯消耗、任务类型、任务的提交者。最终通过建立的模型便可预测出对应任务所需虚拟机数量。优选的,步骤S2中,将所有任务降序排序并加入队列的具体方法为:建立队列存储结构,将所为任务以所需虚拟机数量的大小作为排序依据,以从大到小的顺序存入队列。优选的,步骤S3中,估算该任务若以该节点作为初始节点可能产生最终的通讯消耗的具体方法为:将该任务的虚拟机需求除以所有节点的平均可用虚拟机数量,从而估出该任务还需要多分配少个节点,并选取距离该节点最近的相应数量的节点,最终将该分配方案的通讯消耗作为分配估值。优选的,步骤S6中,计算对应的直径虚拟机比的方法如下:计算若将该节点分配给该任务会造成的通讯消耗增量,并将该增量除以该节点可以提供的虚拟机数量,便得到了该任务对应节点的直径虚拟机比。优选的,步骤S6与S3中,通讯消耗的计算法方式:是通过计算任务所分配到的节点集中任意两个点距离的最大值也就是直径来表示通讯消耗,其中距离的大小量化为路由器的跳数。本专利技术与现有技术相比,具有如下优点和有益效果:I)本专利技术采用了回归预测技术对任务的资源需求进行准确的预测,为云系统的稳定性提供了强有力的保障。2)本专利技术采用了虚拟机数量、任务所需处理的数据量、任务的通讯消耗、任务类型、任务的提交者作为建立回归方程的参数,有效地提高了模型预测准确度,减小了误差偏离。3)本专利技术再分配之前预先对任务进行了排序处理,使得大任务在一定程度上占领较优资源,减小了计算耗时。4)本专利技术通过平均值估算的方法估算了可能产生的分配消耗,从而确定了任务的初始节点,提高了之后分配的效率。5)本专利技术采用了聚类技术来进行虚拟机分配,这保证了每一次的分配对于每个任务都是公平的,保证了系统的强稳定性。6)本专利技术提出了直径虚拟机比作为优化参数,大大降低了系统的通讯消耗。7)本专利技术提出了使用两个节点之间的距离也就是最短路由跳数来量化通讯消耗,见笑了专利技术的计算量。【附图说明】图1是本专利技术方法的流程图。【具体实施方式】下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。实施例本实施例为了设计出一个全局最优(即所有任务的通讯消耗和最小)并且具有高公平性的分配方法,所有的任务应同时进行分配,但如何设计一个高性能的分配方法?本专利技术决定借用聚类技术的思想来进行分配,如果采用聚类的方法如何为每个任务分配初始节点以及采用什么策略进行聚类将是需要克服的技术瓶颈。本方法采用聚类的思想进行设计,包含两大部分,第一部分为每个待分配任务产生一个初始节点,再通过第二部分将合适的节点分配给当前第1页1 2 本文档来自技高网...
【技术保护点】
面向广域分布云系统公平的多任务虚拟机分配方法,其特征在于,包括下述步骤:S1:计算任务提交到云系统,云系统估算它们的虚拟机需求;S2:按照估算好的虚拟机需求将所有任务降序排序并加入队列;S3:选择队列中估值大的任务,对每个节点估算该任务若以该节点作为初始节点可能产生最终的通讯消耗;S4:将该任务分配给估值最小的节点,并将该任务移出队列;S5:判断是否所有任务都分配了一个初始节点,是则执行步骤S6否则返回步骤S3;S6:对于每一个未满足虚拟机需求的任务遍历系统中可用节点,计算对应的直径虚拟机比;S7:将比值最小的任务分配到对应的节点上;S8:判断是否完成所有任务的分配,是则结束分配否则返回执行步骤S7。
【技术特征摘要】
【专利技术属性】
技术研发人员:沈鸿,杨文来,
申请(专利权)人:中山大学,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。