CN109669768B - 一种面向边云结合架构的资源分配和任务调度方法 - Google Patents
一种面向边云结合架构的资源分配和任务调度方法 Download PDFInfo
- Publication number
- CN109669768B CN109669768B CN201811515898.0A CN201811515898A CN109669768B CN 109669768 B CN109669768 B CN 109669768B CN 201811515898 A CN201811515898 A CN 201811515898A CN 109669768 B CN109669768 B CN 109669768B
- Authority
- CN
- China
- Prior art keywords
- task
- edge server
- edge
- server
- cloud
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种面向边云结合的资源分配和任务调度方法,首先在边缘服务器中记录与其相临近的边缘服务器的相关信息,当任务到达与其相临近的边缘服务器后,由该服务器计算将任务发送至各个服务器的预计计算时间和能耗成本,从满足任务所需计算时间的服务器中选择能耗成本最低的边缘服务器作为任务执行的位置,若没有服务器满足要求,则任务将在本地执行,若所有服务器处于满载状态,任务将在满足最大延迟时间的条件下发往云服务器执行。最后任务到达处理位置后,将由边缘服务器依照任务的截止时间对任务进行任务执行顺序调度和数据传输调度,从而达到在保证任务延迟要求的前提下,降低整体***能耗成本和整体边缘服务器负载均衡的目的。
Description
技术领域
本发明属于边缘计算领域,具体涉及设计并实现一种面向边缘计算与云计算相结合结构下的资源分配和任务调度方法。
背景技术
随着物联网相关技术的发展,我们正在从物联网时代走入万物互联的时代,其突出特点是任何“物”都将具有环境感知的功能、更强的计算能力和感知能力,网络将具有数十亿甚至数百亿的连接节点。在提供更复杂的功能的同时,网络中也将产生海量的数据,对海量数据的处理,将是未来物联网发展的突出问题。传统基于云计算的解决方案,将数据的处理任务发送到云计算中心,利用云计算中心的超强计算能力来集中解决这些数据的计算和存储问题。基于云计算的集中式处理方法,虽然解决了资源的限制,但由于物联网终端设备和远程云服务器之间的高延迟,对于需要较短延迟时间的任务,可能会带来巨大的延迟时间从而导致任务中断。在这种情况下,基于云计算的集中式处理方法不能高效的支持基于万物互联的应用服务,而边缘计算则可以较好地解决这些问题。
在边缘计算架构下,与数据相关的操作(包括数据的存储和处理)被放置在网络边缘的一组小型服务器(cloudlet)中进行处理,而不是远程云端服务器。大量数据将在接近数据产生源头的边缘服务器中进行,从而降低网络的使用,减少了任务处理的延迟时间。与云计算相比,边缘计算所采用的架构呈分布式,更接近网络边缘,数据的存储、处理和应用程序将集中在网络边缘的服务器中,将会极大地减少这些过程中的网络延迟,同时在保护用户隐私数据,提升数据安全性方面与云计算相比较也有很大的优势。
边缘计算与云计算的结合将是物联网网络架构发展的趋势,借助边缘服务器接近数据生产者的优势和云服务器的强大的计算、存储能力,将对未来物联网环境所产生的海量数据进行有效的存储和处理。然而边云结合的网络架构,也带来了新的挑战,与云计算架构不同,在边云结合的网络架构内,任务处理的位置也有了选择,对于不同特性的任务,其所适合处理的位置也不同,以往云计算中使用的调度策略将不再适用于当前边云结合的计算架构。不同的资源分配与任务调度算法则在对任务处理位置和顺序的安排中,起到不同的作用。寻找到合适于边云结合架构的资源分配与任务调度算法,将为边缘计算的发展做出重要贡献。
发明内容
为上述解决边云结合架构下任务处理位置分配及边缘服务器内的任务调度问题,本发明提出了一种基于边云结合架构的资源分配与任务调度算法。首先每个任务都有其相对应的临近边缘服务器,在其临近边缘服务器和与服务器中存储着与其相关联的一段数据。每个任务在达到与其相临近的边缘服务器时,都会生成关于任务的相关信息,包括任务的到达时间,任务处理的截止时间,任务的计算量和数据量,以及任务的临近边缘服务器。由任务的到达时间和截止时间,以及在任务处理期间所产生的能耗,以及周边边缘服务器的运行情况,为任务选择合适的边缘服务器或者将任务发送至云服务器进行处理,任务到达服务器后,依照任务的截止时间和任务数据传输的时间,对任务的处理顺序和数据传输顺序进行调度,以达到在保证任务处理延时时间的前提下,减少整体能耗的目的。当所有边缘服务器都已处于满负载或者能耗不优于云服务器的情况下,任务将被传输至云端处理。
为达到上述目的,本发明采用以下技术方案。
一种基于边云结合架构的资源分配与任务调度算法,其特征在于,包括以下步骤:
步骤(1)边缘服务器及任务信息配置:
(1.1)边缘服务器列表信息配置:边缘服务器e所在子网中的所有边缘服务器构成一个集合E={e1,e2,……,em},边缘服务器ei∈E,其信息包括:最大计算能力Ci,最大下载、上传带宽Bi in和Bi out,完成单位计算量的能耗成本Pi,下载和上传单位数据量的能耗成本Qi in和Qi out,所有边缘服务器的信息存储为矩阵EInfm×7,m表示集合E中边缘服务器的个数,7表示信息的个数;
矩阵EInfm×7分别存储在集合E中的各个边缘服务器中,除此之外云服务中心的信息也将存储在上述各个边缘服务器中,所述云服务中心的信息包括:所有边缘服务器与云服务器之间的距离,以及数据传输速度v,其中边缘服务器ei与云服务器之间的距离记为lencloud,i;
(1.2)任务信息配置:所有需要在边缘服务器中处理的任务组成任务集合J={j1,j2,……,jn},任务jj∈J,其信息包括:任务直接传输到的边缘服务器fej,任务ji到达边缘服务器fej的时间和任务ji的最大截止时间tj begin与tj end,任务jj的计算量lj,任务jj的数据量dj,任务jj的以上信息组成列表Infj,则Infj=<tj begin,tj end,lj,dj,fej>,Infj跟随任务jj到达其直接传输到的边缘服务器ej;
步骤(2)任务集合中的某一任务jj到达其直接传输到的边缘服务器fej后,分析任务jj在不同服务器中的延迟和能耗,其中任务jj的具体分析方法如下:
当任务jj到达其直接传输到的边缘服务器fej中后,该服务器将结合任务信息列表Infj,和边缘服务器信息矩阵EInfm×7中的信息,计算任务jj在边缘服务器矩阵中,不包括fej的各个边缘服务器中的预计时间T和预计能耗W,其中任务jj在边缘服务器ei中的预计时间Tij和预计能耗Wij的计算公式如下:
其中lj表示任务jj的计算量,Ci表示边缘服务器信息矩阵EInfm×7中边缘服务器ei的最大计算能力,dj表示任务jj的数据量,Bj out表示任务jj直接传输到的边缘服务器fej的上传带宽,Bi in表示边缘服务器ei的下载带宽,Pi表示边缘服务器ei计算每单位计算量的能耗成本,服务器Qj out表示fej上传每单位数据量的能耗成本,Qi in表示边缘服务器ei下载每单位数据量的能耗成本;
计算结果存储为矩阵Ejm×3,其中m表示集合E中边缘服务器的个数,3表示信息的个数,即边缘服务器ei的序号,任务jj在ei上计算预计所需时间Tij和能耗成本Wij,进入步骤(3);
步骤(3)任务处理位置选择策略,其中任务jj的具体选择策略如下:
(3.1)首先计算任务jj在其直接传输到的边缘服务器fej中计算所需的能耗Wj,和任务的最大延迟时间Tj,计算公式如下:
能耗Wj:Wj=lj·Pj ④
其中,tj end表示任务jj的最大截止时间,tj begin表示任务jj到达边缘服务器fej的时间,lj表示任务jj的计算量,Pj表示任务jj到达其直接传输到的边缘服务器fej计算每单位计算量的能耗成本;
(3.2)适合任务集合中各任务计算的边缘服务器分析,其中任务jj的具体分析方法如下:
(3.2.1)通过Tj与矩阵Ejm×3中各个边缘服务器预计处理任务jj所需时间Tij的比较,选择出Tij<Tj的边缘服务器,组成矩阵ETjk×3,其中k表示矩阵Ejm×3中满足Tij<Tj的边缘服务器的数量,3代表三个参数,即边缘服务器ei的序号,任务jj在ei上计算预计所需时间Tij和能耗成本Wij;
若ETjk×3为空,则进入(3.3.2);
否则进入步骤(3.2.2);
(3.2.2)通过Wj与矩阵ETjk×3中各个边缘服务器预计处理任务jj需要的能耗成本的比较,选择出Wij<Wj的边缘服务器,组成矩阵EWjn×3,其中n表示ETjk×3中满足Tij<Tj的边缘服务器的数量,3代表三个参数:边缘服务器ei的序号,任务jj在ei上计算预计所需时间Tij和能耗成本Wij;
(3.2.3)若EWjn×3为空,则进入(3.3.2),否则进入步骤(3.3.1)
(3.3)为任务集合中各任务,选取适合计算的最佳边缘服务器,其中对任务jj的选取方法具体如下:
(3.3.1)首先在矩阵EWjn×3中,选择预计产生能耗成本Wij最小的边缘服务器ej,任务jj直接传输到的边缘服务器fej向ej发送任务jj信息列表Infj=<tj begin,tj end,lj,dj,fej>,边缘服务器ej根据自身计算量剩余情况返回是否允许将任务jj发送至本地的信息;
若ej返回为否定,则将边缘服务器ej从矩阵EWjn×3中去除,重新进入步骤(3.2.3);
若ej返回为肯定,则边缘服务器ej为最终计算任务jj的位置,本步骤结束,进入步骤4;
(3.3.2)首先判断边缘服务器fej是否剩余足够计算资源,若剩余足够计算资源,则任务jj将在边缘服务器fej中执行,本步骤结束,进入步骤4;
如果fej处于满载状态,计算将任务jj发送给云服务器的时间Tj cloud,计算方式如下:
其中lencloud,j表示任务jj直接传输到的边缘服务器fej距离云服务器的距离,v表示数据传输速度,dj表示任务jj的数据量,Bj out表示边缘服务器fej的上传带宽;
若将任务jj发送至云端处理的时间小于任务jj在本地处理的时间Tj,即由步骤3.1得到的最大延迟时间Tj,即满足公式Tj cloud<Tj,则任务jj将发送至云服务器执行;否则将选择把在边缘服务器fej等待执行任务列表中、任务最大截止时间tj end最大的任务发送至云服务器执行,本步骤结束;
步骤(4)边缘服务器中的任务调度和数据传输调度策略,包括以下步骤:
(4.1)边缘服务器中的任务调度,当任务信息到达在步骤(3)中为任务jj选择的边缘服务器ei中时,将进入边缘服务器的待处理任务列表首先根据任务列表的截止时间tj end,由小到大进行排序,边缘服务器首先处理任务列表中排名在前且任务数据在本地的任务;数据不在本地的任务,边缘服务器将对其数据传输进行调度,在这类任务数据到达边缘服务器ei后,将抢占正在执行的任务中,最大截止时间大于本任务最多的任务进行执行,被抢占任务重新进入等待队列等待执行;
(4.2)边缘服务器中的数据传输调度,在步骤(4.1)中为任务确定了执行顺序,则每个任务开始执行的时间便成为了该任务进行数据传输的最大截止时间Dtj end,根据等待数据传输的任务列表中的从小到大进行排序,生成任务数据传输调度的顺序,***按照此顺序进行数据接收,直到所有任务都已安排时,方法终止。
有益效果
本项目面向边缘计算与云计算结合的物联网架构,应对任务处理位置的多种可能,考虑到不同处理位置所产生的能耗成本不同的现实情况,在保证任务处理延迟时间要求的前提下,为任务分配产生能耗成本最小的位置。在为任务选择处理位置的过程中,也考虑到边缘服务器子网中的负载均衡问题,结合了子网中其他空闲边缘服务器和云服务器的计算能力,避免了单一服务器陷入满负载所造成的大量任务延迟。在边缘服务器的任务调度方面,本项目选择基于任务最大截止时间的抢占式调度,进一步保证总体任务的延迟要求。
附图说明
为使本发明的目的、方案更加通俗易懂,下面将结合附图对本发明进一步说明。
图1为边云结合架构图
图2为某一项任务选择处理位置流程图
图3为任务调度过程示意图
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施进行详细说明。
本发明所涉及的是一种面向边云结合架构的资源分配与任务调度的算法,所适应的整体架构图如图1所示,网络边缘部分由边缘服务器组成相互连接的网络,相临近的边缘服务器各自连接为一个网络,通过核心网络与云服务器相连接,所有终端设备都有与其相临近的边缘服务器用于接受其可能传输的任务。边缘服务器的计算能力、存储能力、上传带宽、下载带宽以及计算单位计算量的能耗成本各自不同,云服务器的计算能力与存储能力与边缘服务器相比,远远超越后者。算法具体步骤如下:
步骤(1)、边缘服务器及任务信息配置:
(1.1)边缘服务器列表信息配置:边缘服务器e所在子网中的所有边缘服务器构成一个集合E={e1,e2,……,em}。边缘服务器ei∈E,其信息包括:最大计算能力为Ci,最大下载、上传带宽分别为Bi in和Bi out,完成单位计算量的能耗成本为Pi,下载和上传单位数据量的能耗成本Qi in和Qi out。所有边缘服务器的信息存储为矩阵EInfm×7,m表示集合E中边缘服务器的个数,7表示信息的个数。
矩阵EInfm×7分别存储在集合E中的各个边缘服务器中,除此之外云服务中心的信息也将存储在各个边缘服务器中,这些信息包括:边缘服务器ei与云服务器之间的距离lencloud,i,数据传输速度v。
例如图1所示,在边缘服务器所组成的子网中,由边缘服务器e1,e2,e3,e4组成,在各个边缘服务器中都存储着所有边缘服务器的上述信息矩阵EInfm×7,以及边缘服务器自身与云服务器之间的距离和数据传输速度,同时各个边缘服务器各自与云服务器之间的距离lencloud,i和数据传输速度v也记录在该边缘服务器之中。
(1.2)任务信息配置:所有需要在边缘服务器中处理的任务组成任务集合J={j1,j2,……,jn}。任务jj∈J,其信息包括:任务直接传输到的边缘服务器fej,任务ji到达边缘服务器ej的时间和任务的最大截止时间tj begin与tj end,任务jj的计算量lj,任务jj的数据量dj。任务jj的以上信息组成列表Infj,则Infj=<tj begin,tj end,lj,dj,fej>,Infj跟随任务jj到达其直接传输到的边缘服务器ej。
例如图1所示,在边缘服务器所组成的子网中,某一终端设备所产生的任务j1,其相关信息Inf1=<t1 begin,t1 end,l1,d1,fe1>,此处,fe1为子网中的边缘服务器e1,Inf1将跟随任务发送至其直接传输到的边缘服务器fe1,以供后续的分析计算。
步骤(2)当任务到达与其临近的边缘服务器ei后,该服务器依照其上所存储的关于边缘服务器相关信息的矩阵EInfm×7,和任务的相关信息列表Infj,计算任务在边缘服务器矩阵中不包括fej的各个边缘服务器中的的各个边缘服务器中的预计时间T和预计能耗W,其中任务jj在边缘服务器ei中的预计时间Tij和预计能耗Wij的计算公式如下:
预计时间Tij和预计能耗Wij分别由计算和传输两个过程组成。其中,lj表示任务jj的计算量,Ci表示边缘服务器信息矩阵EInfm×7中任意边缘服务器ei的最大计算能力,dj表示任务jj的数据量,Bj out表示任务jj直接传输到的边缘服务器fej的上传带宽,Bi in表示边缘服务器ei的下载带宽,Pi表示边缘服务器ei计算每单位计算量的能耗成本,服务器Qj out表示fej上传每单位数据量的能耗成本,Qi in表示边缘服务器ei下载没单位数据量的能耗成本。
计算结果存储为矩阵Ejm×3,进入步骤(3)。
步骤(3)任务处理位置选择策略,任务的处理位置将在矩阵Ejm×3中的边缘服务器以及云服务器之间选择,整体流程如图2所示。
(3.1)首先计算任务jj在其直接传输到的边缘服务器fej中计算所需的能耗Wj,和任务的最大延迟时间Tj,计算公式如下:
能耗Wj:Wj=lj·Pj ④
其中,tj end表示任务jj的最大截止时间,tj begin表示任务jj到达边缘服务器ej的时间,lj,表示任务jj的计算量,Pj表示任务jj到达其直接传输到的边缘服务器fej计算每单位计算量的能耗成本。
(3.2)
(3.2.1)通过Tj与矩阵Ejm×3中各个边缘服务器预计处理任务jj所需时间Tij的比较,选择出Tij<Tj的边缘服务器,组成矩阵ETjk×3。其中k表示矩阵Ejm×3中满足Tij<Tj的边缘服务器的数量,3代表三个参数:边缘服务器ei的序号,任务jj在ei上计算预计所需时间Tij和产生功耗Wij。
若ETjk×3为空,则进入(3.3.2);
否则进入步骤(3.2.2)。
(3.2.2)通过Wj与矩阵ETjk×3中各个边缘服务器预计处理任务jj需要的能耗成本的比较,选择出Wij<Wj的边缘服务器,组成矩阵EWjn×3。其中n表示ETjk×3中满足Tij<Tj的边缘服务器的数量,3代表三个参数:边缘服务器ei的序号,任务jj在ei上计算预计所需时间Tij和产生功耗Wij。
(3.2.3)若EWjn×3为空,则进入(3.3.2),否则进入步骤(3.3.1)
(3.3)在完成上述步骤后,任务在各个边缘服务器计算的情况和适合计算的边缘服务器已经分析完成。接下来将在适合任务计算的边缘服务器中为任务jj选取最佳处理位置:
(3.3.1)首先在矩阵EWjn×3中,选择预计产生能耗成本Wij最小的边缘服务器ej,任务jj直接传输到的边缘服务器fej向ej发送任务jj信息列表Infj=<tj begin,tj end,lj,dj,fej>,边缘服务器ej根据自身计算量剩余情况返回是否允许将任务jj发送至本地的信息。
若ej返回为否定,则将边缘服务器ej从矩阵EWjn×3中去除,重新进入步骤(3.2.3);
若ej返回为肯定,则边缘服务器ej为最终计算任务jj的位置。
(3.3.2)首先判断边缘服务器fej是否剩余足够计算资源,若剩余足够计算资源,则任务将在边缘服务器fej中执行。如果fej处于满载状态,计算将任务jj发送给云服务器的时间Tj cloud,计算方式如下:
其中lencloud,j表示任务jj直接传输到的边缘服务器fej距离云服务器的距离,v表示数据传输速度,dj表示任务jj的数据量,Bj out表示边缘服务器fej的上传带宽。
若将任务jj发送至云端处理的时间小于任务在本地处理的时间,即Tj cloud<Tj,则任务将发送至云服务器执行;
否则将选择在边缘服务器fej等待执行任务列表中,任务最大截止时间tj end最大的任务发送至云服务器执行。
至此,为任务选择处理位置的操作完成
步骤4,在上一步骤为任务分配了合适的处理位置后,选择接受任务的边缘服务器便接收到了任务的相关信息,将在该服务器上进行任务处理顺序调度和数据传输顺序调度,包括以下步骤:
(4.1)任务调度
首先根据边缘服务器中的待处理任务列表,将任务的截止时间Tj end进行排序,首先处理队列中任务数据在本地且截止时间最小的的任务,调度方式采用抢占式,即当队列中数据不在本地的任务,所需要的数据到达时,将会抢占服务器正在处理的任务中截止时间Tj end大于该任务最多的任务的计算资源,使得该任务进行处理。如图3所示,左侧为边缘服务器计算资源,右侧为当前服务器的待处理任务队列,A、B、C、D四块分别表示四个任务,块的长短代表任务截止时间Tj end的大小,长度越短,代表其截止时间越接近,字母后面的0和1,代表任务数据是否在本地边缘服务器,如图中时间节点(1)时,A、C任务的数据在本地,B、D任务的数据不在本地。边缘服务器首先选择数据在本地,且任务截止时间最接近的任务进行处理,直到计算资源分配完毕。在时间节点(3)中,任务B的数据传输到了本地,而任务B的截止时间比正在计算两个任务A、C的截止时间接近,则任务B将抢占截止时间较远的任务A,先进行计算。
(4.2)数据传输调度
在上一步骤任务调度阶段确定了任务执行的顺序,则每个任务开始执行的时间便成为了该任务进行数据传输的最晚截止时间DTj end,根据等待数据传输的任务列表中任务的最晚截止时间DTj end由小到大进行排序,***根据该序列进行数据传输,直到所有任务都已安排时,算法终止。
本发明面向边云结合的计算架构,对该架构中任务的资源分配和调度算法做出了优化,充分利用边缘服务器的计算能力,将任务在边缘服务器中就近处理,同时充分考虑了不同的边缘服务器计算成本的不同,在保证架构中的任务计算要求时间的前提下,将降低整体***中任务处理的能耗成本作为目标。此外,周边服务器将被充分利用,为某一边缘服务器繁忙时分担处理任务,使用云服务器作为整体***繁忙时处理任务的备选,避免了边缘服务器繁忙时所造成的负载集中,达到了负载均衡的目的。
Claims (1)
1.一种基于边云结合架构的资源分配与任务调度方法,其特征在于,包括以下步骤:
步骤(1)边缘服务器及任务信息配置:
(1.1)边缘服务器列表信息配置:边缘服务器e所在子网中的所有边缘服务器构成一个集合E={e1,e2,……,em},边缘服务器ei∈E,其信息包括:最大计算能力Ci,最大下载、上传带宽Bi in和Bi out,完成单位计算量的能耗成本Pi,下载和上传单位数据量的能耗成本Qi in和Qi out,所有边缘服务器的信息存储为矩阵EInfm×7,m表示集合E中边缘服务器的个数,7表示信息的个数;
矩阵EInfm×7分别存储在集合E中的各个边缘服务器中,除此之外云服务中心的信息也将存储在上述各个边缘服务器中,所述云服务中心的信息包括:所有边缘服务器与云服务器之间的距离,以及数据传输速度v,其中边缘服务器ei与云服务器之间的距离记为lencloud,i;
(1.2)任务信息配置:所有需要在边缘服务器中处理的任务组成任务集合J={j1,j2,……,jn},任务jj∈J,其信息包括:任务直接传输到的边缘服务器fej,任务ji到达边缘服务器fej的时间和任务ji的最大截止时间tj begin与tj end,任务jj的计算量lj,任务jj的数据量dj,任务jj的以上信息组成列表Infj,则Infj=<tj begin,tj end,lj,dj,fej>,Infj跟随任务jj到达其直接传输到的边缘服务器ej;
步骤(2)任务集合中的某一任务jj到达其直接传输到的边缘服务器fej后,分析任务jj在不同服务器中的延迟和能耗,其中任务jj的具体分析方法如下:
当任务jj到达其直接传输到的边缘服务器fej中后,该服务器将结合任务信息列表Infj,和边缘服务器信息矩阵EInfm×7中的信息,计算任务jj在边缘服务器矩阵中,不包括fej的各个边缘服务器中的预计时间T和预计能耗W,其中任务jj在边缘服务器ei中的预计时间Tij和预计能耗Wij的计算公式如下:
其中lj表示任务jj的计算量,Ci表示边缘服务器信息矩阵EInfm×7中边缘服务器ei的最大计算能力,dj表示任务jj的数据量,Bj out表示任务jj直接传输到的边缘服务器fej的上传带宽,Bi in表示边缘服务器ei的下载带宽,Pi表示边缘服务器ei计算每单位计算量的能耗成本,服务器Qj out表示fej上传每单位数据量的能耗成本,Qi in表示边缘服务器ei下载每单位数据量的能耗成本;
计算结果存储为矩阵Ejm×3,其中m表示集合E中边缘服务器的个数,3表示信息的个数,3代表三个参数,即边缘服务器ei的序号,任务jj在ei上计算预计所需时间Tij和能耗成本Wij,进入步骤(3);
步骤(3)任务处理位置选择策略,其中任务jj的具体选择策略如下:
(3.1)首先计算任务jj在其直接传输到的边缘服务器fej中计算所需的能耗Wj,和任务的最大延迟时间Tj,计算公式如下:
能耗Wj:Wj=lj·Pj ④
其中,tj end表示任务jj的最大截止时间,tj begin表示任务jj到达边缘服务器fej的时间,lj表示任务jj的计算量,Pj表示任务jj到达其直接传输到的边缘服务器fej计算每单位计算量的能耗成本;
(3.2)适合任务集合中各任务计算的边缘服务器分析,其中任务jj的具体分析方法如下:
(3.2.1)通过Tj与矩阵Ejm×3中各个边缘服务器预计处理任务jj所需时间Tij的比较,选择出Tij<Tj的边缘服务器,组成矩阵ETjk×3,其中k表示矩阵Ejm×3中满足Tij<Tj的边缘服务器的数量,3代表三个参数,即边缘服务器ei的序号,任务jj在ei上计算预计所需时间Tij和能耗成本Wij;
若ETjk×3为空,则进入(3.3.2);
否则进入步骤(3.2.2);
(3.2.2)通过Wj与矩阵ETjk×3中各个边缘服务器预计处理任务jj需要的能耗成本的比较,选择出Wij<Wj的边缘服务器,组成矩阵EWjn×3,其中n表示ETjk×3中满足Tij<Tj的边缘服务器的数量,3代表三个参数:边缘服务器ei的序号,任务jj在ei上计算预计所需时间Tij和能耗成本Wij;
(3.2.3)若EWjn×3为空,则进入(3.3.2),否则进入步骤(3.3.1)
(3.3)为任务集合中各任务,选取适合计算的最佳边缘服务器,其中对任务jj的选取方法具体如下:
(3.3.1)首先在矩阵EWjn×3中,选择预计产生能耗成本Wij最小的边缘服务器ej,任务jj直接传输到的边缘服务器fej向ej发送任务jj信息列表Infj=<tj begin,tj end,lj,dj,fej>,边缘服务器ej根据自身计算量剩余情况返回是否允许将任务jj发送至本地的信息;
若ej返回为否定,则将边缘服务器ej从矩阵EWjn×3中去除,重新进入步骤(3.2.3);
若ej返回为肯定,则边缘服务器ej为最终计算任务jj的位置,本步骤结束,进入步骤4;
(3.3.2)首先判断边缘服务器fej是否剩余足够计算资源,若剩余足够计算资源,则任务jj将在边缘服务器fej中执行,本步骤结束,进入步骤4;
如果fej处于满载状态,计算将任务jj发送给云服务器的时间Tj cloud,计算方式如下:
其中lencloud,j表示任务jj直接传输到的边缘服务器fej距离云服务器的距离,v表示数据传输速度,dj表示任务jj的数据量,Bj out表示边缘服务器fej的上传带宽;
若将任务jj发送至云端处理的时间小于任务jj在本地处理的时间Tj,即由步骤3.1得到的最大延迟时间Tj,即满足公式Tj cloud<Tj,则任务jj将发送至云服务器执行;
否则将选择把在边缘服务器fej等待执行任务列表中、任务最大截止时间tj end最大的任务发送至云服务器执行;
步骤(4)边缘服务器中的任务调度和数据传输调度策略,包括以下步骤:
(4.1)边缘服务器中的任务调度,当任务信息到达在步骤(3)中为任务jj选择的边缘服务器ei中时,将进入边缘服务器的待处理任务列表首先根据任务列表的截止时间tj end,由小到大进行排序,边缘服务器首先处理任务列表中排名在前且任务数据在本地的任务;数据不在本地的任务,边缘服务器将对其数据传输进行调度,在这类任务数据到达边缘服务器ei后,将抢占正在执行的任务中,最大截止时间大于本任务最多的任务进行执行,被抢占任务重新进入等待队列等待执行;
(4.2)边缘服务器中的数据传输调度,在步骤(4.1)中为任务确定了执行顺序,则每个任务开始执行的时间便成为了该任务进行数据传输的最大截止时间Dtj end,根据等待数据传输的任务列表中的从小到大进行排序,生成任务数据传输调度的顺序,***按照此顺序进行数据接收,直到所有任务都已安排时,方法终止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811515898.0A CN109669768B (zh) | 2018-12-11 | 2018-12-11 | 一种面向边云结合架构的资源分配和任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811515898.0A CN109669768B (zh) | 2018-12-11 | 2018-12-11 | 一种面向边云结合架构的资源分配和任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109669768A CN109669768A (zh) | 2019-04-23 |
CN109669768B true CN109669768B (zh) | 2023-03-14 |
Family
ID=66144156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811515898.0A Active CN109669768B (zh) | 2018-12-11 | 2018-12-11 | 一种面向边云结合架构的资源分配和任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109669768B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110380891B (zh) * | 2019-06-13 | 2022-04-05 | 中国人民解放军国防科技大学 | 一种边缘计算服务资源配置方法、装置与电子设备 |
CN110471621B (zh) * | 2019-07-29 | 2020-12-29 | 东南大学 | 一种面向实时数据处理应用的边缘协同存储方法 |
US11321798B2 (en) | 2019-08-08 | 2022-05-03 | Nvidia Corporation | Dynamic allocation of system on chip resources for efficient signal processing |
CN111090507B (zh) * | 2019-11-25 | 2023-06-09 | 南京航空航天大学 | 基于云边融合服务器网络架构的任务调度方法及应用 |
CN110888745A (zh) * | 2019-11-29 | 2020-03-17 | 中国石油大学(华东) | 一种考虑任务传输到达时间的mec节点选择方法 |
CN111404729B (zh) * | 2020-03-04 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 边云协同***管理方法、装置 |
CN111427679B (zh) * | 2020-03-25 | 2023-12-22 | 中国科学院自动化研究所 | 面向边缘计算的计算任务调度方法、***、装置 |
CN111539863B (zh) * | 2020-03-26 | 2021-03-19 | 光控特斯联(重庆)信息技术有限公司 | 一种基于多源任务线的智能城市运行的方法和*** |
CN111475301B (zh) * | 2020-04-09 | 2021-06-11 | 清华大学 | 卫星资源分配方法、装置和电子设备 |
CN111611062B (zh) * | 2020-05-06 | 2022-10-25 | 南京邮电大学 | 云边协同分层计算方法及云边协同分层计算*** |
CN111651276B (zh) * | 2020-06-04 | 2024-07-02 | 杭州海康威视***技术有限公司 | 一种调度方法、装置及电子设备 |
CN111928334A (zh) * | 2020-07-30 | 2020-11-13 | 瑞纳智能设备股份有限公司 | 基于边云协同框架的供热控制方法、***及计算机设备 |
CN112764901A (zh) * | 2020-08-18 | 2021-05-07 | 薛东 | 基于云网融合和人工智能的业务数据处理方法及*** |
CN111966496B (zh) * | 2020-08-21 | 2022-06-10 | 浪潮(北京)电子信息产业有限公司 | 数据处理方法、装置、***及计算机可读存储介质 |
CN112217879B (zh) * | 2020-09-24 | 2023-08-01 | 江苏方天电力技术有限公司 | 一种基于配电物联网的边缘计算技术和云边协同方法 |
CN112468533B (zh) * | 2020-10-20 | 2023-01-10 | 安徽网萌科技发展股份有限公司 | 一种面向农产品种植的边缘学习模型在线分割方法和*** |
CN112379985B (zh) * | 2020-11-16 | 2022-10-14 | 深圳供电局有限公司 | 一种云边缘计算环境下的计算任务分配方法及装置 |
CN116708451B (zh) * | 2023-08-08 | 2023-10-20 | 广东奥飞数据科技股份有限公司 | 一种边云协同调度方法及*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104767810A (zh) * | 2015-04-07 | 2015-07-08 | 中国海洋大学 | 云-端协同服务***及云-端协同工作方法 |
JP6825296B2 (ja) * | 2016-10-11 | 2021-02-03 | 富士通株式会社 | エッジサーバ,及びその暗号化通信制御方法 |
-
2018
- 2018-12-11 CN CN201811515898.0A patent/CN109669768B/zh active Active
Non-Patent Citations (2)
Title |
---|
Yong Xiao 等."QoE and Power Efficiency Tradeoff for Fog Computing Networks with Fog Node Cooperation"".2017,全文. * |
于博文 等."移动边缘计算任务卸载和基站关联协同决策问题研究".全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN109669768A (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109669768B (zh) | 一种面向边云结合架构的资源分配和任务调度方法 | |
CN109561148B (zh) | 边缘计算网络中基于有向无环图的分布式任务调度方法 | |
CN114338504B (zh) | 一种基于网络边缘***的微服务部署和路由方法 | |
CN110493360B (zh) | 多服务器下降低***能耗的移动边缘计算卸载方法 | |
CN107766135B (zh) | 移动朵云中基于粒子群和模拟退火优化的任务分配方法 | |
CN107911478B (zh) | 基于化学反应优化算法的多用户计算卸载方法及装置 | |
Zhang et al. | A new task offloading algorithm in edge computing | |
CN112911016B (zh) | 边端协同计算卸载方法及***、电子设备和存储介质 | |
CN113220356B (zh) | 一种移动边缘计算中的用户计算任务卸载方法 | |
Dong et al. | NOMA-based energy-efficient task scheduling in vehicular edge computing networks: A self-imitation learning-based approach | |
CN113064671A (zh) | 基于多智能体的边缘云可扩展任务卸载方法 | |
CN112650581A (zh) | 一种面向智能楼宇的云边协同任务调度方法 | |
CN113132456B (zh) | 一种基于截止时间感知的边云协同任务调度方法及*** | |
CN109151077B (zh) | 一种基于目标导向的计算卸载方法 | |
CN112214301B (zh) | 面向智慧城市基于用户偏好的动态计算迁移方法及装置 | |
CN114205353B (zh) | 一种基于混合动作空间强化学习算法的计算卸载方法 | |
CN115033359A (zh) | 一种基于时延控制的物联代理多任务调度方法和*** | |
Qi et al. | Vehicular edge computing via deep reinforcement learning | |
CN114827284B (zh) | 工业物联网中服务功能链编排方法、装置及联邦学习*** | |
Chen et al. | Distributed orchestration of service function chains for edge intelligence in the industrial internet of things | |
Tao et al. | Drl-driven digital twin function virtualization for adaptive service response in 6g networks | |
CN113190342A (zh) | 用于云-边协同网络的多应用细粒度卸载的方法与***架构 | |
Henna et al. | Distributed and collaborative high-speed inference deep learning for mobile edge with topological dependencies | |
CN117579701A (zh) | 一种移动边缘网络计算卸载方法及*** | |
CN110677301B (zh) | 一种5g网络中多交换机单控制器软件定义传输控制方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |