一种缓存管理的方法和装置与流程

文档序号:12789641阅读:159来源:国知局
一种缓存管理的方法和装置与流程

本发明涉及数据通信技术,尤其涉及一种缓存管理的方法和装置。



背景技术:

随着网络带宽呈爆炸式的增加,以传统双倍速率同步动态随机存储器(DDR,Double Data Rate)作为共享缓存的架构,会导致带宽提升时,DDR的芯片引脚数量急剧增加,从而大大增加了封装及单板制作的难度。

目前,通常采用高密度的片内增强动态随机存取存储器(eDRAM,enhanced Dynamic Random Access Memory)进行分组并行架构作为共享缓存的架构,从而当缓存访问带宽增加时,不需要增加芯片引脚。

但是,当使用片内eDRAM作为共享缓存的架构时,会造成实际缓存容量要小于传统的DDR作为共享缓存架构的实际缓存容量,而目前,对于共享缓存的管理,会出现当某些流发生拥塞时,拥塞流会占用较多的共享缓存,当拥塞流占用的共享缓存达到一定门限后,会导致非拥塞流报文丢弃。因此,目前需要在实际缓存容量减少的情况下,找到能够当突发的数据拥塞时,对缓存进行高效率的缓存管理方法。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供一种缓存管理的方法和装置,能够对缓存进行高效率的管理。

本发明的技术方案是这样实现的:

第一方面,本发明实施例提供了一种缓存管理的方法,所述方法应用于一缓存管理装置,所述方法包括:

获取接收报文的描述符对应的报文粒度信息;

通过所述报文粒度信息对应的报文丢弃机制确定对于所述接收报文的丢弃处理操作。

在上述方案中,当所述接收报文的描述符为所述接收报文的业务类型TC时,所述报文粒度信息用于表征所述接收报文为流级或中间级报文;

相应地,通过所述报文粒度信息对应的报文丢弃机制确定对于所述接收报文的丢弃处理操作,具体包括:

所述接收报文的长度与所述接收报文所在队列在独享缓存中的深度之和超过所述接收报文所在队列对应的动态阈值时,将所述接收报文进行丢弃;其中,所述接收报文所在队列对应的动态阈值包括所述接收报文所在队列对应的尾部丢弃TD阈值以及所述接收报文所在队列对应的动态门限之和;所述接收报文所在队列对应的动态门限用于吸纳所述接收报文所在队列的突发数据。

在上述方案中,当所述接收报文的描述符为所述接收报文的业务类型TC时,所述报文粒度信息用于表征所述接收报文为流级或中间级报文;所述缓存包括独享缓存和分级共享缓存;

相应地,通过所述报文粒度信息对应的报文丢弃机制确定对于所述接收报文的丢弃处理操作,具体包括:

在分级共享缓存中,根据所述接收报文的TC优先级确定所述接收报文所在队列对应的共享缓存级别和共享缓存门限;其中,不同TC优先级报文所在队列对应的共享缓存门限之间的差值用于确定不同TC报文的优先级,并且使得TC优先级较高报文晚于TC优先级较低报文丢弃;不同TC优先级报文所在队列对应的共享缓存门限之间的差值大小仅为容纳TC优先级较高报文所在队列的突发数据流的大小;

根据所述接收报文所在队列对应的独享缓存门限和所述接收报文所在队列对应的共享缓存门限确定所述接收报文的丢弃处理操作。

在上述方案中,当所述接收报文为数据报文,且所述接收报文的描述符包括所述接收报文的队列号时,所述报文粒度信息用于表征所述接收报文为流级报文;

相应地,通过所述报文粒度信息对应的报文丢弃机制确定对于所述接收报文的丢弃处理操作,具体包括:

根据所述接收报文的队列号查询队列号与拥塞指示的对应关系,获取所述接收报文所在队列的拥塞指示;

根据所述拥塞指示确定所述接收报文所在队列的丢弃门限;

当所述接收报文所在队列在缓存中的深度与所述接收报文的长度之和超过所述接收报文所在队列的丢弃门限时,将所述接收报文丢弃。

在上述方案中,在根据所述接收报文的队列号查询队列号与拥塞指示的对应关系,获取所述接收报文所在队列的拥塞指示之前,所述方法还包括:

