(论文分析)移动边缘计算服务器上自主驾驶任务的调度算法

论文题目:A scheduling algorithm for autonomous driving tasks on mobile edge computing servers

针对问题:在移动边缘服务器计算中如何安排请求车辆的任务。

目标:解决任务分配问题,使更多任务能够执行,确定任务应该分配给哪个ECS。使MEC服务器尽可能多地执行和完成这些时间受限的自主驾驶任务

解决方案:提出了一种任务调度算法,使ECS组能够执行尽可能多的时间约束任务,称为最佳替换调度(BFRS),考虑了自主驱动任务时间约束和紧迫性差异的特点,通过任务的替换和重组,基于改进的最早截止时间优先算法(EDF),选择更适合任务迁移的MEC服务器。

首先是对任务期限的确定,

自动驾驶任务的紧迫性不同且受到外部环境条件的影响。设计中,根据紧急程度将自主驾驶任务分为三个级别(包括极其重要的应用(EIA)、非常重要的应用程序(VIA)和相当重要的应用软件(FIA)),这里列出四种外部环境影响因素。根据任务的原始时间要求和任务紧急情况调整任务截止期限,在ECS的等待队列中中任务按照截止日期的升序排序,此处没有考虑ECS内部的调度,只考虑ECS之间的调度,假设ECS内的调度由EDF调度。在基于截止日期的任务队列中,通过文中提出的BRFS进行任务分配,BRFS包含直接执行策略DES和任务替换策略TRS对任务进行分配,会对每个确定好截止期限的任务然后逐个尝试这两个的策略。

直接执行策略(DES)(算法1)。ECS会有一个等待队列,其中有几个任务未处理,DES旨在寻找一个能够满足新到达任务时间限制的ECS。它包含确定是否在本地执行新到达的任务以及选择最合适的ECS的两种方法(EST First和SSFI First).首先简单地基于EDF检查任务是否可以直接在本地ECS上执行。如果没有,则检查任务是否可以直接在其他ECS上执行,并选择最合适的ECS,这里由最早的开始时间(EST)或最短的充分空闲时间(SSFI)选择。

任务替换策略(TRS)(算法2)。DES可能无法找到满足任务时间限制的ECS,此时TRS旨在通过任务的替换和重组,为新到达的任务的执行提供更多的可能性,它通过替换ECS等待队列中已经存在的几个计算量较少的任务来执行新到达的大型任务。因为它们具有更短的执行时间,这使得它们更容易分散到其他ECS。首先根据本地等待队列的状态,确定是否可以将本地较少计算的任务迁移到其他ECS,以便为执行新到达的任务提供更长的空闲时间间隔。如果TRS无法使新任务在本地ESC上执行,它将查找其他ECS。TRS将迭代每个ECS,迭代顺序是ECS按照最短的空闲时间降序排序。如果所有ECS都不能执行新到达的任务,则系统将通知自动驾驶车辆,其打算卸载给MEC的任务此时无法执行。

实验与结果:

对正常EDF、DES、BRFS(DES+TRS)三种算法进行了仿真和比较,设计了两个度量:完成率(CR)和计算工作量完成率(CWCR)。实验表明,随着任务量的增加,BFRS能够有效地工作,任务完成率有很大提高。在适当延长非紧急任务截止日期的情况下,它最多可以执行比正常EDF多4.11%的任务,执行约多26%的紧急任务,计算工作量完成率显示出类似趋势。自动驾驶车辆可以将更多任务分配给边缘计算,因此可以节省车辆能量,减少事故,提高系统安全性。

好的点:通过任务紧急的区分,文中虽然对一些任务最终期限有所延长,但最终却可以执行比普通算法执行的任务更多,完成更多任务计算量比较大的任务。

不好的点:实验中用到的权重参数并非通过学习获得,而是人为设置的,影响因素的权重是根据经验和常识确定的,里面提出的算法很多几乎都是通过迭代实现的,所以时间复杂度会相对比较高,里面考虑的各种环境影响因素只有四种,然后里面还做了很多条件假设,比如假设数据的上传和下载时间可以忽略、假设每个BS中只有一个ECS。

你可能感兴趣的:(计算卸载,边缘计算,网络)