ns2 Simulation results ----------------------------------------------------------------------------------------- Scripts to get averaged results over multiple runs, described in the following documents: * Y. Gong, D. Rossi, C. Testa, S. Valenti and D. Taht, "Fighting the bufferbloat: on the coexistence of AQM and low priority congestion control", Technical Report, Dec 2012 * Y. Gong, BUFFERDeBLOAT, "A survey of different ways to counter Bufferbloat", Projet presentation, July 2012 This document present the structure and organization of the results that can be obtained by running the scripts. ----------------------------------------------------------------------------------------- Content: cap/Makefile #calls make.sh cap/make.sh #calls simulation-comp.tcl and *-process.py bin/simulation-comp.tcl #main ns2 script bin/data-process.py #post-process bin/stat-process.py #post-process ----------------------------------------------------------------------------------------- Naming [FILE]: [AQM] AQM: [A*:DropTail/RED/SFQ/DRR/CHOCKE/CoDel] (DropTail, RED, SFQ, DRR Choke, CoDel) [TCC] CCType: [T*:ledbat/nice/tcp-lp] (Ledbat, NICE, TCP-LP vs. NewReno) [WLD] Workload: [W*:0-9, step 1] (1=10% on time, 9=90% on time, by abuse of notation 0 means backlogged transfers) [BUF] Buffer: [B*:100/350] (128KB, 512KB with pktsize=1500B) [CAP] Capacity: [C*:10/1/0.5] (10Mbps,1Mbps,512Kbps, with B -> maxdelay=[0.1s], [1s], 2s | 0.4s, 4s, [8s]) [RUN] Repeat 10 times: [R*****:seedID] [FLO] Flow status: [05:total CC][10:total flow][*:no.flow]{[0:TCP/1:CC])} [FLR] Flow status at router (eg.queue size): [05:total CC][10:total flow][R] [DLY] Delay: Homogeneous / Heterogeneous Fixed Ratio: 5CC (0,1,2,3,4) + 5TCP (5,6,7,8,9) ----------------------------------------------------------------------------------------- Procedure: make.sh - simulation-comp.tcl -> FOLDER: raw/AQM.TCC.WLD - filecontent1 -> $now $throuput $bytes $insdrop $drops $cwnd - filename1 -> AQM.TCC.WLD.BUF.CAP.RUN.FLO.DATA - filecontent2 -> $now $r_throuput $r_bytes $r_insdrop $r_drops $r_qsize $router_qsize_avg - filename2 -> AQM.TCC.WLD.BUF.CAP.RUN.FLR.DATA - filecontent3 -> $item $bytes $droprate $cwnd_avg(flow) $qsize_avg(router) - filename3 -> AQM.TCC.WLD.BUF.CAP.RUN.DATA - data-process.py -> FOLDER: raw/AQM.TCC.WLD - filecontent -> $eta $tcp% $f_all $f_tcp $f_cc $d_all $d_tcp $d_cc $cwnd_tcp $cwnd_cc $qsize (1RUN) - filename -> AQM.TCC.WLD.BUF.CAP.RUN.STAT - stat-process.py -> FOLDER: sum/AQM.TCC.WLD - filecontent -> $eta $tcp% $f_all $f_tcp $f_cc $d_all $d_tcp $d_cc $cwnd_tcp $cwnd_cc $qsize (avg of 10 RUN) - filename -> AQM.TCC.WLD.BUF.CAP.STAT - stat-process.py -> FOLDER: sum/AQM.TCC.WLD - filecontent -> $eta $tcp% $f_all $f_tcp $f_cc $d_all $d_tcp $d_cc $cwnd_tcp $cwnd_cc $qsize (list of 3 BUF/CAP combination) - filename -> AQM.TCC.WLD.STAT - stat-process.py -> FOLDER: - filecontent -> $eta $tcp% $f_all $f_tcp $f_cc $d_all $d_tcp $d_cc $cwnd_tcp $cwnd_cc $qsize (list of 10 WLD, with 3 values each metric) - filename -> AQM.TCC.STAT ----------------------------------------------------------------------------------------- Metrics: [time] $throuput -> *.RUN.FLO.DATA *.RUN.FLR.DATA [time] $insdrop -> *.RUN.FLO.DATA *.RUN.FLR.DATA [time] $cwnd -> *.RUN.FLO.DATA [time] $qsize -> *.RUN.FLR.DATA [comp] $eta $tcp% $f_all $f_tcp $f_cc $d_all $d_tcp $d_cc $cwnd_tcp $cwnd_cc $qsize -> *.STAT