1.一种基于移动边缘计算的依赖型任务卸载方法,其特征是,包括以下过程:
将移动终端上的应用形式化为多个任务组成的工作流,并用dag图表示;
遍历应用的dag图,依据遍历的深度将工作流中所有任务划分为不同调度层并确定各调度层的执行顺序;
为每个调度层内的各任务分配不同的优先级,依据任务的优先级顺序调整调度层内各任务执行顺序;
计算工作流中各任务的执行代价;
以应用的所有任务执行代价之和最小化为目标,按照任务执行顺序依次确定每个任务的卸载决策。
2.根据权利要求1所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,所述依据遍历的深度将工作流中所有任务划分为不同调度层,包括:
寻找应用工作流的入口任务;
从入口任务开始,采用广度优先算法遍历应用的dag图,遍历的深度为每个任务分配调度编号,具有相同调度编号的任务划分为一个调度层。
3.根据权利要求2所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,所述寻找应用工作流的入口任务时,当存在多个入口任务时,加入虚拟任务节点,将虚拟任务节点与原多个入口任务节点连接形成新的dag图,以虚拟任务节点作为工作流的入口任务。
4.根据权利要求1所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,所述为各任务分配不同的优先级,包括:
定义调度层中不同任务的优先级为计算平均计算数据量的价值,公式为:
其中,
5.根据权利要求4所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,所述依据任务的优先级顺序调整调度层内各任务执行顺序,包括:
将任务的优先级从大到小顺序作为调度层内各任务执行顺序。
6.根据权利要求1所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,计算工作流中各任务的执行代价,包括:
任务vi的完成时间由三部分组成:任务的卸载延迟tilat,任务计算时间tiexe和依赖任务间的数据传输时间ti',i,假设任务vi'是任务vi的前驱任务,卸载延迟tilat的计算公式为:
任务的计算时间tiexe表示为:
其中,wi是任务vi的计算数据量;
基于任务vi'和任务vi的卸载不同情况,依赖任务间的数据传输时间ti',i可以表示为:
其中,di',i表示任务间的传输数据量;stn表示卸载决策的不同情况:
其中,
任务的完成时间表示为efti=esti+tiexe,令efti表示任务vi的最早完成时间,esti为任务vi的最早开始时间,tiexe为任务vi的计算时间;其中,
移动终端的任务能耗由两部分组成:执行能耗和传输能耗,对于执行能耗,由于移动终端包括执行和空闲两个状态,所以执行能耗可以表示为:
其中,tiwait为任务vi等待时间;
传输能耗只有当卸载决策与移动终端即本地执行相关时才会产生,当任务vi'和任务vi其中一个任务在本地执行,另外一个任务卸载所产生的能耗表示为:
因此,任务vi总的能耗可以表示为:
从而将任务vi的执行代价定义为:
其中,til和
7.根据权利要求1所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,所述目标为:
目标函数表达为:
其中,cost为应用所有任务的执行代价之和,xi为每个任务的卸载决策,esti为任务的最早开始时间,efti为任务的最早完成时间,ti',i为依赖任务间的数据传输时间,xm为应用程序中输出任务vm的卸载策略,m为任务数量;
限制条件c1保证计算任务只有等待其前驱任务执行完成后才开始执行;限制条件c2表明应用的输出任务只能在本地执行。
8.根据权利要求1所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,所述以应用的所有任务执行代价之和最小化为目标,按照任务执行顺序依次确定每个任务的卸载决策,包括:
以应用的所有任务执行代价之和最小化为目标,按照调度层执行顺序逐层采用改进蚁群算法求解所述目标,按照任务执行顺序确定每个任务的卸载决策。
9.根据权利要求8所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,所述采用改进蚁群算法求解所述目标,按照任务执行顺序依次确定每个任务的卸载决策,包括:
步骤1:构建可行解中引入伪随机比例选择规则,此处每只蚂蚁的可行解解指该蚂蚁所得到的卸载决策,求解蚂蚁编号临界值:
其中,k表示蚂蚁数量;
步骤2:若蚂蚁编号小于等于蚂蚁编号临界值,根据最优路径上的卸载决策确定任务卸载位置,若蚂蚁编号大于蚂蚁编号临界值,计算转移概率,根据轮盘赌原则选择任务执行位置;
转移概率的计算公式为:
其中,α和β分别表示信息素和启发因子加权值;
步骤3:计算每只蚂蚁的社会值socialk,比较社会值socialk与设定阈值social的大小,若socialk≥social,则蚂蚁为兵蚁,分配较大的权重系数进行局部信息素更新;若socialk<social,则蚂蚁为工蚁,分配较小的权重系数进行局部信息素更新;
信息素强度更新的公式为:
其中,k表示蚂蚁编号,socialk表示每只蚂蚁的社会值,由本次迭代最优路径上决策的任务执行代价costiter和蚂蚁k对应决策的任务执行代价costk来决定,costiter和costk的值依据蚂蚁对当前调度层中任务的卸载决策,根据任务的执行代价计算公式可得;
步骤4:选出本次迭代最优路径,融入奖惩系数进行全局信息素更新:
其中,
步骤5:采用sigmoid函数,动态调整全局信息素浓度的挥发:
其中,
步骤6:循环迭代,最终得到应用所有组成任务的最优卸载决策。
10.一种基于移动边缘计算的依赖型任务卸载装置,其特征是,包括:
工作流转化模块,用于将移动终端上的应用形式化为多个任务组成的工作流,并用dag图表示;
调度层划分模块,用于遍历应用的dag图,依据遍历的深度将工作流中所有任务划分为不同调度层并确定各调度层的执行顺序;
任务顺序调整模块,用于为每个调度层内的各任务分配不同的优先级,依据任务的优先级顺序调整调度层内各任务执行顺序;
执行代价计算模块,用于计算工作流中各任务的执行代价;
卸载决策计算模块,用于以应用的所有任务执行代价之和最小化为目标,按照任务执行顺序确定每个任务的卸载决策。