Online Resource Mapping for SDN Network Hypervisors using Machine Learning

发表时间:2016

一些定义:

  • self-configuring networks:
  • FlowVisor:

    FlowVisor是建立在OpenFlow之上的网络虚拟化工具,它可以将物理网络划分成多个逻辑网络,从而实现虚网划分。

  • 数据中心:

百度百科定义:数据中心是全球协作的特定设备网络,用来在internet网络基础设施上传递、加速、展示、计算、存储数据信息。

维基百科:给出的定义是“数据中心是一整套复杂的设施。它不仅仅包括计算机系统和其它与之配套的设备(例如通信和存储系统),还包含冗余的数据通信连接、环境控制设备、监控设备以及各种安全装置”。

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消耗,而指数模型的表现更好。

猜你喜欢

转载自www.cnblogs.com/codingbylch/p/9874319.html