# file to plot iperf3 results for file 10.201.1.2:param:min_rtt_win_sec:10.0ms # file to plot iperf3 results for file 10.201.1.2:param:min_rtt_win_sec:10.0ms set term png noenhanced size 600, 500 set key font ',10' set macro set grid xtics set grid ytics set key width -12 set label "Data Dir: param-sweep.new " at character .5,.5 font ",9" set label "netem delay 5 ms, loss rate 0.01\% " at character 42,.5 font ",9" set title "Throughput: 4 parallel streams; bbr2 vs cubic; overlapped \n parameter sweep of min_rtt_win_sec, sum of 2 streams each \n nersc-tbn-1 to 10.201.1.2 \n 10Gbps host to 10Gbps host, rtt = 10.0ms" stats "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:10.all.dat" using 1:2 nooutput prefix "all1" stats "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:10.all.dat" using 3:4 nooutput prefix "all2" stats "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:10:10.0ms.even.sum.dat" using 3:4 nooutput prefix "cubic" stats "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:10:10.0ms.odd.sum.dat" using 3:4 nooutput prefix "bbr2" cr_title = "title 'cubic'" br_title = "title 'bbr2'" set xlabel "time \(seconds\)" set ylabel "Bandwidth \(Gbits/second\)" set y2label "TCP Retransmits" set ytics nomirror set y2tics set output "gnuplot/10.201.1.2:param:min_rtt_win_sec:10.0ms.png" set xrange [1:all1_max_x] set yrange [0:ceil(all2_max_x * 1.6)] set y2range [0:ceil(all2_max_y * 2 + 1)] cubic_title = sprintf("title 'cubic'") bbr2_title = sprintf("title 'bbr2'") stats "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:10:10.0ms.even.sum.dat" using 3:4 nooutput prefix "cubic10" stats "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:10:10.0ms.odd.sum.dat" using 3:4 nooutput prefix "bbr210" cubic_title_10 = sprintf("title 'cubic: %s=%d, %.2f Gbps, %.4f%% retrans'", "min_rtt_win_sec", 10, cubic10_mean_x, .01032200 ) bbr2_title_10 = sprintf("title 'bbr2: %s=%d, %.2f Gbps, %.4f%% retrans'", "min_rtt_win_sec", 10, bbr210_mean_x, 0 ) stats "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:1:10.0ms.even.sum.dat" using 3:4 nooutput prefix "cubic1" stats "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:1:10.0ms.odd.sum.dat" using 3:4 nooutput prefix "bbr21" cubic_title_1 = sprintf("title 'cubic: %s=%d, %.2f Gbps, %.4f%% retrans'", "min_rtt_win_sec", 1, cubic1_mean_x, .01031900 ) bbr2_title_1 = sprintf("title 'bbr2: %s=%d, %.2f Gbps, %.4f%% retrans'", "min_rtt_win_sec", 1, bbr21_mean_x, 0 ) stats "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:20:10.0ms.even.sum.dat" using 3:4 nooutput prefix "cubic20" stats "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:20:10.0ms.odd.sum.dat" using 3:4 nooutput prefix "bbr220" cubic_title_20 = sprintf("title 'cubic: %s=%d, %.2f Gbps, %.4f%% retrans'", "min_rtt_win_sec", 20, cubic20_mean_x, .00988600 ) bbr2_title_20 = sprintf("title 'bbr2: %s=%d, %.2f Gbps, %.4f%% retrans'", "min_rtt_win_sec", 20, bbr220_mean_x, 0 ) stats "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:2:10.0ms.even.sum.dat" using 3:4 nooutput prefix "cubic2" stats "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:2:10.0ms.odd.sum.dat" using 3:4 nooutput prefix "bbr22" cubic_title_2 = sprintf("title 'cubic: %s=%d, %.2f Gbps, %.4f%% retrans'", "min_rtt_win_sec", 2, cubic2_mean_x, .01028000 ) bbr2_title_2 = sprintf("title 'bbr2: %s=%d, %.2f Gbps, %.4f%% retrans'", "min_rtt_win_sec", 2, bbr22_mean_x, 0 ) stats "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:5:10.0ms.even.sum.dat" using 3:4 nooutput prefix "cubic5" stats "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:5:10.0ms.odd.sum.dat" using 3:4 nooutput prefix "bbr25" cubic_title_5 = sprintf("title 'cubic: %s=%d, %.2f Gbps, %.4f%% retrans'", "min_rtt_win_sec", 5, cubic5_mean_x, .01051900 ) bbr2_title_5 = sprintf("title 'bbr2: %s=%d, %.2f Gbps, %.4f%% retrans'", "min_rtt_win_sec", 5, bbr25_mean_x, 0 ) plot \ "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:10:10.0ms.odd.sum.dat" using 1:3 @bbr2_title_10 with linespoints pt 5 ps .5, \ "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:1:10.0ms.odd.sum.dat" using 1:3 @bbr2_title_1 with linespoints pt 5 ps .5, \ "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:20:10.0ms.odd.sum.dat" using 1:3 @bbr2_title_20 with linespoints pt 5 ps .5, \ "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:2:10.0ms.odd.sum.dat" using 1:3 @bbr2_title_2 with linespoints pt 5 ps .5, \ "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:5:10.0ms.odd.sum.dat" using 1:3 @bbr2_title_5 with linespoints pt 5 ps .5, \ "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:10:10.0ms.even.sum.dat" using 1:3 @cubic_title_10 with linespoints pt 3 ps .5, \ "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:1:10.0ms.even.sum.dat" using 1:3 @cubic_title_1 with linespoints pt 3 ps .5, \ "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:20:10.0ms.even.sum.dat" using 1:3 @cubic_title_20 with linespoints pt 3 ps .5, \ "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:2:10.0ms.even.sum.dat" using 1:3 @cubic_title_2 with linespoints pt 3 ps .5, \ "pscheduler_both_p4:min_rtt_win_sec/10.201.1.2:1:min_rtt_win_sec:5:10.0ms.even.sum.dat" using 1:3 @cubic_title_5 with linespoints pt 3 ps .5, \