CN110968920B - 一种边缘计算中链式服务实体的放置方法及边缘计算设备 - Google Patents

一种边缘计算中链式服务实体的放置方法及边缘计算设备 Download PDF

Info

Publication number
CN110968920B
CN110968920B CN201911204131.0A CN201911204131A CN110968920B CN 110968920 B CN110968920 B CN 110968920B CN 201911204131 A CN201911204131 A CN 201911204131A CN 110968920 B CN110968920 B CN 110968920B
Authority
CN
China
Prior art keywords
user
service entity
edge
service
server
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
Application number
CN201911204131.0A
Other languages
English (en)
Other versions
CN110968920A (zh
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.)
Nanjing University Science Park Development Co ltd
Jiangsu Fangtian Power Technology Co Ltd
Original Assignee
Nanjing University Science Park Development Co ltd
Jiangsu Fangtian Power Technology Co Ltd
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 Nanjing University Science Park Development Co ltd, Jiangsu Fangtian Power Technology Co Ltd filed Critical Nanjing University Science Park Development Co ltd
Priority to CN201911204131.0A priority Critical patent/CN110968920B/zh
Publication of CN110968920A publication Critical patent/CN110968920A/zh
Application granted granted Critical
Publication of CN110968920B publication Critical patent/CN110968920B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种边缘计算中链式服务实体的放置方法及边缘计算设备,该方法包括如下步骤:A.构建边缘计算环境的网络模型、时延模型和成本模型;所述网络模型包括网络中的边缘服务器、用户及用户待执行的服务实体链;所述时延模型包括服务实体在边缘服务器上的计算时延、排队时延及传输时延;所述传输时延包括服务器之间、服务器与用户之间的传输时延;B.结合边缘计算中链式服务实体放置问题的目标函数及约束条件,通过基于K‑Means聚类算法和贪心算法的启发式算法,得到链式服务实体的放置方案。本发明通过基于K‑Means聚类算法和贪心算法的启发式算法,得到链式服务实体的放置方案,可以在较低的时间复杂度内得到更优的结果。

Description

