diff --git a/aqm-eval-output/AggressiveTransportSender/data/AdaptiveRedQueueDisc-gnu-delay b/aqm-eval-output/AggressiveTransportSender/data/AdaptiveRedQueueDisc-gnu-delay new file mode 100644 index 00000000000..d55184ebfd5 --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/AdaptiveRedQueueDisc-gnu-delay @@ -0,0 +1,10 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/AdaptiveRedQueueDisc-delay.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Delay (ms)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +set yrange [0:] +set xrange [:300] +plot "aqm-eval-output/AggressiveTransportSender/data/AdaptiveRedQueueDisc-qdel.dat" using 1:2 with lines title "AdaptiveRedQueueDisc" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/AdaptiveRedQueueDisc-gnu-goodput b/aqm-eval-output/AggressiveTransportSender/data/AdaptiveRedQueueDisc-gnu-goodput new file mode 100644 index 00000000000..784bd47d640 --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/AdaptiveRedQueueDisc-gnu-goodput @@ -0,0 +1,8 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/AdaptiveRedQueueDisc-goodput.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Goodput (Mbps)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +plot "aqm-eval-output/AggressiveTransportSender/data/new-AdaptiveRedQueueDisc-goodput.dat" i 0 using 1:2 with lines smooth csplines title "Flow 1" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/CoDelQueueDisc-gnu-delay b/aqm-eval-output/AggressiveTransportSender/data/CoDelQueueDisc-gnu-delay new file mode 100644 index 00000000000..ed47b64d62a --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/CoDelQueueDisc-gnu-delay @@ -0,0 +1,10 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/CoDelQueueDisc-delay.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Delay (ms)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +set yrange [0:] +set xrange [:300] +plot "aqm-eval-output/AggressiveTransportSender/data/CoDelQueueDisc-qdel.dat" using 1:2 with lines title "CoDelQueueDisc" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/CoDelQueueDisc-gnu-goodput b/aqm-eval-output/AggressiveTransportSender/data/CoDelQueueDisc-gnu-goodput new file mode 100644 index 00000000000..4a8bd6d1f5d --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/CoDelQueueDisc-gnu-goodput @@ -0,0 +1,8 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/CoDelQueueDisc-goodput.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Goodput (Mbps)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +plot "aqm-eval-output/AggressiveTransportSender/data/new-CoDelQueueDisc-goodput.dat" i 0 using 1:2 with lines smooth csplines title "Flow 1" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/CobaltQueueDisc-gnu-delay b/aqm-eval-output/AggressiveTransportSender/data/CobaltQueueDisc-gnu-delay new file mode 100644 index 00000000000..b83403dd102 --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/CobaltQueueDisc-gnu-delay @@ -0,0 +1,10 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/CobaltQueueDisc-delay.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Delay (ms)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +set yrange [0:] +set xrange [:300] +plot "aqm-eval-output/AggressiveTransportSender/data/CobaltQueueDisc-qdel.dat" using 1:2 with lines title "CobaltQueueDisc" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/CobaltQueueDisc-gnu-goodput b/aqm-eval-output/AggressiveTransportSender/data/CobaltQueueDisc-gnu-goodput new file mode 100644 index 00000000000..115e7f1e2b1 --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/CobaltQueueDisc-gnu-goodput @@ -0,0 +1,8 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/CobaltQueueDisc-goodput.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Goodput (Mbps)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +plot "aqm-eval-output/AggressiveTransportSender/data/new-CobaltQueueDisc-goodput.dat" i 0 using 1:2 with lines smooth csplines title "Flow 1" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/FengAdaptiveRedQueueDisc-gnu-delay b/aqm-eval-output/AggressiveTransportSender/data/FengAdaptiveRedQueueDisc-gnu-delay new file mode 100644 index 00000000000..a778907fd11 --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/FengAdaptiveRedQueueDisc-gnu-delay @@ -0,0 +1,10 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/FengAdaptiveRedQueueDisc-delay.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Delay (ms)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +set yrange [0:] +set xrange [:300] +plot "aqm-eval-output/AggressiveTransportSender/data/FengAdaptiveRedQueueDisc-qdel.dat" using 1:2 with lines title "FengAdaptiveRedQueueDisc" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/FengAdaptiveRedQueueDisc-gnu-goodput b/aqm-eval-output/AggressiveTransportSender/data/FengAdaptiveRedQueueDisc-gnu-goodput new file mode 100644 index 00000000000..9e7a5aacc63 --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/FengAdaptiveRedQueueDisc-gnu-goodput @@ -0,0 +1,8 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/FengAdaptiveRedQueueDisc-goodput.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Goodput (Mbps)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +plot "aqm-eval-output/AggressiveTransportSender/data/new-FengAdaptiveRedQueueDisc-goodput.dat" i 0 using 1:2 with lines smooth csplines title "Flow 1" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/NonLinearRedQueueDisc-gnu-delay b/aqm-eval-output/AggressiveTransportSender/data/NonLinearRedQueueDisc-gnu-delay new file mode 100644 index 00000000000..08d401d2177 --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/NonLinearRedQueueDisc-gnu-delay @@ -0,0 +1,10 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/NonLinearRedQueueDisc-delay.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Delay (ms)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +set yrange [0:] +set xrange [:300] +plot "aqm-eval-output/AggressiveTransportSender/data/NonLinearRedQueueDisc-qdel.dat" using 1:2 with lines title "NonLinearRedQueueDisc" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/NonLinearRedQueueDisc-gnu-goodput b/aqm-eval-output/AggressiveTransportSender/data/NonLinearRedQueueDisc-gnu-goodput new file mode 100644 index 00000000000..51ee6203121 --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/NonLinearRedQueueDisc-gnu-goodput @@ -0,0 +1,8 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/NonLinearRedQueueDisc-goodput.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Goodput (Mbps)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +plot "aqm-eval-output/AggressiveTransportSender/data/new-NonLinearRedQueueDisc-goodput.dat" i 0 using 1:2 with lines smooth csplines title "Flow 1" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/PfifoFastQueueDisc-gnu-delay b/aqm-eval-output/AggressiveTransportSender/data/PfifoFastQueueDisc-gnu-delay new file mode 100644 index 00000000000..2a54d58852b --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/PfifoFastQueueDisc-gnu-delay @@ -0,0 +1,10 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/PfifoFastQueueDisc-delay.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Delay (ms)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +set yrange [0:] +set xrange [:300] +plot "aqm-eval-output/AggressiveTransportSender/data/PfifoFastQueueDisc-qdel.dat" using 1:2 with lines title "PfifoFastQueueDisc" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/PfifoFastQueueDisc-gnu-goodput b/aqm-eval-output/AggressiveTransportSender/data/PfifoFastQueueDisc-gnu-goodput new file mode 100644 index 00000000000..eb049ba8ffc --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/PfifoFastQueueDisc-gnu-goodput @@ -0,0 +1,8 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/PfifoFastQueueDisc-goodput.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Goodput (Mbps)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +plot "aqm-eval-output/AggressiveTransportSender/data/new-PfifoFastQueueDisc-goodput.dat" i 0 using 1:2 with lines smooth csplines title "Flow 1" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/PieQueueDisc-gnu-delay b/aqm-eval-output/AggressiveTransportSender/data/PieQueueDisc-gnu-delay new file mode 100644 index 00000000000..8d0ce3edd7c --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/PieQueueDisc-gnu-delay @@ -0,0 +1,10 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/PieQueueDisc-delay.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Delay (ms)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +set yrange [0:] +set xrange [:300] +plot "aqm-eval-output/AggressiveTransportSender/data/PieQueueDisc-qdel.dat" using 1:2 with lines title "PieQueueDisc" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/PieQueueDisc-gnu-goodput b/aqm-eval-output/AggressiveTransportSender/data/PieQueueDisc-gnu-goodput new file mode 100644 index 00000000000..27f72912867 --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/PieQueueDisc-gnu-goodput @@ -0,0 +1,8 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/PieQueueDisc-goodput.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Goodput (Mbps)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +plot "aqm-eval-output/AggressiveTransportSender/data/new-PieQueueDisc-goodput.dat" i 0 using 1:2 with lines smooth csplines title "Flow 1" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/RedQueueDisc-gnu-delay b/aqm-eval-output/AggressiveTransportSender/data/RedQueueDisc-gnu-delay new file mode 100644 index 00000000000..c4b54de7963 --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/RedQueueDisc-gnu-delay @@ -0,0 +1,10 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/RedQueueDisc-delay.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Delay (ms)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +set yrange [0:] +set xrange [:300] +plot "aqm-eval-output/AggressiveTransportSender/data/RedQueueDisc-qdel.dat" using 1:2 with lines title "RedQueueDisc" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/RedQueueDisc-gnu-goodput b/aqm-eval-output/AggressiveTransportSender/data/RedQueueDisc-gnu-goodput new file mode 100644 index 00000000000..2bde2ade48b --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/RedQueueDisc-gnu-goodput @@ -0,0 +1,8 @@ +set terminal png +set output "aqm-eval-output/AggressiveTransportSender/graph/RedQueueDisc-goodput.png" + set xlabel "Time (Seconds)" font "Verdana,12" +set ylabel "Goodput (Mbps)" font "Verdana,12" +set grid +show grid +set key font "Verdana,12" +plot "aqm-eval-output/AggressiveTransportSender/data/new-RedQueueDisc-goodput.dat" i 0 using 1:2 with lines smooth csplines title "Flow 1" \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/data/plot-shell b/aqm-eval-output/AggressiveTransportSender/data/plot-shell new file mode 100644 index 00000000000..7167baf6c00 --- /dev/null +++ b/aqm-eval-output/AggressiveTransportSender/data/plot-shell @@ -0,0 +1,25 @@ +set terminal png size 600, 350 +set size .9, 1 +set output "aqm-eval-output/AggressiveTransportSender/graph/qdel-goodput.png" + set xlabel "Queue Delay (ms)" font "Verdana" +set ylabel "Goodput (Mbps)" font "Verdana" +set xrange[] reverse +set grid +show grid +set label "" at 72.06835290016018,0.7867839260302462 point lt 1 pt 1 center font "Verdana" tc lt 1 offset 1.5,0.4 +set label "DropTail" at graph 1.03,0.96 point lt 1 pt 1 font "Verdana,12" tc lt 1 offset 0.7, -0.2 +set label "" at 2.431904950121579,0.7230681669476516 point lt 2 pt 2 center font "Verdana" tc lt 2 offset 1.5,0.4 +set label "CoDel" at graph 1.03,0.9 point lt 2 pt 2 font "Verdana,12" tc lt 2 offset 0.7, -0.2 +set label "" at 19.08199634253437,0.7351984735537219 point lt 3 pt 3 center font "Verdana" tc lt 3 offset 1.5,0.4 +set label "PIE" at graph 1.03,0.84 point lt 3 pt 3 font "Verdana,12" tc lt 3 offset 0.7, -0.2 +set label "" at 50.088985730296265,0.8121450662276379 point lt 4 pt 4 center font "Verdana" tc lt 4 offset 1.5,0.4 +set label "RED" at graph 1.03,0.78 point lt 4 pt 4 font "Verdana,12" tc lt 4 offset 0.7, -0.2 +set label "" at 27.44747594008444,0.7416029147450488 point lt 5 pt 5 center font "Verdana" tc lt 5 offset 1.5,0.4 +set label "ARED" at graph 1.03,0.72 point lt 5 pt 5 font "Verdana,12" tc lt 5 offset 0.7, -0.2 +set label "" at 50.711097209133456,0.7591207397362596 point lt 6 pt 6 center font "Verdana" tc lt 6 offset 1.5,0.4 +set label "FRED" at graph 1.03,0.66 point lt 6 pt 6 font "Verdana,12" tc lt 6 offset 0.7, -0.2 +set label "" at 51.375889290678344,0.8062692176578442 point lt 7 pt 7 center font "Verdana" tc lt 7 offset 1.5,0.4 +set label "NLRED" at graph 1.03,0.6 point lt 7 pt 7 font "Verdana,12" tc lt 7 offset 0.7, -0.2 +set label "" at 0.9186746462718389,0.9397544572402379 point lt 8 pt 8 center font "Verdana" tc lt 8 offset 1.5,0.4 +set label "Cobalt" at graph 1.03,0.54 point lt 8 pt 8 font "Verdana,12" tc lt 8 offset 0.7, -0.2 +plot "aqm-eval-output/AggressiveTransportSender/data/PfifoFastQueueDisc-ellipse.dat" notitle with lines,"aqm-eval-output/AggressiveTransportSender/data/CoDelQueueDisc-ellipse.dat" notitle with lines,"aqm-eval-output/AggressiveTransportSender/data/PieQueueDisc-ellipse.dat" notitle with lines,"aqm-eval-output/AggressiveTransportSender/data/RedQueueDisc-ellipse.dat" notitle with lines,"aqm-eval-output/AggressiveTransportSender/data/AdaptiveRedQueueDisc-ellipse.dat" notitle with lines,"aqm-eval-output/AggressiveTransportSender/data/FengAdaptiveRedQueueDisc-ellipse.dat" notitle with lines,"aqm-eval-output/AggressiveTransportSender/data/NonLinearRedQueueDisc-ellipse.dat" notitle with lines,"aqm-eval-output/AggressiveTransportSender/data/CobaltQueueDisc-ellipse.dat" notitle with lines \ No newline at end of file diff --git a/aqm-eval-output/AggressiveTransportSender/graph/AdaptiveRedQueueDisc-delay.png b/aqm-eval-output/AggressiveTransportSender/graph/AdaptiveRedQueueDisc-delay.png new file mode 100644 index 00000000000..09fd332c825 Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/AdaptiveRedQueueDisc-delay.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/AdaptiveRedQueueDisc-goodput.png b/aqm-eval-output/AggressiveTransportSender/graph/AdaptiveRedQueueDisc-goodput.png new file mode 100644 index 00000000000..f785a15d19b Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/AdaptiveRedQueueDisc-goodput.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/CoDelQueueDisc-delay.png b/aqm-eval-output/AggressiveTransportSender/graph/CoDelQueueDisc-delay.png new file mode 100644 index 00000000000..6f7fb552cd3 Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/CoDelQueueDisc-delay.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/CoDelQueueDisc-goodput.png b/aqm-eval-output/AggressiveTransportSender/graph/CoDelQueueDisc-goodput.png new file mode 100644 index 00000000000..1eb89c5e697 Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/CoDelQueueDisc-goodput.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/CobaltQueueDisc-delay.png b/aqm-eval-output/AggressiveTransportSender/graph/CobaltQueueDisc-delay.png new file mode 100644 index 00000000000..67f6396ab01 Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/CobaltQueueDisc-delay.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/CobaltQueueDisc-goodput.png b/aqm-eval-output/AggressiveTransportSender/graph/CobaltQueueDisc-goodput.png new file mode 100644 index 00000000000..21a8231febe Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/CobaltQueueDisc-goodput.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/FengAdaptiveRedQueueDisc-delay.png b/aqm-eval-output/AggressiveTransportSender/graph/FengAdaptiveRedQueueDisc-delay.png new file mode 100644 index 00000000000..70a4312e4f6 Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/FengAdaptiveRedQueueDisc-delay.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/FengAdaptiveRedQueueDisc-goodput.png b/aqm-eval-output/AggressiveTransportSender/graph/FengAdaptiveRedQueueDisc-goodput.png new file mode 100644 index 00000000000..7ab92ca0075 Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/FengAdaptiveRedQueueDisc-goodput.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/NonLinearRedQueueDisc-delay.png b/aqm-eval-output/AggressiveTransportSender/graph/NonLinearRedQueueDisc-delay.png new file mode 100644 index 00000000000..5a630fb5b05 Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/NonLinearRedQueueDisc-delay.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/NonLinearRedQueueDisc-goodput.png b/aqm-eval-output/AggressiveTransportSender/graph/NonLinearRedQueueDisc-goodput.png new file mode 100644 index 00000000000..5057164d2b7 Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/NonLinearRedQueueDisc-goodput.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/PfifoFastQueueDisc-delay.png b/aqm-eval-output/AggressiveTransportSender/graph/PfifoFastQueueDisc-delay.png new file mode 100644 index 00000000000..3b6a396e9a5 Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/PfifoFastQueueDisc-delay.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/PfifoFastQueueDisc-goodput.png b/aqm-eval-output/AggressiveTransportSender/graph/PfifoFastQueueDisc-goodput.png new file mode 100644 index 00000000000..a5acfa62fd4 Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/PfifoFastQueueDisc-goodput.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/PieQueueDisc-delay.png b/aqm-eval-output/AggressiveTransportSender/graph/PieQueueDisc-delay.png new file mode 100644 index 00000000000..effeff7f1b7 Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/PieQueueDisc-delay.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/PieQueueDisc-goodput.png b/aqm-eval-output/AggressiveTransportSender/graph/PieQueueDisc-goodput.png new file mode 100644 index 00000000000..729c23574db Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/PieQueueDisc-goodput.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/RedQueueDisc-delay.png b/aqm-eval-output/AggressiveTransportSender/graph/RedQueueDisc-delay.png new file mode 100644 index 00000000000..a4cef3bbcea Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/RedQueueDisc-delay.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/RedQueueDisc-goodput.png b/aqm-eval-output/AggressiveTransportSender/graph/RedQueueDisc-goodput.png new file mode 100644 index 00000000000..b67f6c1ae6e Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/RedQueueDisc-goodput.png differ diff --git a/aqm-eval-output/AggressiveTransportSender/graph/qdel-goodput.png b/aqm-eval-output/AggressiveTransportSender/graph/qdel-goodput.png new file mode 100644 index 00000000000..086d5e51eb5 Binary files /dev/null and b/aqm-eval-output/AggressiveTransportSender/graph/qdel-goodput.png differ diff --git a/src/aqm-eval-suite/examples/aqm-eval-suite-runner.cc b/src/aqm-eval-suite/examples/aqm-eval-suite-runner.cc index 3cd2daada48..81444320e35 100644 --- a/src/aqm-eval-suite/examples/aqm-eval-suite-runner.cc +++ b/src/aqm-eval-suite/examples/aqm-eval-suite-runner.cc @@ -38,10 +38,11 @@ std::vector AQM = { "Red", "AdaptiveRed", "FengAdaptiveRed", -"NonLinearRed" +"NonLinearRed", +"Cobalt" }; std::string queueDisc = "QueueDisc"; -uint32_t nAQM = 7; +uint32_t nAQM = 8; std::string AggressiveTcp = ""; std::string QueueDiscMode = "QUEUE_DISC_MODE_PACKETS"; std::string isBql = "false"; diff --git a/src/aqm-eval-suite/helper/aqm-eval-suite-helper.cc b/src/aqm-eval-suite/helper/aqm-eval-suite-helper.cc index 618fc4a6ae4..5aa3126a760 100644 --- a/src/aqm-eval-suite/helper/aqm-eval-suite-helper.cc +++ b/src/aqm-eval-suite/helper/aqm-eval-suite-helper.cc @@ -26,16 +26,11 @@ namespace ns3 { ScenarioImpl::ScenarioImpl () { - m_AQM = { - "ns3::PfifoFastQueueDisc", - "ns3::RedQueueDisc", - "ns3::AdaptiveRedQueueDisc", - "ns3::FengAdaptiveRedQueueDisc", - "ns3::NonLinearRedQueueDisc", - "ns3::CoDelQueueDisc", - "ns3::PieQueueDisc" - }; - m_nAQM = 7; + m_AQM = {"ns3::PfifoFastQueueDisc", "ns3::RedQueueDisc", + "ns3::AdaptiveRedQueueDisc", "ns3::FengAdaptiveRedQueueDisc", + "ns3::NonLinearRedQueueDisc", "ns3::CoDelQueueDisc", + "ns3::PieQueueDisc", "ns3::CobaltQueueDisc"}; + m_nAQM = 8; } ScenarioImpl::~ScenarioImpl () @@ -56,9 +51,11 @@ ScenarioImpl::DestroyTrace (EvaluationTopology et) } void -ScenarioImpl::ConfigureQueueDisc (uint32_t limit, uint32_t pktsize, std::string linkbw, std::string linkdel, std::string mode) +ScenarioImpl::ConfigureQueueDisc (uint32_t limit, uint32_t pktsize, std::string linkbw, + std::string linkdel, std::string mode) { - Config::SetDefault ("ns3::PfifoFastQueueDisc::MaxSize", StringValue (std::to_string (limit) + "p")); + Config::SetDefault ("ns3::PfifoFastQueueDisc::MaxSize", + StringValue (std::to_string (limit) + "p")); Config::SetDefault ("ns3::RedQueueDisc::MeanPktSize", UintegerValue (pktsize)); Config::SetDefault ("ns3::RedQueueDisc::LinkBandwidth", StringValue (linkbw)); @@ -79,11 +76,13 @@ ScenarioImpl::ConfigureQueueDisc (uint32_t limit, uint32_t pktsize, std::string } else { - Config::SetDefault ("ns3::RedQueueDisc::MaxSize",StringValue (std::to_string (limit * pktsize) + "B")); + Config::SetDefault ("ns3::RedQueueDisc::MaxSize", + StringValue (std::to_string (limit * pktsize) + "B")); Config::SetDefault ("ns3::RedQueueDisc::MinTh", DoubleValue (5 * pktsize)); Config::SetDefault ("ns3::RedQueueDisc::MaxTh", DoubleValue (15 * pktsize)); - Config::SetDefault ("ns3::PieQueueDisc::MaxSize", StringValue (std::to_string (limit * pktsize) + "B")); + Config::SetDefault ("ns3::PieQueueDisc::MaxSize", + StringValue (std::to_string (limit * pktsize) + "B")); } } diff --git a/src/aqm-eval-suite/utils/ellipsemaker b/src/aqm-eval-suite/utils/ellipsemaker index cdb364fa9fe..dc532d97de0 100644 --- a/src/aqm-eval-suite/utils/ellipsemaker +++ b/src/aqm-eval-suite/utils/ellipsemaker @@ -1,6 +1,6 @@ #!/usr/bin/python -import sys; +import sys import numpy as np samples = [] @@ -9,37 +9,43 @@ scenario_name = sys.argv[1] queuedisc_name = sys.argv[2] queuedisc_index = sys.argv[3] -input_file = open("aqm-eval-output/"+scenario_name+"/data/"+queuedisc_name+"-result.dat", "r") +input_file = open("aqm-eval-output/"+scenario_name + + "/data/"+queuedisc_name+"-result.dat", "r") lines = input_file.readlines() -output_file_name = "aqm-eval-output/"+scenario_name+"/data/"+queuedisc_name+"-ellipse.dat" -output_file = open(output_file_name, "w") +output_file_name = "aqm-eval-output/"+scenario_name + \ + "/data/"+queuedisc_name+"-ellipse.dat" +output_file = open(output_file_name, "w") -qdisc_label = {'PfifoFast': 'DropTail', 'CoDel': 'CoDel', 'Pie': 'PIE', 'Red': 'RED', 'AdaptiveRed': 'ARED', 'FengAdaptiveRed': 'FRED', 'NonLinearRed':'NLRED'} +qdisc_label = {'PfifoFast': 'DropTail', 'CoDel': 'CoDel', 'Pie': 'PIE', 'Red': 'RED', + 'AdaptiveRed': 'ARED', 'FengAdaptiveRed': 'FRED', 'NonLinearRed': 'NLRED', 'Cobalt': 'Cobalt'} for line in lines: - fields = line.split( ' ' ) - delay, throughput = (float(fields[ 0 ]))/1000.0, (float(fields[ 1 ]))/(1024.0*128.0) - samples.append( [ delay, throughput ] ) + fields = line.split(' ') + delay, throughput = (float(fields[0])) / \ + 1000.0, (float(fields[1]))/(1024.0*128.0) + samples.append([delay, throughput]) -samples = np.matrix( samples ) +samples = np.matrix(samples) # taken from https://github.com/joferkington/oost_paper_code/blob/master/error_ellipse.py + def get_ellipse(points, nstd=1): def eigsorted(cov): vals, vecs = np.linalg.eigh(cov) order = vals.argsort()[::-1] - return vals[order], vecs[:,order] + return vals[order], vecs[:, order] cov = np.cov(points, rowvar=False) vals, vecs = eigsorted(cov) - theta = np.degrees(np.arctan2(*vecs[:,0][::-1])) + theta = np.degrees(np.arctan2(*vecs[:, 0][::-1])) # Width and height are "full" widths, not radius # width, height = 2 * nstd * np.sqrt(vals) - width = nstd[0,0] * np.sqrt(vals[0]) - height = nstd[0,1] * np.sqrt(vals[1]) - return [ width, height, theta ] + width = nstd[0, 0] * np.sqrt(vals[0]) + height = nstd[0, 1] * np.sqrt(vals[1]) + return [width, height, theta] + def get_ellipse_coords(a=0.0, b=0.0, x=0.0, y=0.0, angle=0.0, k=2): """ Draws an ellipse using (360*k + 1) discrete points; based on pseudo code @@ -66,21 +72,24 @@ def get_ellipse_coords(a=0.0, b=0.0, x=0.0, y=0.0, angle=0.0, k=2): return pts -means = np.mean( samples, axis=0 ) -center_x = means[ 0, 0 ] -center_y = means[ 0, 1 ] -width, height, theta = get_ellipse( samples, np.std( samples, axis=0 )) -#print center_x, center_y -#print width, height, theta +means = np.mean(samples, axis=0) +center_x = means[0, 0] +center_y = means[0, 1] +width, height, theta = get_ellipse(samples, np.std(samples, axis=0)) + +# print center_x, center_y +# print width, height, theta -for i in get_ellipse_coords(width, height, center_x, center_y, -theta, 10 ): - output_file.write(str(i[ 0 ]*1000.0)+' '+str(i[ 1 ])+'\n') +for i in get_ellipse_coords(width, height, center_x, center_y, -theta, 10): + output_file.write(str(i[0]*1000.0)+' '+str(i[1])+'\n') output_file.close() input_file.close() -gnu_file = open("aqm-eval-output/"+scenario_name+"/data/plot-shell", "a") -gnu_file.write ("set label \"\" at "+str(center_x*1000.0)+","+str(center_y)+" point lt "+queuedisc_index+" pt "+queuedisc_index+" center font \"Verdana\" tc lt "+queuedisc_index+" offset 1.5,0.4\n") -gnu_file.write ("set label \""+qdisc_label[queuedisc_name[:-9]]+"\" at graph "+str(1.03)+","+str(0.96 - (0.06 * (float(queuedisc_index) - 1)))+" point lt "+queuedisc_index+" pt "+queuedisc_index+" font \"Verdana,12\" tc lt "+queuedisc_index+" offset 0.7, -0.2\n") +gnu_file = open("aqm-eval-output/"+scenario_name+"/data/plot-shell", "a") +gnu_file.write("set label \"\" at "+str(center_x*1000.0)+","+str(center_y)+" point lt "+queuedisc_index + + " pt "+queuedisc_index+" center font \"Verdana\" tc lt "+queuedisc_index+" offset 1.5,0.4\n") +gnu_file.write("set label \""+qdisc_label[queuedisc_name[:-9]]+"\" at graph "+str(1.03)+","+str(0.96 - (0.06 * (float(queuedisc_index) - 1)) + )+" point lt "+queuedisc_index+" pt "+queuedisc_index+" font \"Verdana,12\" tc lt "+queuedisc_index+" offset 0.7, -0.2\n") gnu_file.close() diff --git a/src/traffic-control/wscript b/src/traffic-control/wscript index 63f065e4fce..0237b4118dd 100644 --- a/src/traffic-control/wscript +++ b/src/traffic-control/wscript @@ -29,6 +29,7 @@ def build(bld): module_test = bld.create_ns3_module_test_library('traffic-control') module_test.source = [ 'test/red-queue-disc-test-suite.cc', + 'test/cobalt-queue-disc-test-suite.cc', 'test/codel-queue-disc-test-suite.cc', 'test/adaptive-red-queue-disc-test-suite.cc', 'test/pie-queue-disc-test-suite.cc', @@ -36,8 +37,7 @@ def build(bld): 'test/prio-queue-disc-test-suite.cc', 'test/queue-disc-traces-test-suite.cc', 'test/tbf-queue-disc-test-suite.cc', - 'test/tc-flow-control-test-suite.cc', - 'test/cobalt-queue-disc-test-suite.cc' + 'test/tc-flow-control-test-suite.cc' ] headers = bld(features='ns3header') @@ -49,13 +49,13 @@ def build(bld): 'model/pfifo-fast-queue-disc.h', 'model/fifo-queue-disc.h', 'model/red-queue-disc.h', + 'model/cobalt-queue-disc.h', 'model/codel-queue-disc.h', 'model/fq-codel-queue-disc.h', 'model/pie-queue-disc.h', 'model/prio-queue-disc.h', 'model/mq-queue-disc.h', 'model/tbf-queue-disc.h', - 'model/cobalt-queue-disc.h', 'helper/traffic-control-helper.h', 'helper/queue-disc-container.h' ]