根据下游节点反馈的队列拥塞信息更新所述队列号与拥塞指示的对应关系;

或者,根据预设的配置规则设置所述队列号与拥塞指示的对应关系;

或者,根据缓存中的队列深度或平均队列深度的变化状态更新所述队列号与拥塞指示的对应关系。

在上述方案中,当所述接收报文的描述符为所述接收报文对应传输的目标芯片标识时,所述报文粒度信息用于表征所述接收报文为中间级报文;

相应地,通过所述报文粒度信息对应的报文丢弃机制确定对于所述接收报文的丢弃处理操作,具体包括:

根据所述接收报文对应传输的目标芯片标识获取所述接收报文对应传输的目标芯片是否可达:

当所述接收报文对应传输的目标芯片不可达时,将所述接收报文丢弃;

当所述接收报文对应传输的目标芯片可达时,根据所述目标芯片对应的队列的缓存状态确定对于所述接收报文的丢弃处理操作。

第二方面,本发明实施例提供了一种缓存管理的装置,所述装置包括:获取单元和确定单元;其中,

所述获取单元,用于获取接收报文的描述符对应的报文粒度信息;

所述确定单元,用于通过所述报文粒度信息对应的报文丢弃机制确定对于 所述接收报文的丢弃处理操作。

在上述方案中,当所述接收报文的描述符为所述接收报文的业务类型TC时,所述报文粒度信息用于表征所述接收报文为流级或中间级报文;

相应地,所述确定单元,具体用于当所述接收报文的长度与所述接收报文所在队列在独享缓存中的深度之和超过所述接收报文所在队列对应的动态阈值时,将所述接收报文进行丢弃;其中,所述接收报文所在队列对应的动态阈值包括所述接收报文所在队列对应的尾部丢弃TD阈值以及所述接收报文所在队列对应的动态门限之和;所述接收报文所在队列对应的动态门限用于吸纳所述接收报文所在队列的突发数据。

在上述方案中,当所述接收报文的描述符为所述接收报文的业务类型TC时,所述报文粒度信息用于表征所述接收报文为流级或中间级报文;所述缓存包括独享缓存和分级共享缓存;

相应地,所述确定单元,具体用于:

在分级共享缓存中,根据所述接收报文的TC优先级确定所述接收报文所在队列对应的共享缓存级别和共享缓存门限;其中,不同TC优先级报文所在队列对应的共享缓存门限之间的差值确定不同TC报文的优先级,并且使得TC优先级较高报文晚于TC优先级较低报文丢弃;不同TC优先级报文所在队列对应的共享缓存门限之间的差值大小仅为容纳TC优先级较高报文所在队列的突发数据流的大小;

以及,根据所述接收报文所在队列对应的独享缓存门限和所述接收报文所在队列对应的共享缓存门限确定所述接收报文的丢弃处理操作。

在上述方案中,当所述接收报文为数据报文,且所述接收报文的描述符包括所述接收报文的队列号时,所述报文粒度信息用于表征所述接收报文为流级报文;

相应地,所述确定单元,具体用于:

根据所述接收报文的队列号查询队列号与拥塞指示的对应关系,获取所述接收报文所在队列的拥塞指示;

根据所述拥塞指示确定所述接收报文所在队列的丢弃门限;

当所述接收报文所在队列在缓存中的深度与所述接收报文的长度之和超过所述接收报文所在队列的丢弃门限时,将所述接收报文丢弃。

在上述方案中,所述装置还包括更新配置单元,用于:

根据下游节点反馈的队列拥塞信息更新所述队列号与拥塞指示的对应关系;

或者,根据预设的配置规则设置所述队列号与拥塞指示的对应关系;

或者,根据缓存中的队列深度或平均队列深度的变化状态更新所述队列号与拥塞指示的对应关系。

在上述方案中,当所述接收报文的描述符为所述接收报文对应传输的目标芯片标识时,所述报文粒度信息用于表征所述接收报文为中间级报文;

相应地,所述确定单元,具体用于:

根据所述接收报文对应传输的目标芯片标识获取所述接收报文对应传输的目标芯片是否可达:

