CN113114758B - 一种面向无服务器边缘计算的任务调度方法及装置 - Google Patents
一种面向无服务器边缘计算的任务调度方法及装置 Download PDFInfo
- Publication number
- CN113114758B CN113114758B CN202110381054.7A CN202110381054A CN113114758B CN 113114758 B CN113114758 B CN 113114758B CN 202110381054 A CN202110381054 A CN 202110381054A CN 113114758 B CN113114758 B CN 113114758B
- Authority
- CN
- China
- Prior art keywords
- server
- function
- calculation
- task
- candidate
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000006870 function Effects 0.000 claims abstract description 426
- 238000004364 calculation method Methods 0.000 claims abstract description 275
- 238000005265 energy consumption Methods 0.000 claims abstract description 133
- 230000005540 biological transmission Effects 0.000 claims description 36
- 230000003993 interaction Effects 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 11
- 239000002243 precursor Substances 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 25
- 238000007726 management method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种面向无服务器边缘计算的任务调度方法及装置,其中方法包括:编排控制服务器接收边缘计算服务器转发的多个计算函数的信息,并基于各计算函数之间的优先关系,构建有向无环图;针对有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延和能耗,得到待处理任务对应的时延和能耗,其中,候选服务器包括:编排控制服务器所在的无服务器边缘网络中每一边缘计算服务器以及中心服务器;基于待处理任务对应的时延和能耗,为每一计算函数确定目标计算服务器。本发明,实现了面向无服务器边缘计算的任务调度。
Description
技术领域
本发明涉及大数据计算技术领域,特别是涉及一种面向无服务器边缘计算的任务调度方法及装置。
背景技术
随着物联网、虚拟现实、增强现实、自动驾驶、交互式游戏等新型应用的迅速发展,从各种分布式源生成的移动数据呈现出爆炸性的增长趋势。云计算被用于处理如此大量的数据中,云计算能够对计算资源、网络资源以及存储资源进行更好的管理利用。但是,由于云服务器通常部署距离用户较远的地区,从而导致了较高的传输成本和等待时延。边缘计算是一种分散式的运算架构,通过将数据缓存能力、流量转发能力与应用服务能力下沉到更接近UE(User End,用户终端)的边缘节点上,能够大幅降低传输成本,满足新型应用低时延业务需求,减少对传输网的带宽压力,提升用户体验。
然而,在传统的边缘计算场景中实现任务调度,第三方运营商需要承担资源管理、可扩展性处理、负载均衡等职责,且,由于分布式的边缘基础设施的资源受限特性,边缘计算设备的计算能力远低于远程云服务器的计算能力,使得边缘计算网络在托管各种应用程序和服务方面存在局限性。针对传统的边缘计算所面临的问题,无服务器计算应运而生。无服务器计算是在无需最终用户管理的基础设施上托管应用程序的新方式,它将底层基础架构从开发人员中分离出来,基本上虚拟化了运行时运营管理。被称为FaaS(Function as aService,函数即服务)的无服务器架构允许执行给定的任务而不必担心服务器、虚拟机或底层计算资源。无服务器计算中,服务(或称任务)被打包为相互独立的函数,这些函数通过动态实例化的容器按需管理和部署。只需要关心如何实现这些函数并在执行函数时为CPU时间付费,而不必预先分配任何底层计算资源。
因此,现有亟需一种面向无服务器边缘计算场景下的任务调度实现方法,以实现面向无服务器边缘计算的任务调度。
发明内容
本发明实施例的目的在于提供一种面向无服务器边缘计算的任务调度方法及装置,以实现面向无服务器边缘计算的任务调度。具体技术方案如下:
第一方面,本发明实施例提供了一种面向无服务器边缘计算的任务调度方法,应用于云-边一体化无服务器边缘计算系统的编排控制服务器中,所述云-边一体化无服务器边缘计算系统包括:云计算中心网络和多个无服务器边缘网络,所述云计算中心网络中设置有中心服务器,所述无服务器边缘网络中设置有编排控制服务器和多个边缘计算服务器,所述中心服务器分别与所述边缘计算服务器和所述编排控制服务器进行数据交互,所述边缘计算服务器分别与所述编排控制服务器和用户终端进行数据交互,所述方法包括:
接收所述边缘计算服务器转发的多个计算函数的信息,所述多个计算函数的信息为所述边缘计算服务器所服务的用户终端发送的、待进行任务调度的待处理任务分解得到的计算函数的信息;
基于各计算函数之间的优先关系,构建有向无环图;
针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延,得到所述待处理任务对应的时延,其中,所述候选服务器包括:所述编排控制服务器所在的无服务器边缘网络中每一边缘计算服务器,以及所述中心服务器;
针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的能耗,得到所述待处理任务对应的能耗;
基于所述待处理任务对应的时延和能耗,为每一计算函数确定目标计算服务器。
可选地,所述针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延,得到所述待处理任务对应的时延的步骤,包括:
针对所述有向无环图中每一计算函数,基于将该计算函数卸载至所述边缘计算服务器所需的网络卸载时延,该计算函数分别在每一候选服务器中执行所需的任务计算时延,以及该计算函数在各候选服务器之间的数据传输时延,计算将该计算函数分别匹配至各候选服务器所需的时延;
基于将每一计算函数分别匹配至各候选服务器所需的时延,得到所述待处理任务对应的时延。
可选地,所述针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延,得到所述待处理任务对应的时延的步骤,包括:
针对所述有向无环图中每一计算函数,使用第一预设表达式计算将该计算函数分别匹配至各候选服务器所需的时延;
基于将每一计算函数分别匹配至各候选服务器所需的时延,使用第二预设表达式计算得到所述待处理任务对应的时延;
所述第一预设表达式为:
其中,表示计算函数ti的开始时间,表示候选服务器执行计算函数tp的结束时间,Tt(Sp,Si)表示计算函数ti与关联计算函数tp在各候选服务器之间的数据传输时延,To(Si)表示计算函数ti卸载至所述边缘计算服务器所需的网络卸载时延,tp∈pre(ti)表示计算函数tp为计算函数ti的前驱计算函数,表示候选服务器执行计算函数ti的结束时间,Tc(Si)表示计算函数ti分别在每一候选服务器中执行所需的任务计算时延,Si={Si,0,Si,1,Si,2,…,Si,K}表示将计算函数ti分别匹配至候选服务器0,1,2,……,K的调度策略,Sp={Sp,0,Sp,1,Sp,2,…,Sp,K}表示将计算函数tp分别匹配至候选服务器0,1,2,……,K的调度策略;
所述第二预设表达式为:
可选地,所述针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的能耗,得到所述待处理任务对应的能耗的步骤,包括:
针对所述有向无环图中每一计算函数,基于将该计算函数卸载至所述边缘计算服务器所需的网络卸载能耗,该计算函数分别在每一候选服务器中执行所需的任务计算能耗,以及该计算函数在各候选服务器之间的数据传输能耗,计算将该计算函数分别匹配至各候选服务器所需的能耗;
基于将每一计算函数分别匹配至各候选服务器所需的能耗,得到所述待处理任务对应的能耗。
可选地,所述基于将每一计算函数分别匹配至各候选服务器所需的能耗,得到所述待处理任务对应的能耗的步骤,包括:
基于将每一计算函数分别匹配至各候选服务器所需的能耗,使用第三预设表达式计算得到所述待处理任务对应的能耗;
所述第三预设表达式为:
其中,Etotal表示所述待处理任务对应的能耗,表示计算函数的集合,Eo(Si)表示计算函数ti卸载至所述边缘计算服务器所需的网络卸载能耗,Ec(Si)表示计算函数ti分别在每一候选服务器中执行所需的任务计算能耗,Et(Si,Sp)表示计算函数ti与关联计算函数tp在各候选服务器之间的数据传输能耗,Si={Si,0,Si,1,Si,2,…,Si,K}表示将计算函数ti分别匹配至候选服务器0,1,2,……,K的调度策略,Sp={Sp,0,Sp,1,Sp,2,…,Sp,K}表示将计算函数tp分别匹配至候选服务器0,1,2,……,K的调度策略。
第二方面,本发明实施例提供了一种面向无服务器边缘计算的任务调度装置,应用于云-边一体化无服务器边缘计算系统的编排控制服务器中,所述云-边一体化无服务器边缘计算系统包括:云计算中心网络和多个无服务器边缘网络,所述云计算中心网络中设置有中心服务器,所述无服务器边缘网络中设置有编排控制服务器和多个边缘计算服务器,所述中心服务器分别与所述边缘计算服务器和所述编排控制服务器进行数据交互,所述边缘计算服务器分别与所述编排控制服务器和用户终端进行数据交互,所述装置包括:
任务接收模块,用于接收所述边缘计算服务器转发的多个计算函数的信息,所述多个计算函数的信息为所述边缘计算服务器所服务的用户终端发送的、待进行任务调度的待处理任务分解得到的计算函数的信息;
构建模块,用于基于各计算函数之间的优先关系,构建有向无环图;
第一计算模块,用于针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延,得到所述待处理任务对应的时延,其中,所述候选服务器包括:所述编排控制服务器所在的无服务器边缘网络中每一边缘计算服务器,以及所述中心服务器;
第二计算模块,用于针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的能耗,得到所述待处理任务对应的能耗;
确定模块,用于基于所述待处理任务对应的时延和能耗,为每一计算函数确定目标计算服务器。
可选地,所述第一计算模块,具体用于:
针对所述有向无环图中每一计算函数,基于将该计算函数卸载至所述边缘计算服务器所需的网络卸载时延,该计算函数分别在每一候选服务器中执行所需的任务计算时延,以及该计算函数在各候选服务器之间的数据传输时延,计算将该计算函数分别匹配至各候选服务器所需的时延;
基于将每一计算函数分别匹配至各候选服务器所需的时延,得到所述待处理任务对应的时延。
可选地,所述第一计算模块,具体用于:
针对所述有向无环图中每一计算函数,使用第一预设表达式计算将该计算函数分别匹配至各候选服务器所需的时延;
基于将每一计算函数分别匹配至各候选服务器所需的时延,使用第二预设表达式计算得到所述待处理任务对应的时延;
所述第一预设表达式为:
其中,表示计算函数ti的开始时间,表示候选服务器执行计算函数tp的结束时间,Tt(Sp,Si)表示计算函数ti与关联计算函数tp在各候选服务器之间的数据传输时延,To(Si)表示计算函数ti卸载至所述边缘计算服务器所需的网络卸载时延,tp∈pre(ti)表示计算函数tp为计算函数ti的前驱计算函数,FTti表示候选服务器执行计算函数ti的结束时间,Tc(Si)表示计算函数ti分别在每一候选服务器中执行所需的任务计算时延,Si={Si,0,Si,1,Si,2,…,Si,K}表示将计算函数ti分别匹配至候选服务器0,1,2,……,K的调度策略,Sp={Sp,0,Sp,1,Sp,2,…,Sp,K}表示将计算函数tp分别匹配至候选服务器0,1,2,……,K的调度策略;
所述第二预设表达式为:
可选地,所述第二计算模块,具体用于:
针对所述有向无环图中每一计算函数,基于将该计算函数卸载至所述边缘计算服务器所需的网络卸载能耗,该计算函数分别在每一候选服务器中执行所需的任务计算能耗,以及该计算函数在各候选服务器之间的数据传输能耗,计算将该计算函数分别匹配至各候选服务器所需的能耗;
基于将每一计算函数分别匹配至各候选服务器所需的能耗,得到所述待处理任务对应的能耗。
可选地,所述第二计算模块,具体用于:
基于将每一计算函数分别匹配至各候选服务器所需的能耗,使用第三预设表达式计算得到所述待处理任务对应的能耗;
所述第三预设表达式为:
其中,Etotal表示所述待处理任务对应的能耗,表示计算函数的集合,Eo(Si)表示计算函数ti卸载至所述边缘计算服务器所需的网络卸载能耗,Ec(Si)表示计算函数ti分别在每一候选服务器中执行所需的任务计算能耗,Et(Si,Sp)表示计算函数ti与关联计算函数tp在各候选服务器之间的数据传输能耗,Si={Si,0,Si,1,Si,2,…,Si,K}表示将计算函数ti分别匹配至候选服务器0,1,2,……,K的调度策略,Sp={Sp,0,Sp,1,Sp,2,…,Sp,K}表示将计算函数tp分别匹配至候选服务器0,1,2,……,K的调度策略。
第三方面,本发明实施例提供了一种服务器设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现实现上述第一方面所述的方法步骤。
本发明实施例有益效果:
本发明实施例提供的一种面向无服务器边缘计算的任务调度方法及装置,可以应用于云-边一体化无服务器边缘计算系统的编排控制服务器中,该云-边一体化无服务器边缘计算系统可以包括:云计算中心网络和多个无服务器边缘网络,云计算中心网络中设置有中心服务器,无服务器边缘网络中设置有编排控制服务器和多个边缘计算服务器,中心服务器分别与边缘计算服务器和编排控制服务器进行数据交互,边缘计算服务器分别与编排控制服务器和用户终端进行数据交互,该系统中编排控制服务器能够实现对无服务器边缘网络的统一管理和编排,以及对分布式泛在异构边缘计算资源的高效利用和对无服务器计算服务的灵活部署。
且,接收边缘计算服务器转发的多个计算函数的信息,并基于各计算函数之间的优先关系,构建有向无环图,进而针对有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延和能耗,得到待处理任务对应的时延和能耗,基于待处理任务对应的时延和能耗,为每一计算函数确定目标计算服务器,实现了面向无服务器边缘计算的任务调度,在能够有效保障用户的能耗和时延等体验质量需求的同时,减少资源闲置并加快任务处理速度,均衡网络负载,实现对计算资源的高效利用,以及改善用户终端的服务体验。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为传统的边缘计算系统结构示意图;
图2为本发明实施例提供的一种云-边一体化无服务器边缘计算系统结构示意图;
图3为本发明实施例提供的一种面向无服务器边缘计算的任务调度方法的流程示意图;
图4为本发明实施例提供的一种有向无环图的示意图;
图5为本发明实施例提供的一种面向无服务器边缘计算的任务调度示意图;
图6为本发明实施例提供的一种面向无服务器边缘计算的任务调度实施方式示意图;
图7为本发明实施例提供的一种面向无服务器边缘计算的任务调度装置的结构示意图;
图8为本发明实施例提供的一种服务器设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
现有传统的边缘计算系统结构如图1所示,该传统的边缘计算系统可以由云计算中心、多个边缘计算节点和多个用户终端三个部分组成,每个边缘计算节点可以服务多个用户终端。由于用户终端自身资源的限制,无法处理大量的计算任务,因此可以通过计算卸载的方式将计算任务卸载到资源更为丰富的边缘计算节点和云计算中心进行处理。相对于云计算中心,部署在网络边缘的边缘计算节点资源相对受限但是却距离用户更近,可以为用户提供更好的服务体验。边缘计算节点间也可以以边缘协同的方式完成计算任务处理请求,即当某个边缘计算节点出现计算繁重状态时,可以通过边缘协同将其计算任务卸载到相邻的处于计算空闲状态的边缘计算节点进行处理。
在传统的边缘计算场景中实现任务调度,用户可以将每个边缘计算节点处的计算资源视为一个资源池,考虑处理每个用户终端计算任务所需要消耗的资源、边缘计算节点处的计算资源、以及边缘计算网络拓扑等情况,基于此实现任务的调度。
在传统的边缘计算场景中实现任务调度,第三方运营商需要承担资源管理、可扩展性处理、负载均衡等职责,且,由于分布式的边缘基础设施的资源受限特性,边缘计算设备的计算能力远低于远程云服务器的计算能力,使得边缘计算网络在托管各种应用程序和服务方面存在局限性。针对传统的边缘计算所面临的问题,无服务器计算应运而生。无服务器计算是在无需最终用户管理的基础设施上托管应用程序的新方式,它将底层基础架构从开发人员中分离出来,基本上虚拟化了运行时运营管理。被称为FaaS(Function as aService,函数即服务)的无服务器架构允许执行给定的任务而不必担心服务器、虚拟机或底层计算资源。无服务器计算中,服务(或称任务)被打包为相互独立的函数,这些函数通过动态实例化的容器按需管理和部署。只需要关心如何实现这些函数并在执行函数时为CPU时间付费,而不必预先分配任何底层计算资源。
因此,现有亟需一种面向无服务器边缘计算场景下的任务调度实现方法,以实现面向无服务器边缘计算的任务调度。
本发明实施例提供了一种面向无服务器边缘计算的任务调度方法及装置,应用于云-边一体化无服务器边缘计算系统的编排控制服务器中,如图2所示,图2为本发明实施例提供的一种云-边一体化无服务器边缘计算系统结构示意图。考虑到边缘基础设施资源的异构特点,以及网络的服务部署与调度不灵活的情况,本发明实施例中所提供的云-边一体化无服务器边缘计算系统可以包括:云计算中心网络和多个无服务器边缘网络,云计算中心网络中设置有中心服务器,无服务器边缘网络中设置有编排控制服务器和多个边缘计算服务器,中心服务器分别与边缘计算服务器和编排控制服务器进行数据交互,边缘计算服务器分别与编排控制服务器和用户终端进行数据交互。
本发明实施例提供的一种面向无服务器边缘计算的任务调度方法,应用于图2所示云-边一体化无服务器边缘计算系统的编排控制服务器中,该方法可以包括:
接收所述边缘计算服务器转发的多个计算函数的信息,所述多个计算函数的信息为所述边缘计算服务器所服务的用户终端发送的、待进行任务调度的待处理任务分解得到的计算函数的信息;
基于各计算函数之间的优先关系,构建有向无环图;
针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延,得到所述待处理任务对应的时延,其中,所述候选服务器包括:所述编排控制服务器所在的无服务器边缘网络中每一边缘计算服务器,以及所述中心服务器;
针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的能耗,得到所述待处理任务对应的能耗;
基于所述待处理任务对应的时延和能耗,为每一计算函数确定目标计算服务器。
本发明实施例提供的一种面向无服务器边缘计算的任务调度方法,可以应用于云-边一体化无服务器边缘计算系统的编排控制服务器中,该云-边一体化无服务器边缘计算系统可以包括:云计算中心网络和多个无服务器边缘网络,云计算中心网络中设置有中心服务器,无服务器边缘网络中设置有编排控制服务器和多个边缘计算服务器,中心服务器分别与边缘计算服务器和编排控制服务器进行数据交互,边缘计算服务器分别与编排控制服务器和用户终端进行数据交互,该系统中编排控制服务器能够实现对无服务器边缘网络的统一管理和编排,以及对分布式泛在异构边缘计算资源的高效利用和对无服务器计算服务的灵活部署。
且,接收边缘计算服务器转发的多个计算函数的信息,并基于各计算函数之间的优先关系,构建有向无环图,进而针对有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延和能耗,得到待处理任务对应的时延和能耗,基于待处理任务对应的时延和能耗,为每一计算函数确定目标计算服务器,实现了面向无服务器边缘计算的任务调度,在能够有效保障用户的能耗和时延等体验质量需求的同时,减少资源闲置并加快任务处理速度,均衡网络负载,实现对计算资源的高效利用,以及改善用户终端的服务体验。
下面对本发明实施例所提供的一种面向无服务器边缘计算的任务调度方法进行详细介绍。
本发明实施例提供的一种面向无服务器边缘计算的任务调度方法,应用于图2所示云-边一体化无服务器边缘计算系统的编排控制服务器中。图2所示的用户终端层可以包含多个用户终端,无服务器边缘层即无服务器边缘网络,云计算层即云计算中心网络。实际应用中,云计算中心网络和无服务器边缘网络均可以为子网络,也可以在同一个网络中,在该网络中各子网络之间能够进行数据交互。云计算中心网络中可以设置一个或多个中心服务器,无服务器边缘网络中可以设置一个编排控制服务器和多个边缘计算服务器。
其中,用户终端与边缘计算服务器之间通过边端连接链路交互,边缘计算服务器与中心服务器之间通过云边连接链路交互,边缘计算服务器之间通过边缘连接链路交互,编排控制服务器与中心服务器和边缘计算服务器之间通过调度控制链路交互。
用户终端可以由各类用户终端设备组成,具体的,用户终端可以是运行低延迟应用任务的任何类型的设备,例如平板电脑、智能手机等。本发明实施例中以计算任务为例进行说明,实际应用中并不仅限于计算任务。由于用户终端本身计算资源的限制,运行在用户终端设备的应用程序需要将其部分计算任务卸载到功能更强大的服务器上。因此,用户终端可以通过标准化的网络协议将要处理的计算任务发送给位于无服务器边缘网络中的边缘计算服务器,或者位于云计算中心网络中的中心服务器进行处理。
用户终端可以对待处理任务进行分解,得到多个计算函数(如图2中f1-f5所示,即无服务器计算请求),进而将多个计算函数的信息提交至边缘计算服务器,进而,提交至边缘计算服务器的多个计算函数的信息将被转发至编排控制服务器进行任务的调度。
无服务器边缘网络可以包括多个分布式无服务器边缘计算服务器(即边缘计算服务器)和一个编排控制服务器。通常分布式边缘计算服务器可以由不同的基础设施提供商运营,因此这些边缘计算服务器的计算能力是异构的。为了满足用户终端的无服务器计算请求(如图2中f1-f5所示),每个边缘计算服务器可以部署一个无服务器计算框架平台,以利用其计算资源提供无服务器计算的能力。无服务器计算框架平台通常是基于FaaS的编程模型进行实现的,在无服务器计算框架平台中部署有无服务器函数执行器(即函数执行器),该函数执行器是响应用户终端计算任务对应的不同无服务器函数请求的应用程序。进而,基于无服务器计算框架平台,开发人员可以在无需关心如何配置或管理服务器的情况下实现其所需的功能,即实现“无服务器”。
编排控制服务器可以为其所在的无服务器边缘网络提供全局网络控制和资源编排功能。编排控制服务器的控制功能可以对整个无服务器边缘网络进行全局集中管理,而编排功能则可以对异构和泛在的边缘计算资源进行统一的编排和管理。
云计算中心网络(即云计算层)可以为用户终端提供丰富的云计算资源。大型云计算中心通常建在远离客户的偏远地区,进而会产生极高的传输成本和服务等待延迟。因此,云计算中心处理更适合于资源密集型且对延迟不敏感的应用程序。当用户终端的计算任务对应的计算函数所需要的计算资源过大,或者计算函数并没有部署在无服务器边缘网络时,相应计算任务对应的请求将被发送到云计算中心网络的中心服务器进行处理。
本发明实施例针对边缘基础设施资源的异构特点,以及网络的服务部署与调度不灵活的情况,提供了如图2所示的一种云-边一体化无服务器边缘计算系统,该云-边一体化无服务器边缘计算系统可以包括:云计算中心网络和多个无服务器边缘网络,云计算中心网络中设置有中心服务器,无服务器边缘网络中设置有编排控制服务器和多个边缘计算服务器,中心服务器分别与边缘计算服务器和编排控制服务器进行数据交互,边缘计算服务器分别与编排控制服务器和用户终端进行数据交互,该系统中编排控制服务器能够实现对无服务器边缘网络的统一管理和编排,以及对分布式泛在异构边缘计算资源的高效利用和对无服务器计算服务的灵活部署。
如图3所示,图3为本发明实施例提供的一种面向无服务器边缘计算的任务调度方法的流程示意图,该方法可以包括:
S101、接收边缘计算服务器转发的多个计算函数的信息。
其中,多个计算函数的信息为边缘计算服务器所服务的用户终端发送的、待进行任务调度的待处理任务分解得到的计算函数的信息。
本发明实施例中,用户终端可以对待处理任务进行分解,进而将多个计算函数的信息提交至边缘计算服务器,该边缘计算服务器可以是距离用户终端距离最近的边缘计算服务器,也可以是服务该用户终端的边缘计算服务器等。进而,提交至边缘计算服务器的多个计算函数的信息,将被转发至其所在的无服务器边缘网络中的编排控制服务器,以使编排控制服务器对各计算函数实现任务的调度。示例性的,待处理任务可以是用户终端的应用程序的任务,具体的可以是音视频或图像的数据处理任务等,本发明实施例在此不作限定。
用户终端可以采用预先安装好的任务分解工具,将待处理任务分解成多个无状态、细粒度的计算函数(即子任务)。在将待处理任务分解成多个计算函数的过程中,可以对各计算函数之间的优先关系或优先约束进行标记。示例性的,计算函数tp和计算函数ti之间的优先约束为:计算函数tp在计算函数ti之前执行,计算函数ti在先前计算函数tp完成之前无法开始执行。示例性的,计算函数的信息可以包含各计算函数之间的优先关系等信息。
S102、基于各计算函数之间的优先关系,构建有向无环图。
实际应用中,因边缘计算服务器在计算和存储资源方面相对有限,且,一台边缘计算服务器可能一天内在线几个小时以节省电能,而另一台边缘计算服务器可能全天可用,从而使无服务器边缘网络的网络拓扑变得复杂不可预测。此外,无服务器计算服务可以将应用程序任务分解为若干无状态的计算函数,这些计算函数之间可能存在依赖关系(即指定了计算函数之间的调用顺序),使得一个计算函数的输出成为另一个计算函数的输入。
进一步考虑到在无服务器计算场景下,每台边缘计算服务器或中心服务器可配置部分或全部函数执行所需的运行环境。本发明实施例中,边缘计算服务器可以以分布式的方式部署在无服务器边缘网络中,当用户终端将待进行任务调度的待处理任务分解得到的计算函数的信息发送至边缘计算服务器时,边缘计算服务器将多个计算函数的信息转发至编排控制服务器。编排控制服务器为各计算函数选择执行的边缘计算服务器,将各计算函数卸载到边缘环境执行,为用户带来更好的服务体验。
编排控制服务器进一步可以基于各计算函数之间的优先关系(或称计算函数之间的依赖关系),构建DAG(Directed acyclic graph,有向无环图),如图4所示,图4中每个端点代表一个计算函数,每条有向边代表计算函数之间的依赖关系或通信限制,tstart表示待处理任务分解后的第一个计算函数,tend表示待处理任务分解后的最后一个计算函数。每个计算函数ti的数据约束可以定义为(idi,cwi,),其中,idi表示计算函数ti从它的前驱计算函数中收到的输入数据,cwi表示计算函数ti自身的计算负载,表示计算函数的集合,M表示计算函数的个数。pre(ti)表示计算函数ti的前驱计算函数,只有当计算函数ti的所有前驱计算函数都执行完毕后,计算函数ti才可以执行。
S103、针对有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延,得到待处理任务对应的时延。
其中,候选服务器可以包括:编排控制服务器所在的无服务器边缘网络中每一边缘计算服务器,以及中心服务器。
实际应用中,结合无服务器计算的应用场景及边缘计算服务器资源受限的现状,每个无服务器边缘计算服务器(即边缘计算服务器)可能只能提供一部分函数运行所需的配置,也就是说只能部署部分类型的函数执行器以响应计算函数的请求。
示例性的,函数执行器的部署情况可以记作M×K矩阵Am×k,其中,K表示边缘计算服务器的个数,矩阵元素aik为1,表示边缘计算服务器k部署有计算函数ti对应的函数执行器,矩阵元素aik为0,则表示边缘计算服务器k没有部署计算函数ti对应的函数执行器。在无服务器边缘计算环境下,DAG图中各计算函数可通过调度依次卸载到符合条件的边缘计算服务器或中心服务器执行,可以记调度策略为Si,k,其中,候选服务器中的中心服务器可以表示为k=0,候选服务器中的边缘计算服务器可以表示为k={1,2,…,K},
Si,k=1的前提是边缘计算服务器k已经部署有计算函数ti需要的函数执行器,即aik=1,k={1,2,…,K}。
作为本发明实施例一种可选的实施方式,针对有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延,得到待处理任务对应的时延的实施方式,可以包括:
针对有向无环图中每一计算函数,基于将该计算函数卸载至上述边缘计算服务器所需的网络卸载时延,该计算函数分别在每一候选服务器中执行所需的任务计算时延,以及该计算函数在各候选服务器之间的数据传输时延,计算将该计算函数分别匹配至各候选服务器所需的时延。
其中,计算函数卸载至上述边缘计算服务器所需的网络卸载时延可以表示为:用户终端将该计算函数卸载至其距离最近的边缘计算服务器,或卸载至服务该用户终端的边缘计算服务器所需的网络卸载时延,即端到边的传输时延。计算函数在各候选服务器之间的数据传输时延可以表示为:边到边,或边到云的传输时延,也可以理解为,计算函数从一个候选服务器调度到另一个候选服务器的传输时延。
基于将每一计算函数分别匹配至各候选服务器所需的时延,得到待处理任务对应的时延。
具体的,可以针对有向无环图中每一计算函数,使用第一预设表达式计算将该计算函数分别匹配至各候选服务器所需的时延。
进一步,可以基于将每一计算函数分别匹配至各候选服务器所需的时延,使用第二预设表达式计算得到待处理任务对应的时延。
其中,第一预设表达式可以表示为:
其中,表示计算函数ti的开始时间,表示候选服务器执行计算函数tp的结束时间,Tt(Sp,Si)表示计算函数ti与关联计算函数tp在各候选服务器之间的数据传输时延,To(Si)表示计算函数ti卸载至所述边缘计算服务器所需的网络卸载时延,tp∈pre(ti)表示计算函数tp为计算函数ti的前驱计算函数,表示候选服务器执行计算函数ti的结束时间,Tc(Si)表示计算函数ti分别在每一候选服务器中执行所需的任务计算时延,Si={Si,0,Si,1,Si,2,…,Si,K}表示将计算函数ti分别匹配至候选服务器0,1,2,……,K的调度策略,Sp={Sp,0,Sp,1,Sp,2,…,Sp,K}表示将计算函数tp分别匹配至候选服务器0,1,2,……,K的调度策略。
第二预设表达式可以表示为:
参见图3,S104、针对有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的能耗,得到待处理任务对应的能耗。
作为本发明实施例一种可选的实施方式,针对有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的能耗,得到待处理任务对应的能耗的实施方式,可以包括:
针对有向无环图中每一计算函数,基于将该计算函数卸载至上述边缘计算服务器所需的网络卸载能耗,该计算函数分别在每一候选服务器中执行所需的任务计算能耗,以及该计算函数在各候选服务器之间的数据传输能耗,计算将该计算函数分别匹配至各候选服务器所需的能耗。
其中,计算函数卸载至上述边缘计算服务器所需的网络卸载能耗可以表示为:用户终端将该计算函数卸载至其距离最近的边缘计算服务器,或卸载至服务该用户终端的边缘计算服务器所需的网络卸载能耗,即端到边的传输能耗。计算函数在各候选服务器之间的数据传输能耗可以表示为:边到边,或边到云的传输能耗,也可以理解为,计算函数从一个候选服务器调度到另一个候选服务器的传输能耗。
基于将每一计算函数分别匹配至各候选服务器所需的能耗,得到待处理任务对应的能耗。
具体的,可以基于将每一计算函数分别匹配至各候选服务器所需的能耗,使用第三预设表达式计算得到待处理任务对应的能耗。该第三预设表达式可以表示为:
其中,Etotal表示待处理任务对应的能耗,表示计算函数的集合,Eo(Si)表示计算函数ti卸载至所述边缘计算服务器所需的网络卸载能耗,Ec(Si)表示计算函数ti分别在每一候选服务器中执行所需的任务计算能耗,Et(Si,Sp)表示计算函数ti与关联计算函数tp在各候选服务器之间的数据传输能耗,Si={Si,0,Si,1,Si,2,…,Si,K}表示将计算函数ti分别匹配至候选服务器0,1,2,……,K的调度策略,Sp={Sp,0,Sp,1,Sp,2,…,Sp,K}表示将计算函数tp分别匹配至候选服务器0,1,2,……,K的调度策略。
参见图3,S105、基于待处理任务对应的时延和能耗,为每一计算函数确定目标计算服务器。
在待处理任务分解成多个计算函数之后,为了使整个待处理任务的处理成本(本发明实施例中以时延成本和能耗成本为例进行说明)最低,每个计算函数都找到合适的边缘计算服务器或者中心服务器执行,因此,本发明实施例提出的任务调度方案的优化目标可定义为:
maxU=λtTtotal+λeEtotal
进一步,针对上述优化问题,可以使用动态整数规划算法、贪心算法以及遗传算法、模拟退火算法、蚁群算法等启发式算法得到近似最优的任务调度策略,将最优的任务调度策略对应的边缘计算服务器或者中心服务器,确定为每一计算函数确定目标计算服务器。
示例性的,如图5所示,图5为本发明实施例提供的一种面向无服务器边缘计算的任务调度示意图,图5中f1-f3均表示计算函数,待处理任务被用户终端分解为三个计算函数,其中一个计算函数被编排控制服务器调度在云端的中心服务器执行,一个计算函数被编排控制服务器调度在无服务器边缘网络的边缘计算服务器执行,另外一个计算函数被编排控制服务器调度在边缘计算服务器之间协同执行。
本发明实施例,针对边缘基础设施资源的异构特点,以及网络的服务部署与调度不灵活的情况,提供的一种面向无服务器边缘计算的任务调度方法,可以应用于云-边一体化无服务器边缘计算系统的编排控制服务器中,该云-边一体化无服务器边缘计算系统可以包括:云计算中心网络和多个无服务器边缘网络,云计算中心网络中设置有中心服务器,无服务器边缘网络中设置有编排控制服务器和多个边缘计算服务器,中心服务器分别与边缘计算服务器和编排控制服务器进行数据交互,边缘计算服务器分别与编排控制服务器和用户终端进行数据交互,该系统中编排控制服务器能够实现对无服务器边缘网络的统一管理和编排,以及对分布式泛在异构边缘计算资源的高效利用和对无服务器计算服务的灵活部署。
且,接收边缘计算服务器转发的多个计算函数的信息,并基于各计算函数之间的优先关系,构建有向无环图,进而针对有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延和能耗,得到待处理任务对应的时延和能耗,基于待处理任务对应的时延和能耗,为每一计算函数确定目标计算服务器,实现了面向无服务器边缘计算的任务调度,在能够有效保障用户的能耗和时延等体验质量需求的同时,减少资源闲置并加快任务处理速度,均衡网络负载,实现对计算资源的高效利用,以及改善用户终端的服务体验。
因无服务器计算框架平台具有高度共享和自动化管理的特性,可以使得部署在边缘计算服务器上的任何功能都可以自动灵活地扩展,以应对工作负载中的突发事件,并在不再使用时进行缩减。与基于容器的有状态应用程序相比,无服务器计算框架平台负责根据边缘计算服务器上可用的资源在容器池上按需部署应用程序的对应的函数执行器,从而能够有效的优化边缘计算资源的利用率和提高任务请求处理的效率。
本发明实施例中,以AR(Augmented Reality,增强现实)应用为例进行说明,如图6所示,图6为本发明实施例提供的一种面向无服务器边缘计算的任务调度实施方式示意图。
具体的,如图6所示,用户终端主要由AR应用、相应的操作系统以及无线电HTTP(HyperText Transfer Protocol,超文本传输协议)三个组件组成,边缘计算服务器处理任务请求的处理入口点是与用户终端相连的触发器。用户终端AR应用程序通过上传图像或使用设备的摄像头捕获帧,触发边缘计算服务器的触发器,触发的任务请求进一步发送到边缘计算服务器的HTTP服务器,之后HTTP服务器可以对任务请求进行分析,提取任务请求中的任务特征信息(或待服务信息),并将包含任务特征信息的多个计算函数信息发送至编排控制服务器进行集中调度和控制。
编排控制服务器对输入的待处理任务对应的多个计算函数信息中任务特征信息进行分析,进而可以通过预测器预测待处理任务的时延和能耗,并将预测结果传送给决策器。决策器根据预测结果确定合适的边缘计算服务器或者中心服务器执行相应的计算函数,并分别将计算函数分配至对应的边缘计算服务器或者中心服务器。边缘计算服务器中的调用器将容器化环境中的各类函数执行器隔离开,并对其进行优化和管理从而满足用户终端的不同需求。当编排控制服务器中的决策器选择由边缘计算服务器进行计算函数的处理时,边缘计算服务器中的调用器调用相应的函数执行器进行计算函数的处理,实现对捕获的帧进行扫描以提取目标对象等,将处理分析结果返回给用户终端,并将处理分析的结果和日志记录信息存储在边缘计算服务器的存储组件中。
在上述对待处理任务进行调度的过程中,边缘计算服务器实现对待处理任务对应的多个计算函数信息进行特征提取,计算函数信息的转发,以及对计算函数的执行。实际应用中,在任务调度的过程中,当存在边缘计算服务器过载的情况时,可以通过水平卸载,将过载的一部分计算函数卸载到相邻的处于空闲状态的边缘计算服务器进行处理,从而通过边缘协同进一步提高无服务器边缘网络的资源利用率和计算处理效率。
通过本发明实施例的任务调度方法,实现了面向无服务器边缘计算的任务调度,在能够有效保障用户的能耗和时延等体验质量需求的同时,减少资源闲置并加快任务处理速度,均衡网络负载,实现对计算资源的高效利用,以及改善用户终端的服务体验。
相应于上述方法实施例,本发明实施例提供了一种面向无服务器边缘计算的任务调度装置,应用于云-边一体化无服务器边缘计算系统的编排控制服务器中,云-边一体化无服务器边缘计算系统包括:云计算中心网络和多个无服务器边缘网络,云计算中心网络中设置有中心服务器,无服务器边缘网络中设置有编排控制服务器和多个边缘计算服务器,中心服务器分别与边缘计算服务器和编排控制服务器进行数据交互,边缘计算服务器分别与编排控制服务器和用户终端进行数据交互,如图7所示,该装置可以包括:
任务接收模块201,用于接收边缘计算服务器转发的多个计算函数的信息,多个计算函数的信息为边缘计算服务器所服务的用户终端发送的、待进行任务调度的待处理任务分解得到的计算函数的信息。
构建模块202,用于基于各计算函数之间的优先关系,构建有向无环图。
第一计算模块203,用于针对有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延,得到待处理任务对应的时延,其中,候选服务器包括:编排控制服务器所在的无服务器边缘网络中每一边缘计算服务器,以及中心服务器。
第二计算模块204,用于针对有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的能耗,得到待处理任务对应的能耗。
确定模块205,用于基于待处理任务对应的时延和能耗,为每一计算函数确定目标计算服务器。
本发明实施例提供的一种面向无服务器边缘计算的任务调度装置,可以应用于云-边一体化无服务器边缘计算系统的编排控制服务器中,该云-边一体化无服务器边缘计算系统可以包括:云计算中心网络和多个无服务器边缘网络,云计算中心网络中设置有中心服务器,无服务器边缘网络中设置有编排控制服务器和多个边缘计算服务器,中心服务器分别与边缘计算服务器和编排控制服务器进行数据交互,边缘计算服务器分别与编排控制服务器和用户终端进行数据交互,该系统中编排控制服务器能够实现对无服务器边缘网络的统一管理和编排,以及对分布式泛在异构边缘计算资源的高效利用和对无服务器计算服务的灵活部署。
且,接收边缘计算服务器转发的多个计算函数的信息,并基于各计算函数之间的优先关系,构建有向无环图,进而针对有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延和能耗,得到待处理任务对应的时延和能耗,基于待处理任务对应的时延和能耗,为每一计算函数确定目标计算服务器,实现了面向无服务器边缘计算的任务调度,在能够有效保障用户的能耗和时延等体验质量需求的同时,减少资源闲置并加快任务处理速度,均衡网络负载,实现对计算资源的高效利用,以及改善用户终端的服务体验。
可选地,上述第一计算模块203,具体用于:
针对有向无环图中每一计算函数,基于将该计算函数卸载至上述边缘计算服务器所需的网络卸载时延,该计算函数分别在每一候选服务器中执行所需的任务计算时延,以及该计算函数在各候选服务器之间的数据传输时延,计算将该计算函数分别匹配至各候选服务器所需的时延。
基于将每一计算函数分别匹配至各候选服务器所需的时延,得到待处理任务对应的时延。
可选地,上述第一计算模块203,具体用于:
针对有向无环图中每一计算函数,使用第一预设表达式计算将该计算函数分别匹配至各候选服务器所需的时延。
基于将每一计算函数分别匹配至各候选服务器所需的时延,使用第二预设表达式计算得到待处理任务对应的时延。
所述第一预设表达式为:
其中,表示计算函数ti的开始时间,表示候选服务器执行计算函数tp的结束时间,Tt(Sp,Si)表示计算函数ti与关联计算函数tp在各候选服务器之间的数据传输时延,To(Si)表示计算函数ti卸载至所述边缘计算服务器所需的网络卸载时延,tp∈pre(ti)表示计算函数tp为计算函数ti的前驱计算函数,表示候选服务器执行计算函数ti的结束时间,Tc(Si)表示计算函数ti分别在每一候选服务器中执行所需的任务计算时延,Si={Si,0,Si,1,Si,2,…,Si,K}表示将计算函数ti分别匹配至候选服务器0,1,2,……,K的调度策略,Sp={Sp,0,Sp,1,Sp,2,…,Sp,K}表示将计算函数tp分别匹配至候选服务器0,1,2,……,K的调度策略。
第二预设表达式为:
可选地,上述第二计算模块204,具体用于:
针对有向无环图中每一计算函数,基于将该计算函数卸载至上述边缘计算服务器所需的网络卸载能耗,该计算函数分别在每一候选服务器中执行所需的任务计算能耗,以及该计算函数在各候选服务器之间的数据传输能耗,计算将该计算函数分别匹配至各候选服务器所需的能耗。
基于将每一计算函数分别匹配至各候选服务器所需的能耗,得到待处理任务对应的能耗。
可选地,上述第二计算模块204,具体用于:
基于将每一计算函数分别匹配至各候选服务器所需的能耗,使用第三预设表达式计算得到待处理任务对应的能耗。
所述第三预设表达式为:
其中,Etotal表示待处理任务对应的能耗,表示计算函数的集合,Eo(Si)表示计算函数ti卸载至所述边缘计算服务器所需的网络卸载能耗,Ec(Si)表示计算函数ti分别在每一候选服务器中执行所需的任务计算能耗,Et(Si,Sp)表示计算函数ti与关联计算函数tp在各候选服务器之间的数据传输能耗,Si={Si,0,Si,1,Si,2,…,Si,K}表示将计算函数ti分别匹配至候选服务器0,1,2,……,K的调度策略,Sp={Sp,0,Sp,1,Sp,2,…,Sp,K}表示将计算函数tp分别匹配至候选服务器0,1,2,……,K的调度策略。
本发明实施例还提供了一种服务器设备,如图8所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,
存储器303,用于存放计算机程序;
处理器301,用于执行存储器303上所存放的程序时,实现本发明实施例所提供的一种面向无服务器边缘计算的任务调度方法的步骤,以达到相同的技术效果。
上述服务器设备提到的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述服务器设备与其他设备之间的通信。
存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一一种面向无服务器边缘计算的任务调度方法的步骤,以达到相同的技术效果。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一一种面向无服务器边缘计算的任务调度方法的步骤,以达到相同的技术效果。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、DSL(Digital Subscriber Line,数字用户线))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD(Digital Versatile Disc,数字多功能光盘))、或者半导体介质(例如SSD(Solid StateDisk,固态硬盘))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/服务器设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (4)
1.一种面向无服务器边缘计算的任务调度方法,其特征在于,应用于云-边一体化无服务器边缘计算系统的编排控制服务器中,所述云-边一体化无服务器边缘计算系统包括:云计算中心网络和多个无服务器边缘网络,所述云计算中心网络中设置有中心服务器,所述无服务器边缘网络中设置有编排控制服务器和多个边缘计算服务器,所述中心服务器分别与所述边缘计算服务器和所述编排控制服务器进行数据交互,所述边缘计算服务器分别与所述编排控制服务器和用户终端进行数据交互,所述方法包括:
接收所述边缘计算服务器转发的多个计算函数的信息,所述多个计算函数的信息为所述边缘计算服务器所服务的用户终端发送的、待进行任务调度的待处理任务分解得到的计算函数的信息;
基于各计算函数之间的优先关系,构建有向无环图;
针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延,得到所述待处理任务对应的时延,其中,所述候选服务器包括:所述编排控制服务器所在的无服务器边缘网络中每一边缘计算服务器,以及所述中心服务器;
针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的能耗,得到所述待处理任务对应的能耗;
基于所述待处理任务对应的时延和能耗,为每一计算函数确定目标计算服务器;
所述针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延,得到所述待处理任务对应的时延的步骤,包括:
针对所述有向无环图中每一计算函数,基于将该计算函数卸载至所述边缘计算服务器所需的网络卸载时延,该计算函数分别在每一候选服务器中执行所需的任务计算时延,以及该计算函数在各候选服务器之间的数据传输时延,计算将该计算函数分别匹配至各候选服务器所需的时延;
基于将每一计算函数分别匹配至各候选服务器所需的时延,得到所述待处理任务对应的时延;
所述针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延,得到所述待处理任务对应的时延的步骤,包括:
针对所述有向无环图中每一计算函数,使用第一预设表达式计算将该计算函数分别匹配至各候选服务器所需的时延;
基于将每一计算函数分别匹配至各候选服务器所需的时延,使用第二预设表达式计算得到所述待处理任务对应的时延;
所述第一预设表达式为:
其中,表示计算函数ti的开始时间,表示候选服务器执行计算函数tp的结束时间,Tt(Sp,Si)表示计算函数ti与关联计算函数tp在各候选服务器之间的数据传输时延,To(Si)表示计算函数ti卸载至所述边缘计算服务器所需的网络卸载时延,tp∈pre(ti)表示计算函数tp为计算函数ti的前驱计算函数,表示候选服务器执行计算函数ti的结束时间,Tc(Si)表示计算函数ti分别在每一候选服务器中执行所需的任务计算时延,Si={Si,0,Si,1,Si,2,...,Si,K}表示将计算函数ti分别匹配至候选服务器0,1,2,……,K的调度策略,Sp={Sp,0,Sp,1,Sp,2,...,Sp,K}表示将计算函数tp分别匹配至候选服务器0,1,2,……,K的调度策略;
所述第二预设表达式为:
所述针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的能耗,得到所述待处理任务对应的能耗的步骤,包括:
针对所述有向无环图中每一计算函数,基于将该计算函数卸载至所述边缘计算服务器所需的网络卸载能耗,该计算函数分别在每一候选服务器中执行所需的任务计算能耗,以及该计算函数在各候选服务器之间的数据传输能耗,计算将该计算函数分别匹配至各候选服务器所需的能耗;
基于将每一计算函数分别匹配至各候选服务器所需的能耗,得到所述待处理任务对应的能耗;
所述基于将每一计算函数分别匹配至各候选服务器所需的能耗,得到所述待处理任务对应的能耗的步骤,包括:
基于将每一计算函数分别匹配至各候选服务器所需的能耗,使用第三预设表达式计算得到所述待处理任务对应的能耗;
所述第三预设表达式为:
2.一种面向无服务器边缘计算的任务调度装置,其特征在于,应用于云-边一体化无服务器边缘计算系统的编排控制服务器中,所述云-边一体化无服务器边缘计算系统包括:云计算中心网络和多个无服务器边缘网络,所述云计算中心网络中设置有中心服务器,所述无服务器边缘网络中设置有编排控制服务器和多个边缘计算服务器,所述中心服务器分别与所述边缘计算服务器和所述编排控制服务器进行数据交互,所述边缘计算服务器分别与所述编排控制服务器和用户终端进行数据交互,所述装置包括:
任务接收模块,用于接收所述边缘计算服务器转发的多个计算函数的信息,所述多个计算函数的信息为所述边缘计算服务器所服务的用户终端发送的、待进行任务调度的待处理任务分解得到的计算函数的信息;
构建模块,用于基于各计算函数之间的优先关系,构建有向无环图;
第一计算模块,用于针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的时延,得到所述待处理任务对应的时延,其中,所述候选服务器包括:所述编排控制服务器所在的无服务器边缘网络中每一边缘计算服务器,以及所述中心服务器;
第二计算模块,用于针对所述有向无环图中每一计算函数,计算将该计算函数分别匹配至各候选服务器所需的能耗,得到所述待处理任务对应的能耗;
确定模块,用于基于所述待处理任务对应的时延和能耗,为每一计算函数确定目标计算服务器;
所述第一计算模块,具体用于:针对所述有向无环图中每一计算函数,基于将该计算函数卸载至所述边缘计算服务器所需的网络卸载时延,该计算函数分别在每一候选服务器中执行所需的任务计算时延,以及该计算函数在各候选服务器之间的数据传输时延,计算将该计算函数分别匹配至各候选服务器所需的时延;基于将每一计算函数分别匹配至各候选服务器所需的时延,得到所述待处理任务对应的时延;
所述第一计算模块,具体用于:针对所述有向无环图中每一计算函数,使用第一预设表达式计算将该计算函数分别匹配至各候选服务器所需的时延;基于将每一计算函数分别匹配至各候选服务器所需的时延,使用第二预设表达式计算得到所述待处理任务对应的时延;所述第一预设表达式为:
其中,表示计算函数ti的开始时间,表示候选服务器执行计算函数tp的结束时间,Tt(Sp,Si)表示计算函数ti与关联计算函数tp在各候选服务器之间的数据传输时延,To(Si)表示计算函数ti卸载至所述边缘计算服务器所需的网络卸载时延,tp∈pre(ti)表示计算函数tp为计算函数ti的前驱计算函数,表示候选服务器执行计算函数ti的结束时间,Tc(Si)表示计算函数ti分别在每一候选服务器中执行所需的任务计算时延,Si={Si,0,Si,1,Si,2,...,Si,K}表示将计算函数ti分别匹配至候选服务器0,1,2,……,K的调度策略,Sp={Sp,0,Sp,1,Sp,2,...,Sp,K}表示将计算函数tp分别匹配至候选服务器0,1,2,……,K的调度策略;所述第二预设表达式为:
所述第二计算模块,具体用于:针对所述有向无环图中每一计算函数,基于将该计算函数卸载至所述边缘计算服务器所需的网络卸载能耗,该计算函数分别在每一候选服务器中执行所需的任务计算能耗,以及该计算函数在各候选服务器之间的数据传输能耗,计算将该计算函数分别匹配至各候选服务器所需的能耗;基于将每一计算函数分别匹配至各候选服务器所需的能耗,得到所述待处理任务对应的能耗;
所述第二计算模块,具体用于:基于将每一计算函数分别匹配至各候选服务器所需的能耗,使用第三预设表达式计算得到所述待处理任务对应的能耗;所述第三预设表达式为:
3.一种服务器设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1所述的方法步骤。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110381054.7A CN113114758B (zh) | 2021-04-09 | 2021-04-09 | 一种面向无服务器边缘计算的任务调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110381054.7A CN113114758B (zh) | 2021-04-09 | 2021-04-09 | 一种面向无服务器边缘计算的任务调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113114758A CN113114758A (zh) | 2021-07-13 |
CN113114758B true CN113114758B (zh) | 2022-04-12 |
Family
ID=76714778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110381054.7A Active CN113114758B (zh) | 2021-04-09 | 2021-04-09 | 一种面向无服务器边缘计算的任务调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113114758B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535409B (zh) * | 2021-08-10 | 2022-08-05 | 天津大学 | 一种面向能耗优化的无服务器计算资源分配系统 |
CN113992941B (zh) * | 2021-10-12 | 2023-01-24 | 中山大学 | 基于无服务器函数计算的云边协同视频分析系统与方法 |
CN114125936B (zh) * | 2021-11-29 | 2023-09-05 | 中国联合网络通信集团有限公司 | 一种资源调度方法、装置和存储介质 |
CN114201278B (zh) * | 2021-12-07 | 2023-12-15 | 北京百度网讯科技有限公司 | 任务处理方法、任务处理装置、电子设备以及存储介质 |
CN114466014B (zh) * | 2021-12-28 | 2024-03-12 | 天翼云科技有限公司 | 一种服务调度方法、装置、电子设备及存储介质 |
CN115941791B (zh) * | 2022-11-25 | 2024-07-26 | 宁夏甜橙科技有限公司 | 一种基于无服务器边缘计算的热点服务缓存方法及系统 |
CN116887357B (zh) * | 2023-09-08 | 2023-12-19 | 山东海博科技信息系统股份有限公司 | 基于人工智能的计算平台管理系统 |
CN117389742B (zh) * | 2023-11-10 | 2024-05-31 | 深圳市天鹤科技有限公司 | 一种用于机器视觉的边缘计算方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580182A (zh) * | 2019-08-19 | 2019-12-17 | 北京邮电大学 | 一种边缘计算中的云间计算卸载方法及装置 |
CN112105035A (zh) * | 2020-08-21 | 2020-12-18 | 深圳大学 | 移动边缘计算服务器的部署方法及装置 |
CN112583583A (zh) * | 2019-09-28 | 2021-03-30 | 英特尔公司 | 使用边缘服务边车的安全存储器环境中的动态共享 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11924060B2 (en) * | 2019-09-13 | 2024-03-05 | Intel Corporation | Multi-access edge computing (MEC) service contract formation and workload execution |
CN111970323A (zh) * | 2020-07-10 | 2020-11-20 | 北京大学 | 边缘计算网络中云边多层协作的时延优化方法及装置 |
CN112367404A (zh) * | 2020-11-16 | 2021-02-12 | 中国石油大学(华东) | 移动边缘计算网络中面向负载均衡的安全卸载方法 |
-
2021
- 2021-04-09 CN CN202110381054.7A patent/CN113114758B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580182A (zh) * | 2019-08-19 | 2019-12-17 | 北京邮电大学 | 一种边缘计算中的云间计算卸载方法及装置 |
CN112583583A (zh) * | 2019-09-28 | 2021-03-30 | 英特尔公司 | 使用边缘服务边车的安全存储器环境中的动态共享 |
CN112105035A (zh) * | 2020-08-21 | 2020-12-18 | 深圳大学 | 移动边缘计算服务器的部署方法及装置 |
Non-Patent Citations (2)
Title |
---|
"Dynamic Computation Offloading in IoT Fog Systems With Imperfect Channel-State Information: A POMDP Approach";renchao xie,qinqin tang;《IEEE》;20200623;全文 * |
"移动边缘计算卸载技术综述";谢人超等;《通信学报》;20181130;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113114758A (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113114758B (zh) | 一种面向无服务器边缘计算的任务调度方法及装置 | |
EP3637733B1 (en) | Load balancing engine, client, distributed computing system, and load balancing method | |
US11146504B2 (en) | Market-based distributed resource allocation for edge-cloud systems | |
Singh | Optimize cloud computations using edge computing | |
CN111522661A (zh) | 一种微服务管理系统、部署方法及相关设备 | |
US10430218B2 (en) | Management of demand for virtual computing resources | |
Li et al. | CVSS: A cost-efficient and QoS-aware video streaming using cloud services | |
US11689641B2 (en) | Resiliency control engine for network service mesh systems | |
GB2533017A (en) | A method and system for scalable job processing | |
CN110519370B (zh) | 一种基于设施选址问题的边缘计算资源分配方法 | |
Imagane et al. | Performance evaluations of multimedia service function chaining in edge clouds | |
Van Ma et al. | NFV-based mobile edge computing for lowering latency of 4K video streaming | |
US10681398B1 (en) | Video encoding based on viewer feedback | |
WO2022257247A1 (zh) | 数据处理方法、装置及计算机可读存储介质 | |
Chen et al. | Cross-Edge Orchestration of Serverless Functions with Probabilistic Caching | |
CN115955685B (zh) | 多智能体协同路由方法、设备及计算机存储介质 | |
CN117579701A (zh) | 一种移动边缘网络计算卸载方法及系统 | |
US12120205B2 (en) | Communication protocol for a distributed event streaming platform | |
CN108667920B (zh) | 一种雾计算环境业务流量加速系统及其业务流量加速方法 | |
Özyar et al. | A decentralized framework with dynamic and event-driven container orchestration at the edge | |
Zheng et al. | Simulation study on latency-aware network in edge computing | |
US12126698B2 (en) | Data processing method and apparatus, and computer-readable storage medium | |
US12021921B2 (en) | Data plane reduction for eventing components | |
CN117076057B (zh) | 一种ai服务请求调度的方法、装置、设备及介质 | |
US11330228B1 (en) | Perceived content quality through dynamic adjustment of processing settings |
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 |