一种共享缓存管理方法及装置制造方法及图纸

技术编号:35468877 阅读:20 留言:0更新日期:2022-11-05 16:13
本申请公开了一种共享缓存管理方法,涉及人工智能领域,包括:获取目标端口的端口状态向量,端口状态向量包括端口缓存信息、流量信息和历史决策;将所述端口状态向量输入目标神经网络模型获取控制因子α;根据控制因子α基于动态阈值算法计算所述目标端口的缓存阈值;根据缓存阈值为所述目标端口分配缓存。本方法可以通过与环境交互,自动学习针对目标网络特性的高效的缓存管理策略,从而实现更高的网络传输性能。传输性能。传输性能。

【技术实现步骤摘要】
一种共享缓存管理方法及装置


[0001]本专利技术涉及人工智能(AI))领域,特别涉及一种共享缓存管理方式及装置。

技术介绍

[0002]在现代互联网中,网络设备(例如,路由器、交换机等)通常使用一定大小的数据包缓存用于吸收突发流量,以避免数据包丢失。缓存大小对网络性能影响很大,缓存不足可能导致吞吐率降低,从而损害网络服务质量。当前大多数交换机,往往使用可以在多个端口间共享的片上缓存,而不是单个端口专用的私有缓存,来提高缓存利用率。如图1所示,共享缓存交换机通常被建模为输出队列交换机,其中从输入端口到达的数据包穿过交换结构并在输出端口进入队列。当来自不同输入端口的多个数据包发往同一个输出端口时,队列将逐渐积累。
[0003]共享内存交换机依赖于特定的缓存管理策略在不同端口之间分配缓存。如果没有缓存管理策略,少数端口可能会占用整个共享缓存空间,阻止其他端口从共享内存中受益,从而导致交换机端口之间的严重不公平。为了避免不公平,最简单的方法是将总缓冲区平均分割,并将其分配为每个端口的私有缓冲区。这种方法的问题是端口只能访问其专有的缓存空间,这限制了当只有少数端口处于活动状态时的缓存利用率,这违反了缓存应该在端口之间动态共享的共享缓存基本原则。长期以来,研究人员认为理想的缓存管理应该介于完全共享(无控制)和完全分区(均匀分割)之间,同时具有高缓存利用率和端口公平性。
[0004]现有交换机共享缓存调度策略主要分为两个大类:侵占式方案与非侵占式方案。侵占式方案允许新到来的数据包在缓存被占满时覆盖已经存在于缓存中的数据包。现有侵占式策略通常为保证端口间公平性,选择覆盖队列长度最长的端口中的数据包,或者为了最大化吞吐,根据端口的流到达速率确定队列的长度限制,但现实中完全准确的流量信息很难获得。事实证明,侵占式策略在某些场景下是最优的,但是由于对缓存中特定位置已有的数据包进行覆盖操作难以使用硬件实现,因此当前认为侵占式方案是不可行的。
[0005]因此一般情况下只考虑非侵占式设置。对于非侵占式策略,数据包只能在进入队列前被丢弃,一旦数据包进入缓存则无法被覆盖,只有等待其从出端口进入链路,数据包所占用的缓存空间才能被释放。非侵占式方案可以分为静态阈值类方案和动态阈值类方案。典型的静态阈值类方案有:静态阈值(Static Threshold,ST)和完全共享(Complete Sharing, CS)。ST方案给每个端口设定固定的缓存使用量,公平性好,但对非均匀流量的适应性差, CS方案将静态阈值设定为缓存总量,等价于不对端口缓存使用进行限制,该方案缓存使用率高,但端口之间会出现严重的不公平。非抢占式策略中动态阈值(Dynamic Threshold, DT)策略已被交换机厂商广泛使用,相比于静态阈值类方案,动态阈值类方案对交换机端口流量变化有一定的适应能力,同时通过有意识地预留缓存可以确保不同端口之间的公平性。基于动态阈值策略,后续研究者们开发了一系列针对不同流量模式的变种方案。然而,现有的缓存管理策略往往依赖于启发式方法,无法在不同的流量模式下始终保持良好的性能。

