胡学权
深圳市中兴微电子技术有限公司 江苏南京 210000
摘要:提出一种减少片外表访问次数的方法,用高速缓存及一种预判的方法,提高缓存命中率,从而提升交换和路由中的转发性能。
关键词:通讯芯片 路由 查找表 高速缓存 预判 片外表 转发性能
1.引言
随着网络用户越来越多,内容越来越丰富,转发表越来越大,基于成本原因,需要将转发表存储在片外存储设备中,如DDR存储器。但是用户对通讯设备的性能要求越来越高,从而带动转发表的访问带宽越来越大。如图1,受成本和硬件性能限制,片外存储器的数据位宽不能随意扩大,频率提升也是有限,对片外转发表的访问受片外存储器的访问带宽限制,大大影响了转发性能。
图1:常规查找表方法
本文根据现网中的转发请求数据规律,发现转发表虽然容量很大,但是在某一段时间内,用户通常只会干特定的事,表现在对转发表的访问上,在特定时间段内只会访问特定的表项,本文根据这个特点,提出一种减少片外转发表项的方法,在已有的DDR存储访问带宽条件下,大幅提升转发性能。
2.实现方法
如图2,本文通过一个高速缓存暂存片外转发表项,以及一个概率更新判别器来更新高速缓存中每个转发表项的未来可能命中的概率,并实时更新高速缓存。当转发请求过来后,先查找片内高速缓存,如果命中,就得到转发信息,而不需要访问片外转发表。只有片内高速缓存没有命中,才访问片外转发表。高速缓存命中概率越高,相同转发请求下,片外访问的次数就越少,从而加快了转发速度,提升了转发性能。
图2:减少片外转发表访问的方法
对转发表项被访问的概率的预测,本文采用了衰减权重的方法,每一个查找请求到达后,都赋予这个查找请求一个权重增量Vadd, 同时对高速缓存中的所有权重都乘以一个衰减系数Vold*a。
i.如果新来的查找请求在高速缓存中,则命中,同时这个表项的权重更新为Vadd+Vold*a
ii.如果当前查找请求不在高速缓存中,但是在片外存储中,则用Vadd和高速缓存中权重最小值比较,如果大于最小值,则将查找表项更新到高速缓存中,覆盖高速缓存中权重最小的表项,并更新这个表项的权重为Vadd
iii.如果当前查找的请求不在高速缓存中,但是在片外存储中,且Vadd小于高速缓存中的最小权重,则不更新高速缓存表项,只对高速缓存中的所有表项的权重更新衰减
iv.如果当前查找的请求既不在高速缓存中,也不在片外存储中,则只对高速缓存中的所有表项的权重进行衰减。本次查找请求失败。
3.实验结果
测试了不同场景下转发性能提升,在视频播放应用时,同一时刻大部分是访问的同一播放源,本设计对片外的访问显著减少,转发性能提升明显,有87.5%的性能提升,在ftp下载应用时,由于同时有上千条五元组连接,在高速缓存容量设计较小,影响了缓存效果,但是也有50%的性能提升。
4.总结语
本设计在花费较小代价情况下,大幅提升系统转发性能,适合应用在多种大容量高速查找需求的芯片设计中,同时本设计性能提升指标受转发需求,片外接口实际性能,缓存容量大小,应用场景,衰减权重等参数影响,他人在参考时,需要根据实际需求选择一组合适的参数。
5.参考文献:
【1】艾伦.克莱门茨(Alan,Clements)著;沈立等译.计算机组成原理.【J】机械工业出版社,2007.1
【2】张宏科 苏伟.IPV6路由协议栈原理与技术.[J]北京邮电大学出版社,2006.7
【3】刘丹宁 田果 韩士良.路由与交互技术.[J]人民邮电出版社 2017.9