一种多资源偏序调度策略的制作方法

文档序号:9631434阅读:441来源:国知局
一种多资源偏序调度策略的制作方法
【技术领域】
[0001] 本发明涉及到互联网技术领域,特别适用于NFV(包括SDN)等新型体系架构环境, 涉及一种多资源偏序调度策略。
【背景技术】
[0002] 无论是NFV、SDN、云计算,还是数据中心,任务扮演着十分重要的角色。所谓任务 是指,用户从发送一个请求到最终响应的最小应用单元,它相当于一次的应用实例响应。例 如在NFV网络中,NFV基础设施(简称NFVI)将硬件抽象成一系列的虚拟资源,虚拟网络功 能(简称VNF)则根据不同任务需求形成服务链。作为具有全局视角的NFV编排器,它将统 一管理这些服务,通过尽量充分利用这些虚拟资源来使每个需要调度的任务达到最优。
[0003] 然而,调度这些任务具有以下挑战。一是传统的流调度算法并未考虑流之间的关 系。一般情况下,任务包含若干个子任务,每个子任务可以由若干个流组成,例如,云中的 MapReduce包含两阶段的子任务,即map和reduce。这些流和子任务都存在着依赖关系,如 reduce相关子任务只能在map子任务之后才会被考虑。因此,兼顾考虑每个子任务之间的 关系,可以使调度时间达到最优,并可以使资源得到充分利用。二是资源类型的多样化。每 个虚拟化功能将会涉及多种资源,诸如CPU、内存、硬盘和网络等。多资源的限制会导致传统 的求解方法,如关键路径法(简称CPM)等失效,增加了调度算法的难度,理论证明,该问题 是一个NP-hard问题,无法在多项式时间内完成。

【发明内容】

