论文部分内容阅读
移动互联网和物联网技术的快速发展催生了许多计算量较大且对时延敏感的应用,例如云游戏、自动驾驶、视频直播、人脸识别等。这些应用不仅增加用户设备(User Equipment,UE)和物联网节点自身的计算负担,还产生了大量的数据传输业务,加重了网络的传输压力,且不适合部署在具有较大传输时延的云计算模式中。边缘计算是一种将计算和存储资源部署在近用户端的分布式服务计算模式,能够为UE或物联网节点提供低传输时延的计算和存储服务,有助于降低骨干网的数据传输量,减轻云中心的数据传输和处理压力。此外,UE或节点可以将自身计算业务迁移至边缘服务器端,在增强算力的同时还可以降低自身计算能耗。得益于上述优势,边缘计算己成为当前服务计算领域的热点方向,引起了学术界和产业界的广泛关注。
边缘计算的关键性能指标包括时延、能耗、可靠性等,对其进行优化具有重要的理论意义和实用价值,是相关研究的热点领域。已有的研究主要关注业务量等因素确定场景下的性能优化问题,忽略了相关因素的随机波动所带来的影响。另外,现有研究在考虑时延代价时,一般认为时延是固定的,或仅考虑平均时延代价,忽略了时延抖动的影响。本文在充分考虑时延和业务资源需求的随机波动特性的基础上,研究基于业务调度、资源配置和服务质量(Quality of Service,QoS)控制的边缘计算性能优化问题,其主要工作总结如下:
(1)提出了多接入边缘计算场景下抗时延抖动任务调度算法。考虑任务调用图的多接入任务迁移调度是一个典型的并行异构计算任务调度问题。本文提出两种同时考虑时延的平均值和波动幅度的新指标:时延风险概率(Delay Risk Probability,DRP)和最大可忍受时延(Maximum Tolerable Delay,MTD),并构建了相应的任务调度模型以最小化MTD。在异构最早完成时间(Heterogeneous Earliest-finish-time,HEFT)算法的基础上提出了改进的保守CHEFT(Conservative HEFT,CHEFT)和其高斯近似的Gau-CHEFT算法,在确定任务执行顺序和执行位置时均以最小化MTD作为决策依据,使算法能同时考虑时延的平均值和抖动值。在四个测试用例上的仿真结果表明本文提出的CHEFT和Gau-CHEFT算法相比于HEFT算法和贪婪算法能取得更低的MTD,具备更强的抗时延抖动能力。
(2)提出了业务量随机场景下基于负载均衡和资源动态配置的协作式边缘计算能耗优化方法。通过综合考虑计算能耗和重配置能耗构建了虚拟机服务器(Virtual Machine,VM)的期望能耗模型,从理论上证明期望能耗具有唯一的最小值点,且推导出取得最小能耗值的条件,在此基础提出基于二分法的计算资源最优配置算法。为降低系统整体能耗,进一步研究了协作式边缘计算场景下考虑服务可靠性约束的流量均衡和计算能力动态配置问题。当不设定业务分部类型时,使用业务量的历史直方图来快速估计其分布,并提出了一种启发式算法来求解业务的分配系数。当业务量服从高斯分布时,提出了一种交替优化算法,将原问题分解为一个业务分配子问题和计算资源动态配置子问题,前者是一个凸优化问题,可以通过成熟的凸优化算法进行求解;后者是一个拟凸问题,可使用二分搜索算法进行求解。蒙特卡洛仿真结果和PlanetLabVM负载数据集测试结果均验证了本文能耗模型的有效性,且表明本文提出的动态配置算法相比于静态配置算法能取得更低的能耗代价。
(3)提出了基于QoS控制和资源配置的服务可靠性最大化方法。本文将服务可靠性概率(Service Reliability Probability, SRP)定义为服务器的实时计算需求不大于其处理能力的概率,进一步构建了VM架构下的平均SRP(Average SRP,ASRP)最大化问题和容器架构下系统SRP(System SRP,SSRP)最大化问题。为了求解ASRP最大化问题,提出一种替代优化求解算法,将原问题分解为资源分配问题和服务质量控制问题,前者先使用Logistic近似法将问题中非凹目标转化为凹函数,再用KKT条件和对偶方法求解转换后的问题;后者是一个拟凸问题,提出了一种基于二分法和凸二阶锥规划的求解算法。容器架构下的SSRP最大化问题与服务质量控制问题本质上是一类问题,可以使用同样的方法求解。仿真结果表明本文算法能有效提升服务的可靠性,且表明容器架构相比VM架构在提升服务可靠性上更具优势。
(4)提出了基于多维度资源统筹配置的服务可靠性最大化方法。边缘计算中涉及的资源包括计算、输入/输出、缓存队列、磁盘读写、带宽、信号功率等多个维度,需要统筹配置以最大化服务可靠性。在基于VM架构和基于容器架构的服务可靠性建模的基础上,分别建立了针对两种架构的基于多维度资源配置的可靠性最大化问题,并提出了相应的求解算法。针对VM环境下的多维度资源配置问题,提出了一种交替优化方式来求解,每次交替迭代中优化一个维度的资源配置,并再次使用Logistic近似法将目标函数转化为凸函数,可以使用凸优化高效求解;针对容器环境下的多维度资源配置,通过对数变换将其转换为一个仅有范围约束的拟凸问题,可以直接通过求一阶导进行求解。仿真结果表明,本文方法在VM和容器两种服务器架构下相比于基准方法均能取得更高的服务可靠性,且再次表明容器架构在可靠性上的表现优于VM架构。
边缘计算的关键性能指标包括时延、能耗、可靠性等,对其进行优化具有重要的理论意义和实用价值,是相关研究的热点领域。已有的研究主要关注业务量等因素确定场景下的性能优化问题,忽略了相关因素的随机波动所带来的影响。另外,现有研究在考虑时延代价时,一般认为时延是固定的,或仅考虑平均时延代价,忽略了时延抖动的影响。本文在充分考虑时延和业务资源需求的随机波动特性的基础上,研究基于业务调度、资源配置和服务质量(Quality of Service,QoS)控制的边缘计算性能优化问题,其主要工作总结如下:
(1)提出了多接入边缘计算场景下抗时延抖动任务调度算法。考虑任务调用图的多接入任务迁移调度是一个典型的并行异构计算任务调度问题。本文提出两种同时考虑时延的平均值和波动幅度的新指标:时延风险概率(Delay Risk Probability,DRP)和最大可忍受时延(Maximum Tolerable Delay,MTD),并构建了相应的任务调度模型以最小化MTD。在异构最早完成时间(Heterogeneous Earliest-finish-time,HEFT)算法的基础上提出了改进的保守CHEFT(Conservative HEFT,CHEFT)和其高斯近似的Gau-CHEFT算法,在确定任务执行顺序和执行位置时均以最小化MTD作为决策依据,使算法能同时考虑时延的平均值和抖动值。在四个测试用例上的仿真结果表明本文提出的CHEFT和Gau-CHEFT算法相比于HEFT算法和贪婪算法能取得更低的MTD,具备更强的抗时延抖动能力。
(2)提出了业务量随机场景下基于负载均衡和资源动态配置的协作式边缘计算能耗优化方法。通过综合考虑计算能耗和重配置能耗构建了虚拟机服务器(Virtual Machine,VM)的期望能耗模型,从理论上证明期望能耗具有唯一的最小值点,且推导出取得最小能耗值的条件,在此基础提出基于二分法的计算资源最优配置算法。为降低系统整体能耗,进一步研究了协作式边缘计算场景下考虑服务可靠性约束的流量均衡和计算能力动态配置问题。当不设定业务分部类型时,使用业务量的历史直方图来快速估计其分布,并提出了一种启发式算法来求解业务的分配系数。当业务量服从高斯分布时,提出了一种交替优化算法,将原问题分解为一个业务分配子问题和计算资源动态配置子问题,前者是一个凸优化问题,可以通过成熟的凸优化算法进行求解;后者是一个拟凸问题,可使用二分搜索算法进行求解。蒙特卡洛仿真结果和PlanetLabVM负载数据集测试结果均验证了本文能耗模型的有效性,且表明本文提出的动态配置算法相比于静态配置算法能取得更低的能耗代价。
(3)提出了基于QoS控制和资源配置的服务可靠性最大化方法。本文将服务可靠性概率(Service Reliability Probability, SRP)定义为服务器的实时计算需求不大于其处理能力的概率,进一步构建了VM架构下的平均SRP(Average SRP,ASRP)最大化问题和容器架构下系统SRP(System SRP,SSRP)最大化问题。为了求解ASRP最大化问题,提出一种替代优化求解算法,将原问题分解为资源分配问题和服务质量控制问题,前者先使用Logistic近似法将问题中非凹目标转化为凹函数,再用KKT条件和对偶方法求解转换后的问题;后者是一个拟凸问题,提出了一种基于二分法和凸二阶锥规划的求解算法。容器架构下的SSRP最大化问题与服务质量控制问题本质上是一类问题,可以使用同样的方法求解。仿真结果表明本文算法能有效提升服务的可靠性,且表明容器架构相比VM架构在提升服务可靠性上更具优势。
(4)提出了基于多维度资源统筹配置的服务可靠性最大化方法。边缘计算中涉及的资源包括计算、输入/输出、缓存队列、磁盘读写、带宽、信号功率等多个维度,需要统筹配置以最大化服务可靠性。在基于VM架构和基于容器架构的服务可靠性建模的基础上,分别建立了针对两种架构的基于多维度资源配置的可靠性最大化问题,并提出了相应的求解算法。针对VM环境下的多维度资源配置问题,提出了一种交替优化方式来求解,每次交替迭代中优化一个维度的资源配置,并再次使用Logistic近似法将目标函数转化为凸函数,可以使用凸优化高效求解;针对容器环境下的多维度资源配置,通过对数变换将其转换为一个仅有范围约束的拟凸问题,可以直接通过求一阶导进行求解。仿真结果表明,本文方法在VM和容器两种服务器架构下相比于基准方法均能取得更高的服务可靠性,且再次表明容器架构在可靠性上的表现优于VM架构。