# file to plot iperf3 results for file 10.201.1.2:param:probe_rtt_mode_ms:10.0ms # file to plot iperf3 results for file 10.201.1.2:param:probe_rtt_mode_ms:10.0ms set term png noenhanced size 600, 400 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 probe_rtt_mode_ms, 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:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:100.all.dat" using 1:2 nooutput prefix "all1" stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:100.all.dat" using 3:4 nooutput prefix "all2" stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:100:10.0ms.even.sum.dat" using 3:4 nooutput prefix "cubic" stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:100: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:probe_rtt_mode_ms:10.0ms.png" set xrange [1:all1_max_x] set yrange [0:ceil(all2_max_x * 1.4)] set y2range [0:ceil(all2_max_y * 2 + 1)] cubic_title = sprintf("title 'cubic'") bbr2_title = sprintf("title 'bbr2'") stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:100:10.0ms.even.sum.dat" using 3:4 nooutput prefix "cubic100" stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:100:10.0ms.odd.sum.dat" using 3:4 nooutput prefix "bbr2100" cubic_title_100 = sprintf("title 'cubic: %s=%d, %.2f Gbps, %.4f%% retrans'", "probe_rtt_mode_ms", 100, cubic100_mean_x, .00997300 ) bbr2_title_100 = sprintf("title 'bbr2: %s=%d, %.2f Gbps, %.4f%% retrans'", "probe_rtt_mode_ms", 100, bbr2100_mean_x, 0 ) stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:10:10.0ms.even.sum.dat" using 3:4 nooutput prefix "cubic10" stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:10:10.0ms.odd.sum.dat" using 3:4 nooutput prefix "bbr210" cubic_title_10 = sprintf("title 'cubic: %s=%d, %.2f Gbps, %.4f%% retrans'", "probe_rtt_mode_ms", 10, cubic10_mean_x, .00993400 ) bbr2_title_10 = sprintf("title 'bbr2: %s=%d, %.2f Gbps, %.4f%% retrans'", "probe_rtt_mode_ms", 10, bbr210_mean_x, 0 ) stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:200:10.0ms.even.sum.dat" using 3:4 nooutput prefix "cubic200" stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:200:10.0ms.odd.sum.dat" using 3:4 nooutput prefix "bbr2200" cubic_title_200 = sprintf("title 'cubic: %s=%d, %.2f Gbps, %.4f%% retrans'", "probe_rtt_mode_ms", 200, cubic200_mean_x, .01031200 ) bbr2_title_200 = sprintf("title 'bbr2: %s=%d, %.2f Gbps, %.4f%% retrans'", "probe_rtt_mode_ms", 200, bbr2200_mean_x, 0 ) stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:25:10.0ms.even.sum.dat" using 3:4 nooutput prefix "cubic25" stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:25:10.0ms.odd.sum.dat" using 3:4 nooutput prefix "bbr225" cubic_title_25 = sprintf("title 'cubic: %s=%d, %.2f Gbps, %.4f%% retrans'", "probe_rtt_mode_ms", 25, cubic25_mean_x, .01041400 ) bbr2_title_25 = sprintf("title 'bbr2: %s=%d, %.2f Gbps, %.4f%% retrans'", "probe_rtt_mode_ms", 25, bbr225_mean_x, 0 ) stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:500:10.0ms.even.sum.dat" using 3:4 nooutput prefix "cubic500" stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:500:10.0ms.odd.sum.dat" using 3:4 nooutput prefix "bbr2500" cubic_title_500 = sprintf("title 'cubic: %s=%d, %.2f Gbps, %.4f%% retrans'", "probe_rtt_mode_ms", 500, cubic500_mean_x, .01385000 ) bbr2_title_500 = sprintf("title 'bbr2: %s=%d, %.2f Gbps, %.4f%% retrans'", "probe_rtt_mode_ms", 500, bbr2500_mean_x, 0 ) stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:50:10.0ms.even.sum.dat" using 3:4 nooutput prefix "cubic50" stats "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:50:10.0ms.odd.sum.dat" using 3:4 nooutput prefix "bbr250" cubic_title_50 = sprintf("title 'cubic: %s=%d, %.2f Gbps, %.4f%% retrans'", "probe_rtt_mode_ms", 50, cubic50_mean_x, .00997100 ) bbr2_title_50 = sprintf("title 'bbr2: %s=%d, %.2f Gbps, %.4f%% retrans'", "probe_rtt_mode_ms", 50, bbr250_mean_x, 0 ) plot \ "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:100:10.0ms.odd.sum.dat" using 1:3 @bbr2_title_100 with linespoints pt 5 ps .5, \ "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:10:10.0ms.odd.sum.dat" using 1:3 @bbr2_title_10 with linespoints pt 5 ps .5, \ "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:200:10.0ms.odd.sum.dat" using 1:3 @bbr2_title_200 with linespoints pt 5 ps .5, \ "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:25:10.0ms.odd.sum.dat" using 1:3 @bbr2_title_25 with linespoints pt 5 ps .5, \ "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:500:10.0ms.odd.sum.dat" using 1:3 @bbr2_title_500 with linespoints pt 5 ps .5, \ "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:50:10.0ms.odd.sum.dat" using 1:3 @bbr2_title_50 with linespoints pt 5 ps .5, \ "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:100:10.0ms.even.sum.dat" using 1:3 @cubic_title_100 with linespoints pt 3 ps .5, \ "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:10:10.0ms.even.sum.dat" using 1:3 @cubic_title_10 with linespoints pt 3 ps .5, \ "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:200:10.0ms.even.sum.dat" using 1:3 @cubic_title_200 with linespoints pt 3 ps .5, \ "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:25:10.0ms.even.sum.dat" using 1:3 @cubic_title_25 with linespoints pt 3 ps .5, \ "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:500:10.0ms.even.sum.dat" using 1:3 @cubic_title_500 with linespoints pt 3 ps .5, \ "pscheduler_both_p4:probe_rtt_mode_ms/10.201.1.2:1:probe_rtt_mode_ms:50:10.0ms.even.sum.dat" using 1:3 @cubic_title_50 with linespoints pt 3 ps .5, \