Online Resource Mapping for SDN Network Hypervisors using Machine Learning
发表时间:2016
一些定义:
- self-configuring networks:
FlowVisor:
FlowVisor是建立在OpenFlow之上的网络虚拟化工具,它可以将物理网络划分成多个逻辑网络,从而实现虚网划分。
数据中心:
百度百科定义:数据中心是全球协作的特定设备网络,用来在internet网络基础设施上传递、加速、展示、计算、存储数据信息。
维基百科:给出的定义是“数据中心是一整套复杂的设施。它不仅仅包括计算机系统和其它与之配套的设备(例如通信和存储系统),还包含冗余的数据通信连接、环境控制设备、监控设备以及各种安全装置”。
- network hypervisor:
点此了解更多
A network hypervisor is a program that provides an abstraction layer for network hardware.
Network hypervisors allow network engineers to create virtual networks that are completely decoupled and independent from the underlying physical network. The hypervisor enables segments of a virtual network to be managed independently and to be provisioned dynamically.
(网络管理程序是为网络硬件提供抽象层的程序,允许网络工程师创建完全解耦且独立于底层物理网络的虚拟网络)
- 什么是Hypervisor(虚拟机监视器,英语:virtual machine monitor,缩写为 VMM):
Hypervisor是一种将操作系统与硬件抽象分离的方法,以达到host machine的硬件能同时运行一个至多个虚拟机作为guest machine的目的,这样能够使得这些虚拟机高效地分享主机硬件资源。
被Hypervisor用来执行一个或多个虚拟机器的电脑称为主体机器(host machine),这些虚拟机器则称为客体机器(guest machine)
- Hypervisor的种类:
- bare-metal hypervisors:直接部署在主机硬件上,以管理硬件和guest machine,不需要底层操作系统。(虚拟管理程序直接运行在主机硬件上,如KVM虚拟机)
hosted hypervisors:作为软件层部署在主机操作系统上,现在常用的VMware Player和VirtualBox就是这种类型。(比如个人使用的VMware运行在Windows操作系统上)
OpenVirteX:
OpenVirteX(以下简写为OVX)是一个网络虚拟化平台,操作人员可以用来创建和管理虚拟SDN网络(vSDNs)。租户可以通过虚拟化的OF网络构建特定的网络拓扑,寻址等。同FlowVisor相似,OVX也处于Physical Network与Controller的中间层,担任相同的角色。两者区别在于对数据包头的处理粒度不同,FlowVisor会根据flowspace的信息(如端口、ip地址等)将不同主机进行划分,以此来组成不同的slice。而OVX则是提供一个完整的虚拟网络。
offline benchmarks:
在先前的工作中,管理程序的资源映射是基于离线基准(offline benchmarks)的,这种离线基准可以根据控制平面的工作负载(比如控制平面消息速率)来测量管理程序的资源消耗。离线基准测试因不同的管理程序的环境而产生变化,例如采用的是多线程还是单线程,并取决于所部属的硬件平台的能力(CPU的处理能力)。
作者提出基于机器学习的在线方法(online approach),以确定在运行时将管理程序资源映射到所控制的工作负载。
sdn network hypervisors运行在租户控制器和数据平面的虚拟资源之间的中间软件层,负责将租户的SDN控制器连接到他们的虚拟网络之中,还负责控制和管理物理数据平面资源的分配(例如在不同租户之间的网络带宽)。
在虚拟化网络中,和非虚拟化SDN网络一样,控制平面的性能会对数据平面的性能产生严重影响。网络管理程序实例过载的情况下,会影响租户对控制平面消息的处理,进而对租户的数据平面性能产生负面影响。因此,当请求虚拟SDN网络时,租户应要求数据平面资源和控制平面资源;网络管理程序要保证每个租户的数据平面资源和控制平面资源的性能。当管理程序处理租户的控制流量时,就需要复杂的资源映射。
目的:运用在线机器学习,在运行时估计不同资源模型的参数设置,使网络管理程序能够以自我配置的方式进行工作。(自我配置的例子比如:用于云系统的虚拟机的配置)。
作者所做的工作:通过对网络过虚拟机监控程序的测试,证明了SDN虚拟机监控程序的可行性。由于现有的基准测试工具不允许对特定的控制混合流量进行分类,我们开发了自己的基准测试框架hvbench,与现有的解决方案如cbench[10]、ofcBenchmark[11]、SDLoad[12]、PktBlaster[13]和[14]中提出的框架相比,hvbench有更灵活的流量混合和消息到达时间。为了达到测量目的,作者模拟了具有特定控制流量混合的虚拟网络租户(这一点可以在下面的实验配置部分体现出来),测量结果证明了在线学习资源分配映射的可行性。
hvbench是什么:
由作者设计的一个管理程序基准测试工具。可以根据概率分布生成控制的混合流量(control traffic mixes)(我的理解是:这个管理程序对多个租户的控制流量进行监测)。
Network traffic control :网络流量控制是管理、控制或减少网络流量的过程,尤其是因特网带宽,例如数据包通过网络调度器(Network scheduler)。网络管理员使用它来减少拥塞,延迟和丢包。属于宽带管理的一部分,是数据中心的一个重要主题。
实验装置如下:
包括基于mininet的模拟SDN数据平面,网络管理程序实例,资源监测器和基准测试工作hvbench。配置一个虚拟网络,其中hvbench充当该虚拟网络的控制器。
设置的参数:
管理程序的三种处理模型:
下一步描述迭代拟合过程,在过程中逐步估计模型系数,遂作者定义了初步的参数的值:
在线学习模型:
在线学习是一个三个阶段的迭代过程:
第一阶段是收集新的样本;第二阶段是将模型函数拟合到收集的样本中;第三阶段,根据拟合的结果更新模型。当出现新样本时,该过程又会不断地重复进行。
对比的实验:评估了两个基于OpenFlow的Sdn管理程序,FlowVisor和OpenVirtex的学习处理模型。结果表明,线性的模型不足以预测CPU消耗,而指数模型的表现更好。
Online Resource Mapping for SDN Network Hypervisors using Machine Learning的更多相关文章
- Python -- machine learning, neural network -- PyBrain 机器学习 神经网络
I am using pybrain on my Linuxmint 13 x86_64 PC. As what it is described: PyBrain is a modular Machi ...
- machine learning 之 Neural Network 1
整理自Andrew Ng的machine learning课程week 4. 目录: 为什么要用神经网络 神经网络的模型表示 1 神经网络的模型表示 2 实例1 实例2 多分类问题 1.为什么要用神经 ...
- machine learning 之 Neural Network 2
整理自Andrew Ng的machine learning 课程 week5. 目录: Neural network and classification Cost function Backprop ...
- machine learning 之 Neural Network 3
整理自Andrew Ng的machine learning课程week6. 目录: Advice for applying machine learning (Decide what to do ne ...
- Multi-attention Network for One Shot Learning
Multi-attention Network for One Shot Learning 2018-05-15 22:35:50 本文的贡献点在于: 1. 表明类别标签信息对 one shot l ...
- [cloud][sdn] network namespace
man 手册关于IP netns的介绍: http://man7.org/linux/man-pages/man8/ip-netns.8.html 一个非常好的介绍,有概念,有操作: http://c ...
- A Survey of Machine Learning Techniques Applied to Software Defined Networking (SDN): Research Issues and Challenges
将机器学习用到SDN中的综述:研究的问题和挑战 从流量分类.路由优化.服务质量(Qos)/体验质量(QoE)预测.资源管理和安全性的角度,回顾了机器学习算法如何应用于SDN领域. 相关知识 在SDN中 ...
- CheeseZH: Stanford University: Machine Learning Ex4:Training Neural Network(Backpropagation Algorithm)
1. Feedforward and cost function; 2.Regularized cost function: 3.Sigmoid gradient The gradient for t ...
- CheeseZH: Stanford University: Machine Learning Ex3: Multiclass Logistic Regression and Neural Network Prediction
Handwritten digits recognition (0-9) Multi-class Logistic Regression 1. Vectorizing Logistic Regress ...
随机推荐
- python五十九课——正则表达式的拓展内容
演示正则表达式的拓展内容:函数:finditer(regex,string,[flags=0]):参数:和match.search.findall一样理解功能:将所有匹配的数据封装为一个一个的matc ...
- Android平台调用Web Service:线程返回值
接上文 前文中的遗留问题 对于Java多线程的理解,我曾经只局限于实现Runnable接口或者继承Thread类.然后重写run()方法.最后start()调用就算完事,可是一旦涉及死锁以及对共享资源 ...
- [CQOI2014]排序机械臂
嘟嘟嘟 最近复习复习平衡树,然后又体会到了那种感觉:"写代码半小时,debug一下午". 这题其实就是让你搞一个数据结构,支持一下操作: 1.区间翻转. 2.查询区间最小值所在位置 ...
- The Cat in the Hat POJ - 1289
题意:给你来两个数A,B .其中A=(n+1)k, B=nk 输出:(nk-1)/(n-1) 和 ∏ (n+1)k-i ni 思路:关键就是怎么求n和k.本来想这n一定是几个质因数的乘积,那 ...
- 使用命令行编译QT helloworld 项目
0.新建工程项目 在E盘的QTworkspace文件夹下新建一个子文件夹HelloWorld,并在该文件夹中新建一个main.cpp文件,cpp文件中写入以下代码(保存时注意将编码选择为UTF-8): ...
- VMware虚拟机将英文改成中文的方法
由于之前安装的虚拟机和老师要求的不同,我安装的是VMware,所以没有安装教程,没能修改系统语言,用了几次发现英文的不太方便,特别是出错的时候,看不懂系统的出错提示. 我从网上参考了https://b ...
- 理解Path对路径进行操作的API
阅读目录 一:理解normalize方法 二:理解join方法 三:理解dirname方法 四:理解basename方法 五:理解extname方法 回到顶部 一:理解normalize方法 该方法将 ...
- PAT A1012 The Best Rank (25 分)——多次排序,排名
To evaluate the performance of our first year CS majored students, we consider their grades of three ...
- jconsole使用
先看一张图 根据JConsole和任务管理器对比,堆内存大小在250M左右,差不多空跑一个程序用idea启动springboot就是这个大小 项目启动初始类在一万个左右,活动线程50个上下,cpu利用 ...
- TCP/IP协议---ICMP协议及ping、traceroute
ICMP Internet控制报文协议通常被认为是IP层的组成部分,一般被IP层或更高层(TCP.UDP)使用.ICMP报文是在IP数据报内部被传输的.如图: ICMP报文的格式如下: 报文的前4个字 ...