System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于容器的云边环境下的多工作流调度优化方法技术_技高网

一种基于容器的云边环境下的多工作流调度优化方法技术

技术编号:44304071 阅读:10 留言:0更新日期:2025-02-18 20:20
本发明专利技术公开了一种基于容器的云边环境下的多工作流调度优化方法,涉及智能技术调度优化技术领域,包括:建立多工作流调度优化模型;确定模型优化目标,建立编码方案并生成初始化编码;创建容器和虚拟机动态分配算法;基于以上步骤创建增强多目标非洲秃鹫算法;应用增强多目标非洲秃鹫算法对模型求解。本发明专利技术通过建立多工作流调度优化模型,并提出一种新的增强多目标非洲秃鹫算法求解,有效应对虚拟机和容器组成的双层架构中的多个优化目标,在算法中给出适当的编码方案并基于其提出容器和虚拟机动态分配算法,优化容器和虚拟机的资源分配和服务部署,算法的存档机制和自适应网格机制,能够解决启发式算法收敛速度慢、容易陷入局部最优的问题。

【技术实现步骤摘要】

本专利技术涉及智能计算调度优化,更具体地,涉及一种一种基于容器的云边环境下的多工作流调度优化方法


技术介绍

1、云计算资源具有可扩展性和灵活性优势,可为应用服务提供商提供更高的业务敏捷性和更显著的经济效益。边缘计算模式因其能保证对延迟敏感的应用的服务质量(qos)而日益流行。一方面,云服务器具有强大的计算能力,但远离用户且延迟较高;另一方面,虽然边缘服务器具有短距离优势,但无法为某些计算密集型微服务提供足够的计算能力。在边缘云环境中部署基于微服务的应用有望减少服务延迟。与传统架构相比,云计算和微服务架构提供的计算能力可以缩短开发周期,简化开发,并通过解耦应用和调整服务粒度来增强可扩展性。

2、在任务调度中,大多数微服务应用都被描述为工作流。一个工作流由多个任务组成,并遵循给定的执行顺序。工作流调度将相互依赖的任务映射到不同的地理分布资源上运行,以便快速完成工作流。在管理云环境中的应用工作流时,工作流任务调度控制器必须协调分布式资源,并调度任务在多个实例中执行。当实例不足以满足性能要求时,算法必须利用云资源创建新实例,以实现性能和成本之间的权衡。具体来说,由于容器启动速度快、开销低,因此可以很好地支持在微服务架构中部署微服务实例。由于虚拟机具有强大的隔离功能,因此在安全关键型场景中,虚拟机主机可容纳容器,从而形成双层架构。云提供商可以通过不同配置的虚拟机提供计算资源。

3、然而,具有多种配置的虚拟机和容器会给工作流任务的调度带来困难。首先,对于双层资源架构,有必要同时考虑容器和虚拟机层面的资源分配。此外,这两个层面的资源分配都受到资源向量的限制。其次,虚拟机之间不平衡的资源利用会导致系统欠载或过载。这会导致各种系统故障以及与功耗、执行时间和机器可靠性相关的重大问题。最后,由于同一虚拟机中的容器共享镜像,因此新添加的容器可以部署在具有相应镜像的虚拟机上。这有助于缩短镜像拉取时间和容器启动时间。

4、因此,有必要考虑如何充分利用现有镜像来提高任务调度的整体性能。在带有虚拟机和容器的双层架构中调度多个工作流是一件繁琐的事情。调度不当会导致资源利用率低下,可能会增加完成时间、能源消耗和运营成本。

5、在云边环境中,为了保持所需的服务质量,用户和云服务提供商之间必须达成服务级别协议。预期任务调度算法可以在时间和成本这两个相互冲突的需求之间做出良好的权衡。如何高效地调度具有多个目标的并发工作流是云边环境中的一个基本问题。此外,全球对环境问题的关注使数据中心的高能耗和碳排放成为一个重要问题。风能等可再生能源的碳排放量较低。云提供商可以通过将工作负载放在使用更多可再生能源的数据中心来减少碳排放。

