Machine Learning Based Proactive Flow Entry Deletion for OpenFlow
来源:IEEE 2018 作者:Hemin Yang and George F.Riley
摘要: 流表容量有限,因此高效管理流表至关重要。本文重点讨论了OpenFlow中定义的一种流表管理机制,即能够主动删除流表条目。 挑战:确定删除哪些流表项条目。 为了应对这一挑战,提出了基于机器学习的主动流输入删除方法,可以从流表条目的历史数据中学习,从而预测最后引用流表条目的时间。最后根据预测,最后引用时间的最小的流表条目将被删除。我们的方法是利用机器学习,从历史删除流表项中学习,从而预测最后引用流入口的时间。
主动流条目的删除
A. 主动流删除的挑战
要应用主动流的删除,需要解决两个问题:第一是,控制器什么时候该主动删除流条目,例如说可以设定一个阈值,当流表的利用率超过阈值时就开始主动删除流表项;第二,应该删除哪些流项?希望删除的就是不活动的流表项。
B. 为什么机器学习会有帮助?
虽然我们不能确切知道流表条目访问的顺序,但是我们是否可以利用机器学习技术来推断基于历史流删除的访问顺序呢?一旦流表项从流表中删除,控制器就可以配置交换机发送一个FlowRemodes消息,该消息包含删除的原因、表项的持续时间、条目匹配的数据包数、空闲超时、硬超时、条目匹配的数据包中的字节数以及其他特定于实验者的统计信息。
C. 主动流输入删除的开销
主要包括两个部分。一是何时开始主动删除的开销,我们假设主动删除开始于超过控制器所设定的流表阈值时开始删除。空缺时间可以警告控制器提前作出反应,以避免流表溢出。开销的另一部分来自于决定应该主动删除哪些流条目。若采用随机或FIFO的策略,他们不需要开销,但如果没有删除的条目作为参考,控制器可能就会指示交换机删除实际上不存在流表中的条目,错误的指令,会加剧交换机和控制器的工作负荷,若表中没有流表项被删除,流表可能会溢出,对网络产生严重的影响。相反,如果启用了发送流删除的消息,则不会出现这样的错误指令,因为控制器知道开关的流表中有哪些流项。
我们的做法
基于机器学习的主动流条目的删除,如图1所示,做法包括两个部分:离线模型训练和基于训练模型的在线主动流删除。

A. 离线模型训练
为了训练机器学习的模型,我们首先需要收集合适的数据集。其中每个数据样本包含先前流删除的特征和标签(tLastVisitf 即最后一次引用流条目的时间)tLastVisitf 由tStartf + tPktActivef相加所得,tStartf 是流表中安装流f的当前流条目的时间,tPktActivef是所引用的流条目经过的时间。 tPktActivef作为标签。使用FlowRemoved消息所携带的统计数据的均值和标准差,即流条目匹配的数据包数(number ofpackets matched by a flow entry (
Machine Learning Based Proactive Flow Entry Deletion for OpenFlow的更多相关文章
- A Gentle Guide to Machine Learning
A Gentle Guide to Machine Learning Machine Learning is a subfield within Artificial Intelligence tha ...
- How do I learn machine learning?
https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644 How Can I Learn X? ...
- 学习笔记之Machine Learning Crash Course | Google Developers
Machine Learning Crash Course | Google Developers https://developers.google.com/machine-learning/c ...
- [C2P2] Andrew Ng - Machine Learning
##Linear Regression with One Variable Linear regression predicts a real-valued output based on an in ...
- Machine Learning Algorithms Study Notes(2)--Supervised Learning
Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...
- SOME USEFUL MACHINE LEARNING LIBRARIES.
from: http://www.erogol.com/broad-view-machine-learning-libraries/ http://www.slideshare.net/Vincenz ...
- In machine learning, is more data always better than better algorithms?
In machine learning, is more data always better than better algorithms? No. There are times when mor ...
- booklist for machine learning
Recommended Books Here is a list of books which I have read and feel it is worth recommending to fri ...
- ADVICE FOR SHORT-TERM MACHINE LEARNING RESEARCH PROJECTS(短期机器学习研究的建议)
– Tim Rocktäschel, Jakob Foerster and Greg Farquhar, 29/08/2018 Every year we get contacted by stude ...
随机推荐
- 清空表与删除表mysql
Mysql清空表(truncate)与删除表中数据(delete)的区别 为某基于wordpress搭建的博客长久未除草,某天升级的时候发现已经被插入了几万条垃圾留言,如果一条条删除那可真是累人的活. ...
- iptables四表五链及默认规则使用,
网络基础 TCP/IP模型: 应用层===传输层===网络层===数据链里层===物理层 数据封装: MAC帧头+IP报头+TCP/UDP报头===HTTP请求 数据帧 TCP/UDP报头: 随机产生 ...
- CGLIB 和 JDK生成动态代理类的区别(转)
文章转自http://luyuanliang.iteye.com/blog/1137292 AOP 使用的设计模式就是代理模式,是对IOC设计的补充.为了扩展性,往往会加上反射,动态生成字节码,生成代 ...
- Ubuntu16.04下安装配置phpmyadmin
在项目配置了阿里的druid,可以监控session,spring和详细sql的执行情况以及具体到表等信息,但是仍然发现不够详细,而且作为一个半吊子dba,一直用linux命令分配权限和管理数据库,效 ...
- 百度云受邀成为 LF Edge 创始成员
导读 1月24日,Linux Foundation(Linux基金会,以下简称LF)宣布正式成立旗下子机构边缘计算基金会LF Edge,旨在建立边缘计算统一开源框架.百度云受邀成为创始成员. 中国公司 ...
- 模拟斗地主和学生管理系统 IO 版
1.模拟斗地主 public class PlayCards { public static void main(String[] args) { String[] color = {"黑桃 ...
- Android学习之基础知识十—内容提供器(Content Provider)
一.跨程序共享数据——内容提供器简介 内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能 ...
- 洛谷 P1525 关押罪犯
题目链接 https://www.luogu.org/problemnew/show/P1525 题目描述 S城现有两座监狱,一共关押着N名罪犯,编号分别为1−N.他们之间的关系自然也极不和谐.很多罪 ...
- eclipse 报错Version 1.6.0_45 of the JVM is not suitable for this product. Version:1.7 or greater is required
最近离职来了一家新公司,之前的公司的开发IDE用的是IntelliJIDEA和SpringSourceToolSuit,自己在家里用的也是MyEclipse,所以使用eclipse的经验还是不足.结果 ...
- Luogu4139 上帝与集合的正确用法 拓展欧拉定理
传送门 题意:求$2^{2^{2^{2^{...}}}} \mod p$的值.$p \leq 10^7$ 最开始想到的是$x \equiv x^2 \mod p$,然后发现不会做... 我们可以想到拓 ...