一种边缘计算中链式服务实体的放置方法及边缘计算设备
技术领域
本发明涉及边缘计算和服务器部署分配领域,具体是一种边缘计算中的链式服务实体放置方法。
背景技术
随着第五代移动通信网络(5G)技术的日渐成熟,物联网(IoT,Internet ofThings)也将会迎来飞速的发展。5G技术能够提供物联网所需要的可靠性,低延时性,安全性和无处不在的移动性。物联网的兴起同时也带动了各种新型业务的发展,如虚拟现实(VR,Virtual Reality),增强现实(AR,Augmented Reality),语音识别(SpeechRecognition),自然语言处理(NLP,Natural Language Processing),语言理解(LUIS,Language Understanding Intelligent Service)等应用。这些应用通常都包含复杂度较高的深度学习算法,运行一般需要网络满足高带宽和低延时的条件。但由于设备自身有限的能源和计算能力,如何执行这些深度学习应用成为了主要的问题。
由于物联网的特点,传统的云计算模式已无法满足其需求:网络边缘的数据十分庞大,会导致巨大的不必要的带宽和计算资源使用;隐私保护也会成为一大难题;无线传输模块会消耗巨大的能源。网络边缘会产生巨量的数据,因此直接在网络边缘处理数据会更加有效,这就需要边缘计算这样的网络结构。
不同于云计算结构将数据收集后集中在云中心进行处理,边缘计算利用靠近用户和数据源的网络边缘节点完成数据的计算。边缘计算较云计算而言,网络中心的拥堵程度减小,网络延迟低且更加高效,同时安全性也更高。
边缘计算中的很多应用往往由链式的服务实体组成,因此其中边缘计算中链式服务实体的放置问题值得关注。服务实体可定义为用户的个人数据及对数据的处理逻辑的捆绑,负责用户状态和计算密集型任务。而服务实体在这些新型应用中通常以链式形式出现,即后一任务以前一任务的完成为前提,利用前一任务的输出数据作为自己的输入。例如某些加强现实应用包括以下的链式任务:镜头捕捉,解码,预处理,对象分类,生成虚拟对象等。不同的用户虽然服务实体并不完全相同,但也有重合的部分。图1展示了一个链式服务实体的例子,如图1所示可见:用户1有应用A需要执行,用户2有应用B需要执行,两个应用各自包含一系列链式的服务实体(也就是图中与应用A对应的模块1、模块2、模块3和模块4a,与应用B对应的模块1、模块2、模块3、模块4b和模块5b),并且应用A和应用B具有重合的服务实体(模块1,2,3),输入数据经过各自相应模块处理后得到输出。
对于用户而言,其服务实体的响应时间主要由网络传输时间和应用在服务器的计算时间构成,为降低用户的响应时间,应将服务实体放置在合适的边缘服务器上完成。而放置多个用户的链式服务实体并不是个简单的问题。服务实体放置在不同的边缘服务器上会导致不同的时延以及每个服务器不同的工作负载,若放置不当,会造成服务器的负载极其不均衡等情况,进而导致全局的高时延。因此,在边缘计算的网络中,如何放置链式服务实体使得总计的用户时延达到最小,是一个值得研究并亟待解决的问题。
发明内容
发明目的:本发明为了解决现有技术的不足,提供了一种边缘计算中链式服务实体的放置方法,同时提供了一种边缘计算设备。
技术方案:为解决上述技术问题,本发明提供的一种边缘计算中链式服务实体的放置方法,其包括如下步骤:
A.构建边缘计算环境的网络模型、时延模型和成本模型;所述网络模型包括网络中的边缘服务器、用户及用户待执行的服务实体链;所述时延模型包括服务实体在边缘服务器上的计算时延、排队时延及传输时延;所述传输时延包括服务器之间、服务器与用户之间的传输时延;
B.结合边缘计算中链式服务实体放置问题的目标函数及约束条件,通过基于K-Means聚类算法和贪心算法的启发式算法,得到链式服务实体的放置方案。
优选的,上述边缘计算中链式服务实体的放置方法还包括步骤C.计算启发式算法的时间复杂度。
优选的,所述步骤A中的成本模型包括约束所有边缘服务器上的服务实体成本总和,以及约束每个边缘服务器最多同时计算的服务实体数目;所述步骤B中的边缘计算中链式服务实体放置问题的目标函数以最小化用户响应时间为目标。
优选的,所述步骤A中,在边缘计算环境的网络模型中包括N个边缘服务器和M个用户,任一用户ui包含待执行的服务实体链Li;其中边缘服务器集合S={s1,s2,...,sN},用户集合U={u1,u2,...,uM},M、N为大于1的正整数;其中E={e1,e2,...,eK}为所有用户的服务实体集合;其中
Figure BDA0002296571450000021
表示用户ui移动应用中包含的服务实体链,其中映射关系f(i,j)表示用户ui的服务实体链中的第j个服务实体对应集合E中的某个元素e的下标序号,li表示服务实体链Li包含的服务实体数。
进一步优选的,所述时延模型中为用户ui的总时延为:
Ti=Tc+Tl+Tt
其中用户ui的服务实体计算时延Tc为:
Figure BDA0002296571450000031
其中用户ui的排队时延Tl为服务实体从放入任务队列时到执行任务的时间;
其中用户ui的传输时延Tt为:
Figure BDA0002296571450000032
其中
Figure BDA0002296571450000033
为服务实体ei在服务器sj上的计算时间;其中
Figure BDA0002296571450000034
表示用户ui的第k个服务实体ef(i,k)是否放置在服务器sj上计算,若
Figure BDA0002296571450000035
为1则是,不为1则否;其中f(i,j)为用户ui的服务实体链中的第j个服务实体对应E中元素的下标序列;
其中d(si,sj)为服务器si和服务器sj之间的传输时延,d(si,uj)为服务器si和用户uj之间的传输时延。
进一步优选的,所述步骤B中边缘计算中链式服务实体放置问题的目标函数为:
Figure BDA0002296571450000036
其中Ti为用户ui的总时延;
所述约束条件包括:
所有边缘服务器上的服务实体成本总和不得超过C:
Figure BDA0002296571450000037
以及,每个边缘服务器最多同时计算Q个服务实体:
Figure BDA0002296571450000038
其中C为所有边缘服务器的成本总和上限;
Figure BDA0002296571450000039
表示服务实体ek放置在服务器sj的成本;
Figure BDA00022965714500000310
表示服务器sj是否负载有服务实体模块ek,如
Figure BDA00022965714500000311
为1则是,不为1则否;
其中Q为每个边缘服务器最多同时计算服务实体的个数;其中
Figure BDA0002296571450000041
表示同一时间内用户uj是否有服务实体在服务器sk上计算,如
Figure BDA0002296571450000042
为1则是,不为1则否。
作为优选的,所述步骤B中的启发式算法中,根据边缘网络中服务器和用户的地理位置用K-Means聚类算法进行聚类,对每一簇中的服务器和用户运行的步骤包括:
(31).将所有按照时间线待执行的服务实体所属的用户抽象为任务线列表Taskline,初始化时随机将所有用户加入该Taskline列表;
(32).以从头到尾的顺序循环地从Taskline列表中取出用户,在所有负载有下一服务实体模块的边缘服务器中,选择假设将服务实体放置于其中计算,用户增加的响应时间最短的那个服务器,从而得到这一服务实体的放置方案及这一用户增加的响应时间;同时更新该用户的状态和所选择放置的服务器的状态,直至Taskline列表中已无用户,循环中止;
(33).将所有用户的服务实体链的放置方案放入放置集合中,得到并返回链式服务实体的放置方案。
进一步优选的,所述步骤(32)中更新该用户的状态和所选择放置的服务器的状态包括:若该用户之后无服务实体需要执行,则将该用户从Taskline列表中删除;若仍有服务实体需要执行,则首先计算当前服务实体计算完成所需的时间,并按照当前服务实体完成计算剩余所需时间从小到大的顺序将用户重新***Taskline列表中。
进一步优选的,所述步骤(33)中还包括,根据各用户的响应时间计算所有用户的平均响应时间并返回输出。
优选的,所述启发式算法的时间复杂度为O(|S|·|U|),其中S为边缘服务器集合,U为用户集合。
本发明同时提供了一种边缘计算设备,其包括:
处理器;以及
存储有计算机可执行指令的存储器,所述可执行指令在被处理器执行时实现如上所述任一方法的步骤。
有益效果:本发明通过基于边缘计算环境提供了一种以最小化用户响应时间为目标的链式服务实体放置方法,其通过构建边缘网络环境的网络模型、时延模型和成本模型,结合边缘计算中链式服务实体放置问题的目标函数及约束条件,通过基于K-Means聚类算法和贪心算法的启发式算法,得到链式服务实体的放置方案,可以在较低的时间复杂度内得到近似最优的结果。
附图说明
图1是一个链式服务实体的例子;
图2是本实施例提供的一种边缘计算中链式服务实体的放置方法的示意框图;
图3是本实施例不失一般性的举例说明中边缘计算环境中的边缘服务器集合(标出了服务器间距离、服务器拥有的模块种类)示意图;
图4是图3经过K-Means聚类后得到的边缘服务器集合(虚线框内的服务器聚成一簇)示意图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明,本实施列对本发明不构成限定。
本发明提供的一种边缘计算中链式服务实体的放置方法,首先构建边缘计算环境的网络模型、时延模型和成本模型;结合边缘计算中链式服务实体放置问题的目标函数及约束条件,通过基于K-Means聚类算法和贪心算法的启发式算法,得到链式服务实体的放置方案。本实施例中如图2所示具体包括如下若干步骤:
(1)对边缘计算中链式服务实体放置问题进行建模
包括构建边缘计算环境的网络模型、时延模型和成本模型。首先对边缘网络环境进行建模,所述网络模型包括网络中的边缘服务器,用户和用户待执行的服务实体链。同时将网络时延和服务器的负载能力抽象为符号表示。
(2)对边缘计算中链式服务实体放置问题作出定义:
首先对问题进行描述,然后定义目标函数和各个约束条件。
(3)通过本实施例提供的基于K-Means聚类算法和贪心算法的启发式算法,获得链式服务实体的放置方案,在解决该问题上具有良好的性能。
(4)分析启发式算法的时间复杂度
本实施例中,对边缘计算中链式服务实体放置问题进行建模的过程具体包括:
(11)建立网络模型:本实施例中使用集合S={s1,s2,...,sN}表示一个包含N个边缘服务器,使用集合U={u1,u2,...,uM}表示网络中存在的M个用户。假设每个用户有一个由链式的服务实体构成的移动应用待执行,使用集合E={e1,e2,...,eK}表示所有用户的服务实体集合,使用集合
Figure BDA0002296571450000051
表示用户ui移动应用中包含的服务实体链,其中映射关系f(i,j)表示用户ui的服务实体链中的第j个服务实体对应集合E中的某个元素e的下标序号,另外,用li表示服务实体链Li包含到服务实体数。显然Li是E的子集,且满足如下公式:
Figure BDA0002296571450000061
所述时延模型包括服务实体在边缘服务器上的计算时延、排队时延及传输时延;所述传输时延包括服务器之间、服务器与用户之间的传输时延。
(12)建立时延模型:该网络模型中的时延由服务实体在边缘服务器上的计算时间(即计算时延),排队时间(即排队时延),以及服务器之间、服务器与用户之间的传输时延这三部分构成,即用户ui的总时延Ti为:
Ti=Tc+Tl+Tt
对于计算时延Tc:用
Figure BDA0002296571450000062
表示服务实体ei在服务器sj上的计算时间,用
Figure BDA0002296571450000063
表示用户ui的第k个服务实体ef(i,k)是否放置在服务器sj上计算,若
Figure BDA0002296571450000064
为1,则表示用户ui的第k个服务实体ef(i,k)放置在服务器sj上计算,否则表示没有放置在该服务器上。从而用户ui的服务实体计算时间为:
Figure BDA0002296571450000065
对于排队时延Tl:服务器维护一个按时序排列的任务队列,排队时间Tl为服务实体从放入任务队列时到执行任务的时间。
对于传输时延Tt:传输时延主要由网络环境,数据大小以及传输距离等因素决定。定义服务器si和服务器sj之间的传输时延为d(si,sj),服务器si和用户uj之间的传输时延为d(si,uj)。在该网络模型中假设所有节点的网络环境相同且数据帧的大小对传输时延没有影响,即传输时延完全由传输距离决定。同时因d(si,sj)=d(sj,si),并且当i=j时d(si,sj)=0。则用户ui的传输时延为:
Figure BDA0002296571450000066
(13)建立成本模型:本实施例中成本模型包括约束所有边缘服务器上的服务实体成本总和,以及约束每个边缘服务器最多同时计算的服务实体数目。对于边缘服务器而言,一旦有服务实体放置在其中,就需要负担其维护等相关静态成本。由于属于不同模块的服务实体需要的负载量不同,而边缘服务器的配置也不尽相同,假设将服务实体ek放置在服务器sj的成本为
Figure BDA0002296571450000074
且约束/限制所有服务器的静态成本总和最多为C,也即约束所有边缘服务器上的服务实体成本总和不得超过C。服务实体在边缘服务器上运行计算也会耗费资源,本实施例中约束/限制每个边缘服务器最多同时计算Q个服务实体。
下表列出了文中提到的各符号及其含义:
Figure BDA0002296571450000071
其中
Figure BDA0002296571450000072
为1则表示服务器sj负载有服务实体模块ek,不为1则否表示服务器sj没有负载有服务实体模块ek;其中
Figure BDA0002296571450000073
为1则表示同一时间内用户uj有服务实体在服务器sk上计算,不为1则表示同一时间内用户uj没有服务实体在服务器sk上计算。
本实施例中,对边缘计算中链式服务实体放置问题作出定义的过程如下:
(21)描述问题(边缘计算中链式服务实体放置问题):给定一个边缘计算网络,包括边缘服务器集合S和用户集合U,任一用户ui包含待执行的服务实体链Li。本实施例中的边缘计算中链式服务实体放置问题的目标函数以最小化用户响应时间为目标,也即找到一个服务实体的放置方案,使得用户的响应时间达到最短。
(22)定义目标函数:
Figure BDA0002296571450000081
(23)定义约束条件:
所有边缘服务器上的服务实体成本总和不得超过C:
Figure BDA0002296571450000082
每个边缘服务器最多同时计算Q个服务实体:
Figure BDA0002296571450000083
基于上述边缘计算环境的网络模型、时延模型和成本模型,结合边缘计算中链式服务实体放置问题的目标函数及约束条件,通过基于K-Means聚类算法和贪心算法的启发式算法,得到链式服务实体的放置方案。
其中,通过本实施例提供的基于K-Means聚类算法和贪心算法的启发式算法,获得链式服务实体的放置方案,本实施例中具体包括根据边缘网络中服务器和用户的地理位置用K-Means聚类算法进行聚类,对每一簇中的服务器和用户运行下述步骤:
(31)为用户和对应的服务实体选择合适的数据结构:本实施例中将所有按照时间线待执行的服务实体所属的用户抽象为任务线列表Taskline,且刚开始时所有用户还未开始将服务实体放置在边缘服务器上执行,均无等待时间,因此初始化时随机将所有用户加入该Taskline列表;其中Taskline列表是一个用数组或链表实现的元素序列;
(32)以从头到尾的顺序循环地从Taskline列表中取出用户,在所有负载有下一服务实体模块的边缘服务器中,选择假设将服务实体放置于其中计算,用户增加的响应时间最短的那个服务器,从而得到这一服务实体的放置方案及这一用户增加的响应时间;同时更新该用户的状态和所选择放置的服务器的状态,直至Taskline列表中已无用户,循环中止。
本实施例中更新该用户的状态和所选择放置的服务器的状态包括:若该用户之后无服务实体需要执行,则将该用户从Taskline列表中删除;若仍有服务实体需要执行,则首先计算当前服务实体计算完成所需的时间,并按照当前服务实体完成计算剩余所需时间从小到大的顺序将用户重新***Taskline列表中。
(33)将各簇的输出合在一起得到最终输出,也即将所有用户的服务实体链的放置方案放入放置集合中,得到并返回链式服务实体的放置方案。本实施例中同时还根据各用户的响应时间,计算所有用户的平均响应时间,最后将平均响应时间和放置集合一并返回。
本实施例中,启发式算法的时间复杂度的分析过程如下:
基于贪心算法和K-Means聚类算法的启发式算法由两部分组成,前一部分为聚类过程,后一部分为贪心算法,即包括K-Means聚类算法的时间复杂度和贪心算法的时间复杂度,具体为:
(41)K-Means聚类算法中:K-Means聚类算法的时间复杂度为O(l·K2·(|S|+|U|)),其中常数l为K-Means聚类算法的收敛迭代次数,由于l和K都是常数,则该算法复杂度主要由数据量|S|+|U|决定,因此原式可简化为O(|S|+|U|);
(42)贪心算法中:若服务器和用户平均分布,即每一簇中有|S|/K个服务器和|U|/K个用户,则贪心算法的时间复杂度为O(K·(|S|/K)·(|U|/K)·K),即O(|S|·|U|)。
因此启发式算法的总的时间复杂度为O(|S|·|U|),其中S为边缘服务器集合,U为用户集合,K为K-Means聚类算法中的聚类个数,O是渐进上界记号。由此可见,本发明提供的启发式算法的时间复杂度较低,具体应用时,可在较短的时间内得到更优的服务实体的放置方案,也即可以在较低的时间复杂度内得到近似最优的结果。
本实施例同时提供了一种边缘计算设备,其包括处理器;以及存储有计算机可执行指令的存储器,所述可执行指令在被处理器执行时实现本实施例提供的如上任一方法的步骤。
本实施例同时提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序:当其中一个或多个程序被边缘计算设备执行时,该边缘计算设备实现本实施例提供的如上任一方法的步骤。
下面结合图3和图4对本实施例涉及的边缘计算网络环境、以及通过本实施例提供的基于K-Means聚类算法和贪心算法的启发式算法获得链式服务实体的放置方案,进行不失一般性的举例说明:
图3提供了一个构造的边缘计算网络环境,其中每个圆圈表示一个边缘服务器节点,圆圈一旁的英文字母表示该边缘服务器的编号,每个圆圈内部的数字表示该网络节点能够提供的服务实体模块编号,每两个圆圈之间的连线表示该两个边缘服务器之间的链路,连线一旁的数字表示两个边缘服务器之间的距离。
根据本发明给出的启发式算法,首先根据各用户和图3中边缘服务器的地理位置用K-Means聚类算法进行聚类,在图4(虚线框内的边缘服务器聚成一簇)中可以看到,经过K-Means聚类之后,A、B、C聚成一簇(记为Cluster1),D、E、F聚成一簇(记为Cluster2)。不失一般性的模拟在某一簇中某一次任务实体放置的过程如下:
假设在Cluster1中,用户集合U={u1,u2,u3,u4},某一时刻的任务线列表Taskline列表(Taskline列表是一个一般的元素序列,可以用数组或者链表实现)如下,斜杠后面的数字代表该用户当前服务实体完成计算的剩余所需时间,这个时间在每次放置完一个新的服务实体后得到更新:
u<sub>3</sub>/3 u<sub>2</sub>/5 u<sub>1</sub>/7 u<sub>4</sub>/12
此时从Taskline中取出用户u3,假设它当前的服务实体是它的服务实体链中的第2个,也就是ef(3,2),放置的位置是边缘服务器B,下一个服务实体ef(3,3)需要的模块编号为3。观察图3中所有的边缘服务器,A、C和E负载有该模块且均与B有链路相连,但E由于不在Cluster1中而首先被排除。此时综合考虑传输时延、排队时延和计算时延,从A和C中选出如果将ef(3,3)放置在该边缘服务器上增加u3响应时间较短的那一个。假设这时C的计算能力远强于A(即C计算时延小于A)而且资源也比较充足(即C排队时延小于A),导致尽管A离B更近(即A传输时延小于C),本实施例提供的启发式算法还是选择将这一服务实体放置在C上。从而得到并记录这一服务实体的放置方案,并且计算出用户u3增加的响应时间。然后同时更新该用户u3的状态和其所选择放置的服务器的状态,本例中这一次放置完成后,u3的当前服务实体完成计算的剩余所需时间因为新的服务实体的放置而变化(假设变成9),更新Taskline列表以维护“当前服务实体完成计算剩余所需时间从小到大”的性质,更新后的Taskline列表如下表所示:
u<sub>2</sub>/5 u<sub>1</sub>/7 u<sub>3</sub>/9 u<sub>4</sub>/12
这样就完成了Cluster1中的一次服务实体的放置,在每一个簇中循环地重复这一过程,直到对应的Taskline列表中无用户,循环中止。最后将各簇的输出合在一起,得到链式服务实体最终的放置集合和所有用户的平均响应时间,此时就完成了本例中边缘计算环境中多用户链式服务实体放置的全过程。
本发明具体应用途径很多,以上所述仅是本发明的优选实施方式,应当指出以上实施列对本发明不构成限定,相关工作人员在不偏离本发明技术思想的范围内,所进行的多样变化和修改,均落在本发明的保护范围内。

