一种面向云数据中心的任务与数据联合部署方法技术

技术编号:14770602 阅读:48 留言:0更新日期:2017-03-08 14:30
本发明专利技术提出了一种面向云数据中心的任务与数据联合部署方法,该方法包括步骤:(1)系统环境配置分析,分析系统配置条件下任务及数据部署的难易程度,根据分析结果选择最优化部署策略或启发式部署策略;(2)最优化部署策略,在可以实现最优部署的情况下,实施最佳联合部署;(3)启发式部署策略,在不能保证最优的情况下,采取一种基于数据流行度的联合部署策略。本发明专利技术旨在最小化周期性任务的完成时间,以为基于数据分析的决策支持提供依据。

【技术实现步骤摘要】

本专利技术涉及数据中心和云计算
,尤其是一种面向云数据中心的任务与数据联合部署方法
技术介绍
调度问题是一项传统的研究课题,在多个研究领域皆有需求。在云计算与数据中心研究领域,针对大数据分析这一问题,一种常规的方法是采用基于MapReduce架构的Hadoop系统。Hadoop系统提供了三种默认任务调度方法,但并不具备通用性,在较多情况下表现出来的性能并不令人满意,这主要表现在无法满足任务执行的数据本地化方面,从而导致任务执行时间过长。因此,针对默认任务调度方法的不足,基于任务调度的动态性需求,研究者提出了一类延时任务调度策略,通过延缓任务的调度来保障任务执行时的数据本地化。然而,该方法在处理实时任务调度时无法保证一定的效率与公平性,且未考虑数据部署的可行性。针对周期性数据分析任务,延时类调度策略显然不合适,而Hadoop系统默认的调度方法也无法利用该类任务的特征,提高任务处理效率;此外,大部分研究仍未能将任务调度与数据部署相结合,未充分利用任务执行时的数据特征。
技术实现思路
专利技术目的:为解决上述技术问题,满足对周期性数据分析任务的客观需求,本专利技术提出一种面向云数据中心的任务与数据联合部署方法,该策略在保证100%数据本地化的同时,能最小化数据分析任务的执行时间。技术方案:为实现上述技术效果,本专利技术提出的技术方案为:一种面向云数据中心的任务与数据联合部署方法,包括步骤:(1)获取系统参数,包括:数据块的数量K、数据中心的物理机数量N和每个物理机的内存槽数量M,M>K/N,且将系统所要完成的任务分为K组任务流,并为每组任务流分配一个数据块;定义变量其中,di表示第i组任务流中的任务数;(2)根据系统参数配置判断是否能实现最优部署,若能实现最优部署,则执行步骤(3);否则,执行步骤(4);(3)执行最优部署策略,包括步骤:(3-1)定义j表示迭代次数,初始化j=1;将各组任务流按照度数升序排列,形成待选择队列Q1;(3-2)从Q1中选择x组任务流形成待部署队列I,I满足:x≤M且SUMI≥AVG,SUMI表示待部署队列I中所有任务流的度数和值;将I中的任务流从Q1中删除;(3-3)判断选出的待部署队列I是否满足:SUMI=AVG;若满足,则将待部署队列I中的任务流通过对应的数据块部署在物理机j上,转入步骤(3-5);若不满足,则转入步骤(3-4);(3-4)将I中度数值最大的任务流切分为两份:A和B,使任务流A与I中剩余x-1个任务流的度数和值等于AVG;将任务流A与剩余x-1个任务流通过对应的数据块部署在物理机j上;将B作为新的任务流归入Q1中并对Q1中的各组任务流按照度数重新升序排序,任务流B仍对应切分前的数据块;转入步骤(3-5);(3-5)设Q1中任务流为y组,判断是否满足:y>M,若满足,则令j=j+1,返回步骤(3-2);若不满足,则转入步骤(3-6);(3-6)判断是否满足y=M;若y=M,则转入步骤(3-7);否则转入步骤(3-8);(3-7)判断是否满足:SUMy表示Q1中剩余y组任务流的度数和;若满足,则执行步骤(3-8);否则,令j=j+1,返回步骤(3-2);(3-8)将Q1中剩余y组任务流通过对应的数据块部署在物理机j,并停止执行最优部署策略;(4)执行启发式部署策略,包括步骤:(4-1)获取各物理机的负载量,选择当前负载最低的物理机,并将任务流中度数最高的任务流部署在被选中的物理机上;(4-2)判断是否存在未分配的任务流,若判断结果为否,则结束分配;否则,返回步骤(4-1)。进一步的,所述步骤(2)中系统环境配置分析的方法为:判断数据块的数量K和数据中心的物理机数量N是否满足:式中,表示取上界;若判断结果为满足,则执行步骤(3);否则,执行步骤(4)。进一步的,所述步骤(4-1)中任务流的部署方法为:根据数据块的度数,对任务流进行降序排列,形成一个待选择队列Q2,初始情况下,Q2具有K个元素;按照物理机的负载量进行升序排列,形成一个目标队列R;进行K轮迭代,每轮迭代选出一组任务流和一台物理机,并将选出的任务流及其对应的数据块部署在选中的物理机上;每轮迭代包括步骤:S1分别选出待选择队列Q2和目标队列R的队首元素,并将待选择队列Q2队首的任务流部署在目标队列R队首的物理机上;S2从待选择队列Q2和目标队列R中分别删除选中的任务流和物理机,按照原排列规则更新待选择队列Q2和目标队列R中个元素的排序。有益效果:与现有技术相比,本专利技术以周期性数据分析任务为对象,提出了一种联合部署策略,在绝大部分情况都可以实现最佳部署,从而缩短任务执行的时间,保障上层决策制定的及时性。此外,降低任务执行,并彻底减少数据中心内的通信开销,可以有效降低数据中心能耗。附图说明图1为本专利技术实施例的功能架构图;图2为实施例中满足选择条件0的待部署队列I的示意图;图3为实施例中满足选择条件1的待部署队列I的示意图;图4为实施例中满足选择条件2的待部署队列I的示意图;图5为系统环境配置分析原理示意图。具体实施方式下面结合附图对本专利技术作更进一步的说明。如图1所示为本专利技术实施例的功能架构图;本专利技术主要包括三个策略模块,如图1所示。首先,根据系统的参数配置,进行系统环境配置分析,计算联合部署的可行性。若能实现最优部署,则执行最优化部署策略;否则,执行启发式部署策略。初始情况下,我们可以知道如下系统参数:N:数据中心的物理机数量,一般应为同构的物理机;M:每个物理机可以装载数据的内存槽数量,内存槽的大小与数据块的大小一致;在本实施中,为简化说明,设所有物理机的内存槽数量相等。K:数据块的数量,在Hadoop系统中,数据往往以块的形式存在。N、M、K满足:M>K/N且在明确上述3个系统参数的基础上,首先实施系统环境配置分析,分析原理如图5所示,即判断下列等式是否成立:式中,表示取上界;若等式成立,执行最优化部署策略;否则,执行启发式部署策略。至此,系统环境配置分析完成,跳转到最优化部署或启发式部署。最优化部署:(1)分组:根据每个任务对数据的需求,以数据为中心,对任务进行分组,将总任务分为K组任务流。由此可见,每个数据块都对应一个任务流,将任务流中的任务数定义为该任务流(或数据块)的度数,用符号d表示。(2)排序:根据数据块的度数,对任务流进行升序排列,从而构成一个待选择队列Q1。易见,初始情况下,Q1具有K个任务流。(3)选择:执行选择操作时,从待选择队列Q1的起始位置开始,总共执行N轮选择操作,包括以下步骤:(3-1)定义j表示迭代次数,初始化j=1;将各组任务流按照度数升序排列,形成待选择队列Q1;(3-2)从Q1中选择x组任务流形成待部署队列I,I满足:x≤M且SUMI≥AVG,SUMI表示待部署队列I中所有任务流的度数和值;将I中的任务流从Q1中删除;(3-3)判断选出的待部署队列I是否满足:SUMI=AVG;若满足,则将待部署队列I中的任务流通过对应的数据块部署在物理机j上,转入步骤(3-5);若不满足,则转入步骤(3-4);(3-4)将I中度数值最大的任务流切分为两份:A和B,使任务流A与I中剩余x-1个任务流的度数和值等于AVG;将任务流A与剩余x-1个任务流通过对应的数据块部署在物理机j本文档来自技高网...
一种面向云数据中心的任务与数据联合部署方法

