CN114489940A - 无服务器计算环境中基于时域卷积网络的冷启动优化方法 - Google Patents
无服务器计算环境中基于时域卷积网络的冷启动优化方法 Download PDFInfo
- Publication number
- CN114489940A CN114489940A CN202210055698.1A CN202210055698A CN114489940A CN 114489940 A CN114489940 A CN 114489940A CN 202210055698 A CN202210055698 A CN 202210055698A CN 114489940 A CN114489940 A CN 114489940A
- Authority
- CN
- China
- Prior art keywords
- function
- time
- server
- time domain
- free
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000005457 optimization Methods 0.000 title claims abstract description 24
- 230000006870 function Effects 0.000 claims description 203
- 238000004364 calculation method Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 15
- 230000007246 mechanism Effects 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 13
- 238000010606 normalization Methods 0.000 claims description 10
- 230000010339 dilation Effects 0.000 claims description 8
- 238000004140 cleaning Methods 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000002779 inactivation Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000008961 swelling Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出了无服务器计算环境中基于时域卷积网络的冷启动优化方法,该方法是结合时域卷积网络以及无服务器计算环境的特性提出来的基于时间序列预测的冷启动优化方法,该冷启动优化方法通过时域卷积网络对无服务器计算函数的调用时间及执行时间进行预测,并根据预测结果预热无服务器计算函数,还通过时域卷积网络对无服务器计算函数冷启动次数进行预测,从而动态调整容器池的容量以减少资源浪费,该冷启动优化方法能有效地减小了无服务器计算函数的冷启动延迟及资源消耗。
Description
技术领域
本发明属于无服务器计算技术领域,涉及一种无服务器计算环境中的冷启动优化方法。
背景技术
随着云计算技术的发展,无服务器计算已经成为部署云应用程序和服务的优先选择。传统的云即基础设施即服务(IaaS)为用户提供了对海量云资源的访问,资源弹性在虚拟机层面得到了管理。这往往导致资源的过度配置从而增加托管成本,或资源不足导致应用程序性能低下。而正在发展的无服务器计算有效地解决了这个问题,它承载单个可调用函数来提供函数即服务(FaaS),即计算单元是一个函数,无服务器计算平台通过计算基础设施的自动配置和管理从而为相关的函数分配了一个短暂的执行环境来处理请求。无服务器计算承诺降低托管成本、高可用性、容错性和动态弹性,从而使开发人员可以专注于应用程序及业务逻辑,而不是底层的基础设施,将动态云资源管理的责任留给云提供商,而云提供商可以提高其基础设施资源的效率。目前无服务器计算已经吸引了工业界和学术界的众多目光,谷歌、IBM、腾讯、阿里巴巴等大型厂商都提出了自己的无服务器计算产品。
尽管无服务器计算有很多优势且无服务器计算技术在迅猛发展,但是无服务器计算仍面临着一些挑战。在无服务器计算中,每个服务对应一个无状态函数,该函数通常在资源受限的对应容器中执行。无服务器计算不同于传统的基础设施即服务,无服务器计算中的容器仅在调用函数时启动,在处理请求后立即休眠。除此之外,如果函数在一段时间内没有被调用,那么函数容器将被删除。当删除函数容器后再次调用函数时,会发生冷启动的问题。冷启动会影响无服务计算的响应能力,对于一些调用不频繁的函数,可能会导致其每次的调用都有很长的延迟,且会导致更大的花销。总而言之,冷启动问题在一定程度上限制了无服务器计算技术的发展及广泛使用。
迄今为止,学者们提出了很多有关无服务器计算冷启动优化的方法,其中包括了容器池策略和预热策略,它们分别作用于云提供商和用户的角度优化冷启动问题,但是这些策略都是以牺牲CPU、内存等资源为代价来减少冷启动延迟。还有的研究人员试图在容器中通过不用的隔离来减少冷启动延迟,这种策略加快了函数的部署过程,但是却增加了函数的耦合度,使函数的扩展变得相对困难。除此之外一些研究者试图通过优化函数运行时的包来减少冷启动延迟,但是这样无法避免冷启动时间和函数的部署时间。如何在减少资源浪费的同时最大限度地减少冷启动延迟是一个丞待解决的关键问题。
发明内容
为解决背景技术中所述的问题,本发明提出了无服务器计算环境中基于时域卷积网络的冷启动优化方法。
本发明的技术方案包括如下步骤:
S1、统计过往时间段内无服务器计算函数的调用时间T(T={t1,…,tn}),以及无服务器计算函数的执行时间E(E={e1,…,en});
S2、按照运行环境对无服务器计算函数进行分类,并统计过往时间段内每种类别对应的无服务器计算函数的冷启动次数Times(Times={time1,…,timen});
S3、使用时域卷积网络对过往时间段内每种类别无服务器计算函数对应的冷启动次数进行预测,得到未来一段时间内每种类别的函数对应的冷启动次数Times1;
S4、初始化一个容器池P,根据预测的冷启动次数Times1,分别为每种类别的无服务器计算函数提前准备对应数量的容器,并将所有容器进行预启动及配置;
S5、使用时域卷积函数调用时间及函数执行时间进行预测,得到未来一段时网络对过往间内无服务器计算函数的调用时间T1以及无服务器计算函数的执行时间E1;
S6、根据预测的无服务器计算函数调用时间T1以及无服务器计算函数的执行时间E1,对将要执行的无服务器计算函数进行提前预热;
S7、判断无服务器计算函数是否预热成功:若预热成功,则无服务器计算函数成功启动;若预热失败,则容器池根据当前无服务器计算函数的类型为其提供一个已预启动且配置好的容器;
其中,n为无服务器计算函数的个数。
进一步地,所述的S3包括以下步骤:
S3.1、对历史数据进行去噪及清洗,利用历史数据训练时域卷积网络模型;
S3.2、根据时域卷积网络模型,输入过往时间段内每种类别对应的无服务器计算函数的冷启动次数Times(Times={time1,…,timen})进行预测,得到未来一段时间内每种类别的函数对应的冷启动次数为Times1(Times1={time11,…,time1n})。
进一步地,所述的S5包括以下步骤:
S5.1、对历史数据进行去噪及清洗,利用历史数据训练时域卷积网络模型;
S5.2、根据时域卷积网络模型,输入过往时间段内无服务器计算函数的调用时间T(T={t1,…,tn}),以及无服务器计算函数的执行时间E(E={e1,…,en})进行预测,得到未来一段时间内无服务器计算函数的调用时间T1(T1={t11,…,t1n}),以及无服务器计算函数的执行时间E1(E1={e11,…,e1n})。
更进一步地,所述S3和S5中,时域卷积网络由多个时域卷积网络残差模块组成,所述的时域卷积网络残差模块由膨胀卷积、Dropout层、WeightNorm层、ReLU激活函数组成。Dropout层用于防止出现过度拟合的现象,WeightNorm层用于加快训练速度和提高准确性,ReLU激活函数用于避免深度学习训练过程中梯度消失的问题。
更进一步地,所述的时域卷积网络包括输入层、时域卷积网络层、注意力机制层、全连接层和输出层;所述的输入层输入时域卷积网络模型所需要训练的数据集并将这些数据进行归一化处理;所述的时域卷积网络层接收输入层处理后的数据并学习无服务器计算函数序列之间的特征;所述的注意力机制层提取深层网络特征并计算相应的注意力权重,并将该注意力权重与时域卷积网络的输出特征相结合得到的输出值ot输出至全连接层,最后经由输出层输出预测所得的值。
更进一步地,所述的归一化处理中,采用最大最小值的方法对所需要训练的数据集进行归一化处理,以解决输入特征之间的不同量纲的问题,使得归一化处理后的输入特征其各项指标均处于同一数量级,归一化后数据i*为:
i*=i-imin/imax-imin,
其中i表示待归一化数据,imin表示待归一化数据中的最小值,imax表示待归一化数据中的最大值;
在预测过后,需要对数据进行反归一化,反归一化预测值o为:
o=o*(omax-omin)+omin;
其中o*是时域卷积网络模型的预测值,omin是原始数据的最小值,omax是原始数据的最大值。
更进一步地,所述的时域卷积网络中,当滤波器为F=(f1,f2,…,fk)和时间序列为X=(x1,x2,…,xT)时,在xt处膨胀因子为d的膨胀卷积DC为::
其中K为卷积核的大小;F为所有滤波器的集合,f1为第一个滤波器,fk为第k个滤波器,k=1,2,…,K;X为所有时间序列的集合,x1为第一个时间序列,xT为第T个时间序列,t=1,2,…,T。
更进一步地,所述的注意力机制层中,注意力权重包括第一注意力权重at和第二注意力权重qt,
所述的第一注意力权重at为:
at=c tanh(vht+b),
所述的第二注意力权重qt为:
其中at表示在t时刻时域卷积网络Hidden层向量ht确定的注意力权重,c和v表示权重系数,b表示偏置系数,ht(t∈[0,n])表示it通过时域卷积网络模型得到的Hidden层输出,it(t∈[0,n])表示时域卷积网络的输入,qt(t∈[0,n])表示注意力机制对Hidden层输出的注意力权重,n为无服务器计算函数的个数。
更进一步地,所述的注意力机制层中,输出值ot为:
其中qt(t∈[0,n])表示注意力机制对Hidden层输出的注意力权重,ht(t∈[0,n])表示it通过时域卷积网络模型得到的Hidden层输出,it(t∈[0,n])表示时域卷积网络的输入,n为无服务器计算函数的个数。
进一步地,所述的S7包括以下步骤:
S7.1、判断无服务器计算函数是否预热成功:若预热成功,则无服务器计算函数成功启动;若预热失败,则获取当前的函数类型C并判断初始化容器池P中是否剩余函数类型C的容器,若是则为当前函数分配一个已预启动且类型为C的容器,若否则重启一个新容器并分配给当前函数,直至函数成功启动;
S7.2、函数成功启动后,判断是否已全部遍历将要执行的无服务器计算函数:若是,则流程结束;若否,则回到S5直到将要执行的无服务器计算函数已全部遍历。
本发明与现有技术相比,所提出的冷启动优化方法是结合时域卷积网络以及无服务器计算环境的特性提出来的基于时间序列预测的冷启动优化方法,该冷启动优化方法通过时域卷积网络对无服务器计算函数的调用时间及执行时间进行预测,并根据预测结果预热无服务器计算函数,还通过时域卷积网络对无服务器计算函数冷启动次数进行预测,从而动态调整容器池的容量以减少资源浪费,该冷启动优化方法能有效地减小了无服务器计算函数的冷启动延迟及资源消耗。
附图说明
图1为本发明无服务器计算环境中基于时域卷积网络的冷启动优化方法的流程图。
图2为时域卷积网络残差模块结构图。
具体实施方式
下面结合附图详细说明本发明的实施情况,但它们并不构成对本发明的限定,仅做举例而已,同时通过说明,将更加清楚地理解本发明的优点。本领域的普通的技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。实施例中所述的位置关系均与附图所示一致,实施例中其他未详细说明的部分均为现有技术。
本发明提出的无服务器计算环境中基于时域卷积网络的冷启动优化方法的模型由两部分组成:①基于时域卷积网络预测的无服务器计算函数的预热:通过过往无服务器计算函数的调用时间及执行时间预测未来无服务器计算函数的调用时间,从而提前对函数进行预热,减少冷启动所带来的延迟。②基于时域卷积网络预测的容器池的扩展:将无服务器计算函数按照其运行环境划分为不同的类型,并对每种类型的无服务器计算函数冷启动次数进行预测。按照预测的结果在容器池中分别为每种类型的无服务器计算函数提前准备对应数量的容器,在某个无服务器计算函数预热失败后,容器池自动为其提供一个与该函数类型相同且预启动的容器。
在函数预热的过程中,如果在函数执行前持续对其进行预热,则容器将持续重新启动,造成不必要的资源浪费。在容器池扩展的过程中,无法预知每种类型的无服务器计算函数未来一段时间内的冷启动次数,则容器池需要事先准备并预启动大量的容器来防止容器的供应不足,从而浪费大量的资源。为了解决上述问题,需要在函数预热过程中对函数的调用时间进行预测,在容器池扩展过程中对每种无服务器计算函数的冷启动次数进行预测。
预测方法的选择决定了本发明中算法的效率,由于无服务器计算函数的调用时间及冷启动次数都是时间序列,所以选用时域卷积网络作为本发明的预测模型。时域卷积网络英文简称为TCN,下文中为简化描述,会用TCN来表示时域卷积网络。
时域卷积网络TCN是一种新型的可以用来解决时间序列预测的模型,不同于循环神经网络RNN,TCN可以大规模并行处理,因此在训练和验证时网络的速度都会更快。TCN可以通过增加层数、改变膨胀系数和滤波器大小改变感受野,历史信息长短上更加灵活,且避免了循环神经网络RNN中的梯度弥散和梯度***问题。同时在训练过程中,时域卷积网络TCN的内存占用更少,尤其针对于长序列。相比于其它预测模型,时域卷积网络TCN的引入有效地提升了无服务器计算环境中冷启动优化算法的效率。
1.冷启动优化方法的相关参数的定义
无服务器计算环境中基于时域卷积网络的冷启动优化方法中,相关参数的定义如下所述。
(1)无服务器计算函数的个数用n来表示,本文所述的n均为此含义。
(2)函数调用时间T(T={t1,…,tn}):定义一个空列表T,用来存储无服务器计算函数的历史调用时间。在每次函数调用后,将当前无服务器计算函数的调用时间及函数名存储至列表T中。
(3)函数调用时间E(E={e1,…,en}):定义一个空列表E,用来存储无服务器计算函数的历史执行时间。定义临时变量time1和time2,在每个无服务器计算函数调用前,记录当前时刻并赋值给time1。在每个无服务器计算函数调用结束时,记录当前时刻并赋值给time2。随后将time2-time1的结果存储至列表E中。
(4)函数冷启动次数Times(Times={time1,…,timen}):定义一个名为Times的HashMap<String,Integer>,用来存储每种类型无服务器计算函数的冷启动次数,key值为无服务器计算函数的类型名称,value值为当前类型对应的冷启动次数。当无服务器计算函数每次被调用后,判断其是否发生了冷启动,若出现冷启动,则在当前无服务器计算函数类型名对应的value值上加1。
(5)膨胀卷积DC:在TCN中,当滤波器为F=(f1,f2,…,fk)和时间序列为X=(x1,x2,…,xT)时,在xt处膨胀因子为d的膨胀卷积DC为:
其中K为卷积核的大小;F为所有滤波器的集合,f1为第一个滤波器,fk为第k个滤波器,k=1,2,…,K;X为所有时间序列的集合,x1为第一个时间序列,xT为第T个时间序列,t=1,2,…,T。
膨胀因子能够确保滤波器可以有效输入特征,同时深层网络能够高效获取无服务器计算函数历史时间序列。
(6)TCN网络输入it:it(t∈[0,n])表示TCN网络的输入。
(7)Hidden层输出ht:ht(t∈[0,n])表示it通过TCN网络模型得到的Hidden层输出。
(8)第一注意力权重at:at表示在t时刻TCN网络Hidden层向量ht确定的注意力权重,at的计算公式如下:
at=c tanh(vht+b),
其中c和v表示权重系数,b表示偏置系数。
(9)第二注意力权重qt:qt(t∈[0,n])表示注意力机制对Hidden层输出的注意力权重,qt的计算公式如下:
(10)输出值ot:ot(t∈[0,n])表示xt经过注意力机制的输出值,ot的计算公式如下:
(11)归一化后数据i*:对于TCN的输入,采用最大最小值的方法对所需要训练的数据集进行归一化处理,从而解决输入特征之间的不同量纲的问题,归一化处理后的输入特征其各项指标均处于同一数量级,有利于TCN模型的训练,归一化后数据i*的计算公式如下:
i*=i-imin/imax-imin,
其中i表示待归一化数据,imin表示待归一化数据中的最小值,imax表示待归一化数据中的最大值。
(12)反归一化预测值o:在预测过后,需要对数据进行反归一化,反归一化预测值o的计算公式如下:
o=o*(omax-omin)+omin,
其中o*是TCN模型的预测值,omin是原始数据的最小值,omax是原始数据的最大值。
2.冷启动优化方法的具体流程
无服务器计算环境中基于时域卷积网络的冷启动优化方法,是以传统的冷启动优化方法和时域卷积网络为基础并结合无服务器计算环境的特性而提出来的,其流程图如图1所示,下面对其进行详细说明。
(1)统计过往时间段内无服务器计算函数的调用时间T(T={t1,…,tn}),以及无服务器计算函数的执行时间E(E={e1,…,en})。
(2)按照运行环境对无服务器计算函数进行分类,并统计过往时间段内每种类别对应的无服务器计算函数的冷启动次数Times(Times={time1,…,timen})。
(3)使用时域卷积网络TCN对过往时间段内每种类别无服务器计算函数对应的冷启动次数进行预测,得到未来一段时间内每种类别的函数对应的冷启动次数。
具体地,步骤(3)是通过下述流程实现的:
(3.1)对历史数据进行去噪及清洗,利用历史数据训练TCN模型。
(3.2)根据TCN模型,输入过往时间段内每种类别对应的无服务器计算函数的冷启动次数Times(Times={time1,…,timen})进行预测,得到未来一段时间内每种类别的函数对应的冷启动次数为Times1(Times1={time11,…,time1n})。
(4)初始化一个容器池P,根据预测的冷启动次数Times1,分别为每种类别的无服务器计算函数提前准备对应数量的容器,并将所有容器进行预启动及配置。
(5)使用时域卷积网络TCN对过往函数调用时间及函数执行时间进行预测,得到未来一段时间内无服务器计算函数的调用时间以及无服务器计算函数的执行时间。
具体地,步骤(5)是通过下述流程实现的:
(5.1)对历史数据进行去噪及清洗,利用历史数据训练TCN模型。
(5.2)根据TCN模型,输入过往时间段内无服务器计算函数的调用时间T(T={t1,…,tn}),以及无服务器计算函数的执行时间E(E={e1,…,en})进行预测,得到未来一段时间内无服务器计算函数的调用时间T1(T1={t11,…,t1n}),以及无服务器计算函数的执行时间E1(E1={e11,…,e1n})。
(6)根据预测的无服务器计算函数调用时间T1以及无服务器计算函数的执行时间E1,对将要执行的无服务器计算函数进行提前预热。
(7)判断无服务器计算函数是否预热成功:若预热成功,则无服务器计算函数成功启动;若无服务器计算函数预热失败,则容器池根据当前无服务器计算函数的类型为其提供一个已预启动且配置好的容器。
具体地,步骤(7)是通过下述流程实现的:
(7.1)判断无服务器计算函数是否预热成功:若预热成功,则无服务器计算函数成功启动;若预热失败,则获取当前的函数类型C并判断初始化容器池P中是否剩余函数类型C的容器,若是则为当前函数分配一个已预启动且类型为C的容器,若否则重启一个新容器并分配给当前函数,直至函数成功启动。
(7.2)函数成功启动后,判断是否已全部遍历将要执行的无服务器计算函数:若是,则流程结束;若否,则回到步骤(5)直到将要执行的无服务器计算函数已全部遍历。
如图2所示,时域卷积网络TCN由多个TCN残差模块组成。所述TCN残差模块由膨胀因果卷积、Dropout层、WeightNorm层、ReLU激活函数组成。Dropout层随机失活神经元可防止出现过度拟合的现象,WeightNorm层可有效加快训练速度,提高准确性,ReLU激活函数可有效避免深度学习训练过程中梯度消失的问题。在TCN残差模块中加入1×1的卷积可解决输入输出数据维度不同的问题。
3.冷启动优化方法的伪代码描述
(1)定义列表T、列表E、以及HashMap集合Times。
(2)for过往时间段内的无服务器计算函数。
(3)获取当前无服务器计算函数的调用t1时间及执行时间e1并分别加入对应的列表,T.append(t1),E.append(e1)。
(4)if当前无服务器计算函数发生冷启动
(5)在集合Times中将当前函数类型c1对应的冷启动次数上加1,Times.put(c1,Times.get(c1)+1)。
(6)end if
(7)end for
(8)使用调用时间T、执行时间E和每种类型函数的冷启动次数Times训练TCN模型,train_TCN()。
(9)使用TCN模型预测未来一段时间内每种无服务器计算函数可能的冷启动次数Times1。
(10)初始化容器池P,根据预测结果Times1分别准备对应类型和数量的容器,并对容器进行与启动及配置。
(11)for将要执行的无服务器计算函数集合Functions。
(12)使用TCN模型预测当前无服务器计算函数f的调用时间t,根据调用时间t提前对函数进行预热。
(13)if函数预热成功。
(14)当前无服务器计算函数f正常启动,start(f)。
(15)else
(16)获取当前无服务器计算函数f的类型c。
(17)if容器池中剩余类型c的容器数量Pc>0。
(18)为当前函数f分配一个类型c的容器。
(19)else
(20)重启一个新容器并将其分配给当前函数f。
(21)end if
(22)使用分配到的容器启动函数f,start(f)。
(23)end if
(24)end for
由算法的伪代码描述可以得到,第1行到第7行获取过往时间段内执行的无服务器计算函数的调用时间、执行时间以及每种类型无服务器计算函数的冷启动次数。第8行使用获取到的过往无服务器计算函数信息训练TCN模型。第9行预测未来一段时间内每种类型无服务器计算函数的冷启动次数。第10行使用预测的冷启动次数初始化容器池。第11行到第24行为本发明提出的冷启动优化策略的核心,其中第12行使用TCN模型对将要执行的无服务器计算函数的执行时间进行预测,通过预测结果提前对无服务器计算函数进行预热。第13行到第22行针对无服务器计算函数不同的预热结果采取不同的措施,若当前无服务器计算函数预热成功,则函数正常启动。若当前无服务器计算函数预热失败,则判断容器池中是否剩余对应类型的的容器。若容器池中当前无服务器计算函数的类型对应的容器数量大于0,则为其从容器池中分配一个已经配置完成并预启动的容器。若容器池中没有当前类型的容器,则重启一个新的容器并分配给当前无服务器计算函数。整个算法通过TCN模型对无服务器计算函数的调用时间进行预测,并使用预测结果对函数进行预热,从而减少函数的启动延迟。为了防止预热失败的情况,在容器池中实现按照预测的函数冷启动次数事先准备对应数量的容器,并将其提前配置且预启动。在函数预热失败后自动为其分配对应类型且已预启动好的容器,从而减少由函数预热失败而导致的冷启动延迟和资源消耗。
以上结合附图及具体实施例详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
Claims (10)
1.无服务器计算环境中基于时域卷积网络的冷启动优化方法,其特征在于,包括如下步骤:
S1、统计过往时间段内无服务器计算函数的调用时间T(T={t1,...,tn}),以及无服务器计算函数的执行时间E(E={e1,...,en});
S2、按照运行环境对无服务器计算函数进行分类,并统计过往时间段内每种类别对应的无服务器计算函数的冷启动次数Times(Times={time1,...,timen});
S3、使用时域卷积网络对过往时间段内每种类别无服务器计算函数对应的冷启动次数进行预测,得到未来一段时间内每种类别的函数对应的冷启动次数Times1;
S4、初始化一个容器池P,根据预测的冷启动次数Times1,分别为每种类别的无服务器计算函数提前准备对应数量的容器,并将所有容器进行预启动及配置;
S5、使用时域卷积函数调用时间及函数执行时间进行预测,得到未来一段时网络对过往间内无服务器计算函数的调用时间T1以及无服务器计算函数的执行时间F1;
S6、根据预测的无服务器计算函数调用时间T1以及无服务器计算函数的执行时间F1,对将要执行的无服务器计算函数进行提前预热;
S7、判断无服务器计算函数是否预热成功:若预热成功,则无服务器计算函数成功启动;若预热失败,则容器池根据当前无服务器计算函数的类型为其提供一个已预启动且配置好的容器;
其中,n为无服务器计算函数的个数。
2.根据权利要求1所述的无服务器环境中基于时域卷积网络的冷启动优化方法,其特征在于:所述的S3包括以下步骤:
S3.1、对历史数据进行去噪及清洗,利用历史数据训练时域卷积网络模型;
S3.2、根据时域卷积网络模型,输入过往时间段内每种类别对应的无服务器计算函数的冷启动次数Times(Times={time1,...,timen})进行预测,得到未来一段时间内每种类别的函数对应的冷启动次数为Times1(Times1={time11,...,time1n})。
3.根据权利要求1所述的无服务器环境中基于时域卷积网络的冷启动优化方法,其特征在于:所述的S5包括以下步骤:
S5.1、对历史数据进行去噪及清洗,利用历史数据训练时域卷积网络模型;
S5.2、根据时域卷积网络模型,输入过往时间段内无服务器计算函数的调用时间T(T={t1,...,tn}),以及无服务器计算函数的执行时间E(E={e1,...,en})进行预测,得到未来一段时间内无服务器计算函数的调用时间T1(T1={t11,...,t1n}),以及无服务器计算函数的执行时间E1(E1={e11,...,e1n})。
4.根据权利要求2或3所述的无服务器环境中基于时域卷积网络的冷启动优化方法,其特征在于:所述S3和S5中,时域卷积网络由多个时域卷积网络残差模块组成,所述的时域卷积网络残差模块由膨胀卷积、Dropout层、WeightNorm层、ReLU激活函数组成。
5.根据权利要求4所述的无服务器环境中基于时域卷积网络的冷启动优化方法,其特征在于:所述的时域卷积网络包括输入层、时域卷积网络层、注意力机制层、全连接层和输出层;所述的输入层输入时域卷积网络模型所需要训练的数据集并将这些数据进行归一化处理;所述的时域卷积网络层接收输入层处理后的数据并学习无服务器计算函数序列之间的特征;所述的注意力机制层提取深层网络特征并计算相应的注意力权重,并将该注意力权重与时域卷积网络的输出特征相结合得到的输出值ot输出至全连接层,最后经由输出层输出预测所得的值。
6.根据权利要求5所述的无服务器环境中基于时域卷积网络的冷启动优化方法,其特征在于:所述的归一化处理中,采用最大最小值的方法对所需要训练的数据集进行归一化处理,以解决输入特征之间的不同量纲的问题,使得归一化处理后的输入特征其各项指标均处于同一数量级,归一化后数据i*为:
i*=i-imin/imax-imin,
其中i表示待归一化数据,imin表示待归一化数据中的最小值,imax表示待归一化数据中的最大值;
在预测过后,需要对数据进行反归一化,反归一化预测值o为:
o=o*(omax-omin)+omin,
其中o*是时域卷积网络模型的预测值,omin是原始数据的最小值,omax是原始数据的最大值。
8.根据权利要求5至7中任意一项所述的无服务器环境中基于时域卷积网络的冷启动优化方法,其特征在于:所述的注意力机制层中,注意力权重包括第一注意力权重at和第二注意力权重qt,
所述的第一注意力权重at为:
at=c tanh(vht+b),
所述的第二注意力权重qt为:
其中at表示在t时刻时域卷积网络Hidden层向量ht确定的注意力权重,c和v表示权重系数,b表示偏置系数,ht(t∈[0,n])表示it通过时域卷积网络模型得到的Hidden层输出,it(t∈[0,n])表示时域卷积网络的输入,qt(t∈[0,n])表示注意力机制对Hidden层输出的注意力权重,n为无服务器计算函数的个数。
10.根据权利要求1所述的无服务器环境中基于时域卷积网络的冷启动优化方法,其特征在于:所述的S7包括以下步骤:
S7.1、判断无服务器计算函数是否预热成功:若预热成功,则无服务器计算函数成功启动;若预热失败,则获取当前的函数类型C并判断初始化容器池P中是否剩余函数类型C的容器,若是则为当前函数分配一个已预启动且类型为C的容器,若否则重启一个新容器并分配给当前函数,直至函数成功启动;
S7.2、函数成功启动后,判断是否已全部遍历将要执行的无服务器计算函数:若是,则流程结束;若否,则回到S5直到将要执行的无服务器计算函数已全部遍历。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210055698.1A CN114489940B (zh) | 2022-01-18 | 2022-01-18 | 无服务器计算环境中基于时域卷积网络的冷启动优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210055698.1A CN114489940B (zh) | 2022-01-18 | 2022-01-18 | 无服务器计算环境中基于时域卷积网络的冷启动优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114489940A true CN114489940A (zh) | 2022-05-13 |
CN114489940B CN114489940B (zh) | 2024-07-12 |
Family
ID=81511111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210055698.1A Active CN114489940B (zh) | 2022-01-18 | 2022-01-18 | 无服务器计算环境中基于时域卷积网络的冷启动优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489940B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117093330A (zh) * | 2023-10-16 | 2023-11-21 | 南京奕起嗨信息科技有限公司 | 无服务器计算中的容器管理方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083405A (zh) * | 2019-04-28 | 2019-08-02 | 北京邮电大学 | 一种函数启动方法及装置 |
CN110837408A (zh) * | 2019-09-16 | 2020-02-25 | 中国科学院软件研究所 | 一种基于资源缓存的高性能无服务器计算方法及*** |
CN111445339A (zh) * | 2020-04-20 | 2020-07-24 | 苏州大学 | 双线性注意力卷积神经网络限价单预测分析方法及*** |
US20210184941A1 (en) * | 2019-12-13 | 2021-06-17 | Hewlett Packard Enterprise Development Lp | Proactively accomodating predicted future serverless workloads using a machine learning prediction model and a feedback control system |
CN113205128A (zh) * | 2021-04-28 | 2021-08-03 | 华东师范大学 | 基于无服务器计算的分布式深度学习性能保证方法 |
CN113535409A (zh) * | 2021-08-10 | 2021-10-22 | 天津大学 | 一种面向能耗优化的无服务器计算资源分配*** |
CN113656179A (zh) * | 2021-08-19 | 2021-11-16 | 北京百度网讯科技有限公司 | 云计算资源的调度方法及装置、电子设备和存储介质 |
-
2022
- 2022-01-18 CN CN202210055698.1A patent/CN114489940B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083405A (zh) * | 2019-04-28 | 2019-08-02 | 北京邮电大学 | 一种函数启动方法及装置 |
CN110837408A (zh) * | 2019-09-16 | 2020-02-25 | 中国科学院软件研究所 | 一种基于资源缓存的高性能无服务器计算方法及*** |
US20210184941A1 (en) * | 2019-12-13 | 2021-06-17 | Hewlett Packard Enterprise Development Lp | Proactively accomodating predicted future serverless workloads using a machine learning prediction model and a feedback control system |
CN111445339A (zh) * | 2020-04-20 | 2020-07-24 | 苏州大学 | 双线性注意力卷积神经网络限价单预测分析方法及*** |
CN113205128A (zh) * | 2021-04-28 | 2021-08-03 | 华东师范大学 | 基于无服务器计算的分布式深度学习性能保证方法 |
CN113535409A (zh) * | 2021-08-10 | 2021-10-22 | 天津大学 | 一种面向能耗优化的无服务器计算资源分配*** |
CN113656179A (zh) * | 2021-08-19 | 2021-11-16 | 北京百度网讯科技有限公司 | 云计算资源的调度方法及装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
徐政钧: "无服务器云计算平台中函数启动加速器的设计与实现", 《硕士电子期刊》, 31 May 2021 (2021-05-31), pages 1 - 78 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117093330A (zh) * | 2023-10-16 | 2023-11-21 | 南京奕起嗨信息科技有限公司 | 无服务器计算中的容器管理方法及装置 |
CN117093330B (zh) * | 2023-10-16 | 2023-12-22 | 南京奕起嗨信息科技有限公司 | 无服务器计算中的容器管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114489940B (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220391771A1 (en) | Method, apparatus, and computer device and storage medium for distributed training of machine learning model | |
US11487698B2 (en) | Parameter server and method for sharing distributed deep learning parameter using the same | |
Vahidinia et al. | Mitigating cold start problem in serverless computing: A reinforcement learning approach | |
WO2021254114A1 (zh) | 构建多任务学习模型的方法、装置、电子设备及存储介质 | |
CN111901294A (zh) | 一种构建在线机器学习项目的方法及机器学习*** | |
CN110033091B (zh) | 一种基于模型进行预测的方法和装置 | |
WO2020215752A1 (zh) | 图计算方法及装置 | |
CN110795226B (zh) | 利用计算机***处理任务的方法、电子设备和存储介质 | |
CN115905687A (zh) | 基于元学习图神经网络面向冷启动的推荐***及方法 | |
WO2021104132A1 (zh) | 一种基于云虚拟机的数据访问方法及设备 | |
CN111459610A (zh) | 一种模型部署方法和装置 | |
CN114489940A (zh) | 无服务器计算环境中基于时域卷积网络的冷启动优化方法 | |
CN116257363B (zh) | 资源调度方法、装置、设备及存储介质 | |
RU2744028C2 (ru) | Способ и система для хранения множества документов | |
US20230306236A1 (en) | Device and method for executing lstm neural network operation | |
Wang et al. | A distributed rule engine based on message-passing model to deal with big data | |
CN116302448B (zh) | 任务调度方法和*** | |
CN111935026A (zh) | 一种数据传输方法、装置、处理设备及介质 | |
CN116582407A (zh) | 一种基于深度强化学习的容器化微服务编排***及方法 | |
WO2022257301A1 (zh) | 一种服务的计算资源配置方法、***及装置 | |
CN115080244A (zh) | 一种基于负载智能预测的云平台资源调度方法及*** | |
US12045701B2 (en) | Dynamically adjusting a serverless execution container pool for training and utilizing online machine-learning models | |
CN115708061A (zh) | 服务器部署模型的方法、模型处理方法和装置 | |
CN115205092A (zh) | 使用访问请求响应动态批处理组件的图形执行 | |
US20230273837A1 (en) | Virtualized computing resource management for machine learning model-based processing in computing environment |
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 |