Claims (9)

1.一种边缘计算中链式服务实体的放置方法,其特征在于包括如下步骤:
A.构建边缘计算环境的网络模型、时延模型和成本模型;所述网络模型包括网络中的边缘服务器、用户及用户待执行的服务实体链;所述时延模型包括服务实体在边缘服务器上的计算时延、排队时延及传输时延;所述传输时延包括服务器之间、服务器与用户之间的传输时延;
B.结合边缘计算中链式服务实体放置问题的目标函数及约束条件,通过基于K-Means聚类算法和贪心算法的启发式算法,得到链式服务实体的放置方案;
所述步骤B中的启发式算法中,根据边缘网络中服务器和用户的地理位置用K-Means聚类算法进行聚类,对每一簇中的服务器和用户运行的步骤包括:
(31).将所有按照时间线待执行的服务实体所属的用户抽象为任务线列表Taskline,初始化时随机将所有用户加入该Taskline列表;
(32).以从头到尾的顺序循环地从Taskline列表中取出用户,在所有负载有下一服务实体模块的边缘服务器中,选择假设将服务实体放置于其中计算,用户增加的响应时间最短的那个服务器,从而得到这一服务实体的放置方案及这一用户增加的响应时间;同时更新该用户的状态和所选择放置的服务器的状态,直至Taskline列表中已无用户,循环中止;
(33).将所有用户的服务实体链的放置方案放入放置集合中,得到并返回链式服务实体的放置方案。
2.根据权利要求1所述的边缘计算中链式服务实体的放置方法,其特征在于:
所述步骤A中的成本模型包括约束所有边缘服务器上的服务实体成本总和,以及约束每个边缘服务器最多同时计算的服务实体数目;
所述步骤B中的边缘计算中链式服务实体放置问题的目标函数以最小化用户响应时间为目标。
3.根据权利要求1所述的边缘计算中链式服务实体的放置方法,其特征在于:所述步骤A中,在边缘计算环境的网络模型中包括N个边缘服务器和M个用户,任一用户ui包含待执行的服务实体链Li;其中边缘服务器集合S={s1,s2,...,sN},用户集合U={u1,u2,...,uM},M、n为大于1的正整数;其中E={e1,e2,...,eK}为所有用户的服务实体集合;其中
Figure FDA0003632234410000011
表示用户ui移动应用中包含的服务实体链,其中映射关系f(i,j)表示用户ui的服务实体链中的第j个服务实体对应集合E中的某个元素e的下标序号,li表示服务实体链Li包含的服务实体数。
4.根据权利要求3所述的边缘计算中链式服务实体的放置方法,其特征在于:所述时延模型中为用户ui的总时延为:
Ti=Tc+Tl+Tt
其中用户ui的服务实体计算时延Tc为:
Figure FDA0003632234410000021
其中用户ui的排队时延Tl为服务实体从放入任务队列时到执行任务的时间;
其中用户ui的传输时延Tt为:
Figure FDA0003632234410000022
其中
Figure FDA0003632234410000023
为服务实体ei在服务器sj上的计算时间;其中
Figure FDA0003632234410000024
表示用户ui的第k个服务实体ef(i,k)是否放置在服务器sj上计算,若
Figure FDA0003632234410000025
为1则是,不为1则否;其中f(i,j)为用户ui的服务实体链中的第j个服务实体对应E中元素的下标序列;
其中d(si,sj)为服务器si和服务器sj之间的传输时延,d(si,uj)为服务器si和用户uj之间的传输时延。
5.根据权利要求3所述的边缘计算中链式服务实体的放置方法,其特征在于:
所述步骤B中边缘计算中链式服务实体放置问题的目标函数为:
Figure FDA0003632234410000026
其中Ti为用户ui的总时延;
所述约束条件包括:
所有边缘服务器上的服务实体成本总和不得超过C:
Figure FDA0003632234410000027
以及,每个边缘服务器最多同时计算Q个服务实体:
Figure FDA0003632234410000028
其中C为所有边缘服务器的成本总和上限;
Figure FDA0003632234410000029
表示服务实体ek放置在服务器sj的成本;
Figure FDA0003632234410000031
表示服务器sj是否负载有服务实体模块ek,如
Figure FDA0003632234410000032
为1则是,不为1则否;
其中Q为每个边缘服务器最多同时计算服务实体的个数;其中
Figure FDA0003632234410000033
表示同一时间内用户uj是否有服务实体在服务器sk上计算,如
Figure FDA0003632234410000034
为1则是,不为1则否。
6.根据权利要求1所述的边缘计算中链式服务实体的放置方法,其特征在于:所述步骤(32)中更新该用户的状态和所选择放置的服务器的状态包括:若该用户之后无服务实体需要执行,则将该用户从Taskline列表中删除;若仍有服务实体需要执行,则首先计算当前服务实体计算完成所需的时间,并按照当前服务实体完成计算剩余所需时间从小到大的顺序将用户重新***Taskline列表中。
7.根据权利要求1所述的边缘计算中链式服务实体的放置方法,其特征在于:所述步骤(33)中还包括,根据各用户的响应时间计算所有用户的平均响应时间并返回输出。
8.根据权利要求1所述的边缘计算中链式服务实体的放置方法,其特征在于:所述启发式算法的时间复杂度为O(|S|·|U|),其中S为边缘服务器集合,U为用户集合。
9.一种边缘计算设备,其特征在于包括:
处理器;以及
存储有计算机可执行指令的存储器,所述可执行指令在被处理器执行时实现如权利要求1~8中的任一权利要求所述方法的步骤。
CN201911204131.0A 2019-11-29 2019-11-29 一种边缘计算中链式服务实体的放置方法及边缘计算设备 Active CN110968920B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911204131.0A CN110968920B (zh) 2019-11-29 2019-11-29 一种边缘计算中链式服务实体的放置方法及边缘计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911204131.0A CN110968920B (zh) 2019-11-29 2019-11-29 一种边缘计算中链式服务实体的放置方法及边缘计算设备