[0004] 为了克服上述现有技术的缺点,本发明的目的在于提供一种多资源偏序调度策 略,该策略是贪婪的多项式时间算法,它充分利用了虚拟资源,保证了任务平均时间和平均 尾时间最短,并确保所有任务不会因为资源的充分利用而被饿死的情况发生,该策略将会 使发起任务的终端用户总体利益达到最大。
[0005] 为了实现上述目的,本发明采用的技术方案是:
[0006] -种多资源偏序调度策略,在NFV网络架构中,将基于偏序结构的多资源任务调 度问题形式化为如下模型:
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
1,3- W
[0013] 其中,D为一个多目标矩阵,包含两个子目标DJPD2,Di为平均处理时间,02为 尾处理时间,
为所有任务集合,每个任务ieT分解成为 一系列的子任务(i,j),S表示所有子任务(i,j)的集合,对于任务i,任务的开始时间和 处理时间分别定义为<和<,而子任务(i,j)的开始时间、处理时间和结束时间则分别定 义为<;、4和·ζ,对于子任务(i,j),其前趋集和后继集分别定义为17(/>和1|:(^,式中 /er7U)表示,子任务(i,j)是子任务(i,j)的前趋子任务,显然表示子任务(i,j) 的结束时间,<,(〇表示子任务(i,j)在时刻t分配资源r的数量,R表示资源类型有限集, 资源reR,^则表示子任务(i,j)对资源r的需求,y表示为资源reR的容量;
[0014] 实现该模型即实现了多资源偏序任务调度。
[0015] 采用基于事件驱动的两阶段多项式时间算法实现上述模型,算法步骤如下:
[0016] 步骤1 :将所有即将调度的子任务按主控资源分组;
[0017] 步骤2 :组内子任务优先级设置:在每个主控资源分组内根据子任务的开始时间 和处理时间来判断最低优先级,并根据这个优先级确定子任务的调度顺序;
[0018] 步骤3 :求出最大无关向量组子任务;
[0019] 步骤4 :根据当前待调度的子任务的需求矩阵进行资源分配;
[0020] 步骤5 :当子任务完成后,即在冲刺期之后,如果没有子任务,则等待新子任务的 到达;否则返回步骤3 ;当一个新子任务到达后,则重新进行步骤1。
[0021] 所述步骤1中,通过如下方式分组:
[0022] 步骤1. 1根据
计算子任务(i,j)的主控资源,其中€表示为子任 务(i,j)的主控资源;
[0023] 步骤1. 2具有相同的主控资源《的子任务(i,j)被分至同一类主控资源组中。
[0024] 所述步骤2中,通过如下方式设置组内子任务优先级:
[0025] 步骤2. 1定义每个子任务的开始时间,如果是该子任务没有前趋,或者所 有前趋已经完成调度,此时,该子任务开始时间是已知的,即为 否则的话,将根据
计算子任务的开始时间,其中表示子任务(i,j)的前趋子任务 (i,j)的开始时间〇和<,-则表示为子任务(i,j)对应主控资源^的需求及容量; ?广
[0026] 步骤2. 2计算每个子任务(i,j)的处理时间估计值G ,其中@表示子任务 cu (i,j)处理时间的估计值;与步骤2. 1中的定义类似,和表示为子任务(i,j)对应 主控资源的需求及容量;
[0027] 步骤2.3利用公式〇/?/^./)=<+12计算每个子任务(^)的01^值;
[0028] 步骤2. 4根据DRP值,对每个组内子任务分别进行排序;若有新的子任务到达时, 该子任务将根据其DRP值插入到已经排好序的队列中。
[0029] 所述步骤3中,通过如下步骤求出最大无关向量组子任务:
[0030] 步骤3. 1取出每个组最小DRP值的子任务,将它们的需求组成一个需求矩阵;
[0031] 步骤3. 2求出该需求矩阵的最大无关向量组,如果是满秩的,则表明所有子任务 都将被调度;如果不是满秩的,则说明仍然有子任务线性相关,将不会在本轮被调度;
[0032] 步骤3. 3将所有线性相关的子任务返回到相应的队列头当中,等待下一轮的调 度。
[0033] 所述步骤4中,整个分配阶段分为稳定期和冲刺期两个阶段,利用最大利用率分 配(MUA)算法实现资源分配,该算法步骤如下:
[0034] 步骤4. 1计算待调度的子任务分配份额值ku,其矩阵计算由V)给 出,其中,(&,)、(<;)和(c〇分别表示子任务(i,j)分配份额矩阵、需求矩阵和容量矩阵, (<,广则表示对需求矩阵求逆矩阵;
[0035] 步骤4. 2在稳定期t,子任务(i,j)对资源r的分配值⑴为Λ·;,.⑴= ;
[0036] 步骤4. 3在冲刺期t,子任务(i,j)对资源r的分配值将变为
,:其中符号「1表示对数值进行上取整。
[0037] 本发明首次提出了在NFV网络中多资源偏序调度问题。现有的调度算法仅针对其 中的几点限制来研究。DRF算法提出一种公平的多资源流算法。该算法提出了主控资源的 概念,这使得多资源问题可以简化到一种单资源问题。然而DRF算法并未考虑流间关系问 题,使得该算法无法高效地使用在基于任务的调度上来。FIF0-LM算法则针对任务调度提出 一种序列化算法,理论上可以使单资源调度问题达到最优。然而该策略未考虑多资源的问 题。对于多资源,事实证明FIF0-LM策略对于多资源情况并不一定都能达到最优状况。MR3 算法和GMR3算法类似,都考虑了多资源任务调度问题,而任务中的子任务之间仅为链状结 构,对于较为复杂的偏序结构问题则并未考虑。Myopia策略考虑了NFV场景下多资源任务 问题,将该问题又向前推进一步。然而该策略仍然未考虑偏序结构,仍然无法较为复杂的偏 序任务调度问题。此外,传统的偏序算法,如CPM,并未考虑资源的限制,也很难解决NFV网 络中多资源偏序调度问题。
[0038] 与现有技术相比,本发明的有益效果还表现在如下几个方面:
[0039] (1)最优性。相对于现有技术,该算法具有最优特性。它是公平共享算法和序列化 算法的权衡。通过贪婪的占用资源,来实现最优的平均调度时间和尾调度时间
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1