• 2017
  • Computer Communications
  • 问题:in-band网络的多控制器放置问题,考虑到多个控制器之间的同步(Ctr-Ctr)可能影响到控制器与交换机(Ctr-Sw)的时延;

    关于同步

    首先分析了两种分布式控制器的同步模式:SDO及MDO:

  1. SDO(single data-ownership):单个Leader、多个Follower的模式,所有控制器收到来自所属交换机的请求后都需要发送给Leader,Leader广播到所有的Follower,然后根据大多数的意见反馈给发送请求的控制器。一种强一致性的模式;
      这个模式下,Ctr-Sw的时延由交换机到所属控制器,Follower到Leader及与Leader距离最远的Follower组成;
      
  2. MDO(multiple data-ownership):各个控制器处理自己域的事务,定时同步各自域的状态(拓扑,流表等)。一种弱一致性(最终一致性)的模式;
      这个模式下,Ctr-Sw的时延只有交换机到所属控制器的时延;
    可见,对于不同的同步算法,Ctr-Sw的差异很大。特别是对于SDO,Ctr-Ctr对于Ctr-Sw的影响不可忽略;

Ctr-Ctr与Ctr-Sw

  显然,在SDO下,Ctr-Ctr与Ctr-Sw不能同时达到最优。但是实验表明可以通过增加一定的Sw-Ctr时延,可以明显减少Ctr-Ctr的时延(多达几个数量级);


算法

分布式控制器放置问题的目的是求出与各个控制器直连的交换机;即:

$$π = [π_C]_{C=1}^C$$

解的数量可以表示为
$$|\Omega| = C_N^C$$
  其中,N为交换机数量,C为控制器数量;
  
  EVO-PLACE算法输出为C,N及循环次数i_max,输出一个Pareto解集P,具体如下:
  (1)设置Pareto解集P,初始为空;
  (2)随机生成一种放置解π;
  (3)与P中的每一个解p比较:如果π被p支配则删除π,并执行(7);若p被π支配则用π代替p,并执行(4);
  (4)选择π中与其他控制器距离最远(时延最大)的控制器c,及离c最近的控制器c';
  (5)沿路径<c,c'>,将c移动一跳得到π‘,如下图所示;

    (6)将π'与P中每一个解p比较:若p被π‘支配则用π’代替p,并执行(7);
    (7)执行(2),直到循环次数达到i_max;
  其中,(4)(5)是为了减少Ctr-Ctr的时延来获得更优的解;

实验

  论文对中小型ISP网络进行了枚举形成散点图并标注Pareto点。通过分析Ctr-Ctr时延的减少和Ctr-Sw的时延的减少来证明Ctr-Ctr与Ctr-Sw的结论;
  算法方面,比较EVO-PLACE和RND-PLACE(随机生成,不执行上一节中的(4)(5)步)的结果与枚举得到的Pareto解的差异(Ctr-Ctr和Ctr-Sw的差值);

支配及被支配

假设任何二解S1 及S2 对所有目标而言,S1均优于S2,则我们称S1 支配S2(s2 is dominated by s1),若S1 的解没有被其他解所支配,则S1 称为非支配解。
对于本文,目标函数为:最小化Ctr-Ctr平均时延最小化Ctr-Sw平均时延

The role of the inter-controller consensus in the placement of distributed SDN controllers的更多相关文章

  1. SDN可靠性相关

    A subtree-based approach to failure detection and protection for multicast in SDN FRONTIERS OF INFOR ...

  2. Samba 4 Domain Controller on Ubuntu 14.04 LTS

    1. Configure network with a static ip address $sudo nano /etc/network/interfaces auto eth0 iface eth ...

  3. 【IOS笔记】View Controller Basics

    View Controller Basics   视图控制器基础 Apps running on iOS–based devices have a limited amount of screen s ...

  4. Controller Plane

    Toward Highly Available and Scalable Software Defined Networks for Service Providers IEEE Communicat ...

  5. View Controller Programming Guide for iOS---(二)---View Controller Basics

    View Controller Basics Apps running on iOS–based devices have a limited amount of screen space for d ...

  6. The Role of View Controllers

    https://developer.apple.com/library/content/featuredarticles/ViewControllerPGforiPhoneOS/index.html# ...

  7. 7.1、controller节点配置

    0.配置openstack版本yum源: yum install centos-release-openstack-rocky 1.安装 OpenStack 客户端: yum install pyth ...

  8. ASP.NET Core开发-MVC 使用dotnet 命令创建Controller和View

    使用dotnet 命令在ASP.NET Core MVC 中创建Controller和View,之前讲解过使用yo 来创建Controller和View. 下面来了解dotnet 命令来创建Contr ...

  9. ASP.NET MVC3 Areas 分离项目 同名控制器(同名Controller) 演示demo

    为什么需要分离? 我们知道MVC项目各部分职责比较清晰,相比较ASP.NET Webform而言,MVC项目的业务逻辑和页面展现较好地分离开来,这样的做法有许多优点,比如可测试,易扩展等等.但是在实际 ...

随机推荐

  1. BZOJ3673/3674:可持久化并查集

    Description n个集合 m个操作 操作: 1 a b 合并a,b所在集合 2 k 回到第k次操作之后的状态(查询算作操作) 3 a b 询问a,b是否属于同一集合,是则输出1否则输出0 0& ...

  2. Common lang一些边界方法总结(好记性不如烂笔头,需要慢慢积累).一定要利用好现有的轮子,例如Apache common与Google Guava

    好记性真是不如烂笔头啊!!!! 如下代码: List<String> list = new ArrayList<String>(); list.add("1" ...

  3. 关于Netty Pipeline中Handler的执行顺序问题

    原文地址:http://blog.csdn.net/wgyvip/article/details/25637651 最近在学习Netty框架,根据官网的教程学着做了几个小测试,都成功了,后面开始试着写 ...

  4. Oracle RMAN 恢复数据库到不同主机(一)

    一.RMAN 备份的内容 RMAN做数据库全备时包含了 数据文件.归档日志.控制文件和参数文件和备份日志,如下: arch_20160223_08qukp2t_1_1  arch_20160223_0 ...

  5. Jmeter性能测试-分布式压力测试

    作为一个测试行业的菜鸟,由于投身于一个小公司,包揽所有的测试.刚开始的功能测试到接口测试,稳定性测试,兼容性测试等,一般由于是小项目所以对于性能有所忽略,也没怎么涉及,公司接了个大项目,后期对于性能上 ...

  6. /etc/hosts,GoldenGate

    [oracle@g]$ netstat -alp|grep 7809(Not all processes could be identified, non-owned process info wil ...

  7. WorldWind源码剖析系列:可渲染对象列表类RenderableObjectList

    可渲染对象列表类RenderableObjectList用来存储与一个星球体相关联的全部的可渲染对象,继承自可渲染对象类RenderableObject.RenderableObjectList的类图 ...

  8. JAVA框架:hibernate

    一:介绍 hibernate是java中的dao层,即和持久层打交道.底层也是数据库驱动.连接等.他也有orm,类和数据库的映射. 二.部署 下载地址:https://sourceforge.net/ ...

  9. 模拟T1数字number

    那么第一题首先非常水的一道题…… 看一下题 数字(number) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK拥有n个数,这n个数分别是a1,a2,… ...

  10. float与double的范围和精度以及大小非零比较

    1. 范围  float和double的范围是由指数的位数来决定的.  float的指数位有8位,而double的指数位有11位,分布如下:  float:  1bit(符号位) 8bits(指数位) ...