Publications (2)

Publication Number Publication Date
CN110968920A CN110968920A (zh) 2020-04-07
CN110968920B true CN110968920B (zh) 2022-06-14

Family

ID=70032347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911204131.0A Active CN110968920B (zh) 2019-11-29 2019-11-29 一种边缘计算中链式服务实体的放置方法及边缘计算设备

Country Status (1)

Country Link
CN (1) CN110968920B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113572848B (zh) * 2020-08-18 2022-07-08 北京航空航天大学 基于价值空间估计的带数据刷新的在线服务放置方法
CN112153147A (zh) * 2020-09-25 2020-12-29 南京大学 一种移动边缘环境中基于实体共享的链式服务实体的放置方法
CN112202603A (zh) * 2020-09-25 2021-01-08 南京大学 一种边缘环境下面向交互的服务实体放置方法
CN112153145A (zh) * 2020-09-26 2020-12-29 江苏方天电力技术有限公司 5g边缘环境下面向车联网的计算任务卸载方法及装置
CN113301151B (zh) * 2021-05-24 2023-01-06 南京大学 基于云边协同的低时延容器化任务部署方法及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595079A (zh) * 2018-04-23 2018-09-28 国家电网公司 一种基于多终端云平台共享的输变电工程勘察方法
CN110290011A (zh) * 2019-07-03 2019-09-27 中山大学 边缘计算中基于Lyapunov控制优化的动态服务放置方法
CN110418353A (zh) * 2019-07-25 2019-11-05 南京邮电大学 一种基于粒子群算法的边缘计算服务器放置方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595079A (zh) * 2018-04-23 2018-09-28 国家电网公司 一种基于多终端云平台共享的输变电工程勘察方法
CN110290011A (zh) * 2019-07-03 2019-09-27 中山大学 边缘计算中基于Lyapunov控制优化的动态服务放置方法
CN110418353A (zh) * 2019-07-25 2019-11-05 南京邮电大学 一种基于粒子群算法的边缘计算服务器放置方法