6、基于虚拟机和容器的双层架构通常涉及动态资源分配、负载平衡和弹性扩展。这些问题具有高度动态性和复杂性。现有的启发式算法通常存在以下问题:(1)许多启发式算法旨在优化单一目标,因此不足以有效解决由虚拟机和容器组成的双层架构中的多个优化目标。(2)在由虚拟机和容器组成的双层架构中,资源分配和服务部署非常复杂。此外,现有的启发式算法缺乏适当的编码方案来有效应对这些挑战。(3)一些现有算法在解空间较大或复杂度较高的情况下收敛速度较慢。此外,这些算法还容易陷入局部最优状态,从而影响其识别全局最优解的能力。


技术实现思路

1、本专利技术的目的是克服上述
技术介绍
存在的(1)许多启发式算法旨在优化单一目标,因此不足以有效解决由虚拟机和容器组成的双层架构中的多个优化目标;(2)在由虚拟机和容器组成的双层架构中,资源分配和服务部署非常复杂,此外,现有的启发式算法缺乏适当的编码方案来有效应对这些挑战;(3)一些现有算法在解空间较大或复杂度较高的情况下收敛速度较慢并且容易陷入局部最优状态,从而影响其识别全局最优解的能力的问题,提供一种基于容器的云边环境下的多工作流调度优化方法。

2、为实现上述目的,本专利技术的技术方案如下:

3、本专利技术提供一种基于容器的云边环境下的多工作流调度优化方法,包括以下步骤:

4、根据工作流的执行关系建立基于容器的云边环境下的多工作流调度优化模型;

5、基于所述多工作流调度优化模型确定优化目标,并建立编码方案,并根据所述编码方案生成初始化编码;

6、根据所述优化目标和编码方案创建容器和虚拟机动态分配算法;

7、根据所述优化目标、所述编码方案以及所述容器和虚拟机动态分配算法创建包括存档机制和自适应网格机制的增强多目标非洲秃鹫算法;

8、基于所述初始化编码,应用所述增强多目标非洲秃鹫算法对所述多工作流调度优化模型进行求解。

9、优选地,所述多工作流调度优化模型包括:用户层、工作流层、微服务实例层、虚拟机层、边缘层和云层;

10、所述用户层包括多个用户设备,产生各种任务请求;

11、所述工作流层包括多个用户设备的任务请求形成的多个待调度工作流,每个待调度工作流包括若干个子任务;

12、所述微服务实例层包括根据子任务被分配的容器类型在虚拟机上创建的容器实例即微服务实例;

13、所述虚拟机层包括所有的虚拟机;

14、所述边缘层由部署在边缘计算节点的虚拟机抽象而来,用于进行边缘计算;

15、所述云层由部署在云计算节点的虚拟机抽象而来,用于进行云计算。

16、优选地,所述待调度工作流的结构用有向无环图表示,公式表示为其中表示工作流的任务集,表示任务ti和tj之间的优先级约束和数据传输方向,每个所述任务集用一个元组表示,表示任务ti的所有前置任务集合,表示任务ti的所有后置任务集合,di表示ti向tj输出数据的大小,没有前置任务和没有后继任务的任务分别表示为入口任务to和出口任务tf。

17、优选地,所述优化目标包括工作流的完工时间、总的工作流的能耗和碳排放量;

18、所述工作流的完工时间包括所述出口任务的完工时间;

19、所述总的工作流的能耗包括虚拟机在工作时的能耗、虚拟机在空闲时的能耗、两个计算节点之间的传输能耗以及用户设备的计算能耗;

20、所述碳排放量包括可再生能源和不可再生能源的碳排放量。

21、优选地,所述基于容器的云边环境包括一个云计算节点、多个边缘计算节点和多个用户计算节点,表示所有节点的集合,其中m是所有计算节点的数量,所有边缘计算节点和云计算节点构成一个完全连接的拓扑结构,用户计算节点是特殊的边缘计算节点,所述多工作流调度优化模型只考虑节点之间的数据传输时间,不考虑节点中单个虚拟机之间的数据传输时间,并且不考虑带宽容量分配,只考虑带宽大小对数据传输时间的影响,在所述多工作流调度优化模型中,计算资源主要由虚拟机提供,每个计算节点可以提供多种类型的虚拟机,虚拟机用集合表示,其中h表示虚拟机的数量,每个虚拟机都配置有两种待分配资源:cpu和内存。

22、优选地,所述编码方案为:为了表达多工作流的任务的调度方案,容器和虚拟机由两个整数字符本文档来自技高网...

【技术保护点】

1.一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,所述多工作流调度优化模型包括:用户层、工作流层、微服务实例层、虚拟机层、边缘层和云层;

3.根据权利要求2所述的一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,所述待调度工作流的结构用有向无环图表示,公式表示为其中表示工作流的任务集,表示任务ti和tj之间的优先级约束和数据传输方向,每个所述任务集用一个元组表示,表示任务ti的所有前置任务集合,表示任务ti的所有后置任务集合,di表示ti向tj输出数据的大小,没有前置任务和没有后继任务的任务分别表示为入口任务tO和出口任务tF。

4.根据权利要求3所述的一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,所述优化目标包括工作流的完工时间、总的工作流的能耗和碳排放量;

5.根据权利要求1所述的一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,所述基于容器的云边环境包括一个云计算节点、多个边缘计算节点和多个用户计算节点,表示所有节点的集合,其中m是所有计算节点的数量,所有边缘计算节点和云计算节点构成一个完全连接的拓扑结构,用户计算节点是特殊的边缘计算节点,所述多工作流调度优化模型只考虑节点之间的数据传输时间,不考虑节点中单个虚拟机之间的数据传输时间,并且不考虑带宽容量分配,只考虑带宽大小对数据传输时间的影响,在所述多工作流调度优化模型中,计算资源主要由虚拟机提供,每个计算节点可以提供多种类型的虚拟机,虚拟机用集合表示,其中h表示虚拟机的数量,每个虚拟机都配置有两种待分配资源:CPU和内存。

6.根据权利要求2所述的一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,所述编码方案为:为了表达多工作流的任务的调度方案,容器和虚拟机由两个整数字符串<U,V>进行编码,每个字符串的长度等于所有工作流的所有子任务数之和,字符串中每个位的索引与每个子任务相对应,U中每个位的值表示子任务对应的容器类型,V中元素的值表示执行子任务的虚拟机的索引,每个编码代表一个所述多工作流调度优化模型的解。

7.根据权利要求6所述的一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,采用片段线性混沌图来生成所述初始化编码,使初始解在解空间中均匀分布。

8.根据权利要求1所述的一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,所述容器和虚拟机动态分配算法首先会遍历虚拟机中的所有容器,并将所有符合判定条件的容器添加到列表中,其次计算当前任务在每个容器配置下的运行时间,并选择与最早完成时间相对应的容器配置。

9.根据权利要求8所述的一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,所述容器和虚拟机动态分配算法采用理想解的相似性排序偏好技术TOPSIS来选择最合适的虚拟机,以满足所述优化目标。

10.根据权利要求1所述的一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,所述增强多目标非洲秃鹫算法调用所述容器和虚拟机动态分配算法来评估每个秃鹫个体的所述优化目标值,并在每次迭代过程中使用自适应网格机制删除档案集中的冗余解,达到最大迭代次数后输出存储所述多工作流调度优化模型的解的档案集。

...

【技术特征摘要】

1.一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,所述多工作流调度优化模型包括:用户层、工作流层、微服务实例层、虚拟机层、边缘层和云层;

3.根据权利要求2所述的一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,所述待调度工作流的结构用有向无环图表示,公式表示为其中表示工作流的任务集,表示任务ti和tj之间的优先级约束和数据传输方向,每个所述任务集用一个元组表示,表示任务ti的所有前置任务集合,表示任务ti的所有后置任务集合,di表示ti向tj输出数据的大小,没有前置任务和没有后继任务的任务分别表示为入口任务to和出口任务tf。

4.根据权利要求3所述的一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,所述优化目标包括工作流的完工时间、总的工作流的能耗和碳排放量;

5.根据权利要求1所述的一种基于容器的云边环境下的多工作流调度优化方法,其特征在于,所述基于容器的云边环境包括一个云计算节点、多个边缘计算节点和多个用户计算节点,表示所有节点的集合,其中m是所有计算节点的数量,所有边缘计算节点和云计算节点构成一个完全连接的拓扑结构,用户计算节点是特殊的边缘计算节点,所述多工作流调度优化模型只考虑节点之间的数据传输时间,不考虑节点中单个虚拟机之间的数据传输时间,并且不考虑带宽容量分配,只考虑带宽大小对数据传输时间的影响,在所述多工作流调度优化模型中,计算资源主要由虚拟机提供,每个计算节点可以提供多种类型的虚拟机,虚拟机用集合表示,其中h表示虚拟机的数量...

【专利技术属性】
技术研发人员:王泽朱清华
申请(专利权)人:广东工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1