【技术保护点】
一种面向云数据中心的任务与数据联合部署方法,其特征在于包括步骤:(1)获取系统参数,包括:数据块的数量K、数据中心的物理机数量N和每个物理机的内存槽数量M,M>K/N,且将系统所要完成的任务分为K组任务流,并为每组任务流分配一个数据块;定义变量其中,di表示第i组任务流中的任务数;(2)根据系统参数配置判断是否能实现最优部署,若能实现最优部署,则执行步骤(3);否则,执行步骤(4);(3)执行最优部署策略,包括步骤:(3‑1)定义j表示迭代次数,初始化j=1;将各组任务流按照度数升序排列,形成待选择队列Q1;(3‑2)从Q1中选择x组任务流形成待部署队列I,I满足:x≤M且SUMI≥AVGSUMI表示待部署队列I中所有任务流的度数和值;将I中的任务流从Q1中删除;(3‑3)判断选出的待部署队列I是否满足:SUMI=AVG;若满足,则将待部署队列I中的任务流通过对应的数据块部署在物理机j上,转入步骤(3‑5);若不满足,则转入步骤(3‑4);(3‑4)将I中度数值最大的任务流切分为两份:A和B,使任务流A与I中剩余x‑1个任务流的度数和值等于AVG;将任务流A与剩余x‑1个任务流通过对应的数据块部署在物理机j上;将B作为新的任务流归入Q1中并对Q1中的各组任务流按照度数重新升序排序,任务流B仍对应切分前的数据块;转入步骤(3‑5);(3‑5)设Q1中任务流为y组,判断是否满足:y>M,若满足,则令j=j+1,返回步骤(3‑2);若不满足,则转入步骤(3‑6);(3‑6)判断是否满足y=M;若y=M,则转入步骤(3‑7);否则转入步骤(3‑8);(3‑7)判断是否满足:SUMy表示Q1中剩余y组任务流的度数和;若满足,则执行步骤(3‑8);否则,令j=j+1,返回步骤(3‑2);(3‑8)将Q1中剩余y组任务流通过对应的数据块部署在物理机j,并停止执行最优部署策略;(4)执行启发式部署策略,包括步骤:(4‑1)获取各物理机的负载量,选择当前负载最低的物理机,并将任务流中度数最高的任务流部署在被选中的物理机上;(4‑2)判断是否存在未分配的任务流,若判断结果为否,则结束分配;否则,返回步骤(4‑1)。...

