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

📄 sim_dht.m

📁 best routing protocol
💻 M
字号:
function sim_dht%run sim_parallel('high_dht') to get raw data%run sim_parallel('high_dht',-1) to plot data, which will call this functionfn = 'high_dht/sim_parallel-all.mat';%get_raw_data(fn)process_data(fn)function get_raw_data_deprecated(fn)topo = 'topo-3200-5.12.mat';repeat = 10;n_beacons =[10, 20, 56, 80, 100]S = load(topo);[optimal_dist optimal_nexthop] = allpair_dijkstra(S.D, ...						  1:S.n_nodes, 1, ...						  'optimal-cache.mat');load_optimal = get_nexthop_load(optimal_nexthop, S.random_pairs);for i=1:repeat  for b=1:length(n_beacons)    fprintf('****sim2 test beacon=%d, i=%d\n', n_beacons(b), i);    %res(b,i) = study_cr(topo,0.0, n_beacons(b));    res(b,i) = sim_with_dht(topo, n_beacons(b));    res(b,i).failure_bvr    save(fn, 'res','optimal_dist','load_optimal', 'n_beacons','repeat','topo');  endendfunction process_data(fn)msz = 12; %MarkerSize%n_beacons =[10, 20, 56, 80, 100]%repeat = 10;S = load('topo-3200-5.12v6.mat');load(fn);%%%%%%%%%figure  compare communication cost with DHT% $$$ BROADCAST_PACKET_SIZE=2+1+1;% $$$ beacon_bd = S.n_nodes*n_beacons*BROADCAST_PACKET_SIZE;% $$$ beacon_bd = beacon_bd';% $$$ % $$$ DV_PACKET_SIZE=2+1+1+1;for i=1:repeat  for b=1:length(n_beacons)    %cr_local_dv_size(b,i) = res(b,i).dv_entries_cr*DV_PACKET_SIZE;    dht_cr(b,i) = res(b,i).dht_cr*3/S.n_nodes; % 3= beacon id+ dist to beacon    dht_bvr_sf(b,i) = res(b,i).dht_bvr_sf*10/S.n_nodes; %10 is routing beacons    dht_bvr_2h(b,i) = res(b,i).dht_bvr_2h*10/S.n_nodes; %10 is routing beacons    [setup_cr(b,i), setup_bvr(b,i), setup_bvr_2h(b,i) ]= setup_traffic(res(b,i));  endendfigure(1)set(gca, 'FontSize',20);%size(mean(cr_local_dv_size, 2))%size(beacon_bd)% $$$ y = mean(dht_cr, 2);% $$$ l = y - min(dht_cr,[], 2);% $$$ u = max(dht_cr, [], 2) -y;% $$$ errorbar(n_beacons, y, l, u,'o-b', 'MarkerSize', msz);plot_errorbar(dht_cr, n_beacons, 'o-b',msz, 1);hold onplot(n_beacons, mean(dht_bvr_sf,2), 'x-r', 'MarkerSize', msz);plot(n_beacons, mean(dht_bvr_2h,2), 'v-k', 'MarkerSize', msz);legend('PCR', 'BVR 1 hop', 'BVR 2 hop');xlabel('number of beacons K');ylabel('DHT traffic per node (Byte)');saveas(gcf, 'dht_only.eps','psc2')tmp = mean(dht_cr, 2);fprintf('K=56, DHT of CR: %.1f\n', dht_cr(find(n_beacons==56)));tmp = mean(dht_bvr_sf, 2);fprintf('K=56, DHT of BVR 1hop: %.1f\n', dht_bvr_sf(find(n_beacons==56)));%%%%%%figure(2)set(gca, 'FontSize',20);% $$$ dht_cr = dht_cr + cr_local_dv_size;% $$$ y = mean(dht_cr, 2);% $$$ l = y - min(dht_cr,[], 2);% $$$ u = max(dht_cr, [], 2) -y;% $$$ errorbar(n_beacons, y+beacon_bd, l, u,'o-b', 'MarkerSize', msz);plot_errorbar( dht_cr+setup_cr, n_beacons, 'o-b', msz, 1);hold on%plot(n_beacons, mean(dht_bvr_sf,2)+beacon_bd, 'x-r', 'MarkerSize',%msz);plot_errorbar( dht_bvr_sf + setup_bvr,n_beacons, 'x-r',msz,0);plot_errorbar( dht_bvr_2h + setup_bvr_2h,n_beacons, 'v-k',msz,0);legend('PCR', 'BVR 1 hop', 'BVR 2 hop');xlabel('number of beacons K');ylabel('DHT traffic+control traffic per node(Byte)');saveas(gcf, 'dht_and_setup.eps','psc2')

⌨️ 快捷键说明

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