一种边缘设备的容器预热和保活方法、设备及存储介质

文档序号:37423187发布日期:2024-03-25 19:10阅读:11来源:国知局
一种边缘设备的容器预热和保活方法、设备及存储介质

本发明涉及无服务器计算领域,尤其涉及一种边缘设备的容器预热和保活方法、设备及存储介质。


背景技术:

1、在当前科技发展背景下,边缘计算成为了一种广泛采用的计算模式。边缘计算将计算资源部署在网路边缘,能够有效解决远程数据传输带来的延迟问题,并提供快速的响应能力。然而,传统的边缘计算平台将资源以虚拟机和容器等形式提供给用户,开发人员在处理业务逻辑的同时,还需要关心虚拟机和容器等资源的调度和管理,造成业务复杂性的增加,从而导致开发人员效率下降。无服务器计算(serverless computing)是一种新兴的以函数为中心的云计算范式,通过将底层云平台和业务逻辑解耦来减少管理开销,使用户能够专注于编写业务逻辑,而不必担心底层的服务器基础架构,大大提高了开发人员的效率。除此之外,无服务器计算还具有按需分配资源,按量付费,自动扩缩容等优点。无服务计算的出现也为边缘计算的发展带来了新的机遇,能够更好的为边缘计算进行资源的有效管理,有力的支持了物联网等应用的发展。

2、尽管无服务器计算在迅速的发展过程中带来了许多好处,同时也存在着一些严峻的挑战,其中不可忽视的一项挑战为函数的冷启动。函数的冷启动是指,当请求到达无服务器函数时,由于该函数尚未运行或已经被销毁,系统需要为该函数创建容器,并拉取函数运行所需要的依赖的过程。冷启动将消耗大量的时间,研究证明,冷启动产生的延迟是无法忽略的,它占函数生命周期的50%,并且当函数的复杂性提高,加载一些庞大的外部依赖(例如机器学习的模型等)以及产生高并发调用时,随着容器数量的增多,会使得冷启动时间远超过函数的执行时间。更为糟糕的是,由于边缘设备的异构性和资源的有限性,无服务器计算将会存在更加严重的函数“冷启动”问题。因此如何降低冷启动延迟成为了将无服务器计算应用到边缘设备中一个关键的挑战。

3、降低冷启动延迟最为有效直接的方法应当是避免冷启动的发生,而避免冷启动的发生通常的办法为预热和保活。从预热的角度来说,作者govindan提出了一种基于深度学习的无服务器(dls)框架,该框架在函数执行请求到达之前初始化和设置容器,而不是在函数执行请求到达时或之后初始化容器。然而,但如果负载在预热完成后迅速减少,那么很多容器可能会浪费资源。从保活的角度来说,round robin算法通过增加内存,使相同函数的容器可以在多个服务器上缓存,使得函数再被调用时在多个服务器上都可以被热启动,使冷启动时间很快的下降。但这样的方式浪费了内存资源,在系统整体的角度看来,仍然表现出较差的性能。

4、造成传统方法不能解决边缘设备冷启动问题的一个重要原因便是,单一的预热或者保活策略在资源有限的边缘设备中存在极大的限制性,其次容器的保活选择,预热选择,函数实例的数量都存在着极大的动态性。由此基于强化学习的方案被提出,agarwal等人使用q-learning算法来动态确定函数实例的数量,然而,该算法仍然仅仅只考虑了容器的预热且需要将连续值离散化来表示状态,无法估算最佳行动信息,有状态空间和行动空间爆炸的风险。为此如何找到一种策略来解决边缘设备中严重的冷启动现象是本领域技术人员亟待解决的技术问题。


技术实现思路

1、为了解决边缘设备中冷启动现象严重的问题,本发明提供了一种边缘设备的容器预热和保活方法、设备及存储介质;一种边缘设备的容器预热和保活方法,主要包括以下步骤:

2、s1、获取边缘设备调用的函数及其时间序列数据;

3、s2、建立时间序列模型,由函数时间序列数据训练模型,预测函数未来置信时间段的调用情况;

4、s3、基于深度学习建立容器预热和保活模型;

5、s4、利用函数未来置信时间段的调度情况对容器预热和保活模型训练学习,得到最佳函数预热和保活策略,进而实现边缘设备的容器预热和保活。

6、进一步地,步骤s2具体为:

7、s21、整理函数时间序列数据,将其表示为(ti,yi);

8、其中,ti是时间戳,yi是对应的函数调用次数;

9、s22、基于线性回归建立时间序列模型,利用函数时间序列数据训练模型,预测函数未来置信时间段的调度情况。

10、其中,函数时间序列数据为函数历史调用情况的趋势和变化的时序数据。

11、进一步地,时间序列模型预测的结果表现为表示函数f在时隙t内调用的概率;t表示时隙,为时间序列模型预测函数未来调用情况置信时间段;f表示函数,f∈f,f为函数集合。

12、函数未来时间段的调度情况表现为二元变量表示时隙t内函数的调用情况,变量值根据确定。

13、进一步地,在每一个时隙开始时,根据预测的函数未来置信时间段的调用情况,给无服务器边缘设备平台输送一系列的函数请求,基于深度学习建立容器预热以及保活模型的框架具体为:

14、无服务器边缘设备平台作为环境;

15、边缘设备的服务器作为agent;

16、模型的状态为容器中函数的保活状态:

17、为时隙t内边缘设备为函数f保活容器的情况,表示服务器n在时隙t内为函数f的保活情况;令s表示状态集合,将时隙t内函数的保活状态定义为st,则有st∈s,且

18、模型的动作包括:部署函数、为函数创建容器以及为函数保活容器:

19、令at∈a,at表示时隙t内采取的动作,a表示动作集合,则at可以写为:其中,

20、(1)表示函数f的部署动作,表示服务器k在时隙t内部署函数f,表示不部署;

21、(2)表示服务器上的保活容器动作,表示服务器k在时隙t内继续保活函数f的容器,表示不再保活;

22、(3)表示服务器为函数创建容器动作,表示服务器k在时隙t内为函数f创建函数,时不创建;

23、模型的激励为平均启动时延,并设置约束条件以惩罚非正常的策略采取。

24、进一步地,所述激励的计算公式为:

25、

26、rt表示时隙t内强化学习的激励;k1、k2为预设的大数值正实数;n表示一个服务器,n∈n,为无服务器平台中服务器的集合;和分别表示时隙t内服务器n的内存资源剩余和计算资源剩余,用作约束条件:

27、

28、

29、其中,mn为设备n的内存资源,cn为设备n的计算资源,sf为函数f容器占用内存大小,s’f为函数f的预热容器大小,cf为函数f调用所需的计算资源;表示时隙t内对函数f容器的部署决策;表示时隙t内对函数f容器的保活决策;表示时隙t内对函数f容器的创建决策;

30、tt表示在时隙t内的函数启动的时间,它的形式化的计算具体步骤如下:

31、(1)每一个服务器,该服务器在每一个时隙中所承载的函数运行的计算能力不得超出该服务器的计算能力上限:

32、

33、(2)每一个服务器在任何时隙内其所包含的容器占存储空间大小之和都不得超过该服务器的内存上限:

34、

35、(3)对于变量在t时函数f被调度了才能够被部署至服务器上,并且,被调度的函数必须且只能被部署到一个服务器上,因此:

36、

37、(4)在容器预热和保活方面,如果上一个时隙已经保活了容器,那么在本时隙将不再创建新的容器,因此我们有:

38、

39、(5)前一个时隙保活后,后一个时隙才能保活,或者前一个时隙未保活,但当前时隙创建了该容器,才能决定是否保活:

40、

41、(6)计算在一个时隙内的函数启动的时间:

42、

43、其中,表示函数f在时隙t内的请求率;tf表示函数f经经冷启动时动;σf表示为函数f创建容器所需时动。

44、进一步地,基于深度学习建立的容器预热和保活模型使用的算法步骤为:

45、s31、设定训练周期episode的轮数,初始化模型内存池d,并使用网格参数θ初始化状态-动作价值函数q以及目标状态-动作价值

46、网格参数θ用于代表预测概率。这是因为我们无法保证预测的100%准确,随着预测时间越长,预测的精度也就越低,实际上也会对我们的策略产生一定的影响。当预测的精度较低时,即使该函数的冷启动时间较长,但如果没有被调用,做的预热或保活决策也会浪费内存空间。因此,预测的概率也是该模型中必不可少的因素;q函数具体展开为q(st,at;θ);具体展开为a’、θ-为目标状态-动作价值函数选取的动作以及网格参数,用于区分学习状态-动作价值函数q的参数。

47、s32、判断episode的训练情况并采取对策:

48、有未训练的episode,初始化环境以及状态,开启下一轮训练,否则终止训练;

49、s33、根据时隙的终端情况采取策略:

50、训练到达时隙的终端状态时选择并返回步骤s32;未到达终端状态,使用∈-greedy算法训练模型循环学习,每次学习后都重新初始化环境和状态,直至训练至终端状态,返回步骤s32;

51、s34、训练结束,得到函数保活策略,进而实现边缘设备的容器预热和保活。

52、进一步地,∈-greedy算法训练模型的具体过程为:

53、s331、在环境中随机选取动作at并执行,得到状态st+1,并获得激励rt;

54、s332、将状态(st,at,rt,st+1)存入内存池d;其中st为未执行动作时的状态;

55、s333、随机从内存池d中抽取状态(sj,aj,rj,sj+1),在此基础上进行决策选取:

56、

57、yj为训练中的价值得分即激励;max’a为最大值函数;

58、s334、在(yi-q(sj,aj;θ))2上针对网格参数θ上执行梯度下降步骤。

59、进一步地,训练学习的过程中使用经验回放,消除相关性,使得数据满足独立同分布,减少参数更新的方差,提高收敛速度,同时提高数据的利用率,并且设定一个c值,训练过程中每过c轮训练对网格参数和q值进行更新。

60、一种存储介质,所述存储介质存储指令及数据用于实现一种边缘设备的容器预热和保活方法。

61、一种计算机设备,包括:处理器及所述存储介质;所述处理器加载并执行所述存储介质中的指令及数据用于实现一种边缘设备的容器预热和保活方法。

62、本发明提供的技术方案带来的有益效果是:本发明通过获取边缘设备调用的函数及其时间序列数据、建立时间序列模型,由函数时间序列数据训练函数,预测函数未来置信时间段的调用情况、基于深度学习建立容器预热和保活模型、利用函数未来置信时间段的调度情况对容器预热和保活模型训练学习,最佳函数预热和保活策略,进而实现边缘设备的容器预热和保活,解决了边缘设备中严重的冷启动问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1