当所述接收报文对应传输的目标芯片不可达时,将所述接收报文丢弃;

当所述接收报文对应传输的目标芯片可达时,根据所述目标芯片对应的队列的缓存状态确定对于所述接收报文的丢弃处理操作。

本发明实施例提供了一种缓存管理的方法和装置,根据处理粒度将各种缓存管理机制组合使用,在各种应用场景下均可以确保较高的缓存使用效率;从而对缓存进行高效率的管理。

附图说明

图1为本发明实施例提供的一种缓存管理的方法流程示意图;

图2为本发明实施例提供的一种对报文进行丢弃操作的流程示意图;

图3为本发明实施例提供的另一种对报文进行丢弃操作的流程示意图;

图4为本发明实施例提供的又一种对报文进行丢弃操作的流程示意图;

图5为本发明实施例提供的再一种对报文进行丢弃操作的流程示意图;

图6为本发明实施例提供的一种缓存管理装置的结构示意图;

图7为本发明实施例提供的另一种缓存管理装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

实施例一

参见图1,其示出了本发明实施例提供的一种缓存管理的方法流程,该方法可以应用于缓存管理装置中,该方法可以包括:

S101:获取接收报文的描述符对应的报文粒度信息;

需要说明的是,接收报文的描述符可以通过对接收报文进行解析获得,具体可以包括:该接收报文的业务类型(TC,Traffic Class)、该接收报文所在队列的队列号和该接收报文对应传输的目标芯片标识等,本发明实施例对此不作赘述,可以理解地,不同的描述符能够用来表示接收报文所对应的报文粒度信息,比如,当该接收报文的描述符为该接收报文的业务类型TC时,该接收报文对应的报文粒度信息表征该接收报文为流级或中间级报文;当该接收报文的描述符为该接收报文所在队列的队列号时,该接收报文对应的报文粒度信息表征该接收报文为流级报文;当该接收报文的描述符为该接收报文对应传输的目标芯片标识时,该接收报文对应的报文粒度信息表征该接收报文为中间级报文。

S102:通过报文粒度信息对应的报文丢弃机制确定对于接收报文的丢弃处理操作。

需要说明的是,根据前述接收报文的描述符和报文粒度信息之间的对应关系,可以根据不同报文粒度信息对应的报文丢弃机制对接收报文的丢弃处理操作进行确定,并执行相应的丢弃处理。具体方式如下:

优选地,当接收报文的描述符为接收报文的业务类型TC时,通过报文粒度信息对应的报文丢弃机制确定对于接收报文的丢弃处理操作,具体包括:

当接收报文的长度与接收报文所在队列在独享缓存中的深度之和超过接收 报文所在队列对应的动态阈值时,将接收报文进行丢弃;

其中,接收报文所在队列对应的动态阈值包括所述接收报文所在队列对应的尾部丢弃(TD,Tail-Drop)阈值以及接收报文所在队列对应的动态门限之和;可以理解地,接收报文所在队列对应的动态门限可以用于吸纳该接收报文所在队列的突发数据。

具体地,独享缓存只需配置确保各报文队列的缓存占用,各报文队列的独享缓存通过对应的动态门限来吸纳各报文队列相关的突发问题,参见图2,当动态门限使能开启时,独享缓存的TD阈值与对应的动态门限结合,从而生成最终丢弃门限,即前述的动态阈值。当接收报文长度与接收报文所在队列在独享缓存中的深度之和超过最终生成的丢弃门限时,则对该接收报文进行丢弃。

优选地,参见图3,当接收报文的描述符为接收报文的业务类型TC时,通过报文粒度信息对应的报文丢弃机制确定对于接收报文的丢弃处理操作,具体包括:

S301:在分级共享缓存中,根据接收报文的TC优先级确定接收报文所在队列对应的共享缓存级别和共享缓存门限;

需要说明的是,不同TC优先级报文所在队列对应的共享缓存门限之间的差值确定不同TC报文的优先级,并且使得TC优先级较高报文晚于TC优先级较低报文丢弃;不同TC优先级报文所在队列对应的共享缓存门限之间的差值大小仅为容纳TC优先级较高报文所在队列的突发数据流的大小;

