面向异构MapReduce集群的低时延Map和Reduce联合调度方法

文档序号:25992076发布日期:2021-07-23 21:04阅读:96来源:国知局
面向异构MapReduce集群的低时延Map和Reduce联合调度方法

本发明涉及无线通信领域,具体涉及面向异构mapreduce集群的低时延map和reduce联合调度方法。



背景技术:

随着移动设备的普及和移动互联网的发展,未来将呈现万物互联的发展趋势,5g作为新一代移动通信技术在网络技术方面的提升真正实现了通信从人扩展到万物的转变,尤其是5g通信在低时延、网络大带宽等方面的优势将从根本上推动人工智能、区块链等物联网核心领域的发展。考虑到物联网中大部分数据业务呈现数据量大、类型复杂等特点,并且核心网的资源紧缺,低时延的要求使得用户将超大的计算任务集中处理是不现实的,这极大的促进了分布式计算在无线通信领域的发展。其中,mapreduce作为一种专门为大规模并行数据处理设计的分布式计算框架,非常适用于多个边缘服务器分布式处理各个类型的计算任务,帮助用户终端高效的解决计算问题。

mapreduce框架的执行流程总结为:客户端提交作业后,主节点中的控制中心将其划分到各个服务器上做map运算,并产生一定量的中间值,其次,这些中间值需要与其他服务器进行通信传输,最终各服务器将其收集到的中间值数据做reduce运算并输出到hdfs中。

为了能够满足大型计算任务对时延的基本要求,人们研究了不同情况下mapreduce框架中的资源调度问题,一个好的资源调度策略可以有效减少时延代价。具体地,按照优化目标可以分为优化负载、优化能耗、优化时延等。按照提交的作业数里可分为单任务和多任务分布式计算等。大多研究工作均是基于同构环境下的mapreduce来展开,然而随着通信网络的发展,异构的集群环境与实际情况更为贴近,传统的平均分配机制将不再适用,这很大程度会造成负载不均衡,资源浪费和高时延等问题。



技术实现要素:

为了克服现有技术的不足,本发明的目的是按照所有服务器能同时完成计算的原则,最小化单个服务器的时延拖尾,使计算任务完成的总时延最小,进而设计出一种面向异构mapreduce集群的低时延map和reduce联合调度方法。

面向异构mapreduce集群的低时延map和reduce联合调度方法,步骤如下:

获取执行作业大小、集群服务器数量、各服务器之间通信的传输速率、服务器计算单位比特数据的时钟周期,cpu频率,map、reduce的工作槽数,以及单位map任务输出的数据量等信息;

根据上述信息得到每个服务器作为reduce计算节点完成reduce计算的系统时延,并定义作业完成总时延最小化问题;

根据最小化单个服务器的时延拖尾,提高服务器之间的并行时间,得到满足所有服务器能同时完成计算的最优性条件:

按照所有服务器完成reduce计算的系统时延均相等的原则,固定一个任务分配变量不变,对另一个任务分配变量进行迭代求解:

固定map阶段任务分配变量m更新reduce阶段任务分配变量q:

根据等式约束对当前时刻的reduce阶段任务分配变量作归一化处理:

固定已更新的reduce阶段任务分配变量q更新map阶段任务分配变量m:

根据等式约束对当前时刻的map阶段任务分配变量作归一化处理:

基于上述方法交替迭代求解两个任务分配变量,使得作业完成总时延单调减少,直到前后两次时延之差在阈值范围内停止迭代,进而得到最优的任务分配向量。

本发明的有益效果:

本发明通过最小化单个服务器的拖尾时延,提高服务器之间的并行时间,设计出一种面向异构mapreduce集群的低时延map和reduce联合调度方法,考虑了集群中不同服务器的计算能力以及服务器之间的传输速率,在map阶段前和reduce阶段的任务分配均做出了优化,最小化了作业完成的总时延。

附图说明

图1是面向异构mapreduce集群的低时延map和reduce联合调度方法的系统模型。

图2是不同边缘服务器数量的情况下,本发明方法与四种对比算法在时延方面的性能比较图。

图3是不同作业大小的情况下,本发明方法与四种对比算法在时延方面的性能比较图。

图4是分别固定γ=100,γ=200,在不同平均计算频率的情况下,本发明方法与四种对比算法在时延方面的性能比较图。

图5是分别固定γ=100,γ=300,在不同平均传输速率的情况下,本发明方法与四种对比算法在时延方面的性能比较图。

图6是在集群服务器数量为30,阈值为10-3的情况下,本发明方法在迭代过程中的时延关系图。

具体实施方式

以下结合附图和实施例进一步说明本发明。

采用面向异构mapreduce集群的低时延map和reduce联合调度方法的系统模型如图1所示,用户在map和reduce两个阶段分别按照一定的任务分配规则将计算任务分给集群中的服务器。本发明依据最小化单个服务器的拖尾时延,在固定其中一个任务分配变量的情况下迭代求得另一任务分配变量的当前最优值,交替求解直到前后两次时延之差在阈值范围内停止,进而得到最优的作业完成总时延以及map和reduce两个阶段的任务分配策略。

面向异构mapreduce集群的低时延map和reduce联合调度方法,包括以下步骤:

步骤1:获取执行作业大小、集群服务器数量、各服务器之间通信的传输速率、服务器计算单位比特数据的时钟周期,cpu频率,map、reduce的工作槽数,以及单位map任务输出的数据量等信息;

步骤2:根据上述信息计算得到每个服务器作为reduce计算节点时完成计算的系统时延,并定义作业完成总时延最小化问题;

