【第106期】边缘计算资源弹性调度的算法与优化方案

发布于:2023-09-27 ⋅ 阅读:(124) ⋅ 点赞:(0)

作者:禅与计算机程序设计艺术

1.简介

边缘计算(Edge computing)作为一种新型的数据处理技术,其特点在于能够满足用户数据快速、低延迟、低成本等要求。由于边缘设备计算能力有限、网络带宽有限等因素,因此,云计算模型无法直接部署到边缘设备上,需要引入新的计算调度方法对边缘计算资源进行弹性调度。传统的资源调度算法主要基于队列排队模型或公平调度模型,难以很好地满足边缘计算环境中的异构异质分布式系统和多任务竞争场景下的需求。为了解决此类问题,提高边缘计算平台的资源利用率和性能,提升服务质量,华为正在探索基于机器学习、图神经网络、遗传算法、贪心算法等新型算法进行边缘计算资源弹性调度的研究。本文将详细介绍边缘计算资源弹性调度算法及其优化方案。

2.背景介绍

2.1 边缘计算概述

边缘计算是一种通过在移动设备、传感器、传感网等周边设备上执行计算任务,以满足用户需求的方式。边缘计算技术通常采用云计算模型,将计算任务分配给云端服务器进行处理,并将结果返回给移动设备。但是,由于移动设备具有较弱的计算能力、网络带宽等限制因素,导致云计算模型无法直接部署到边缘设备上。为了解决这个问题,边缘计算平台对计算资源进行弹性调度,将可用的边缘计算资源动态分配给各个请求者。

2.2 边缘计算的特点

(1)高算力

边缘设备的计算能力一般都很强悍,可以支持复杂的业务逻辑,比如图像分析、物联网(IoT)传感网等。

(2)低功耗

边缘设备的电源功率往往比较低,能源密度相对云服务器低很多,因此,边缘设备的闲置时间也会比云服务器短很多。

(3)灵活部署

边缘设备的部署方式有多种,可以安装在家庭、办公室、车库等各种场所,可以根据当地的网络环境选择不同的传输链路。

(4)数据量小

边缘设备的存储空间和计算能力都很有限,因此,存储和处理数据的效率更重要。

(5)用户需求不稳定

边缘计算环境中的用户需求可能随时发生变化,因此,边缘计算平台应当具备良好的鲁棒性和实时响应能力。

(6)低延时

对于一些实时性要求高的应用,比如监控视频分析、边检等,边缘计算平台必须提供高效、低延时的服务。

(7)低成本

边缘计算平台通过降低计算成本来实现收益最大化,减少设备投入,节约运营成本。

2.3 边缘计算的部署模式

边缘计算平台的部署模式有两种:

  • 中央云部署模式
    在这种模式下,边缘计算平台部署在中心区域,由中心云服务器进行任务调度、任务管理、任务分发、节点维护等工作。

  • 本地部署模式
    在这种模式下,边缘计算平台部署在用户所在的小区内,使用户能够便捷地接入、使用和管理自己的边缘计算资源。

2.4 边缘计算的挑战

边缘计算平台面临的主要挑战如下:

  1. 数据中心网络延迟
    由于边缘设备距离数据中心较远,因此,边缘计算平台需要设计具有低延时特性的网络结构,保证任务的快速响应。

  2. 异构异质分布式系统
    边缘计算平台面临的是一个异构、异质、分布式的系统环境。设备数量多且异构,不同类型的设备的性能也差距较大,因此,需要开发出灵活、高效的资源调度策略。

  3. 服务质量保证
    边缘计算平台必须保证服务质量,确保任务处理的准确性和完整性。

  4. 用户体验
    用户的可用性和便利性对边缘计算平台至关重要,需要考虑如何让用户更加方便地使用和管理自己的边缘计算资源。

3. 边缘计算资源弹性调度的基础概念和术语

边缘计算资源弹性调度最主要的两个概念是“虚拟资源”和“集群”。

3.1 虚拟资源

边缘计算平台一般通过虚拟资源来模拟真实的物理资源,包括硬件资源(CPU、GPU、内存)、网络资源、存储资源等。每个虚拟资源的状态信息记录着资源的总量、剩余量和使用量。

3.2 集群

集群是一个资源集合,通常由一组同类的虚拟资源组成。一般来说,集群中的所有虚拟资源共享相同的硬件、网络、存储等基础设施。集群内部通过分布式协作的方式完成对任务的调度和管理。

3.3 调度原理

调度器负责对任务进行调度,决定哪些虚拟资源被分配到某个集群中运行,哪些虚拟资源暂停运行,以及任务的运行顺序。调度器的主要目标是对集群的整体资源利用率和任务的响应时间进行优化。目前,调度器有多种调度算法,如先进先出算法FIFO、最少任务优先算法SJF、最短处理时间优先算法SPT、多级反馈队列调度算法MFQ等。

4. 边缘计算资源弹性调度的算法与优化方案

4.1 资源管理层级

