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 ... 
随机推荐
- javascript 正则表达式学习
			正则表达式 正则表达式,一个描述字符模式的对象.javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,后者使用正则表达式进行强大的模式和匹配与替换功能. -- f ... 
- 网络编程_UDP协议_发送端与接收端
			创建UDP传输的发送端 : 1.建立udp的socket服务 2.将要发送的数据封装到数据包中 3.通过udp的socket服务 将数据包发送出去 4.关闭socket服务(因为调用了系统 ... 
- 洛谷P1223
			#include <iostream>#include <algorithm>#include <cstdio>using namespace std;int b[ ... 
- Spring Boot开发Web应用
			静态资源访问 在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置 Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /s ... 
- 【转】MySQL理解索引、添加索引的原则
			索引用于快速找出在某个列中有一特定值的行.不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行,还需要考虑每次读入数据页的IO开销.而如果采取索引,则可以根据索引指向的页以及记录在 ... 
- python对word的操作
			from docx import Document from docx.shared import Inches document = Document() document.add_heading( ... 
- 【UOJ 17】飞扬的小鸟
			UOJ 17 题意:在\(n\times m\)的网格中有一些柱子,它们可以通过的区间是\((L_i,R_i)\),位置在\(P_i\).在第i个位置点击一次会使高度增加\(X_i\),不点击会使高度 ... 
- 【C语言】结构体占用字节数及存储与空间分配
			我们都知道在数据类型中,char类型占1个字节,short占2个字节,int占4个字节,long占8个字节等等. 在计算结构体大小时需要考虑其内存布局,结构体在内存中存放是按单元存放的,每个单元多大取 ... 
- Python内存优化:Profile,slots,compact dict
			实际项目中,pythoner更加关注的是Python的性能问题,之前也写过一篇文章<Python性能优化>介绍Python性能优化的一些方法.而本文,关注的是Python的内存优化,一般说 ... 
- php实现一个单链表
			单链表,节点只有一个指针域的链表.节点包括数据域和指针域. 因此用面向对象的思维,节点类的属性就有两个:一个data(表示存储的数据),一个指针next(链表中指向下一个节点). 链表一个很重要的特性 ... 