S302:根据接收报文所在队列对应的独享缓存门限和接收报文所在队列对应的共享缓存门限确定接收报文的丢弃处理操作。

具体地,在本实施例所涉及的分级共享缓存中,可以将第一级共享缓存用来确保丢弃优先级;独享缓存的配置只需确保最低缓存占用;第一级之后的各级共享缓存用于对独享缓存进行补充。当达到独享缓存的门限后,需要结合第一级之后的各级共享缓存来判定报文是否丢弃,只有当报文所在队列对应的独享缓存和报文对在队列对应的共享缓存均达到门限后,才将报文丢弃;

需要说明的是:以第二级共享缓存为例,当某类型报文的深度超过独享缓 存门限后,后面的入队报文需要统计到第二级共享缓存的深度中;并且只有超过独享缓存门限的报文出队,才会释放第二级共享缓存;

详细地,以接收报文的描述符为接收报文的TC为例,可以TC0、TC1、TC2、TC3的报文共同使用第二级共享缓存,TC5和TC6的报文使用第三级共享缓存,TC7的报文使用第二级和第三级共享缓存;多块共享缓存的使用,均可灵活配置;

首先,在第一级共享缓存配置TC6和TC7的报文丢弃门限大于TC0至TC5的报文丢弃门限,两个丢弃门限之间的差值只需要能够吸纳TC6和TC7的报文突发数据流即可;配置TC0至TC7报文的各个独享缓存门限,保障各TC报文最低使用缓存,防止其余TC报文由于突发或拥塞影响正常的TC报文数据流;当各个TC报文数据流存在突发的情况下,根据分级共享缓存的使用情况,允许各个TC报文占用共享缓存来吸纳突发。

优选地,参见图4,当接收报文为数据报文,且所述接收报文的描述符包括所述接收报文的队列号时,通过报文粒度信息对应的报文丢弃机制确定对于接收报文的丢弃处理操作,具体包括:

S401:根据接收报文的队列号查询队列号与拥塞指示的对应关系,获取接收报文所在队列的拥塞指示;

S402:根据拥塞指示确定接收报文所在队列的丢弃门限;

S403:当接收报文所在队列在缓存中的深度与接收报文的长度之和超过接收报文所在队列的丢弃门限时,将所述接收报文丢弃。

进一步地,在步骤S401之前,本实施例还可以包括获取队列号与拥塞指示的对应关系的过程,具体可以包括:

根据下游节点反馈的队列拥塞信息更新所述队列号与拥塞指示的对应关系,例如,在网络结构中,可以将下游子系统反馈的拥塞标记(或CPU配置的拥塞标记)写入到用于表征队列号与拥塞指示的对应关系的队列拥塞标记表;

或者,根据预设的配置规则设置所述队列号与拥塞指示的对应关系;

或者,根据缓存中的队列深度或平均队列深度的变化状态更新所述队列号 与拥塞指示的对应关系;例如,可以通过缓存中的队列深度或平均队列深度变化的斜率来进行感知,斜率数值大于预设阈值的时候可以认为队列拥塞;由于队列深度变化较快,平均队列深度变化相对比较平缓,故优选使用平均队列深度的斜率来对队列号与拥塞指示的对应关系进行更新。

优选地,参见图5,当接收报文的描述符为接收报文对应传输的目标芯片标识时,通过报文粒度信息对应的报文丢弃机制确定对于接收报文的丢弃处理操作,具体可以包括:

S501:根据接收报文对应传输的目标芯片标识获取接收报文对应传输的目标芯片是否可达:

S502:当接收报文对应传输的目标芯片不可达时,将接收报文丢弃;

S503:当接收报文对应传输的目标芯片可达时,根据目标芯片对应的队列的缓存状态确定对于接收报文的丢弃处理操作。

需要说明的是,当接收报文对应传输的目标芯片可达时,根据目标芯片对应的队列的缓存状态确定对于接收报文的丢弃处理操作,具体包括:

根据目标芯片对应的队列长度和TD阈值进行比较,当队列长度超过TD阈值时,将接收报文丢弃;当队列长度没有超过TD阈值时,将接收报文入队。

可以理解地,目标芯片是否可达可以通过芯片间的交换反馈进行获知,本发明实施例对此不作赘述。