边缘计算资源管理的第一层级是系统整体资源管理,即集群的总容量、利用率和服务质量。第二层级是集群级别资源管理,即集群中每个资源的容量、利用率和服务质量。第三层级是虚拟机级别资源管理,即每个虚拟机的容量、利用率和服务质量。

4.2 弹性调度算法

(1)指标优化调度算法

指标优化调度算法(Metric Optimization Scheduling Algorithm,MOSA)是基于某一指标的虚拟机的利用率进行调整。该算法按照虚拟机的利用率指标进行排序,然后根据计算集群的总容量、利用率和服务质量的限制条件,依次选取排名靠前的虚拟机将其释放出来运行,直至集群的总容量、利用率、服务质量达到指定的目标值。由于该算法对每个虚拟机的容量、利用率和服务质量都进行优化,因此,它可以较好的达到各项指标的目标值。MOSA算法不仅适用于非分布式场景,还可以适用于分布式场景中的云上裸金属平台。

(2)多目标调度算法

多目标调度算法(Multi-Objective Scheduling Algorithm,MOS)是同时对虚拟机的容量、利用率和服务质量进行优化。该算法首先将虚拟机划分为多个子集,每个子集只包含虚拟机的一个特定维度的特征,比如利用率的低、容量的高等。然后,针对每个子集,基于指标优化算法或者多目标调度算法进行调度。最后,通过综合各个子集的调度结果,获取集群的整体资源利用率、总容量、服务质量的最优配置。多目标调度算法在调度方面既考虑了资源利用率、容量、服务质量三个指标的优化,又考虑了多个目标之间的权重、 trade off关系。

(3)强制调度算法

强制调度算法(Forced Scheduling Algorithm,FSA)是指当集群容量或利用率超过阈值的情况下,对虚拟机进行调度,增强资源利用率。FSA的目标是在集群总容量和利用率之间找到平衡点,使得总容量和利用率之间的差值最小,也就是虚拟机的平均等待时间最小。

(4)QoS平衡调度算法

QoS平衡调度算法(Quality of Service Balancing Scheduling Algorithm,QoSBA)是一种基于队列长度的调度算法,通过定义权重来控制各个集群的调度策略。QoSBA算法的基本思想是,先确定资源的QoS要求,然后设置不同的权重,使得对应权重的虚拟机拥有的资源比例尽可能接近。

(5)约束调度算法

约束调度算法(Constraint Scheduling Algorithm,CSA)是一种基于约束的调度算法,通过对虚拟机做约束,例如硬件、网络和存储的限制条件,可以提高集群的资源利用率。CSA的核心思想是,通过设置资源限制条件,使得虚拟机的调度更有效率。

(6)跨群集调度算法

跨群集调度算法(Cross-Cluster Scheduling Algorithm,CCSA)是一种基于队列长度的调度算法,用于对异构异质分布式系统中的虚拟机进行调度。CCSA的基本思想是,从多个队列中按照队列长度优先的原则选取虚拟机进行调度,当队列空的时候再从其他队列中选取。

(7)多算法混合调度算法

多算法混合调度算法(Multiple Algorithms Hybrid Scheduling Algorithm,MAHSA)是一种基于多种算法的混合调度算法,结合了指标优化、多目标调度、强制调度等调度算法,提高集群的资源利用率、服务质量和调度效率。MAHSA算法根据集群、队列、虚拟机的属性,选择相应的调度算法。

4.3 弹性调度优化

边缘计算平台的弹性调度优化可以分为两大类:

  1. 资源调度优化:包括弹性扩容、资源隔离和分布式调度。
  2. QoS调度优化:包括QoS引导调度、QoS平滑调度和QoS组合调度。

(1)弹性扩容

边缘计算平台在资源紧张时,可以采用弹性扩容的方法来增加资源的利用率,以提高服务质量。一般来说,资源扩容可以分为两种形式:

  • 增量扩容:通过新增虚拟机的方式来增加资源的利用率。增量扩容有助于缓解资源不足的问题,但存在着成本过高的问题。
  • 弹性扩容:通过虚拟机的数量、规格、网络拓扑等参数的变化,来增加虚拟机的容量和利用率。这种方法可以更好地满足用户的需求,且能通过弹性扩容来降低云计算平台的成本。

(2)资源隔离

资源隔离是为了避免不同类型设备的资源冲突,而采取的一种资源分配策略。边缘计算平台可以对虚拟机进行分组,按需部署在不同的集群中,也可以在物理层面进行资源隔离。分组可以提高资源利用率和任务的隔离性,也有助于防止资源的过度利用。

(3)分布式调度

分布式调度是指将边缘计算平台的调度功能分布到不同的数据中心,以减轻数据中心的负担。分布式调度可以减少数据中心的单点故障风险,提高集群的容量和利用率。

(4)QoS引导调度

QoS引导调度(Quality of Service Guided Scheduling,QSGS)是一种基于预测队列长度的调度算法。QSGS的目标是通过分析当前集群的QoS分布情况,预测后续集群的QoS分布情况,并通过调度和重定位的方式来平衡集群的QoS。

