FastRule: Efficient Flow Entry Updates for TCAM-based OpenFlow Switches(二)

本文探讨了FastRule在不同TCAM布局中的应用,包括自由空间交错和中间自由空间的情况,以及其在大型TCAM模拟、有限TCAM大小、删除策略和性能评估中的效果。FastRule在减少流表项移动次数和优化更新时间方面表现出优势,特别是在有插入和删除操作的场景下。实验结果表明,FastRule相比于其他算法如RuleTris和插入排序,能显著降低固件时间和TCAM更新时间。
摘要由CSDN通过智能技术生成

V. FASTRULE IN DIFFERENT TCAM LAYOUTS

A. Free spaces interleaved between non-free spaces

一般情况下,流表项会安排在TCAM的顶部或者底部,如下图:
在这里插入图片描述
这个架构称作original layout, 上面的讨论都是基于这种架构。
还有一些架构是,每j个流表项之间有i个空余空间,可以用来删除插入流表项,贪心算法的循环时间变成i.如下图。
在这里插入图片描述
如果中间的层都填满,那么循环时间会增加为Cmax, 所以需要调整移动流表项,这将造成额外的负担,我们在下一节会实验介绍。

B. Free spaces in the middle

还有一种架构是TCAM的流表项分成两部分一部分在顶部,一部分在底部,空余空间在中间。这种架构的插入删除操作也和其他不一样。
在这里插入图片描述
上图是一个例子说明这种架构可以减少流表项移动次数。
1)插入:
如果依赖关系fa->f->fb,如果fa, fb都是在顶部,或者都在底部,那么插入f就像以前的算法一样即可。否则将f插入到中间位置,我们需要选择插入到上面还是下面,定义一个阈值t, 上面的流表项数量mt, 下面的流表项数量mb, 如果mt-mb>t, 就把流表项插入到底部,反之顶部。
我们需要衡量Mt和Mb之间的差距,如果两者的差距小,流表项移动相对较少,但是维持的代价也增大。
另一个例子,如下图,插入多个连续流表项,导致很多额外的移动,解决方案就是每次插入流表项从连续的空间中每次随机选择。
在这里插入图片描述

2)删除
删除流表项比原来的设计更复杂,两种选择:

  1. dirty delete: 删除流表项,空余的空间可以留下来等新的流表项插入
  2. balance delete: 删除流表项,然后利用现在已存的流表项填补空间。

dirty delete这种方法使用的话就不是中间空余的设计方式了,这会浪费这个空余的空间。
balance delete如下入,我们要移动其他的流表项,这回带来负载。另外我们也需要平衡顶部和底部的流表项数量。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值