步骤3:根据最小化单个服务器的时延拖尾,提高服务器之间的并行时间,得到满足所有服务器能同时完成reduce计算的最优性条件;

步骤4:根据作业完成总时延τ满足的最优性条件,固定一个任务分配变量不变的同时对另一个任务分配变量进行迭代求解,两个任务分配变量交替迭代使作业完成总时延单调减少,直到前后两次时延之差在阈值范围内迭代停止。

作为一个较好的实施例子,首先获取客户端提交的作业大小、集群服务器数量、各个服务器的计算频率、各服务器之间通信的传输速率等信息,各服务器可按照如下计算方式求得对应的通信和计算时延:

其中,分别为服务器l在map阶段的计算时延和服务器k在reduce阶段的计算时延。为服务器k在shuffle阶段的通信时延,期间收集除自身以外各个节点传输的分区数据。

map阶段的计算时延与shuffle阶段的通信时延存在重叠,针对作为reduce计算节点的服务器k,只有当所有服务器的map与其自身的shuffle均完成才可以开始执行reduce操作,其完成计算对应的系统时延tk(m,q)为:

比较所有服务器完成reduce计算的系统时延,将最大值作为作业完成总时延τ,满足

进而建立作业完成总时延最小化问题:

minτ

同时,该问题需要满足以下约束条件:单位map任务产生的中间值将全部分给各个服务器;每个服务器上分配的任务大小为非负数。采用以下公式建立优化问题的约束:

ml,qk≥0

基于此,目标函数可以进一步转化为:

其中是当服务器l作为map计算节点时所有服务器完成reduce计算的系统时延。

为了使作业完成总时延最小,依据最小化单个服务器的时延拖尾,提高服务器并行时间的基本思想,得到作业完成总时延满足的最优性条件为:

按照所有服务器完成reduce计算的系统时延均相等的原则,固定一个任务分配变量不变,对另一个任务分配变量进行迭代求解,直至当前最优:

固定map阶段任务分配变量m更新reduce阶段任务分配变量q:

根据等式约束对当前时刻的reduce阶段任务分配变量作归一化处理:

固定已更新的reduce阶段任务分配变量q更新map阶段任务分配变量m:

根据等式约束对当前时刻的map阶段任务分配变量作归一化处理:

基于上述方法交替迭代求解两个任务分配变量,使得作业完成的总时延单调减少,直到前后两次时延之差在阈值范围内停止迭代,进而得到最优的任务分配向量。

作为一个较好的实施例子,有一个大小d=1gb的作业需要提交给mapreduce框架来计算,集群中默认服务器数量n=30,每个服务器总工作槽数为4,即集群中任意的服务器k均满足除此之外,假设服务器计算单位比特数的时钟周期、cpu频率与信道的传输速率分别服从[200,600]、[1,2]、[10,30]的均匀分布,单位map任务输出数据量γ=200,每组数据通过计算机仿真运行1000次取平均值来做为最终结果。

此处引入四个对比方法,对比算法1为默认集群内服务器性能相同,在map阶段和reduce阶段的数据分配均采用平均分配的传统资源调度方法;对比算法2为根据集群内各服务器计算性能为其分配map任务的资源调度方法;对比算法3为根据集群内各服务器计算性能划分reduce任务的资源调度方法;对比算法4为以最小化执行任务的总能量消耗为目标,联合优化各服务器在map阶段的任务分配以及各服务器功率分配的资源调度方法。本发明联合优化map和reduce阶段的任务分配变量设计出一种低时延资源调度方法。

首先固定提交的作业大小为1gb,改变集群中服务器数量来观察各算法在时延性能中的表现。图2展示了五个算法的作业完成总时延随集群中服务器数量在[30,100]范围内变化的关系,可以看出,本发明方法与四个对比算法相比在总时延方面有明显的降低,随着集群中服务器数量的增加,作业完成的总时延逐渐降低,且本发明方法的性能优势更加显著。

然后固定集群中服务器数量为30,改变提交作业的大小来观察各算法在时延性能中的表现。图3展示了五个算法中不同大小的计算任务对时延产生的影响,我们将计算任务由1gb增加到10gb,从图中看出,作业任务量的增大会对时延产生非常明显的增加,在保持其他参数不变的情况下,计算任务的大小是影响时延最直接的因素,对比观察,本发明法可以获得最优的时延性能。

接下来分别在不同的γ系数下,改变集群服务器平均计算频率和平均传输速率来观察各算法在时延性能中的表现。图4显示随着cpu时钟频率分布的期望值增加,各算法均呈现了时延下降的趋势,cpu时钟频率的均值表征了集群整体的计算能力,cpu时钟频率的增大使得map与reduce阶段的计算时延下降,且γ值越小在一定程度上表征通信的总数据量越少,进而总时延也越小。图5显示,当γ值较小时,作业完成总时延随传输速率均值的增大先减小,然后保持不变,这是由于传输速率增大到一定程度会使shuffle阶段的通信时延降低至没有参与计算,此再继续提高集群中各服务器之间的通信能力并不会降低任务执行总时延。而γ值较大时,shuffle阶段通信时延较高,此时在一定范围内提高服务器之间的传输速率必然会降低任务执行的总时延。同样地,本发明方法与其他方法相比可以获得最低时延。

最后,图6展示了在集群服务器数量为30,阈值为10-3的情况下,本发明方法在迭代过程中的时延关系,明显的阶跃表示迭代时在交替求解两个任务分配变量,并且能快速收敛到最优的作业完成总时延。

综合以上性能比较,本发明联合优化map和reduce的任务分配提出的资源调度方法在时延性能上优于其他对比方法,且在大规模网络中优势更加突出。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1