Also Published As

Publication number Publication date
CN110968920A (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
CN110968920B (zh) 一种边缘计算中链式服务实体的放置方法及边缘计算设备
Zeng et al. GraphACT: Accelerating GCN training on CPU-FPGA heterogeneous platforms
Kang et al. Neurosurgeon: Collaborative intelligence between the cloud and mobile edge
De Maio et al. Multi-objective scheduling of extreme data scientific workflows in fog
CN109840154B (zh) 一种移动云环境下基于任务依赖的计算迁移方法
CN114787824A (zh) 联合混合模型
Wei et al. Multi-resource balance optimization for virtual machine placement in cloud data centers
Dong et al. Computation offloading for mobile-edge computing with multi-user
CN114503125A (zh) 结构化剪枝方法、***和计算机可读介质
Xu et al. A multiple priority queueing genetic algorithm for task scheduling on heterogeneous computing systems
US9904741B2 (en) Colocation and anticolocation in colocation data centers via elastic nets
Campos et al. Scaling a convolutional neural network for classification of adjective noun pairs with tensorflow on gpu clusters
CN112836787A (zh) 通过高效混合并行化减少深度神经网络训练次数
Li et al. An intelligent collaborative inference approach of service partitioning and task offloading for deep learning based service in mobile edge computing networks
Yadav et al. An opposition-based hybrid evolutionary approach for task scheduling in fog computing network
CN114297041A (zh) 网络异构计算平台测试方法、装置和计算机设备
Nichols et al. MagmaDNN: accelerated deep learning using MAGMA
Thant et al. Multiobjective Level‐Wise Scientific Workflow Optimization in IaaS Public Cloud Environment
CN111667060B (zh) 深度学习算法的编译方法、装置及相关产品
CN114064235A (zh) 多任务教与学优化方法、***及设备
CN114217933A (zh) 多任务调度方法、装置、设备以及存储介质
Benjamas et al. Impact of I/O and execution scheduling strategies on large scale parallel data mining
CN111723247A (zh) 基于图的假设计算
Mehrjoo et al. Mapreduce based particle swarm optimization for large scale problems
Zhong et al. Multiobjective African Vulture Scheduling Algorithm in Green Mobile Edge Computing

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