CN114630175A - 一种缓存管理方法、装置、设备和存储介质 - Google Patents
一种缓存管理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114630175A CN114630175A CN202210246490.8A CN202210246490A CN114630175A CN 114630175 A CN114630175 A CN 114630175A CN 202210246490 A CN202210246490 A CN 202210246490A CN 114630175 A CN114630175 A CN 114630175A
- Authority
- CN
- China
- Prior art keywords
- state
- cache
- network
- duration
- data
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 88
- 230000002787 reinforcement Effects 0.000 claims abstract description 31
- 230000009471 action Effects 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 24
- 230000008901 benefit Effects 0.000 claims description 20
- 238000000034 method Methods 0.000 claims description 16
- 230000001186 cumulative effect Effects 0.000 claims description 9
- 230000007774 longterm Effects 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 8
- 238000013527 convolutional neural network Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000006854 communication Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000010521 absorption reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
- H04L47/722—Admission control; Resource allocation using reservation actions during connection setup at the destination endpoint, e.g. reservation of terminal resources or buffer space
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种缓存管理方法、装置、设备和存储介质,将当前缓存环境状态的数据输入预先训练的缓存管理强化学习模型,得到当前缓存状态的持续时间;根据当前缓存状态的类型在所述持续时间内接收数据流中的数据包,或者在接收数据包的同时输出数据包;所述当前缓存状态的类型为再缓冲状态或输出状态;当所述持续时间结束时,更换当前缓存状态的类型,并更新当前缓存环境状态的数据;重复执行上述步骤,直到完成数据流中所有数据包的接收。本发明可根据当前缓存环境状态,动态调整各缓存状态的持续时间,有效减少再缓冲时延,降低丢包数量,减轻缓存输出卡顿现象。
Description
技术领域
本发明涉及互联网的技术领域,尤其涉及一种缓存管理方法、装置、设备和存储介质。
背景技术
传统网络中“尽力而为”的服务方式不可避免地会带来传输抖动等问题,严重影响了网络服务质量,无法满足实时视频直播、远程工业控制等抖动高度敏感型应用对网络的要求。因此,减小传输抖动,提高网络服务质量是学术界和产业界一直以来追求的目标之一。当前,减小传输抖动的方法有很多,大体上可分为网络侧方法与用户侧方法。在网络侧,减小抖动的方法主要是逐跳调度整形,例如,时间感知调度、确定性IP、周期具化排队转发等。在用户侧,典型的减小抖动的方法则是通过缓存吸收抖动。
缓存设计与管理问题广泛存在于不同领域(通信网络、存储系统、生态系统等)的各种应用中。以通信网络中的流媒体应用为例,在播放器之前设置缓存,缓存首先接收经过网络传输到达的数据包,当缓存占用达到阈值时,缓存以一定的速率输出数据包。若阈值设置过大,则会导致端到端时延大,易出现缓存上溢现象,导致丢包;若阈值设置过小,则易出现缓存下溢现象,导致播放器卡顿。
图1为网络通信过程中通过缓存吸收抖动的简单示意图。由于传统网络信道资源统计复用,端到端的吞吐量与延迟呈现动态变化特性,发送端发出的数据包将以不同的延迟到达接收端,产生延迟抖动。如图1所示,为了克服网络动态性,可在接收端增加缓存。当数据包到达时,缓存首先接收并存储数据包,延迟一定时间后以恒定速率输出数据包。在此过程中,只要缓存非空,缓存即可持续输出,从而实现吸收抖动的目的。这里,一个待解决的问题是缓存设计与管理,主要包括设计缓存大小、管理决策延迟输出时间。在给定缓存大小的情况下,延迟输出时间越大,缓存下溢的概率越低,但却会导致缓存输出卡顿、端到端延迟增加;在给定延迟输出时间情况下,缓存越大,缓存上溢的概率越低,可避免出现数据包丢失,但会增加硬件开销,尤其是当接收端为便携式终端时。因此,合理设计与管理缓存至关重要。
在管理缓存方面,现有的工作中广泛采用的是基于阈值的被动式缓存管理方法。图2为基于阈值的被动式缓存管理示意图。当缓存占用为0时,缓存进入再缓冲状态,仅接受数据包输入,缓存中数据包数量逐渐增加,如图AC段所示;当缓存占用达到阈值b时,缓存进入输出状态,除接受数据包输入外,允许数据包输出,如图CD段所示。值得注意的是,缓存占用超过缓存容量将出现缓存上溢现象,导致数据包丢失。由于网络状态的动态变化,缓存占用动态变化,可能变为0,此时缓存将再次进入再缓冲状态,如图DE段所示。重复以上过程,直至完成所有数据包的接收。
现有的缓存管理方法存在如下缺点:
1)被动式缓存管理
现有技术均是基于阈值的被动式缓存管理,即当缓存占用达到阈值时,允许缓存输出。然而,这种方式难以适应网络状态的动态变化。随着工业互联网等技术的不断发展,基于阈值的被动式缓存管理难以满足新型时延抖动高敏感型应用的要求。
2)依赖缓存输入模型
现有技术通过定量分析缓存上/下溢与初始延迟之间的关系,优化初始延迟的配置。然而定量分析依赖对缓存输入侧网络模型的数学建模,例如将缓存输入侧网络模型建模为有限状态马尔科夫信道模型,这是常用于无线网络的网络模型。但在广域网中,网络结构复杂,承载的应用类型多样,难以采用现有的网络模型对输入侧网络进行建模,因此基于现有模型分析得出的缓存配置结果对实际的缓存管理的指导意义有限。
发明内容
本发明目的是提供一种缓存管理方法、装置、设备和存储介质,解决了现有缓存管理方法难以适应网络状态动态变化,存在时延大、丢包或者缓存输出卡顿的问题。
本发明的技术方案为:一种缓存管理方法,包括步骤:
将当前缓存环境状态的数据输入预先训练的缓存管理强化学习模型,得到当前缓存状态的持续时间;
根据当前缓存状态的类型在所述持续时间内接收数据流中的数据包,或者在接收数据包的同时输出数据包;所述当前缓存状态的类型为再缓冲状态或输出状态;
当所述持续时间结束时,更换当前缓存状态的类型,并更新当前缓存环境状态的数据;
重复执行上述步骤,直到完成数据流中所有数据包的接收。
进一步地,当前缓存环境状态的数据包括:前k个缓存状态结束时的缓存占用率、输入侧网络的平均吞吐量和缓存状态的持续时间,其中k为预设的个数。
进一步地,所述缓存管理强化学习模型包括:Actor网络和Critic网络,Actor网络输出关于当前缓存状态持续时间的动作策略,Critic网络用于输出累积的收益。
进一步地,所述Actor网络和Critic网络均包括依次连接的输入层,连接层和输出层;
所述输入层用于输入所述当前缓存环境状态的数据,通过卷积神经网络后输出;
所述连接层用于将输入层的输出合并成一个向量,并通过全连接网络后输出;
所述Actor网络的输出层通过全连接网络输出关于当前缓存状态持续时间的动作策略,所述Critic网络的输出层通过全连接网络输出累积收益。
进一步地,所述Actor网络的输出层采用Softmax函数作为激活函数,Critic网络的输出层采用Relu函数作为激活函数。
进一步地,若第n个缓存状态类型为输出状态,则第n个缓存状态结束时的累积收益为:
若第n个缓存状态类型为再缓冲状态,则第n个缓存状态结束时的累积收益为:
其中,tn为第n个缓存状态的持续时间,ln为第n个缓存状态持续时间内的丢包数,un为第n个缓存状态持续时间内出现缓存输出卡顿的次数,α、β、δ分别为权重系数,O和R分别表示输出状态和再缓冲状态。
进一步地,所述Actor网络的目标函数为:
其中,sn为第n个缓存状态开始时的当前缓存环境状态,作为Actor网络的输入;an为第n个缓存状态的持续时间;为Actor网络输出的动作策略,表示当前缓存状态持续时间的概率分布,θa是Actor网络的参数;Φ(sn,an)表示在缓存环境状态sn下确定性选择动作an的长期累积收益与在状态sn下按照动作策略选择动作得到的长期累积收益的差值;为动作策略的熵;ρ为权重系数。
进一步地,所述Critic网络的损失函数为:
其中,sn为第n个缓存状态开始时的当前缓存环境状态,作为Critic网络的输入;为Critic网络输出的累积收益,θc是Critic网络的参数;γ为长期累积收益中的折扣系数,rn为第n个缓存状态结束时的累积收益。
一种缓存管理装置,包括:
时间计算模块,用于将当前缓存环境状态的数据输入预先训练的缓存管理强化学习模型,得到当前缓存状态的持续时间;
缓存工作模块,用于根据当前缓存状态的类型在所述持续时间内接收数据流中的数据包,或者在接收数据包的同时输出数据包;所述当前缓存状态的类型为再缓冲状态或输出状态;
更新模块,用于当所述持续时间结束时,更换当前缓存状态的类型,并更新当前缓存环境状态的数据;
返回模块,用于返回时间计算模块,以使各模块重复执行上述步骤,直到完成数据流中所有数据包的接收。
进一步地,当前缓存环境状态的数据包括:前k个缓存状态结束时的缓存占用率、输入侧网络的平均吞吐量和缓存状态的持续时间,其中k为预设的个数。
进一步地,所述缓存管理强化学习模型包括:Actor网络和Critic网络,Actor网络输出关于当前缓存状态持续时间的动作策略,Critic网络用于输出累积的收益。
一种缓存管理设备,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述的任意一种缓存管理方法。
一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行前述的任意一种缓存管理方法。
本发明的有益效果:
本发明的缓存管理方法将缓存状态划分为再缓冲状态与输出状态,缓存状态在这两种状态之间轮转,利用预先训练的缓存管理强化学习模型,根据当前缓存环境状态的数据,决策当前缓存状态的持续时间,根据当前缓存状态的类型在所述持续时间内接收数据流中的数据包或者在接收数据包的同时输出数据包;
当持续时间结束时,更改当前缓存状态类型,并更新当前环境状态数据后,进入下一缓存状态,重复执行上述过程,直到完成数据流中所有数据包的接收。
可根据当前缓存环境状态,动态调整各缓存状态的持续时间,有效减小再缓冲时延,降低丢包数量,减轻缓存输出卡顿现象。
本发明不依赖于对缓存输入侧网络模型的数学建模,而是根据缓存环境状态的历史数据,预先训练缓存管理强化学习模型,能更好地适应广域网的复杂网络环境。
附图说明
图1是网络通信过程中通过缓存吸收抖动的简单示意图;
图2是现有技术中基于阈值的被动式缓存管理的示意图;
图3是本发明实施例中的一种缓存管理方法的流程示意图;
图4是采用本发明的主动式缓存管理方法与现有技术的被动式缓存管理方法的对比图;
图5是缓存管理代理与环境的交互学习的示意图;
图6是基于A2C算法设计的神经网络结构示意图;
图7是本发明实施例中的一种缓存管理装置的结构示意图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
不同于上述的被动式缓存管理方法,本发明提出的主动式缓存管理机制不是根据缓存占用阈值来被动触发缓存状态的改变,而是区分缓存状态为再缓冲状态与输出状态,其中,再缓冲状态表示在缓存状态的持续时间内仅接收数据流中的数据包,输出状态表示在缓存状态的持续时间内接收数据流中的数据包的同时输出数据包;缓存状态在这两种状态之间轮转,利用强化学习方法,根据缓存占用、网络状态决策即将进入的状态的持续时间,使得缓存管理更加灵活、更具前瞻性。
实施例1:
如图3所示,一种缓存管理方法,包括步骤:
步骤1,将当前缓存环境状态的数据输入预先训练的缓存管理强化学习模型,得到当前缓存状态的持续时间;
步骤2,根据当前缓存状态的类型在所述持续时间内接收数据流中的数据包,或者在接收数据包的同时输出数据包;所述当前缓存状态的类型包括:再缓冲状态和输出状态;
步骤3,当所述持续时间结束时,更换当前缓存状态的类型,并更新当前缓存环境状态的数据;
步骤4,重复执行步骤1~3,直到完成数据流中所有数据包的接收。
本发明的缓存管理方法不是根据阈值来被动触发缓存状态的改变,而是进行主动式缓存管理。本发明的缓存管理方法将缓存状态划分为再缓冲状态与输出状态,缓存状态在这两种状态之间轮转,根据当前缓存环境状态的数据,通过预先训练的缓存管理强化学习模型,确定当前缓存状态的持续时间,以减小再缓冲时延,减轻丢包情况,减轻缓存输出卡顿现象,且不依赖于对缓存输入侧网络模型的数学建模,能更好地适应广域网的复杂网络环境。
优选的是,本实施例中当前缓存环境状态的数据包括:前k个缓存状态结束时的缓存占用率、输入侧网络的平均吞吐量和缓存状态的持续时间。
每个缓存状态具有一个时间段,包括起点时刻和终点时刻,当前缓存环境状态的数据即获取的是:当前缓存状态之前的k个缓存状态在终点时刻的缓存占用率、输入侧网络的平均吞吐量和各个缓存状态的持续时间。k为设定个数,k的设定可以根据仿真或者实验结果来择优设定。
假设接收端缓存是以时间片为最小时间单位的离散时间系统,每个时间片的大小为发送端发送数据包的周期(毫秒级)。在任一时间片,缓存状态可为再缓冲状态(R)或输出状态(O)。不论缓存状态是再缓冲状态R还是输出状态O,缓存均接受数据包输入,可接收到0个或多个数据包。若缓存状态为再缓冲状态R,则缓存不允许数据包输出,若缓存状态为输出状态O,则缓存允许输出一个数据包。不同于基于阈值的被动式缓存管理,本发明的主动式缓存管理区分缓存状态为再缓冲状态与输出状态,缓存状态在这两种状态之间轮转,利用强化学习方法,根据缓存占用率、网络状态(输入侧网络的平均吞吐量)和缓存状态的持续时间决策即将进入的状态的持续时间。如图4所示,缓存从再缓冲状态R开始,主动式缓存管理机制决策即将进入的再缓冲状态R的持续时间为tR(即AF段),随后进入输出状态O,主动式缓存管理机制决策即将进入的输出状态O的持续时间为tO(即FG段)。两种状态交替出现,直至完成数据流中所有数据包的接收。
由图4可见,在本发明的主动式缓存管理方法下,合理规划缓存状态的持续时间可有效减小再缓冲状态持续时间,提高端到端服务质量。
优选的是,本发明基于强化学习A2C算法(优势动作评论算法,Advantage ActorCritic),设计了包括Actor网络和Critic网络的缓存管理强化学习模型;其中,Actor网络输出关于当前缓存状态持续时间的动作策略,Critic网络用于输出累积的收益;训练Actor网络和Critic网络的参数可得到收敛的缓存管理强化学习模型,即可得到预先训练的缓存管理强化学习模型。
具体地,强化学习是代理通过与环境交互来最大化其长期收益的学习过程。本实施例中得到缓存管理强化学习模型的过程如下:设置一个强化学习模型训练环境,缓存初始化后,从再缓冲状态开始,按照“再缓冲状态→输出状态→再缓冲状态→输出状态……”的顺序切换状态。
本实施例的代理为缓存管理强化学习代理,环境为图1所示的有线/无线网络与缓存本身。学习过程包含三个要素:状态、收益、动作。强化学习过程如图5所示,若第n个缓存状态为R,则在该状态开始时,本发明的缓存管理强化学习代理获取第n个缓存状态的缓存环境状态决策出动作记录动作执行完成后的累积收益
本实施例中缓存环境状态、收益、动作具体为:
(1)缓存环境状态:包括缓存占用状态、缓存输入侧的网络状态、缓存管理状态。当第n个缓存状态开始时,强化学习代理获取当前环境状态sn,sn表示为 代表缓存占用状态,为过去k个缓存状态开始时的缓存占用率向量,bn为第n个缓存状态开始时的缓存占用率;代表缓存输入侧的网络状态, 为过去k个缓存状态中缓存输入侧网络的平均吞吐量向量,φn-1为第n-1个缓存状态中缓存输入侧网络的平均吞吐量;代表缓存管理状态, 为过去k个缓存状态的持续时间向量,tn-1为第n-1个缓存状态的持续时间。k的设定可以根据仿真或者实验结果来择优设定。
(2)收益:在第n个缓存状态结束后,强化学习代理记录的收益rn与第n个缓存状态有关;
若第n个缓存状态为输出状态O,则第n个缓存状态结束时的累积收益为:
若第n个缓存状态为再缓冲状态R,则第n个缓存状态结束时的累积收益为:
其中,tn为第n个缓存状态的持续时间,ln为第n个缓存状态持续时间内的丢包数,un分别为第n个缓存状态持续时间内出现缓存输出卡顿的次数,α、β、δ分别为权重系数。
(3)强化学习代理在第n个缓存状态开始时决策出第n个缓存状态的动作为an,an代表第n个缓存状态的持续时间tn∈[Tl,Tu],Tl与Tu分别为已知的持续时间下界与上界。
优选的是,训练模型时,本实施例通过梯度下降法更新Actor网络的参数,具体过程如下:
其中,sn为第n个缓存状态开始时的当前缓存环境状态(即第n-1个缓存状态结束时的缓存环境状态),作为Actor网络的输入;an为第n个缓存状态的持续时间;为Actor网络输出的动作策略,表示当前缓存状态持续时间的概率分布,根据Actor网络输出可通过轮盘赌法得到an,θa是Actor网络的参数;Φ(sn,an)表示在缓存环境状态sn下确定性选择动作an的长期累积收益与在状态sn下按照动作策略选择动作得到的长期累积收益的差值;为动作策略的熵;ρ为权重系数。参数θa的更新公式如下:
其中,λa为Actor网络的学习率。
优选的是,训练模型时,本实施例通过梯度下降法更新Critic网络的参数,具体过程如下:
其中,γ为长期累积收益中的折扣系数;参数θc的更新公式如下:
其中,λc为Critic网络的学习率。
本发明基于A2C算法下,设计的缓存管理强化学习模型的结构如图6所示。以Actor网络为例,共包含3层:第一层为输入层,由3个卷积神经网络CNN组成,每个CNN网络对应缓存环境状态sn的一个向量分量;第二层为连接层,用于将输入层的输出合并成一个向量,并采用一个全连接网络处理后输出;第三层为输出层,采用全连接网络输出动作策略
Critic网络与Actor网络类似,也包括三层,其中,第一层和第二层与Actor网络相同,第三层为输出层,采用全连接网络输出状态值不同之处在于输出层,Actor网络的输出层采用Softmax函数作为激活函数,Critic网络的输出层采用Relu函数作为激活函数。
本发明的模型为离线训练的模型,可定期重新训练,获得更加准确的模型。
本发明的基于强化学习的主动式缓存管理方法,不依赖于对缓存输入侧网络模型的数学建模,能更好地适应广域网的复杂网络环境。
实施例2:
如图7所示,一种缓存管理装置,包括:
时间计算模块,用于将当前缓存环境状态的数据输入预先训练的缓存管理强化学习模型,得到当前缓存状态的持续时间;
缓存工作模块,用于根据当前缓存状态的类型在所述持续时间内接收数据流中的数据包,或者在接收数据包的同时输出数据包;所述当前缓存状态的类型为再缓冲状态或输出状态;
更新模块,用于当所述持续时间结束时,更换当前缓存状态的类型,并更新当前缓存环境状态的数据;
返回模块,用于返回时间计算模块,以使各模块重复执行上述步骤,直到完成数据流中所有数据包的接收。
优选的是,当前缓存环境状态的数据包括:前k个缓存状态结束时的缓存占用率、输入侧网络的平均吞吐量和缓存状态的持续时间,其中k为预设的个数。
优选的是,所述缓存管理强化学习模型包括:Actor网络和Critic网络,Actor网络输出关于当前缓存状态持续时间的动作策略,Critic网络用于输出累积的收益。
优选的是,所述Actor网络和Critic网络均包括依次连接的输入层,连接层和输出层;
所述输入层用于输入所述当前缓存环境状态的数据,通过卷积神经网络后输出;
所述连接层用于将输入层的输出合并成一个向量,并通过全连接网络后输出;
所述Actor网络的输出层通过全连接网络输出关于当前缓存状态持续时间的动作策略,所述Critic网络的输出层通过全连接网络输出累积收益。
优选的是,所述Actor网络的输出层采用Softmax函数作为激活函数,Critic网络的输出层采用Relu函数作为激活函数。
优选的是,若第n个缓存状态类型为输出状态,则第n个缓存状态结束时的累积收益为:
若第n个缓存状态类型为再缓冲状态,则第n个缓存状态结束时的累积收益为:
其中,tn为第n个缓存状态的持续时间,ln为第n个缓存状态持续时间内的丢包数,un为第n个缓存状态持续时间内出现缓存输出卡顿的次数,α、β、δ分别为权重系数,O和R分别表示输出状态和再缓冲状态。
优选的是,所述Actor网络的目标函数为:
其中,sn为第n个缓存状态开始时的当前缓存环境状态,作为Actor网络的输入;an为第n个缓存状态的持续时间;为Actor网络输出的动作策略,表示当前缓存状态持续时间的概率分布,θa是Actor网络的参数;Φ(sn,an)表示在缓存环境状态sn下确定性选择动作an的长期累积收益与在状态sn下按照动作策略选择动作得到的长期累积收益的差值;为动作策略的熵;ρ为权重系数。
优选的是,所述Critic网络的损失函数为:
其中,sn为第n个缓存状态开始时的当前缓存环境状态,作为Critic网络的输入;为Critic网络输出的累积收益,θc是Critic网络的参数;γ为长期累积收益中的折扣系数,rn为第n个缓存状态结束时的累积收益。
实施例3:
一种缓存管理设备,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述的任意一种缓存管理方法。
一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行前述的任意一种缓存管理方法。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种缓存管理方法,其特征在于,包括步骤:
将当前缓存环境状态的数据输入预先训练的缓存管理强化学习模型,得到当前缓存状态的持续时间;
根据当前缓存状态的类型在所述持续时间内接收数据流中的数据包,或者在接收数据包的同时输出数据包;所述当前缓存状态的类型为再缓冲状态或输出状态;
当所述持续时间结束时,更换当前缓存状态的类型,并更新当前缓存环境状态的数据;
重复执行上述步骤,直到完成数据流中所有数据包的接收。
2.根据权利要求1所述的一种缓存管理方法,其特征在于,当前缓存环境状态的数据包括:前k个缓存状态结束时的缓存占用率、输入侧网络的平均吞吐量和缓存状态的持续时间,其中k为预设的个数。
3.根据权利要求1所述的一种缓存管理方法,其特征在于,所述缓存管理强化学习模型包括:Actor网络和Critic网络,Actor网络用于输出关于当前缓存状态持续时间的动作策略,Critic网络用于输出累积的收益。
4.根据权利要求3所述的一种缓存管理方法,其特征在于,所述Actor网络和Critic网络均包括依次连接的输入层,连接层和输出层;
所述输入层用于输入所述当前缓存环境状态的数据,通过卷积神经网络后输出;
所述连接层用于将输入层的输出合并成一个向量,并通过全连接网络后输出;
所述Actor网络的输出层通过全连接网络输出关于当前缓存状态持续时间的动作策略,所述Critic网络的输出层通过全连接网络输出累积收益。
5.根据权利要求4所述的一种缓存管理方法,其特征在于,所述Actor网络的输出层采用Softmax函数作为激活函数,Critic网络的输出层采用Relu函数作为激活函数。
9.一种缓存管理装置,其特征在于,包括:
时间计算模块,用于将当前缓存环境状态的数据输入预先训练的缓存管理强化学习模型,得到当前缓存状态的持续时间;
缓存工作模块,用于根据当前缓存状态的类型在所述持续时间内接收数据流中的数据包,或者在接收数据包的同时输出数据包;所述当前缓存状态的类型为再缓冲状态或输出状态;
更新模块,用于当所述持续时间结束时,更换当前缓存状态的类型,并更新当前缓存环境状态的数据;
返回模块,用于返回时间计算模块,以使各模块重复执行上述步骤,直到完成数据流中所有数据包的接收。
10.根据权利要求9所述的一种缓存管理装置,其特征在于,当前缓存环境状态的数据包括:前k个缓存状态结束时的缓存占用率、输入侧网络的平均吞吐量和缓存状态的持续时间,其中k为预设的个数。
11.根据权利要求9所述的一种缓存管理装置,其特征在于,所述缓存管理强化学习模型包括:Actor网络和Critic网络,Actor网络用于输出关于当前缓存状态持续时间的动作策略,Critic网络用于输出累积的收益。
12.一种缓存管理设备,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~8中所述的任意一种缓存管理方法。
13.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1~8中所述的任意一种缓存管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210246490.8A CN114630175B (zh) | 2022-03-14 | 2022-03-14 | 一种缓存管理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210246490.8A CN114630175B (zh) | 2022-03-14 | 2022-03-14 | 一种缓存管理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114630175A true CN114630175A (zh) | 2022-06-14 |
CN114630175B CN114630175B (zh) | 2023-08-22 |
Family
ID=81901998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210246490.8A Active CN114630175B (zh) | 2022-03-14 | 2022-03-14 | 一种缓存管理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114630175B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014094306A1 (zh) * | 2012-12-21 | 2014-06-26 | 华为技术有限公司 | 一种Cache工作模式的设置方法和装置 |
CN106649041A (zh) * | 2016-12-27 | 2017-05-10 | 郑州云海信息技术有限公司 | 自动测试存储缓存模式的装置及方法 |
CN109587519A (zh) * | 2018-12-28 | 2019-04-05 | 南京邮电大学 | 基于q学习的异构网络多径视频传输控制系统及方法 |
US20200133859A1 (en) * | 2018-10-30 | 2020-04-30 | EMC IP Holding Company LLC | In-Memory Dataflow Execution with Dynamic Placement of Cache Operations and Action Execution Ordering |
US20210119928A1 (en) * | 2019-04-11 | 2021-04-22 | Beijing Dajia Internet Information Technology Co., Ltd. | Method, device, and terminal for controlling jitter in network communication |
CN113064907A (zh) * | 2021-04-26 | 2021-07-02 | 陕西悟空云信息技术有限公司 | 一种基于深度强化学习的内容更新方法 |
CN113259255A (zh) * | 2021-06-03 | 2021-08-13 | 鹏城实验室 | 一种网络拥塞控制方法、装置、终端及存储介质 |
US20210258235A1 (en) * | 2020-02-13 | 2021-08-19 | Microsoft Technology Licensing, Llc | Reinforcement learning for jitter buffer control |
-
2022
- 2022-03-14 CN CN202210246490.8A patent/CN114630175B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014094306A1 (zh) * | 2012-12-21 | 2014-06-26 | 华为技术有限公司 | 一种Cache工作模式的设置方法和装置 |
CN106649041A (zh) * | 2016-12-27 | 2017-05-10 | 郑州云海信息技术有限公司 | 自动测试存储缓存模式的装置及方法 |
US20200133859A1 (en) * | 2018-10-30 | 2020-04-30 | EMC IP Holding Company LLC | In-Memory Dataflow Execution with Dynamic Placement of Cache Operations and Action Execution Ordering |
CN109587519A (zh) * | 2018-12-28 | 2019-04-05 | 南京邮电大学 | 基于q学习的异构网络多径视频传输控制系统及方法 |
US20210119928A1 (en) * | 2019-04-11 | 2021-04-22 | Beijing Dajia Internet Information Technology Co., Ltd. | Method, device, and terminal for controlling jitter in network communication |
US20210258235A1 (en) * | 2020-02-13 | 2021-08-19 | Microsoft Technology Licensing, Llc | Reinforcement learning for jitter buffer control |
CN113064907A (zh) * | 2021-04-26 | 2021-07-02 | 陕西悟空云信息技术有限公司 | 一种基于深度强化学习的内容更新方法 |
CN113259255A (zh) * | 2021-06-03 | 2021-08-13 | 鹏城实验室 | 一种网络拥塞控制方法、装置、终端及存储介质 |
Non-Patent Citations (2)
Title |
---|
YASHUANG GUO等: "Buffer-Aware Streaming in Small-Scale Wireless Networks: A Deep Reinforcement Learning Approach", 《 IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY》, vol. 68, no. 7, pages 6891 - 6902, XP011734956, DOI: 10.1109/TVT.2019.2909055 * |
YUEDONG XU等: "Analysis of Buffer Starvation With Application to Objective QoE Optimization of Streaming Services", 《 IEEE TRANSACTIONS ON MULTIMEDIA》, vol. 16, no. 3, pages 813 - 827, XP011542981, DOI: 10.1109/TMM.2014.2300041 * |
Also Published As
Publication number | Publication date |
---|---|
CN114630175B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021012946A1 (zh) | 一种视频码率确定方法、装置、电子设备及存储介质 | |
CN112954385A (zh) | 一种基于控制论和数据驱动的自适应分流决策方法 | |
CN111031387B (zh) | 一种监控视频发送端视频编码流速控制的方法 | |
Hammad et al. | Analytical approximation of packet delay jitter in simple queues | |
CN113726656A (zh) | 时延敏感流转发的方法及装置 | |
CN112383485A (zh) | 一种网络拥塞控制方法及装置 | |
EP4293983A1 (en) | Transmission control method and apparatus | |
CN112153702B (zh) | 一种局域网带宽资源分配方法、存储装置及设备 | |
CN114584494A (zh) | 一种边缘云网络中测量实际可用带宽的方法 | |
CN114630175A (zh) | 一种缓存管理方法、装置、设备和存储介质 | |
CN115314399B (zh) | 一种基于逆强化学习的数据中心流量调度方法 | |
CN116389375A (zh) | 一种面向直播视频流的网络队列管理方法、设备及路由器 | |
CN116527587A (zh) | 一种基于aimd实现依权重分配带宽的系统及方法 | |
CN115811799A (zh) | 一种基于ddpg的5g-tsn联合资源调度装置及方法 | |
CN114615205B (zh) | 基于时间效益函数的时间敏感网络下的混合流量调度方法 | |
EP1408636A2 (en) | Method for adaptive and predictive playout for packet voice application | |
Shaio et al. | A reinforcement learning approach to congestion control of high-speed multimedia networks | |
CN113852817B (zh) | 自适应码率传输服务器、码率确定方法、传输系统及方法 | |
CN114553836B (zh) | 一种基于强化学习的数据块传输准时性提升方法 | |
CN100376100C (zh) | 控制业务接入时间间隔降低业务到达突发度的方法 | |
WO2023181205A1 (en) | Video player, video playback method, and program | |
Du et al. | Dynamic Push for HTTP Adaptive Streaming with Deep Reinforcement Learning | |
EP4221014A1 (en) | Download control in multi-server communication system | |
Jiang et al. | Off-policy: Soft actor-critic-based adaptive streaming for 360-degree video in heterogeneous wireless networks | |
CN117354242A (zh) | 一种动态利用队列缓存的流量控制方法、装置及介质 |
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 |