技术实现思路

[0006]本申请提供了一种共享缓存管理方法,本方法可以通过与环境交互,自动学习针对目标网络特性的高效的缓存管理策略,从而实现更高的网络传输性能。
[0007]第一方面,本申请提供了一种共享缓存管理方法,方法包括:获取端口的端口状态向量,端口状态向量可以包括端口缓存信息、流量信息和历史决策;将端口状态向量输入目标神经网络模型获取控制因子α;根据控制因子α基于动态阈值算法计算端口的缓存阈值;根据缓存阈值为对应目标端口分配缓存。
[0008]其中获取端口状态向量时,获取的端口可以是一个也可以是设备的多个端口,或者设备的所有端口进行整体的共享缓存管理,当获取的是多个端口的状态向量,则获取到的控制因子α也是与多个端口一一对应的,用于分别基于动态阈值算法计算各个端口的缓存阈值。
[0009]在一种可能的实现中,当需要获取状态向量的端口为多个,目标神经网络可以使用置换等变神经网络,则获取到的控制因子α为与所述目标端口数量相对应的多维向量;同时基于置换等变神经网络的特性,所获取的控制因子α的排列顺序和输入的端口状态向量所对应的端口的排列顺序相同。
[0010]在一种可能的实现中,目标神经网络包括第一子神经网络和第二子神经网络;第一子神经网络用于根据所述端口状态向量构建端口嵌入向量,端口嵌入向量保留有端口状态向量的时序信息;通过对端口嵌入向量采用置换不变操作获取设备嵌入向量;对端口嵌入向量和设备嵌入向量进行拼接处理后输入第二子神经网络获得端口汇总嵌入向量,端口汇总嵌入向量用于获取控制因子α,其中,拼接处理用于对每个所述端口嵌入向量进行所述设备嵌入向量标记以保留顺序信息。
[0011]在一种可能的实现中,第一子神经网络可以为循环神经网络(RNN)。
[0012]在一种可能的实现中,端口嵌入向量为e
i
=φ(x
i
),其中φ为第一字神经网络,x
i
为端口i的所述端口状态向量,N≥i≥1,N为大于1的正整数;设备嵌入向量为所述端口汇总嵌入向量为:
[0013][0014]其中f为所述第二子神经网络。
[0015]在一种可能的实现中,根据决策间隔内的活跃流数量和活跃时间进行奖励函数设置;根据奖励函数更新所述目标神经网络的参数;决策间隔根据控制因子α的更新时间确定。
[0016]在一种可能的实现中,根据决策间隔内的目标端口的丢包数进行奖励函数设置;根据奖励函数更新所述目标神经网络的参数;决策间隔为连续两次所述控制因子α的更新之间的间隔时间。
[0017]其中活跃流的活跃时间可以有多种计算方式,可以按照一定的策略粗略的估算,如将决策间隔认定为是活跃流的活跃时间,也可以是根据实际检测的时间来确定。
[0018]通过奖励函数的设置,使得本方案的一些实现方式能够建立在现代深度强化学习技术的基础上。基于不同的优化目标进行奖励函数的设置,可以使得本方案的一些实现方式能够支持对任意给定的优化目标进行优化(例如,最小化平均流的传输完成时间)。
[0019]在一种可能的实现中,控制因子α的更新可以为周期性更新。周期性的对动态阈值策略中的控制因子进行更新可以保证每个端口所分配的缓存阈值能够更好的适应流量模式的变化或突发流量到达的情况。
[0020]在一种可能的实现中,控制因子α的更新还可以是基于预设个数的数据包事件触发;数据包事件包括数据包入队、出队和丢弃中的至少一种。
[0021]在一种可能的实现中,控制因子α的更新基于预设个数的数据包事件触发,具体为:
[0022]当满足条件:
[0023][0024]触发所述控制因子α的更新,其中和分别是端口i最近一次进行所述控制因子α的更新后的入队、丢弃和出队的数据包数量,β是一个超参数。
[0025]通过事件来进行控制因子的更新,可以减少高决策频率所带来的影响,因为过高本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种共享缓存管理方法,其特征在于,所述方法包括:获取目标端口的端口状态向量,所述端口状态向量包括端口缓存信息、流量信息和历史决策;将所述端口状态向量输入目标神经网络模型获取控制因子α;根据所述控制因子α基于动态阈值算法计算所述目标端口的缓存阈值;根据所述缓存阈值为所述目标端口分配缓存。2.如权利要求1所述的共享缓存管理方法,其特征在于,所述目标端口为多个;所述目标神经网络为置换等变神经网络,所述控制因子α为与所述目标端口数量相对应的多维向量;所述端口状态向量所对应的所述目标端口的排列顺序和所述控制因子α所对应的所述目标端口的排列顺序相同。3.如权利要求1

