DDS: Distributed Decision Strategy Based on Switch Migration Towards SDN Control Plane
目录
abstract
将交换机动态迁移,从负载高的控制器到低负载控制器可以解决负载不均衡问题。
本文中,提出了DDS工作流程为:
一. 收集网络信息,构建迁移域
二. 选择迁移的交换机和控制器(选择标准后文)
三. 实施迁移
introduction
负载均衡主要分成两个方向,控制器优化和交换机迁移。相关的文献研究如下:
[6] 控制器的放置问题,集中在平均延迟上。
[7] 展示了dcpp问题,通过控制器和交换机之间的延迟,最小化代价。
[8] 使用k-critical 算法寻找最小的k个算法
[9]. openflow 1.3定义了控制器三种角色,方便交换机迁移。
[10] 设计了双重阈值
[11]使用博弈理论
[12]利用控制器执行负载通知策略。-这样会让成本更高。
analysis and formulation
M
: 控制器数量总和
N
:交换机数量总和
C S
:分别表示控制器和交换机
x
ij: 表示所有网元设备的连接情况。
S
cr = {s1cr,s2cr,…,sicr,…,}表示所有连接控制器Cr的交换机集合。
定义一: 迁移域
介绍决策域,他是由一个过载的控制器子域和他的不过载邻居子域组成,决策域不重合,系统中可以有多个决策域,我们要实现过载控制器的s(cr)迁移到决策域中其他的控制器下。
几个重要的参数
- 选择迁移交换机
其中 ηir表示交换机sicr占据的控制器资源
dir表示控制器和交换机之间的跳数。 - 数据收集代价
对于控制器cr的与交换机交互的代价,其中,vcr表示平均的交换机比特。 - 交换机迁移代价
如下入所示:c2选择s4作为要迁移的交换机,安装迁移规则。
s4向正常的c1控制器通过s3发送消息;
控制器同意接受;
代价三个部分:流安装rule+交换机通信com+迁移请求req
(1) 流规则安装:
安装规则的代价;平均包大小*跳数
交换机通信代价:
其中,ε表示交换机之间的平均交流速率。
xir,xjk 代表Cr Ck控制器的域之间连接的设备。
迁移请求代价:
mindik代表从迁移的交换机到目标控制器的最小跳数。
综上
- 控制器状态同步代价
µ表示控制器之间同步的网络数据。
目标函数
综上,一共三种代价,数据收集代价2,交换机迁移代价3,控制器同步代价4
总和上述三种代价,选择目标控制器就是线性规划问题。
strategy implementation
三个阶段,第一是收拾网络信息,构造决策域
第二是选择迁移交换机和目标控制器
第三是进行迁移
三个步骤进行之后,进行判断
如果完全符合限制,跳出循环
否则,返回阶段1
A. stage 1
控制器的利用率函数:
判断控制器是否过载。如果过载,给所有的邻居控制器发送迁移请求。
根据γ
r是否大于0.9 判断是否过载
如果控制器接受请求,如果收到请求根据下式有两种选择,同意则成功构建决策域。
B. stage2
选择迁移交换机和目标控制器。
迁移交换机的选择根据前文计算的ρir选择迁移交换机,选择最大值。
目标控制器根据刚才的三个参数,使用贪心算法计算。
伪代码如下:
C. stage3
设置一个count,如果count归0之前,迁移完成,决策域自然打破,广播update 消息。count 归0之前没有完成迁移,
或者原来的控制器依然过载,回到阶段1
负载均衡系列的论文到此为止~~