⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gljdraw.m

📁 GLJ调度算法的实现
💻 M
字号:
function gljdraw()

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%  流量负载U分别取值为[3,5,7,9,11,13,15,17,19,21,23,25,27,29]   %%%%%%%%
%%%%%               对应的14个流量矩阵T,分别用GLJ算法计算            %%%%%%%%
%%%%%                      画负载-抖动曲线图                       %%%%%%%%
%%%%%                      画负载-需求带宽曲线图                   %%%%%%%%
%%%%%                      画负载-抖动曲线图                       %%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%   初始化
T=initialT();
U(1)=3;
for i=2:14
    U(i)=U(i-1)+2;
end
%%%%%%%%%%%%%%   调用GLJ算法
for i=1:14   
    [table,len,bandsize(i),minband(i),matrixnumb(i)]=glj(T(:,:,i)); 
    jitter(i)=gljjit(table,len,T(:,:,i)); 
end
%%%%%%%%%%%%%% 画图
figure;
i=1:14;
plot(U(i),jitter(i),'-r.','MarkerSize',15);
grid on;
hold on;
legend('GLJ算法');
xlabel('U:端口间业务最大负载');
ylabel('Jitter(单位:时隙)');
title('4*4端口交换机,GLJ调度算法抖动-负载特性曲线图');
axis([0,30,0,30]);

figure;
i=1:14;
plot(U(i),bandsize(i),'-b.','MarkerSize',15);
hold on;
grid on;

i=1:14;
plot(U(i),minband(i),'-r.','MarkerSize',15);
legend('需求带宽B','最小需求带宽Bmin');
xlabel('U:端口间业务最大负载');
ylabel('需求带宽 B');
title('4*4端口交换机,GLJ调度算法带宽-负载特性曲线图');
axis([0,30,0,120]);


figure;
i=3:2:29;
bar(i,matrixnumb,'stacked');
colormap(summer); 
grid on;
title('4*4端口交换机,GLJ调度算法');
xlabel('U:端口间业务最大负载');
ylabel('分解得到的排列矩阵个数');
axis([0,30,0,12]);
hold off;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -