CN116225649A - 一种细粒度电力任务云边协同优化调度方法 - Google Patents

一种细粒度电力任务云边协同优化调度方法 Download PDF

Info

Publication number
CN116225649A
CN116225649A CN202310176442.0A CN202310176442A CN116225649A CN 116225649 A CN116225649 A CN 116225649A CN 202310176442 A CN202310176442 A CN 202310176442A CN 116225649 A CN116225649 A CN 116225649A
Authority
CN
China
Prior art keywords
micro
task
service
container
services
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310176442.0A
Other languages
English (en)
Inventor
陈羽
程钎
孙伶雁
彭克
王玮
王敬华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University of Technology
Original Assignee
Shandong University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong University of Technology filed Critical Shandong University of Technology
Priority to CN202310176442.0A priority Critical patent/CN116225649A/zh
Publication of CN116225649A publication Critical patent/CN116225649A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Water Supply & Treatment (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

一种细粒度电力任务云边协同优化调度方法,属于配电物联网边缘计算技术领域。其特征在于:包括如下步骤:步骤a,布置边缘计算网络场景;步骤b,建立任务模型及确定任务信息;步骤c,考虑服务配置的微服务处理模型;步骤d,微服务时延以及能耗的计算;步骤e,调度约束与目标数的建立;步骤f,基于NSGA‑Ⅱ的任务调度算法设计;步骤g,基于模糊逻辑的权重计算;步骤h,对最前沿的所有接进行排序。在本细粒度电力任务云边协同优化调度方法中,综合考虑微服务执行约束、任务排队、服务配置、设备资源以及任务属性,减小了任务执行时间和能耗,克服了现有技术中单个边设备资源有限,难以实现对所有任务进行本地的低延时与低能耗处理的问题。

Description

一种细粒度电力任务云边协同优化调度方法
技术领域
一种细粒度电力任务云边协同优化调度方法,属于配电物联网边缘计算技术领域。
背景技术
在新型电力***建设的大背景下,用户侧分布式电源接入、电动汽车智能充放电以及低碳楼宇等新应用场景促使业务种类及数量不断增加,使得云计算在实时性及能耗上体现出了许多不足。边缘计算技术是云计算的延伸,将计算能力从中心化的云端迁移到边设备中,可实现对电力任务快速、就近处理,提升服务质量。
传统云平台以单体应用的方式通过虚拟机进行发布,每个应用就是一个整体,应用需要整体调度,灵活性较差并且时间、能耗成本较高。面向涌现出的业务增量,边设备采用微服务架构和容器技术实现一台物理设备对不同业务的处理。配电网边缘侧业务构成复杂,各类业务对边缘计算功能与性能的需求存在较大差异,需要依赖于边缘侧实时计算、控制响应、智能推理等多样化计算能力。单个边设备资源有限,只能同时配置有限数量的服务,难以实现对所有任务进行本地的低延时与低能耗处理。因此,设计一种能够利用微服务间独立运行的特点,进行服务配置与任务调度,对充分利用云边资源,降低任务时延与***能耗,提高任务完成率的技术方案,成为本领域亟待解决的问题。
发明内容
本发明要解决的技术问题是:克服现有技术的不足,提供一种细粒度电力任务云边协同优化调度方法,综合考虑微服务执行约束、任务排队、服务配置、设备资源以及任务属性,减小了任务执行时间和能耗。
本发明解决其技术问题所采用的技术方案是:该细粒度电力任务云边协同优化调度方法,其特征在于:包括如下步骤:
步骤a,确定边设备与云端数量,进行边设备与云端的通讯设置,并进行容器以及设备的创建;
步骤b,建立任务模型及确定任务信息;
步骤c,考虑服务配置的微服务处理模型;
步骤d,微服务时延以及能耗的计算;
步骤e,调度约束与目标数的建立;
步骤f,基于NSGA-Ⅱ的任务调度算法设计;
步骤g,基于模糊逻辑的权重计算;
步骤h,采用逼近理想解排序方法对最优前沿的所有解进行排序,计算每个方案的得分,选择得分最大值对应的调度方案作为任务的调度方案。
优选的,在步骤b中,包括如下步骤:
步骤b-1,基于微服务的细粒度电力任务采用有向无环图建模,表示为Qu={Au,Bu,Gu},其中:
Figure BDA0004101010120000021
为图的节点的集合,节点表示任务调用的微服务,Bu为图的有向边的集合,有向边表示微服务之间的依赖关系,基于两个微服务间的依赖关系,将传输数据的微服务称为前置微服务,将接收数据的微服务称为后置微服务,Gu为微服务间传输的数据量的集合;
步骤2-2,任务拓扑结构修改:将不含任何前置微服务的微服务称为入口微服务,将不含任何后置微服务的微服务称为出口微服务,增加不占用任何时间和资源的虚拟入口微服务
Figure BDA0004101010120000025
与虚拟出口微服务/>
Figure BDA0004101010120000022
并规定两个虚拟微服务不参与调度,图结构修改为:
Figure BDA0004101010120000023
步骤2-3,电力任务的集合表示为R={r1,r2,r3,...,ru,...},每个任务ru有四个基本信息,表示为ru={tu,yu,vu,Qu},
其中,tu表示任务ru的到达时间,yu表示任务ru的时延,即任务需要在yu时长内处理完成,vu表示任务ru的类型值,用以区分常规任务、告警任务、故障处理任务。
优选的,在步骤g中,包括如下步骤:
步骤8-1,模糊化,通过三角形隶属度函数为每个变量确定其隶属度;
步骤8-2,模糊推理,根据模糊规则推理出相应的模糊变量,用于去模糊化;
步骤8-3,去模糊化,对推理出的模糊变量使用质心法进行去模糊化的计算,其计算公式为:
Figure BDA0004101010120000024
其中,x为输入或输出变量,f(x)为步骤8-1中求得的隶属度,通过计算得到任务的时延权重Yu,1-Yu为任务的能耗权重。
优选的,在步骤8-1中,通过三角形隶属度函数为每个变量确定其隶属度,其计算公式为:
Figure BDA0004101010120000031
其中,x为输入或输出变量,α,β,γ为给定实数,依赖于任务参数,且α<β<γ,在任务信息中,时延、任务类型值、输入数据量对于时延权重的影响较为显著,因此作为输入,输出为任务的时延权重,采用低、中、高作为时延和输入数据量的语言变量,采用常规、告警、故障作为任务类型值的语言变量,采用非常低、低、中、高、非常高作为时延权重的语言变量。
优选的,在步骤c中,定义了map()函数来表示微服务与容器的对应关系,对于任何a∈Aall和c∈Call,map(a)=c代表微服务a由容器c处理,其中Aall是所有微服务的集合,Call是所有业务容器的集合,设备中容器的运行与部署情况也是动态变化的,微服务a被分配到设备dn处理时会有三种情况:
情况1:设备dn配置了微服务需要的容器c,若此容器在处理其它同类型的微服务,微服务a需要进入容器等待队列等待执行,若容器空闲,则微服务a可以立即执行;
情况2:设备没有配置容器c且|Pn|<Nn,需要从云端下载所需容器的镜像文件,然后投入运行来处理微服务a;
情况3:设备dn没有配置容器c且|Pn|=Nn,则需要将容器列表Pn中的某一个容器替换掉,并将被替换的容器从容器列表Pn中删除,然后添加新配置的容器来处理微服务a。
优选的,在步骤d中,微服务时延的计算,包括微服务的执行时间,微服务之间的数据传输时间以及微服务的等待时间;微服务能耗的计算包括微服务执行能耗与数据传输能耗。
优选的,微服务执行时间为:
Figure BDA0004101010120000032
其中,
Figure BDA0004101010120000033
为设备dn中容器ci的处理速度,为了满足计算资源约束,/>
Figure BDA0004101010120000034
表示执行微服务/>
Figure BDA0004101010120000035
所需的CPU周期数,/>
Figure BDA0004101010120000036
表示微服务/>
Figure BDA0004101010120000037
需要处理的数据量,l表示处理单位数据所需的CPU周期数,Hn为设备上并发运行的容器数量,任意Hn个容器的处理速度之和都不会超过设备的处理速度,Hn≤|Pn|;
两个有依赖关系的微服务之间的数据传输时间为:
Figure BDA0004101010120000041
式中:
Figure BDA0004101010120000042
为执行微服务/>
Figure BDA0004101010120000043
的设备编号,/>
Figure BDA0004101010120000044
为设备/>
Figure BDA0004101010120000045
与dn之间的数据传输速率,/>
Figure BDA0004101010120000046
为两个有依赖关系的微服务之间的数据传输时间;
微服务
Figure BDA0004101010120000047
被分配到设备dn执行时,微服务的等待时间为:
Figure BDA0004101010120000048
其中,
Figure BDA0004101010120000049
为微服务/>
Figure BDA00041010101200000410
被分配到设备dn的最早结束时间,/>
Figure BDA00041010101200000411
是设备dn中容器ci的等待队列的队尾微服务,由任务rk调用,且/>
Figure BDA00041010101200000412
当容器ci空闲时,
Figure BDA00041010101200000413
为容器ci镜像文件的大小,sK,n为中心云与设备dn之间的数据传输速率,Wn为设备dn所有容器等待队列的队尾微服务的集合,/>
Figure BDA00041010101200000414
为此集合中的一个微服务,由任务rt调用。
优选的,微服务执行能耗为:
Figure BDA00041010101200000415
其中,qn为设备dn的CPU能量效率系数,
Figure BDA00041010101200000416
为设备dn中容器ci的处理速度,/>
Figure BDA00041010101200000417
表示执行微服务/>
Figure BDA00041010101200000418
所需的CPU周期数;
数据传输能耗包括有依赖关系的微服务之间的数据传输能耗:
Figure BDA00041010101200000419
以及镜像文件的传输能耗:
Figure BDA00041010101200000420
其中,
Figure BDA00041010101200000421
为单位时间内设备编号为/>
Figure BDA00041010101200000422
的设备的数据发射功率;FK为单位时间内云端的数据发射功率,/>
Figure BDA00041010101200000423
为设备/>
Figure BDA00041010101200000424
与dn之间的数据传输速率,sK,n为中心云与设备dn之间的数据传输速率,/>
Figure BDA0004101010120000051
为容器ci镜像文件的大小,/>
Figure BDA0004101010120000052
为两个有依赖关系的微服务之间的数据传输时间。
与现有技术相比,本发明所具有的有益效果是:
1、在本细粒度电力任务云边协同优化调度方法中,综合考虑微服务执行约束、任务排队、服务配置、设备资源以及任务属性,减小了任务执行时间和能耗,克服了现有技术中单个边设备资源有限,只能同时配置有限数量的服务,难以实现对所有任务进行本地的低延时与低能耗处理的问题。
2、在本细粒度电力任务云边协同优化调度方法中,同时考虑边设备计算、存储资源受限,计算资源的限制体现在设备支持并发运行的容器数量,存储资源的限制体现在设备允许配置的容器数量,用这两个参数可以很好的模拟实际场景中边设备的运行状态与资源情况。
3、在本细粒度电力任务云边协同优化调度方法中,在任务分配过程中考虑了服务配置,区分了微服务处理的三种情况,并建立了对应的模型,模型的代表性和适用性强。
4、在本细粒度电力任务云边协同优化调度方法中,通过仿真正常运行、故障低发、故障高发3种场景下算法在时延和能耗方面的性能表现,结果表明,对于常规任务,本发明倾向于选择执行能耗低的调度方案,有效降低了***能耗。对于故障处理等重要任务,本发明能够充分利用***资源,保障任务得到及时处理,降低了任务时延。
5、本细粒度电力任务云边协同优化调度方法的任务集符合配电物联网中电力任务参数范围。考虑到常规、告警、故障三类任务,代表性强,任务类型多,覆盖的场景多。
附图说明
图1为细粒度电力任务云边协同优化调度方法流程图。
图2为细粒度电力任务云边协同优化调度方法***构架图。
图3为细粒度电力任务云边协同优化调度方法实际场景图。
图4为细粒度电力任务云边协同优化调度方法正常运行场景下在时延方面的性能表现曲线图。
图5为细粒度电力任务云边协同优化调度方法在正常运行场景下在能耗方面的性能表现曲线图。
图6为细粒度电力任务云边协同优化调度方法在故障低发场景下在时延方面的性能表现曲线图。
图7为细粒度电力任务云边协同优化调度方法在故障低发场景下在能耗方面的性能表现曲线图。
图8为细粒度电力任务云边协同优化调度方法在故障高发场景下在时延方面的性能表现曲线图。
图9为细粒度电力任务云边协同优化调度方法在故障高发场景下在能耗方面的性能表现曲线图。
具体实施方式
图1~9是本发明的最佳实施例,下面结合附图1~9对本发明做进一步说明。
如图1所示,一种细粒度电力任务云边协同优化调度方法,包括如下步骤:
步骤1,布置边缘计算网络场景;
包括如下步骤:
步骤1-1,确定边设备与云端数量:***中边设备与云的集合可表示为D={d1,d2,...,dK},K为边设备与云的总数,其中dK代表中心云,其余为边设备。
步骤1-2,通信设置:sm,n表示设备dm与dn之间的数据传输速率,并假设sm,n=sn,m,并且当m=n时,表示数据在同一设备内部传输,相比设备间的通信时间,设备内部容器间的通信时间可以忽略不计,因此令sm,n=+∞。考虑到云边之间通信时间会长于边边通信,所以将边设备与云的通信时间设置为边设备之间通信时间的1/X倍,X大于1。
步骤1-3,容器的创建:容器作为微服务的执行载体,需要以下信息:用以区分不同容器的编号ID,运行微服务编号,容器镜像文件大小,剩余时间,处理速度。
步骤1-4,设备的创建:设备包括边设备和云端,信息包括用以区分不同设备的编号ID,容器列表。边设备dn受其计算、存储资源的限制,能够同时配置的容器数量是有限的,设为Nn。每台边设备dn的容器列表Pn用来记录容器部署信息。
Figure BDA0004101010120000061
当边设备dn需要配置业务容器cm时,将业务容器cm添加进容器列表Pn。|Pn|代表某一时刻边设备上配置的业务容器数量,|Pn|≤Nn。云端资源充足,有所有容器的镜像。
步骤2,建立任务模型及确定任务信息;
包括如下步骤:
步骤2-1,任务模型:基于微服务的细粒度电力任务采用有向无环图建模,表示为Qu={Au,Bu,Gu},其中:
Figure BDA0004101010120000062
为图的节点的集合,节点表示任务调用的微服务。Bu为图的有向边的集合,有向边表示微服务之间的依赖关系,例如有向边
Figure BDA0004101010120000063
表示微服务/>
Figure BDA0004101010120000065
的计算结果需要传输给微服务/>
Figure BDA0004101010120000064
基于两个微服务间的依赖关系,将传输数据的微服务称为前置微服务,将接收数据的微服务称为后置微服务。Gu为微服务间传输的数据量的集合,例如/>
Figure BDA0004101010120000071
表示微服务/>
Figure BDA0004101010120000072
与微服务/>
Figure BDA0004101010120000073
间传输的数据量,
Figure BDA0004101010120000074
步骤2-2,任务拓扑结构修改:将不含任何前置微服务的微服务称为入口微服务,将不含任何后置微服务的微服务称为出口微服务。为了体现任务的输入数据以及结果数据的传输给任务调度造成的延时,并考虑到输入数据和结果数据都要到达初始边设备这一实际情形,增加不占用任何时间和资源的虚拟入口微服务
Figure BDA0004101010120000075
与虚拟出口微服务/>
Figure BDA0004101010120000076
并规定两个虚拟微服务不参与调度。因此,图结构修改为/>
Figure BDA0004101010120000077
步骤2-3,任务信息:电力任务的集合表示为R={r1,r2,r3,...,ru,...}。每个任务ru有四个基本信息,表示为ru={tu,yu,vu,Qu},其中,tu表示任务ru的到达时间,yu表示任务ru的时延,即任务需要在yu时长内处理完成。vu表示任务ru的类型值,用以区分常规任务、告警任务、故障处理任务。
步骤3,考虑服务配置的微服务处理模型;
任务调用的各个微服务都会由对应的容器进行处理,定义了map()函数来表示微服务与容器的对应关系。对于任何a∈Aall和c∈Call,map(a)=c代表微服务a由容器c处理,其中Aall是所有微服务的集合,Call是所有业务容器的集合。
容器的状态是由任务来改变的,当没有任务产生或容器处理完任务时,容器处于空闲状态。当有任务触发时,容器转为运行状态。由于***中任务的产生与分配是动态变化的,因此设备中容器的运行与部署情况也是动态变化的,这导致微服务a被分配到设备dn处理时会有三种情况:
情况1:设备dn配置了此微服务需要的容器c,若此容器在处理其它同类型的微服务,微服务a需要进入容器等待队列等待执行,若容器空闲,则微服务a可以立即执行;
情况2:设备没有配置容器c且|Pn|<Nn,则需要从云端下载所需容器的镜像文件,然后投入运行来处理微服务a。
情况3:设备dn没有配置容器c且|Pn|=Nn,则需要将容器列表Pn中的某一个容器替换掉,并将被替换的容器从容器列表Pn中删除,然后添加新配置的容器来处理微服务a。
步骤4,微服务时延的计算;
微服务时延的计算包括以下部分:
(1)微服务的执行时间;
不同设备同一业务容器的处理速度一般不同,导致同一个微服务在不同设备的执行时间不同。微服务执行时间为:
Figure BDA0004101010120000081
其中,
Figure BDA0004101010120000082
为设备dn中容器ci的处理速度,为了满足计算资源约束,/>
Figure BDA0004101010120000083
表示执行微服务/>
Figure BDA0004101010120000084
所需的CPU周期数,/>
Figure BDA0004101010120000085
表示微服务/>
Figure BDA0004101010120000086
需要处理的数据量,l表示处理单位数据所需的CPU周期数。Hn为设备上并发运行的容器数量,任意Hn个容器的处理速度之和都不会超过设备的处理速度,Hn≤|Pn|。/>
(2)微服务之间的数据传输时间:两个有依赖关系的微服务之间的数据传输时间为:
Figure BDA0004101010120000087
式中:
Figure BDA0004101010120000088
为执行微服务/>
Figure BDA0004101010120000089
的设备编号,/>
Figure BDA00041010101200000810
为设备/>
Figure BDA00041010101200000811
与dn之间的数据传输速率。
(3)微服务的等待时间:根据微服务处理模型中所述的三种情况,当微服务
Figure BDA00041010101200000812
被分配到设备dn执行时,微服务的等待时间为:
Figure BDA00041010101200000813
其中,
Figure BDA00041010101200000814
为微服务/>
Figure BDA00041010101200000815
被分配到设备dn的最早结束时间,/>
Figure BDA00041010101200000816
是设备dn中容器ci的等待队列的队尾微服务,由任务rk调用,且/>
Figure BDA00041010101200000817
当容器ci空闲时,
Figure BDA00041010101200000818
为容器ci镜像文件的大小,sK,n为中心云与设备dn之间的数据传输速率。Wn为设备dn所有容器等待队列的队尾微服务的集合,/>
Figure BDA00041010101200000819
为此集合中的一个微服务,由任务rt调用。为了节省时间,本发明选择能够最早进入空闲状态的容器作为替换容器,来为新容器的部署提供空间。
步骤5,微服务能耗的计算;
任务在处理过程中的能耗包括微服务执行能耗与数据传输能耗,
微服务执行能耗为:
Figure BDA0004101010120000091
其中,qn为设备dn的CPU能量效率系数,
Figure BDA0004101010120000092
为设备dn中容器ci的处理速度,/>
Figure BDA0004101010120000093
表示执行微服务/>
Figure BDA0004101010120000094
所需的CPU周期数。
数据传输能耗包括有依赖关系的微服务之间的数据传输能耗:
Figure BDA0004101010120000095
以及镜像文件的传输能耗:
Figure BDA0004101010120000096
式中,
Figure BDA0004101010120000097
为单位时间内设备编号为/>
Figure BDA0004101010120000098
的设备的数据发射功率;FK为单位时间内云端的数据发射功率。
步骤6,调度约束与目标数的建立;
在任务调度中有三个约束条件:优先级约束、最早开始时间约束和执行时间约束。其中:
一、优先级约束:微服务之间有依赖关系,必须先执行前置微服务,后置微服务才能够执行。此外,并行微服务的执行顺序也会对任务执行时间造成影响。因此,需要通过优先级来确定任务中各个微服务的调度顺序。从虚拟出口微服务开始向前遍历各个节点,通过递归的方式得到优先级。各个微服务的优先级为:
Figure BDA0004101010120000099
式中:p(i)为
Figure BDA00041010101200000910
的调度优先级,/>
Figure BDA00041010101200000911
为/>
Figure BDA00041010101200000912
后置微服务的集合,/>
Figure BDA00041010101200000913
为/>
Figure BDA00041010101200000914
的平均处理时间,其公式为:
Figure BDA00041010101200000915
其中,
Figure BDA00041010101200000916
为微服务执行时间,K为边设备与云的总数。
由上述可知,所有微服务的调度优先级都会低于其前置微服务,且并行微服务中传输数据量大的会得到优先调度。
最早开始时间约束:微服务的最早开始时间受两个方面的限制:
1、微服务要等其所有前置微服务执行完成并将数据传输后才能执行:
Figure BDA0004101010120000101
式中:
Figure BDA0004101010120000102
为/>
Figure BDA0004101010120000103
在设备dn的最早开始时间;/>
Figure BDA0004101010120000104
为/>
Figure BDA0004101010120000105
前置微服务的集合,/>
Figure BDA0004101010120000106
为此集合中的一个微服务。/>
Figure BDA0004101010120000107
为/>
Figure BDA0004101010120000108
在设备/>
Figure BDA0004101010120000109
的最早结束时间。/>
Figure BDA00041010101200001010
为设备/>
Figure BDA00041010101200001011
与dn之间的数据传输速率。
2、微服务必须等待设备有能力执行时才能执行:
Figure BDA00041010101200001012
因此,微服务
Figure BDA00041010101200001013
在设备dn中的最早开始时间为:
Figure BDA00041010101200001014
结束时间为:
Figure BDA00041010101200001015
其中,
Figure BDA00041010101200001016
微服务的等待时间,
执行时间约束:虚拟出口微服务的结束时间代表着任务的结束时间,所以任务的执行时间为:
Figure BDA00041010101200001017
/>
Figure BDA00041010101200001018
为/>
Figure BDA00041010101200001019
在设备dn中的结束时间。
任务的执行时间不能长于任务的时延,否则说明任务未完成:
Tu≤yu
二、目标函数的建立:
考虑服务配置的细粒度电力任务优化调度问题是带约束的多目标优化问题,对于任务ru,以最小化任务执行时间与能量消耗为目的。目标函数为:
minTu
Figure BDA00041010101200001020
步骤7,基于NSGA-Ⅱ的任务调度算法设计;
包括如下步骤:
步骤7-1,染色体编码;
为适应NSGA-Ⅱ算法,将调度方案进行编码,不同的结果代表着不同的调度方案。染色体
Figure BDA0004101010120000111
这样的染色体编码方式规避了微服务间的依赖关系与优先级约束,降低了选择、交叉、变异操作的难度。
步骤7-2,种群初始化;
假设种群中个体数量为M。在初始化种群时,首先生成个体数量为M/2的初始种群Z,并设置一个概率p,当随机概率≤p时,从Z中随机选择两条不同的染色体。当随机概率>p时,从Z中选择执行时间最小的染色体与能耗最小的染色体。将选择的两个个体放入最终的种群中,重复循环M/2次,生成最终的初始化种群。
步骤7-3,适应度评估;
在NSGA-Ⅱ算法中,个体的适应度是反映其优劣程度的依据。本发明任务调度问题是考虑最小化任务执行时间与能耗的多目标优化问题,通过Pareto支配关系对个体进行筛选。个体h1支配h2的条件是:在执行时间或能耗方面至少有一项结果h1是小于h2的。在支配关系中支配个体的支配等级低于被支配个体。为了维持解群体的分布性与多样性,还需对支配等级相同的个体进行拥挤度排序。由于本发明任务调度问题中存在执行时间的约束,可能存在生成的调度方案中任务执行时间不满足执行时间约束的情况。为了体现个体违反执行时间约束的程度,需要计算个体的违反约束程度值V:
Figure BDA0004101010120000112
因此,本细粒度电力任务云边协同优化调度方法从可行性、优劣性与分布性三个方面对个体进行评估。
步骤7-4,选择、交叉、变异操作;
选择操作采用二元锦标法,根据三个方面的适应度评估来选择个体。规则如下:
根据Tu≤yu判断个体h1与h2的可行性。当一个为可行方案另一个为不可行方案时,选择可行方案的个体;当两个个体都为不可行方案时,选择V较小的个体;当两个个体都是可行方案或V相等时,若存在个体间的相互支配,则选择支配等级低的个体;若不存在相互支配,则选择拥挤度大的个体。
交叉操作采用应用广泛的两点交叉,根据交叉概率,对除了染色体第一个基因与最后一个基因之外的其它某两个位置的基因进行交叉操作。根据变异概率,对除了染色体第一个基因与最后一个基因之外的其它某一个位置的基因进行变异操作。
步骤7-5,种群更新;
对父代种群进行选择、交叉、变异操作得到子代种群,将父代种群与子代种群合并成新种群。首先判断个体可行性,进而将所有个体分为可行方案与不可行方案,任何可行方案优于任何不可行方案。然后在所有可行方案中依次根据支配等级和拥挤度进行排序。在不可行方案中,依次根据违反约束程度值、支配等级、拥挤度进行排序。最后依次选出数量为M的个体再次循环。算法不断迭代,达到最大迭代次数时输出最优前沿。
步骤8,基于模糊逻辑的权重计算;
因为超过时延意味着任务失败,所以时延是更关键的指标。本发明提出一种基于模糊逻辑的任务时延权重确定方法,步骤如下:
步骤8-1,模糊化。
通过三角形隶属度函数为每个变量确定其隶属度,其计算公式为:
Figure BDA0004101010120000121
其中,x为输入或输出变量,α,β,γ为给定实数,依赖于任务参数,且α<β<γ。在任务信息中,时延、任务类型值、输入数据量对于时延权重的影响较为显著,因此作为输入。输出为任务的时延权重。采用低、中、高作为时延和输入数据量的语言变量,采用常规、告警、故障作为任务类型值的语言变量,采用非常低、低、中、高、非常高作为时延权重的语言变量。
依赖于仿真中设置的任务参数范围,α,β,γ的取值如表1所示:
表1隶属度函数参数表
Figure BDA0004101010120000131
步骤8-2,模糊推理。根据模糊规则推理出相应的模糊变量,用于去模糊化。根据配电物联网中任务的功能和特性,建立了模糊规则表,如表2所示:
表2模糊规则表
Figure BDA0004101010120000141
步骤8-3,去模糊化。对推理出的模糊变量使用质心法进行去模糊化的计算,其计算公式为:
Figure BDA0004101010120000142
通过计算得到任务的时延权重Yu,1-Yu为任务的能耗权重。
通过上述方法,故障处理等重要任务会得到较高的时延权重,后续从Pareto解集中选择最终调度方案时会倾向于选择执行时间短的方案。非重要任务时延权重较低,倾向于在满足任务完成的时延条件下选择能耗低的方案。
步骤9,采用逼近理想解排序方法对最优前沿的所有解进行排序,包括以下部分:
本细粒度电力任务云边协同优化调度方法,使用逼近理想解排序方法对最优前沿的所有解进行排序。将最优前沿中的最小执行时间与最小能耗作为最优理想值,最大执行时间与最大能耗作为最劣理想值。经过数据的正向化与标准化之后,根据任务的时延和能耗权重,分别求解各个可行方案与最优理想值和最劣理想值之间的加权欧氏距离
Figure BDA0004101010120000151
与/>
Figure BDA0004101010120000152
并根据以下公式计算每个方案的得分Si
Figure BDA0004101010120000153
/>
由此可知0≤Si≤1,Si越大,说明该方案与最优理想值越接近,选择Si最大值对应的调度方案作为任务的调度方案。
下面以一个具体实例,对上述细粒度电力任务云边协同优化调度方法进行进一步说明:
将细粒度电力任务云边协同优化调度方法,应用于实际的配电台区中,每台边设备可以负责一个或几个台区范围内任务的处理,中心云对所有设备进行管理。配电物联终端负责产生任务,提供数据。在任务处理过程中,底层终端的任务数据信息上传到所在区域的边设备(将任务最初到达的边设备称为这个任务的初始边设备),边设备会根据***的任务调度策略对微服务进行卸载。由于边设备管理区域内的任务是多样化的,边设备资源有限,只能配置有限数量的服务,因此需要根据不同的任务分配结果调整边设备中的服务配置。当任务处理完成后,结果数据发送到初始边设备。
在如图2所示的***架构图中,有三台边设备和一个中心云,每台边设备只能配置两个服务。当任务到达时,考虑到当前各边设备的服务配置情况,***将微服务1、4分配给d1,将2分配给d2,将3分配给d3。在这个分配方案下,d1需要从云端下载并配置服务4,之后各设备相互协作执行任务。参考图3的实际场景图,图中为改进的IEEE 33节点***。配电台区中,共部署了4台边设备和1个中心云。
为了验证本细粒度电力任务云边协同优化调度方法所提算法的性能,使用Python编程实现该算法并进行测试。任务类包括ID、图结构、到达时间、截止时间、任务类型值、时延权重、被提交的边设备编号等。容器类包括ID、运行的微服务、剩余时间、镜像文件大小、处理速度等。服务器类包括ID、容器列表等。***设置类包括边设备数量、云边通信时间倍数、设备支持并发运行容器数量、CPU能量效率系数、设备数据发射功率等。算法设置类包括种群数量、最大迭代次数、交叉概率、变异概率、种群初始化中的设置概率。
为了检验算法的性能,将本细粒度电力任务云边协同优化调度方法与以下三种基准算法进行对比:
方法1:边设备处理(Edge Process,EP):对于所有任务,该算法将其分配到初始边设备进行处理,调用的微服务均不卸载。
方法2:云端处理(Cloud Process,CP):对于所有任务,该算法将除了虚拟入口、出口微服务之外的微服务卸载到云端处理。
方法3:随机处理(Random Process,RP):对于所有任务,该算法将除了虚拟入口、出口微服务之外的微服务随机分配到各个设备执行。
在***参数设置方面,边设备数量为4,云端数量为1。每台边设备能够同时配置的容器数量为4个,云端支持9个容器并发。边边之间的数据传输速率为云边的20倍。考虑到云端的计算能力强于边设备,因此设置云端的处理速度平均值为边设备处理速度的1.25倍。CPU能量效率系数为5×10-27,边设备数据发射功率为3W,云端数据发射功率为5W。在任务类设置方面,每个任务调用5-9个微服务。微服务处理的数据量在(0.1,1.2)MB范围内,虚拟入口微服务传输给一个入口微服务的数据量在(0.5,1)MB范围内,其余微服务间传输的数据量在(0.1,0.5)MB范围内,容器镜像文件大小在(0.5,1)MB范围内,任务时延在(2,20)s范围内。在算法参数设置方面,种群数量为50,最大迭代次数为100,交叉概率为0.3,变异概率为0.3,p=0.5。
为了充分验证本发明所提任务调度策略在电网实际运行环境中的有效性,仿真3个典型场景:
(1)正常运行场景,所有任务为常规任务,无告警和故障处理任务,实验结果对比图如图4~图5所示。
(2)故障低发场景,常规任务、告警任务、故障处理任务三类任务的占比为7:2:1。实验结果对比图如图6~图7所示。
(3)故障高发场景,常规任务、告警任务、故障处理任务三类任务的占比为5:3:2。实验结果对比图如图8~图9所示。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

Claims (8)

1.一种细粒度电力任务云边协同优化调度方法,其特征在于:包括如下步骤:
步骤a,确定边设备与云端数量,进行边设备与云端的通讯设置,并进行容器以及设备的创建;
步骤b,建立任务模型及确定任务信息;
步骤c,考虑服务配置的微服务处理模型;
步骤d,微服务时延以及能耗的计算;
步骤e,调度约束与目标数的建立;
步骤f,基于NSGA-Ⅱ的任务调度算法设计;
步骤g,基于模糊逻辑的权重计算;
步骤h,采用逼近理想解排序方法对最优前沿的所有解进行排序,计算每个方案的得分,选择得分最大值对应的调度方案作为任务的调度方案。
2.根据权利要求1所述的细粒度电力任务云边协同优化调度方法,其特征在于:在步骤b中,包括如下步骤:
步骤b-1,基于微服务的细粒度电力任务采用有向无环图建模,表示为Qu={Au,Bu,Gu},其中:
Figure FDA0004101010110000011
为图的节点的集合,节点表示任务调用的微服务,Bu为图的有向边的集合,有向边表示微服务之间的依赖关系,基于两个微服务间的依赖关系,将传输数据的微服务称为前置微服务,将接收数据的微服务称为后置微服务,Gu为微服务间传输的数据量的集合;
步骤2-2,任务拓扑结构修改:将不含任何前置微服务的微服务称为入口微服务,将不含任何后置微服务的微服务称为出口微服务,增加不占用任何时间和资源的虚拟入口微服务a0u与虚拟出口微服务
Figure FDA0004101010110000012
并规定两个虚拟微服务不参与调度,图结构修改为:
Figure FDA0004101010110000013
步骤2-3,电力任务的集合表示为R={r1,r2,r3,...,ru,...},每个任务ru有四个基本信息,表示为ru={tu,yu,vu,Qu},
其中,tu表示任务ru的到达时间,yu表示任务ru的时延,即任务需要在yu时长内处理完成,vu表示任务ru的类型值,用以区分常规任务、告警任务、故障处理任务。
3.根据权利要求1所述的细粒度电力任务云边协同优化调度方法,其特征在于:在步骤g中,包括如下步骤:
步骤8-1,模糊化,通过三角形隶属度函数为每个变量确定其隶属度;
步骤8-2,模糊推理,根据模糊规则推理出相应的模糊变量,用于去模糊化;
步骤8-3,去模糊化,对推理出的模糊变量使用质心法进行去模糊化的计算,其计算公式为:
Figure FDA0004101010110000021
其中,x为输入或输出变量,f(x)为步骤8-1中求得的隶属度,通过计算得到任务的时延权重Yu,1-Yu为任务的能耗权重。
4.根据权利要求3所述的细粒度电力任务云边协同优化调度方法,其特征在于:在步骤8-1中,通过三角形隶属度函数为每个变量确定其隶属度,其计算公式为:
Figure FDA0004101010110000022
其中,x为输入或输出变量,α,β,γ为给定实数,依赖于任务参数,且α<β<γ,在任务信息中,时延、任务类型值、输入数据量对于时延权重的影响较为显著,因此作为输入,输出为任务的时延权重,采用低、中、高作为时延和输入数据量的语言变量,采用常规、告警、故障作为任务类型值的语言变量,采用非常低、低、中、高、非常高作为时延权重的语言变量。
5.根据权利要求1所述的细粒度电力任务云边协同优化调度方法,其特征在于:在步骤c中,定义了map()函数来表示微服务与容器的对应关系,对于任何a∈Aall和c∈Call,map(a)=c代表微服务a由容器c处理,其中Aall是所有微服务的集合,Call是所有业务容器的集合,设备中容器的运行与部署情况也是动态变化的,微服务a被分配到设备dn处理时会有三种情况:
情况1:设备dn配置了微服务需要的容器c,若此容器在处理其它同类型的微服务,微服务a需要进入容器等待队列等待执行,若容器空闲,则微服务a可以立即执行;
情况2:设备没有配置容器c且|Pn|<Nn,需要从云端下载所需容器的镜像文件,然后投入运行来处理微服务a;
情况3:设备dn没有配置容器c且|Pn|=Nn,则需要将容器列表Pn中的某一个容器替换掉,并将被替换的容器从容器列表Pn中删除,然后添加新配置的容器来处理微服务a。
6.根据权利要求1所述的细粒度电力任务云边协同优化调度方法,其特征在于:在步骤d中,微服务时延的计算,包括微服务的执行时间,微服务之间的数据传输时间以及微服务的等待时间;微服务能耗的计算包括微服务执行能耗与数据传输能耗。
7.根据权利要求6所述的细粒度电力任务云边协同优化调度方法,其特征在于:微服务执行时间为:
Figure FDA0004101010110000031
其中,
Figure FDA0004101010110000032
为设备dn中容器ci的处理速度,为了满足计算资源约束,/>
Figure FDA0004101010110000033
表示执行微服务/>
Figure FDA0004101010110000034
所需的CPU周期数,/>
Figure FDA0004101010110000035
Figure FDA0004101010110000036
表示微服务/>
Figure FDA0004101010110000037
需要处理的数据量,l表示处理单位数据所需的CPU周期数,Hn为设备上并发运行的容器数量,任意Hn个容器的处理速度之和都不会超过设备的处理速度,Hn≤|Pn|;
两个有依赖关系的微服务之间的数据传输时间为:
Figure FDA0004101010110000038
/>
式中:
Figure FDA0004101010110000039
为执行微服务/>
Figure FDA00041010101100000310
的设备编号,/>
Figure FDA00041010101100000311
Figure FDA00041010101100000312
为设备/>
Figure FDA00041010101100000313
与dn之间的数据传输速率,/>
Figure FDA00041010101100000314
为两个有依赖关系的微服务之间的数据传输时间;
微服务
Figure FDA00041010101100000315
被分配到设备dn执行时,微服务的等待时间为:
Figure FDA00041010101100000316
其中,
Figure FDA00041010101100000317
为微服务/>
Figure FDA00041010101100000318
被分配到设备dn的最早结束时间,/>
Figure FDA00041010101100000319
是设备dn中容器ci的等待队列的队尾微服务,由任务rk调用,且/>
Figure FDA00041010101100000320
当容器ci空闲时,/>
Figure FDA00041010101100000321
Figure FDA00041010101100000322
为容器ci镜像文件的大小,sK,n为中心云与设备dn之间的数据传输速率,Wn为设备dn所有容器等待队列的队尾微服务的集合,/>
Figure FDA00041010101100000323
为此集合中的一个微服务,由任务rt调用。
8.根据权利要求6所述的细粒度电力任务云边协同优化调度方法,其特征在于:微服务执行能耗为:
Figure FDA0004101010110000041
其中,qn为设备dn的CPU能量效率系数,
Figure FDA0004101010110000042
为设备dn中容器ci的处理速度,/>
Figure FDA0004101010110000043
表示执行微服务/>
Figure FDA0004101010110000044
所需的CPU周期数;
数据传输能耗包括有依赖关系的微服务之间的数据传输能耗:
Figure FDA0004101010110000045
以及镜像文件的传输能耗:
Figure FDA0004101010110000046
其中,
Figure FDA0004101010110000047
为单位时间内设备编号为/>
Figure FDA0004101010110000048
的设备的数据发射功率;FK为单位时间内云端的数据发射功率,/>
Figure FDA0004101010110000049
为设备/>
Figure FDA00041010101100000410
与dn之间的数据传输速率,sK,n为中心云与设备dn之间的数据传输速率,/>
Figure FDA00041010101100000411
为容器ci镜像文件的大小,/>
Figure FDA00041010101100000412
为两个有依赖关系的微服务之间的数据传输时间。/>
CN202310176442.0A 2023-02-28 2023-02-28 一种细粒度电力任务云边协同优化调度方法 Pending CN116225649A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310176442.0A CN116225649A (zh) 2023-02-28 2023-02-28 一种细粒度电力任务云边协同优化调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310176442.0A CN116225649A (zh) 2023-02-28 2023-02-28 一种细粒度电力任务云边协同优化调度方法

Publications (1)

Publication Number Publication Date
CN116225649A true CN116225649A (zh) 2023-06-06

Family

ID=86590656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310176442.0A Pending CN116225649A (zh) 2023-02-28 2023-02-28 一种细粒度电力任务云边协同优化调度方法

Country Status (1)

Country Link
CN (1) CN116225649A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116541153A (zh) * 2023-07-06 2023-08-04 南昌工程学院 边缘计算的任务调度方法、***、可读存储介质及计算机
CN117201319A (zh) * 2023-11-06 2023-12-08 三峡高科信息技术有限责任公司 一种基于边缘计算的微服务部署方法及***

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116541153A (zh) * 2023-07-06 2023-08-04 南昌工程学院 边缘计算的任务调度方法、***、可读存储介质及计算机
CN116541153B (zh) * 2023-07-06 2023-10-03 南昌工程学院 边缘计算的任务调度方法、***、可读存储介质及计算机
CN117201319A (zh) * 2023-11-06 2023-12-08 三峡高科信息技术有限责任公司 一种基于边缘计算的微服务部署方法及***
CN117201319B (zh) * 2023-11-06 2024-01-09 三峡高科信息技术有限责任公司 一种基于边缘计算的微服务部署方法及***

Similar Documents

Publication Publication Date Title
CN116225649A (zh) 一种细粒度电力任务云边协同优化调度方法
Liu et al. A distributed algorithm for task offloading in vehicular networks with hybrid fog/cloud computing
Ojijo et al. A survey on slice admission control strategies and optimization schemes in 5G network
Tong et al. Adaptive call admission control under quality of service constraints: a reinforcement learning solution
CN108880663A (zh) 基于改进遗传算法的天地一体化网络资源分配方法
CN112512056A (zh) 一种移动边缘计算网络中多目标优化的计算卸载方法
CN114172937B (zh) 基于深度强化学习的动态服务功能链编排方法及***
CN112788605B (zh) 基于双延迟深度确定性策略边缘计算资源调度方法和***
Li et al. Multiobjective oriented task scheduling in heterogeneous mobile edge computing networks
CN114564312A (zh) 一种基于自适应深度神经网络的云边端协同计算方法
CN116893861A (zh) 基于空地协同边缘计算的多智能体协作依赖任务卸载方法
CN115033359A (zh) 一种基于时延控制的物联代理多任务调度方法和***
Wang et al. Multiagent deep reinforcement learning for cost-and delay-sensitive virtual network function placement and routing
Zhou et al. Joint multi-objective optimization for radio access network slicing using multi-agent deep reinforcement learning
CN112256413A (zh) 基于物联网的边缘计算任务的调度方法和装置
CN112559171B (zh) 一种移动边缘计算环境下基于延迟接受的多用户任务卸载方法
Manavi et al. Resource allocation in cloud computing using genetic algorithm and neural network
Wang et al. On Jointly optimizing partial offloading and SFC mapping: a cooperative dual-agent deep reinforcement learning approach
Jin et al. Joint scheduling of deferrable demand and storage with random supply and processing rate limits
CN115421885B (zh) 一种分布式多目标云任务的调度方法、装置及云服务***
Saemi et al. A new optimization approach for task scheduling problem using water cycle algorithm in mobile cloud computing
CN116566891A (zh) 时延敏感的服务功能链并行路由优化方法、装置及介质
CN116684291A (zh) 一种适用通用化平台的服务功能链映射资源智能分配方法
Vahidipour et al. Priority assignment in queuing systems with unknown characteristics using learning automata and adaptive stochastic Petri nets
CN116112488A (zh) 一种面向mec网络的细粒度任务卸载及资源分配方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination