FastRule: Efficient Flow Entry Updates for TCAM-based OpenFlow Switches(二)
目录
- V. FASTRULE IN DIFFERENT TCAM LAYOUTS
- A. Free spaces interleaved between non-free spaces
- B. Free spaces in the middle
- VI. Evaluation
- 1) large size TCAM emulation:
- 2)Data Set
- 3) Finite size of TCAM
- 4) Layout and algorithm
- 5) Firmware time and TCAM update time
- A.Firmware time: computing update sequence
- B.TCAM update time: time of rule updates on the TCAM
- C. The influence of cavg
- D.TCAM layout with j free spaces in every i non-free spaces
- E.Analysis
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)删除
删除流表项比原来的设计更复杂,两种选择:
- dirty delete: 删除流表项,空余的空间可以留下来等新的流表项插入
- balance delete: 删除流表项,然后利用现在已存的流表项填补空间。
dirty delete这种方法使用的话就不是中间空余的设计方式了,这会浪费这个空余的空间。
balance delete如下入,我们要移动其他的流表项,这回带来负载。另外我们也需要平衡顶部和底部的流表项数量。
总结一共三种架构,①原始架构(流表项都在顶部或者底部)
② 每i个流表项中间有j个空余空间
③ 流表项分为两部分放在顶部和底部,这里又根据删除不同分为:dirty-delete, balance delete
VI. Evaluation
oNetSwitch上开展试验。
1) large size TCAM emulation:
NNETSwitch中TCAM尺寸很小,RuleTris通过在Linux服务器中模拟大型TCAM来解决此问题。在服务器中,他们在仿真的TCAM上评估其算法,并输出TCAM更新所需的TCAM移动次数–由于每次TCAM移动花费固定的时间量(0.6ms),因此它使用了TCAM移动总数TCAM移动的平均延迟时间,以估算TCAM更新时间。
我们也使用Linux服务器评估算法,但是它仅用于确保算法的正确性(通过检查仿真TCAM中的流条目是否在正确的物理地址中)。为了在ONetSwitch中模拟小尺寸的大TCAM(ONS-HW-TABLE-SIZE,在ONetSwitch中定义)TCAM,我们用(例如(I,f,A%256),ONS-HW-TABLE-SIZE=256)对原始地址进行取模,使用模地址进行更新。
2)Data Set
为了测试算法鲁棒性,使用了各种类型的流表 two from Access Control List (ACL4, ACL5), two from Firewall (FW4, FW5) and one from Routing Table 。
对于ACL4, ACL5, FW4, FW5 这四个表,使用ClassBench【1】生成配置,使用ClassBench-ng 【2】转化为openflow 流表项。
对于Route, 从CAIDA【3】下载L3的路由数据,使用ClassBench-ng【2】转化为openflow流表项。
这些流表的特点总结如表二。
数据集:对于250条流表项生成250条更新;500大小的流表生成500条更新;其他大小的流表生成1000条更新(1K ,2K, 4,10K, 20K)。
更新类型:①只有insert 操作。②既有insert 又有delete 操作。
3) Finite size of TCAM
TCMA size = exiting flow entries + insert flow entries
流表大小为:500, 1k, 1.1k, 2.1k, 4.1k, 10.1k, 20.1k
4) Layout and algorithm
FR-SB to indicate the separated layout with balance delete
FR-SD to indicate the separated layout with dirtydelete
FR-Otoindicatetheoriginallayout
RuleTris to indicate the dynamic programming algorithm in RuleTris
Na¨ıve to indicate the widely used insertion sort algorithm.
5) Firmware time and TCAM update time
firmware time, which is the time of computing the update sequence from a DAG-based or priority-based flow entry update in the switch firmware: the time is measured from when the computation starts till it is ready to apply the update sequence to the TCAM.
firmeware time:computing the update sequence
TCAM update time, which includes all update times when applying the update sequence to the TCAM: the time is measured from the TCAM updating start to the end
TCMA update time: flow entry move time
A.Firmware time: computing update sequence
分析:
- 插入排序在流表大于20k不在画出,因为需要一个半小时以上才可以运行结束。
- 插入排序明显要慢得多,10k大小的流表是我们算法的1000倍。
- RuleTris 比插入好,但是没有FastRule好
- 随着流表 尺寸增加,其他算法时间迅速增长,我们的算法还是很稳定。
- 只有insert, FR-SB和FR-SD时间相同,不画出。
- 更新只有insert, FR-SB稍微比较快,如果有插入和删除, SR-SB比SR-SD和FR-O慢一点。
B.TCAM update time: time of rule updates on the TCAM
- 首先可以看出在TCAMupdate上相对RuleTris没有提高,时间几乎相同。
- FR-SD比其他的算法相对较快,但是FR-SB慢,因为他需要挪动TCAM维持平衡。
C. The influence of cavg
- 12-a, 12-c图中,ROUTE 和FW4的Cavg是1.6, 1.7 比其他类型要大, 所以明显固件时间高。
- 12-a, 12-b图中平均时间FR-SB比FR-O小。
- 12-b,12-d两个图中时间似乎和Cavg并不是正相关,因为删除操作和Cavg不相关。
- 12-c,12-d图中FR-SB比FR-SD, FR-O慢,因为需要平衡删除操作。FR-SD是最快的操作。
D.TCAM layout with j free spaces in every i non-free spaces
- i相同的情况下,j越大更新时间越短。非空余空间的时间越多,那么新流表插入需要很少的移动。贪心算法的循环时间提高到i.
- 相同的J,i越大 TCAM的更新时间越大
- 另外除了J = 0, 其他情况随着流表增加,TCAM更新时间都骤减。说明这种架构比流表都放在顶部或者底部要好。
给出FastTule和RuleTris的固件时间对比:
- 随着流表尺寸增加,固件时间骤减(除了J =0)
- 在10K大小,RuleTris性能比FastRule, 因为BIT需要常量时间查询空余空间。
- j = 0仍然是最常用的场景,这也说明FastRule实际场景中仍然是最快的。
E.Analysis
原有的解决方案两层循环:
首先遍历可用的地址:
根据现有的地址更新移动的数量。
时间复杂度O(N^2)。
我们移动的时间复杂度是O(Cavg).只有insert 操作, FR-SB相对较快
插入和删除一起,FR-SB是FR-O, FR-SD的两倍时间
FR-SB 将流表分成两部分在top和bottom, 减小了Cmax 和Cavg, 降低固件时间,但是有删除操作FR-SB需要维持中间空余空间,增加了复杂。
【1】 D. E. Taylor and J. S. Turner, “Classbench: A packet classification benchmark,” IEEE/ACM Trans. Networking, vol. 15, no. 3, pp. 499– 511, 2007.
【2】J. Matouˇsek, G. Antichi, A. Luˇcansk`y, A. W. Moore, and J. Koˇrenek, “Classbench-ng: Recasting classbench after a decade of network evolution,” in Proc. IEEE ANCS, 2017, pp. 204–216.
【3】CAIDA,Center for Applied Internet Data Analysis. Accessed: 2018-0206. [Online]. Available: https://www.caida.org/home/
FastRule: Efficient Flow Entry Updates for TCAM-based OpenFlow Switches(二)相关推荐
- FastRule: Efficient Flow Entry Updates for TCAM-based OpenFlow Switches(一)
目录 abstract Introduction background A. flow dependency B.Flow entry update in existing hardware swit ...
- A Zero Flow Entry Expiration Timeout P4 Switch
文章名称:A Zero Flow Entry Expiration Timeout P4 Switch 零流表项期满超时P4交换机 发表时间:2018 期刊来源:SOSR ABSTRACT (摘要) ...
- 《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading(二)
上接文章:<Real-Time Rendering>第四版学习笔记--Chapter 9 Physically Based Shading(一) 六.微观几何 每个可见的表面点都包含了很多 ...
- GRAIL Efficient Time Series Representation Learning论文阅读笔记(二)
GRAIL Efficient Time Series Representation Learning 有效的时间序列表示学习 作者 芝加哥大学的John Paparrizos和Michael J. ...
- Openflow协议详解
http://www.h3c.com/cn/d_201811/1131080_30005_0.htm# 1 OpenFlow背景 转发和控制分离是SDN网络的本质特点之一 .在SDN网络架构中,控制平 ...
- Efficient local alignment discovery amongst noisy long reads
有效的局部比对发现在嘈杂的长读 Long read sequencers portend the possibility of producing reference quality genomes ...
- 支持tcam的服务器,一种支持TCAM规则更新和压缩方法.doc
一种支持TCAM规则更新和压缩方法 一种支持TCAM规则更新和压缩方法 收稿日期 基金项目:国家科技支撑计划资助项目(2012BAH09B02):长沙市重点科技计划资助项目(K1204006111) ...
- 支持tcam的服务器,一种支持TCAM规则更新与压缩方法.doc
一种支持TCAM规则更新与压缩方法 收稿日期 基金项目:国家科技支撑计划资助项目(2012BAH09B02):长沙市重点科技计划资助项目(K1204006111) 作者简介:蔡立军(1964-),男, ...
- Linux flow offload提高路由转发效率
凡是正确的东西,该来的最终还是会来的. (当然了,经理可能也有同感.) 来看看几年前我写的文章: 利用nf_conntrack机制存储路由,省去每包路由查找: https://blog.csdn.ne ...
最新文章
- 风格化手绘纹理包 CGTrader – Stylized Mix Vol. 41 – Hand Painted Texture Pack
- 【大牛疯狂教学】java程序员大专找不到工作
- 管理文库]我喜欢的10个经典管理学定律点评
- CSDN修改博客皮肤模板
- vue表单中批量导入功能_spring boot mybatis+ vue 使用POI实现从Excel中批量导入数据
- python对英语的要求_英语和数学都不好,但是我想学Python编程可以吗?
- 5-11attention网络结构
- Redmi K50系列年后登场:最高搭载天玑9000+2K直屏
- 卡耐基梅隆大学计算机熬夜,卡耐基梅隆大学:作为一所CS牛校,我也很无奈啊...
- python一只青蛙一次可以_Python面试题系列之11 变态青蛙跳
- Win7下安装Ubuntu16.04成双系统
- 存储过程和存储函数的关系及使用方法
- 集中隔离第17天2022.3.13
- OpenGL学习04_点画模式(点画线)
- 9343拆机 xps13_戴尔(DELL)XPS 13 XPS13D-9343-1808T超极本拆解图评测-ZOL中关村在线
- [计算机网络]各种时延的计算
- 学校计算机机房应急预案,中心机房应急预案管理制度
- 刘浩林的博客园初体验
- ylmf os安装小心丢失系统
- 含泪整理最优质窗帘 落地3d模型素材,你想要的这里都有