2所述的共享缓存管理方法,其特征在于,所述目标神经网络包括第一子神经网络和第二子神经网络;所述第一子神经网络用于根据所述端口状态向量构建端口嵌入向量,所述端口嵌入向量保留有所述端口状态向量的时序信息;通过对所述端口嵌入向量采用置换不变操作获取设备嵌入向量;对所述端口嵌入向量和所述设备嵌入向量进行拼接处理后输入所述第二子神经网络获得端口汇总嵌入向量,所述端口汇总嵌入向量用于获取控制因子α,其中,所述拼接处理用于对每个所述端口嵌入向量进行所述设备嵌入向量标记以保留顺序信息。4.如权利要求3所述的共享缓存管理方法,其特征在于,所述第一子神经网络为循环神经网络(RNN)。5.如权利要求3

4所述的共享缓存管理方法,其特征在于,所述端口嵌入向量为e
i
=φ(x
i
),其中φ为第一字神经网络,x
i
为端口i的所述端口状态向量,N≥i≥1,N为大于1的正整数;所述设备嵌入向量为所述端口汇总嵌入向量为:其中f为所述第二子神经网络。6.如权利要求1

5所述的共享缓存管理方法,其特征在于,根据决策间隔内的活跃流数量和活跃时间进行奖励函数设置;根据所述奖励函数更新所述目标神经网络的参数;所述决策间隔根据所述控制因子α的更新时间确定。7.如权利要求1

5所述的共享缓存管理方法,其特征在于,根据决策间隔内的所述目标端口的丢包数进行奖励函数设置;根据所述奖励函数更新所述目标神经网络的参数;所述决策间隔为连续两次所述控制因子α的更新之间的间隔时间。
8.如权利要求6

7所述的共享缓存管理方法,其特征在于,所述控制因子α的更新为周期性更新。9.如权利要求6

7所述的共享缓存管理方法,其特征在于,所述控制因子α的更新基于预设个数的数据包事件触发;所述数据包事件包括数据包入队、出队和丢弃中的至少一种。10.如权利要求9所述的共享缓存管理方法,其特征在于,所述控制因子α的更新基于预设个数的数据包事件触发,具体为:当满足条件:触发所述控制因子α的更新,其中和分别是端口i最近一次进行所述控制因子α的更新后的入队、丢弃和出队的数据包数量,β是一个超参数。11.如权利要求1所述的共享缓存管理方法,其特征在于,每个所述目标端口包括多个目标队列,所述端口缓存信息和所述流量信息包括每个目标队列的缓存信息和每个队列的流量信息;所述根据所述缓存阈值为所述目标端口分配缓存,具体为根据所述缓存阈值为所述目标端口的每个所述目标队列分配缓存。12.一种共享缓存管理装置,其特征在于,所述装置包括:状态获取模块,用于获取目标端口的端口状态向量,所述端口状态向量包括端口缓存信息、流量信息和历史决策;代理模块,将所述端口状态向量输入目标神经网络模型获取控制因子α;阈值控制模块,根据所述控制因子α基于动态阈值算法计算所述目标端口的缓存阈值,以及...

【专利技术属性】
技术研发人员:崔勇王莫为黄思江梁铷刘振华
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1