【技术特征摘要】
1.一种面向云数据中心的任务与数据联合部署方法,其特征在于包括步骤:(1)获取系统参数,包括:数据块的数量K、数据中心的物理机数量N和每个物理机的内存槽数量M,M>K/N,且将系统所要完成的任务分为K组任务流,并为每组任务流分配一个数据块;定义变量其中,di表示第i组任务流中的任务数;(2)根据系统参数配置判断是否能实现最优部署,若能实现最优部署,则执行步骤(3);否则,执行步骤(4);(3)执行最优部署策略,包括步骤:(3-1)定义j表示迭代次数,初始化j=1;将各组任务流按照度数升序排列,形成待选择队列Q1;(3-2)从Q1中选择x组任务流形成待部署队列I,I满足:x≤M且SUMI≥AVGSUMI表示待部署队列I中所有任务流的度数和值;将I中的任务流从Q1中删除;(3-3)判断选出的待部署队列I是否满足:SUMI=AVG;若满足,则将待部署队列I中的任务流通过对应的数据块部署在物理机j上,转入步骤(3-5);若不满足,则转入步骤(3-4);(3-4)将I中度数值最大的任务流切分为两份:A和B,使任务流A与I中剩余x-1个任务流的度数和值等于AVG;将任务流A与剩余x-1个任务流通过对应的数据块部署在物理机j上;将B作为新的任务流归入Q1中并对Q1中的各组任务流按照度数重新升序排序,任务流B仍对应切分前的数据块;转入步骤(3-5);(3-5)设Q1中任务流为y组,判断是否满足:y>M,若满足,则令j=j+1,返回步骤(3-2);若不满足,则转入步骤(3-6);(3-6)判断是否满足y=M;若y=M,则转入步骤(3-7);否则转...

【专利技术属性】
技术研发人员:李鑫秦小麟
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1