【技术实现步骤摘要】
基于令牌桶的共享缓存报文处理方法、装置、设备及介质
[0001]本申请涉及FPGA的
,尤其是涉及一种基于令牌桶的共享缓存报文处理方法、装置、设备及介质。
技术介绍
[0002]当在需要对数据报文进行处理时,都需要对数据报文进行接收、存储和转发的操作。随着互联网速率的爆炸性增长,特别是当单个网络接口速率超过100G达到400G时,由于物理接口速率高,一个物理接口接收到的报文通常需要按同源同宿的方式分发给不同的处理引擎进行处理,为了保证每个处理引擎有一定的突发处理能力,需要给每个处理引擎分配一个独立的报文缓存,用于缓存待处理报文。
[0003]当接口密度增加,特别是当支持400G接口时,需要8~16个处理引擎才能满足400G处理性能,每处理引擎独立缓存的方式将导致FPGA芯片无法提供足够的RAM满足设计需求。传统的设计思路都是采取共享缓存的方式,将报文分成多个队列,将每个队列中的报文再转发给对应的处理引擎进行处理。采用共享缓存满足400G以上高带宽多处理引擎处理,虽然逻辑上可行,但共享缓存模式存在一个非常严重的问 ...
【技术保护点】
【技术特征摘要】
1.一种基于令牌桶的共享缓存报文处理方法,其特征在于,应用于FPGA设备,所述FPGA设备包括至少一个共享缓存、多个处理引擎以及与所述多个处理引擎一一对应的多个令牌桶,每个所述处理引擎的前级均对应建立有信息缓存队列,待处理报文依次通过所述令牌桶、所述共享缓存、所述信息缓存队列后进入所述处理引擎进行报文处理,所述信息缓存队列用于缓存从所述待处理报文提取的信息字段;所述方法包括:当任一所述信息缓存队列中的当前信息字段的数量达到最大信息字段数量时,计算与所述信息缓存队列对应的处理引擎处理所述当前信息字段所产生的最大处理时延Tmax;基于所述最大处理时延Tmax减小与所述处理引擎一一对应的令牌桶的当前桶深值。2.根据权利要求1所述的方法,其特征在于,所述信息字段设置有时间戳;所述计算与所述信息缓存队列对应的处理引擎处理所述当前信息字段所产生的最大处理时延Tmax包括:获取所述当前信息字段中每个信息字段的序列号;基于所述每个信息字段的序列号和时间戳,计算所述处理引擎处理每个信息字段所产生的处理时延;基于所述每个信息字段所产生的处理时延,计算所述处理引擎处理所述当前信息字段所产生的最大处理时延Tmax。3.根据权利要求2所述的方法,其特征在于,所述基于所述最大处理时延Tmax减小与所述处理引擎一一对应的令牌桶的当前桶深值包括:基于最大处理时延Tmax和最小处理时延Tmin,生成时延区间[Tmin,Tmax],其中,所述最小处理时延Tmin由所述FPGA设备的系统时钟周期确定;对所述时延区间[Tmin,Tmax]进行划分,得到多个子时延区间,其中,每个子时延区间均对应一更新值,按照处理时延由小到大的顺序,任一子时延区间对应的更新值均大于下一个子时延区间对应的更新值,且每个更新值均小于与所述处理引擎一一对应的令牌桶的当前桶深值;计算所述处理引擎处理所述当前信息字段的下一个信息字段的处理时延;获取所述下一个信息字段的处理时延位于的子时延区间所对应的更新...
【专利技术属性】
技术研发人员:于华,吴振华,
申请(专利权)人:北京浩瀚深度信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。