(5)QoS平滑调度

QoS平滑调度(Quality of Service Smooth Scheduling,QSOS)是一种基于路径平滑度的调度算法。QSOS的目标是在不影响任务正常运行的前提下,平衡整个集群的QoS分布情况。

(6)QoS组合调度

QoS组合调度(Quality of Service Combination Scheduling,QSCO)是一种基于多指标的调度算法。QSCO的目标是通过多种指标,结合协同调度来改善集群的QoS。

5. 弹性调度算法的数学公式和具体操作步骤

5.1 指标优化调度算法

指标优化调度算法(Metric Optimization Scheduling Algorithm,MOSA)的目的是在一定资源和性能限制下,对虚拟机的利用率进行优化。算法过程如下:

  1. 对虚拟机的资源利用率进行评估。一般来说,虚拟机的资源利用率可以用资源利用率(Utilization)、空闲率(Idle Rate)、等待时间(Waiting Time)以及队列长度四个指标来表示。
  2. 将虚拟机按利用率从高到低的顺序排列。
  3. 从排名靠前的虚拟机开始,一次释放一定比例的总容量给该虚拟机运行。
  4. 当总容量和资源使用量达到指定值后停止释放。
  5. 重复以上过程,直到虚拟机的总容量、利用率、服务质量达到目标值。

5.2 多目标调度算法

多目标调度算法(Multi-Objective Scheduling Algorithm,MOS)是指同时对虚拟机的容量、利用率和服务质量进行优化。算法过程如下:

  1. 根据虚拟机的性能特性,将其划分为多个子集。子集的划分通常要根据虚拟机的容量、利用率、服务质量、延迟、抖动、饱和度等性能指标。
  2. 对每个子集分别采用指标优化算法或多目标调度算法,得到各自的调度结果。
  3. 通过综合各个子集的调度结果,得到集群的整体资源利用率、总容量、服务质量的最优配置。

5.3 强制调度算法

强制调度算法(Forced Scheduling Algorithm,FSA)是指当集群容量或利用率超过阈值的情况下,对虚拟机进行调度,增强资源利用率。算法过程如下:

  1. 当集群容量或利用率超过阈值时,开始进行强制调度。
  2. 首先,根据虚拟机的大小、处理时间和网络流量等性能特征,对它们进行分类。
  3. 对属于不同类别的虚拟机,设置不同的调度策略,比如分配的总容量和等待时间。
  4. 最后,按照调度策略进行调度,并根据调度结果检查集群的容量和利用率是否达到要求。

5.4 QoS平衡调度算法

QoS平衡调度算法(Quality of Service Balancing Scheduling Algorithm,QoSBA)是一种基于队列长度的调度算法,通过定义权重来控制各个集群的调度策略。算法过程如下:

  1. 为集群设置不同的QoS指标要求,如时延、丢包率、资源利用率等。
  2. 设置权重,将集群的资源利用率与所设置的QoS指标要求进行匹配。
  3. 根据QoS权重,生成调度表,计算各个虚拟机的最终的调度比例。
  4. 使用调度表来分配资源。

5.5 约束调度算法

约束调度算法(Constraint Scheduling Algorithm,CSA)是一种基于约束的调度算法,通过对虚拟机做约束,例如硬件、网络和存储的限制条件,可以提高集群的资源利用率。算法过程如下:

  1. 基于现有虚拟机的硬件和网络性能、虚拟机的CPU和内存占用率,计算虚拟机的性能限制条件。
  2. 对虚拟机进行分类,按其性能限制条件分类。
  3. 在每一类虚拟机中选择符合条件的虚拟机,将其分配到相应的资源池。
  4. 重复以上步骤,直到所有虚拟机都被分配到资源池。

5.6 跨群集调度算法

跨群集调度算法(Cross-Cluster Scheduling Algorithm,CCSA)是一种基于队列长度的调度算法,用于对异构异质分布式系统中的虚拟机进行调度。算法过程如下:

  1. 在每个群集中,根据虚拟机的性能特征和服务质量,对它们进行分类。
  2. 分别在群集间进行虚拟机的迁移,减少群集间的通信开销。
  3. 每个群集中生成调度表,计算各个虚拟机的最终的调度比例。
  4. 使用调度表来分配资源。

5.7 多算法混合调度算法

多算法混合调度算法(Multiple Algorithms Hybrid Scheduling Algorithm,MAHSA)是一种基于多种算法的混合调度算法,结合了指标优化、多目标调度、强制调度等调度算法,提高集群的资源利用率、服务质量和调度效率。算法过程如下:

  1. 根据集群、队列、虚拟机的属性,选择相应的调度算法。
  2. 调用相应的调度算法,对虚拟机进行调度。
  3. 根据调度结果检查集群的容量、利用率、服务质量是否达到要求。

网站公告

今日签到

点亮在社区的每一天
去签到