需要说明的是,本领域技术人员能够根据实际的应用需要将上述优选的技术方案进行结合,例如,上述优选技术方案中,报文队列对应的独享缓存中的门限值可以为报文队列对应的动态阈值等,本实施例对此不作赘述。

本实施例提供了一种缓存管理的方法,根据处理粒度将各种缓存管理机制组合使用,在各种应用场景下均可以确保较高的缓存使用效率;从而对缓存进行高效率的管理。

实施例二

基于前述实施例相同的技术构思,参见图6,其示出了本发明实施例提供的一种缓存管理装置60,该装置60可以包括:获取单元601和确定单元602; 其中,

所述获取单元601,用于获取接收报文的描述符对应的报文粒度信息;

所述确定单元602,用于通过所述报文粒度信息对应的报文丢弃机制确定对于所述接收报文的丢弃处理操作。

示例性地,当所述接收报文的描述符为所述接收报文的业务类型TC时,所述报文粒度信息用于表征所述接收报文为流级或中间级报文;

相应地,所述确定单元602,具体用于当所述接收报文的长度与所述接收报文所在队列在独享缓存中的深度之和超过所述接收报文所在队列对应的动态阈值时,将所述接收报文进行丢弃;其中,所述接收报文所在队列对应的动态阈值包括所述接收报文所在队列对应的尾部丢弃TD阈值以及所述接收报文所在队列对应的动态门限之和;所述接收报文所在队列对应的动态门限用于吸纳所述接收报文所在队列的突发数据。

示例性地,当所述接收报文的描述符为所述接收报文的业务类型TC时,所述报文粒度信息用于表征所述接收报文为流级或中间级报文;所述缓存包括独享缓存和分级共享缓存;

相应地,所述确定单元602,具体用于:

在分级共享缓存中,根据所述接收报文的TC优先级确定所述接收报文所在队列对应的共享缓存级别和共享缓存门限;其中,不同TC优先级报文所在队列对应的共享缓存门限之间的差值确定不同TC报文的优先级,并且使得TC优先级较高报文晚于TC优先级较低报文丢弃;不同TC优先级报文所在队列对应的共享缓存门限之间的差值大小仅为容纳TC优先级较高报文所在队列的突发数据流的大小;

以及,根据所述接收报文所在队列对应的独享缓存门限和所述接收报文所在队列对应的共享缓存门限确定所述接收报文的丢弃处理操作。

示例性地,当所述接收报文为数据报文,且所述接收报文的描述符包括所述接收报文的队列号时,所述报文粒度信息用于表征所述接收报文为流级报文;

相应地,所述确定单元602,具体用于:

根据所述接收报文的队列号查询队列号与拥塞指示的对应关系,获取所述接收报文所在队列的拥塞指示;

根据所述拥塞指示确定所述接收报文所在队列的丢弃门限;

当所述接收报文所在队列在缓存中的深度与所述接收报文的长度之和超过所述接收报文所在队列的丢弃门限时,将所述接收报文丢弃。

进一步地,参见图7,该装置60还包括更新配置单元603,用于:

根据下游节点反馈的队列拥塞信息更新所述队列号与拥塞指示的对应关系;

或者,根据预设的配置规则设置所述队列号与拥塞指示的对应关系;

或者,根据缓存中的队列深度或平均队列深度的变化状态更新所述队列号与拥塞指示的对应关系。

示例性地,当所述接收报文的描述符为所述接收报文对应传输的目标芯片标识时,所述报文粒度信息用于表征所述接收报文为中间级报文;

相应地,所述确定单元602,具体用于:

根据所述接收报文对应传输的目标芯片标识获取所述接收报文对应传输的目标芯片是否可达:

当所述接收报文对应传输的目标芯片不可达时,将所述接收报文丢弃;

当所述接收报文对应传输的目标芯片可达时,根据所述目标芯片对应的队列的缓存状态确定对于所述接收报文的丢弃处理操作。

本实施例提供了一种缓存管理装置60,根据处理粒度将各种缓存管理机制组合使用,在各种应用场景下均可以确保较高的缓存使用效率;从而对缓存进行高效率的管理。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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