弹性光网络程序员

弹性光网络实验二、碎片感知的RSA算法解析与Java源码实现

2017-06-14  本文已影响21人  chenxhjeo

(>>>>在公众号中输入文章最后彩蛋即可获取源代码)

开源项目:https://github.com/chenxhjeo,个人博客:http://blog.csdn.net/u013487761

技术QQ群名称:豆豆咨询,群号:625686304

微信公众号名称:豆豆咨询,微信公众号:douAsk

我的公众号:chen-jeo

初建日期:2017.06.03

一、实验目的

1、掌握弹性光网络(EON)下碎片感知的RSA算法核心思想及其实现。

二、实验内容

1、分析弹性光网络下的碎片感知的RSA核心算法。

2、实现碎片感知的RSA核心算法。

三、实验步骤及过程

1、碎片感知的RSA算法

在[Y. Yin, H.

Zhang, M. Zhang, M. Xia, Z Zhu, S. Dahlfort, and S. J. B. Yoo. Spectral and

Spatial 2D Fragmentation-Aware Routing and Spectrum Assignment Algorithms in

Elastic Optical Networks. J. OPT. COMMUN.NETW, 2013, 5(10).]提出了碎片感知的RSA算法(FA-RSA)以及拥塞避免的FA-RSA算法(CA-FA-RSA)。以下我们将分析其算法基本思想,并实现这些算法。

(1)算法由来

减少网络的资源碎片能够有效地提高网络请求的接收率,而网络的资源碎片来源于两部分:

第一部分,频谱资源碎片,即同一条链路中频谱资源分散在不同的区域,中间被占用的slot槽切割成独立的部分,这样即使整个slot槽能够满足要求,但是由于不满足连续性要求,网络请求将被拒绝分配资源。

第二部分,频谱空间资源碎片,即相邻的链路中资源slot槽不能满足紧邻性约束,即使不同的链路有足够的资源,但由于满足不了紧邻性约束而被拒绝分配资源。

如何减少这两部分的资源碎片成为RSA算法的关键所在。方法如下:

1)采用切代价(cut cost)来计算可选路径上的slot碎片,即如果某个分配分割了一条链路的可用资源,则切增加1,否则为0;计算这条路径上所有的切,并求和,则为路径上的切。

2)采用非对齐代价(misalignment cost)来计算可选路径上的分配对其它链路产生的影响,即计算相邻链路是否分割,如果分割了,则代价为1;否则为-1;把所有的相邻链路的非对齐代价,计算其总和。

如果切代价和非对齐代价较高,则说明分配方案不好,对资源碎片影响较大,产生较多的slot资源碎片;否则,说明分配方案对资源碎片影响较小,产生了较少的slot资源碎片。

(2)算法解析

1)FA-RSA算法(Fragmentation-Aware RSA)

a.计算k最短路径,把这些路径放入集合P中;

b.foreach(对于每条路径r)

c.foreach(对于每个候选分配c)

d.计算切Fc;

e.从选择方案中,选择最小切Fc的分配方案;

f.if(最小切Fc的分配方案只有一个) return该这种方案;

g.foreach(对于每个具有最小切Fc的方案)

h.计算misalignment的总和,记录为Fm;

i.选择最小Fm和最小Fc的RSA;

j.if(只有一个最小Fm和最小Fc的RSA方案)

k.return最小Fm和最小Fc的RSA方案;

l.return从可选方案中选择最短路径和first-fit频谱分配方案;

该算法的时间复杂度为O(kdnClogC),k表示最短路径条数,d表示底层节点的最大度,n表示底层网络的节点数量,C表示单条链路slot槽数量。

2)FA-CA-RSA算法(Fragmentation-Aware RSA with congestion avoidance)

a.计算k最短路径,把这些路径放入集合P中;

b.foreach(对于每条路径r)

c.foreach(对于每个候选分配c)

d.计算切Fc;

e.计算misalignment的总和,记录为Fm;

f.计算路径上的链路剩余slot;

i.计算Fcmt,其公式为Fcmt=Fc+Fm/(S*N)+H*S/C;

j.选择最小的Fcmt的候选方案;

k.if(只有一个最小的Fcmt的候选方案)

l.return最小的Fcmt的候选方案;

m.return从可选方案中选择最短路径和first-fit频谱分配方案;

算法中,S表示请求的slots数量,N表示候选路径的邻接链路数量,H表示候选路径的的条数,C表示单条链路slot槽数量。

该算法的时间复杂度为O(kdnClogC),k表示最短路径条数,d表示底层节点的最大度,n表示底层网络的节点数量,C表示单条链路slot槽数量。

(3)算法评价

算法在不同的Erlang下评估,即以请求数量变化在每个事件单元在[0.8,10]达到率的泊松分布下构造Erlang,每个请求的生存期为5个时间单元,请求范围在[1 slot, 10 slot]随机分布,

性能评价指标:带宽阻塞率,即拒绝的slot总量/请求的slot总量。

底层网络:14-node的NSFNET和24-node的USBN,每个频谱槽设置为12.5GHz,每个光纤链路有400个slots。

性能比较基准算法为:SP-FF(the

shortest path routing and first-fit spectrum assignment)和KSP-FF(the K-shortest path routing and first-fit spectrumassignment)

在14-node的NSFNET下,构造了[50,700]的Erlang下评估算法,BP在[0,0.35]范围内。

在28-node的USBN下,构造了[50-350]的Erlang下评估算法,BP在[0,0.3]范围内。

四、技术服务和源码下载

1、如果有疑问或者需要帮助,请加入QQ群(群名称:豆豆咨询,群号:625686304);或者公众号douAsk,公众号名称为“豆豆咨询”。扫描以下二维码,关注“豆豆咨询”

2、技术支持与源码下载:

技术QQ群名称:豆豆咨询,群号:625686304

在公众号里输入彩蛋号即可下载源码:

彩蛋号:2001。

上一篇下一篇

猜你喜欢

热点阅读