2.1.3 卸载决策
计算卸载的过程中会受到不同因素的影响,如用户的使用习惯、无线电信道的通信情况、回程连接的质量、移动设备的性能和云服务器的可用性等,因此计算卸载的关键在于指定适合的卸载决策。卸载决策通常按照需要进行计算卸载的任务的性能要求来确定。目前,计算卸载的性能通常以时间延迟和能量消耗作为衡量指标。时间延迟和能量消耗的计算具体分为以下两种情况。
1)在不进行计算卸载时,时间延迟是指在移动设备终端处执行本地计算所花费的时间;能量消耗是指在移动设备终端处执行本地计算所消耗的能量。
2)在进行计算卸载时,时间延迟是指卸载数据到MEC计算节点的传输时间、在MEC计算节点处的执行处理时间、接收来自MEC计算节点处理的数据结果的传输时间三者之和;能量消耗是指卸载数据到MEC计算节点的传输耗能、接收来自MEC计算节点处理的数据结果的传输耗能两部分之和。
卸载决策即UE决定是否卸载及卸载多少。UE由代码解析器、系统解析器和决策引擎组成,执行卸载决策需要3个步骤:首先,代码解析器根据应用程序类型和代码/数据分区确定哪些任务可以卸载;然后系统解析器负责监控各种参数,如可用带宽、要卸载的数据大小或执行本地应用程序所耗费的能量等;最后,决策引擎确定是否要卸载。一般来说,关于计算卸载的决策有以下三种方案。
● 本地执行(Local Execution):整个计算在UE本地完成;
● 完全卸载(Full Offloading):整个计算由MEC卸载和处理;
● 部分卸载(Partial Offloading):计算的一部分在本地处理,而另一部分则卸载到MEC服务器处理。
影响做出这3种决策的因素主要是UE能量消耗和完成计算任务延时。
卸载决策需要考虑计算时延因素,因为时延会影响用户的使用体验,并可能会导致耦合程序因为缺少该段计算结果而不能正常运行,因此所有的卸载决策至少都需要满足移动设备端程序所能接受的时间延迟限制。此外,还需考虑能量消耗问题,如果能量消耗过大,会导致移动设备终端的电池快速耗尽。最小化能耗即在满足时延条件的约束下,最小化能量消耗值。对于有些应用程序,若不需要最小化时延或能耗的某一个指标,则可以根据程序的具体需要,赋予时延和能耗指标不同的加权值,使二者数值之和最小,即总花费最小,称之为最大化收益的卸载决策。
卸载决策开始以后,接下来就要进行合理的计算资源分配。与计算决策类似,服务器端计算执行地点的选择将受到应用程序是否可以分割进行并行计算的影响。如果应用程序不满足分割性和并行计算性,那么只能给本次计算分配一个物理节点。相反,如果应用程序具有可分割性并支持并行计算,那么卸载程序将可以分布式地在多个虚拟机节点进行计算。