| 1 | [[Include(wiki:802.11/beta-note)]] |
| 2 | |
| 3 | [[TracNav(802.11/TOC)]] |
| 4 | |
| 5 | {{{#!html |
| 6 | <script type="text/javascript" src="/js/flotr2.min.js"></script> |
| 7 | <script type="text/javascript" src="/js/mango_plots_util.js"></script> |
| 8 | |
| 9 | <script type="text/javascript"> |
| 10 | function track_fmt_len_v_xput(obj) {return 'PHY Rate: ' + obj.series.label + '<br>Payload: ' + Number(obj.x).toFixed(0) +' B<br>Throughput: ' + obj.y + ' Mbps';} |
| 11 | function track_fmt_rate_v_xput(obj) {return 'Flow: ' + obj.series.label + '<br>Throughput: ' + obj.y + ' Mbps';} |
| 12 | </script> |
| 13 | |
| 14 | |
| 15 | }}} |
| 16 | |
| 17 | = Throughput Benchmarks = |
| 18 | |
| 19 | == Throughput vs. Payload Length == |
| 20 | This test measures the achieved throughput of each PHY rate between two WARP v3 nodes running the 802.11 Reference Design. One node acts as AP, the other as a STA. Traffic is generated locally via the LTG framework; measurements are extracted from the nodes via WARPnet. The nodes' RF interfaces are connected via a coax cable and 50dB attenuation. |
| 21 | |
| 22 | The plot below clearly illustrates increasing throughput with higher PHY rates and the decreasing impact of MAC overhead with increasing payload lengths. |
| 23 | |
| 24 | {{{#!html |
| 25 | <div id="div_xput_rate_v_len" style="width:750px; height:420px"></div> |
| 26 | <a href="#" onClick="graph_xput_v_len.download.saveImage('png');">Download PNG</a> |
| 27 | |
| 28 | <script type="text/javascript"> |
| 29 | (function () { |
| 30 | var container = document.getElementById('div_xput_rate_v_len'); |
| 31 | |
| 32 | //Put data here: |
| 33 | var xput_6 = {label:"6 Mbps", data:[[32, 1.051], [83, 2.099], [133, 2.765], [184, 3.251], [234, 3.583], [285, 3.858], [336, 4.066], [386, 4.247], [437, 4.397], [488, 4.512], [538, 4.610], [589, 4.705], [639, 4.779], [690, 4.819], [741, 4.892], [791, 4.962], [842, 5.009], [893, 5.058], [943, 5.097], [994, 5.143], [1044, 5.173], [1095, 5.198], [1146, 5.218], [1196, 5.249], [1247, 5.279], [1298, 5.300], [1348, 5.321], [1399, 5.341], [1449, 5.360], [1500, 5.362]]}; |
| 34 | var xput_9 = {label:"9 Mbps", data:[[32, 1.110], [83, 2.418], [133, 3.296], [184, 4.009], [234, 4.528], [285, 4.971], [336, 5.314], [386, 5.602], [437, 5.870], [488, 6.104], [538, 6.246], [589, 6.427], [639, 6.577], [690, 6.701], [741, 6.803], [791, 6.904], [842, 6.996], [893, 7.101], [943, 7.144], [994, 7.244], [1044, 7.301], [1095, 7.360], [1146, 7.402], [1196, 7.446], [1247, 7.512], [1298, 7.555], [1348, 7.594], [1399, 7.653], [1449, 7.697], [1500, 7.711]]}; |
| 35 | var xput_12 = {label:"12 Mbps", data:[[32, 1.222], [83, 2.742], [133, 3.820], [184, 4.737], [234, 5.387], [285, 6.001], [336, 6.446], [386, 6.870], [437, 7.240], [488, 7.533], [538, 7.817], [589, 8.029], [639, 8.246], [690, 8.415], [741, 8.602], [791, 8.767], [842, 8.877], [893, 9.056], [943, 9.125], [994, 9.264], [1044, 9.319], [1095, 9.445], [1146, 9.509], [1196, 9.581], [1247, 9.689], [1298, 9.695], [1348, 9.828], [1399, 9.862], [1449, 9.934], [1500, 9.950]]}; |
| 36 | var xput_18 = {label:"18 Mbps", data:[[32, 1.271], [83, 2.992], [133, 4.323], [184, 5.434], [234, 6.439], [285, 7.213], [336, 7.897], [386, 8.583], [437, 9.094], [488, 9.640], [538, 10.042], [589, 10.389], [639, 10.784], [690, 11.097], [741, 11.325], [791, 11.621], [842, 11.617], [893, 12.158], [943, 12.324], [994, 12.497], [1044, 12.735], [1095, 12.872], [1146, 13.024], [1196, 13.181], [1247, 13.300], [1298, 13.480], [1348, 13.599], [1399, 13.668], [1449, 13.827], [1500, 13.908]]}; |
| 37 | var xput_24 = {label:"24 Mbps", data:[[32, 1.322], [83, 3.168], [133, 4.711], [184, 6.079], [234, 7.105], [285, 8.191], [336, 9.100], [386, 9.939], [437, 10.683], [488, 11.213], [538, 11.827], [589, 12.369], [639, 12.919], [690, 13.264], [741, 13.651], [791, 14.068], [842, 14.456], [893, 14.811], [943, 15.011], [994, 15.319], [1044, 15.635], [1095, 15.919], [1146, 16.035], [1196, 16.293], [1247, 16.549], [1298, 16.781], [1348, 16.963], [1399, 17.072], [1449, 17.237], [1500, 17.453]]}; |
| 38 | var xput_36 = {label:"36 Mbps", data:[[32, 1.353], [83, 3.348], [133, 5.074], [184, 6.648], [234, 8.009], [285, 9.265], [336, 10.397], [386, 11.558], [437, 12.516], [488, 13.438], [538, 14.200], [589, 14.897], [639, 15.816], [690, 16.419], [741, 16.998], [791, 17.546], [842, 18.035], [893, 18.808], [943, 19.261], [994, 19.597], [1044, 20.029], [1095, 20.414], [1146, 20.787], [1196, 21.317], [1247, 21.683], [1298, 21.965], [1348, 22.221], [1399, 22.517], [1449, 22.894], [1500, 23.171]]}; |
| 39 | var xput_48 = {label:"48 Mbps", data:[[32, 1.384], [83, 3.424], [133, 5.291], [184, 7.024], [234, 8.420], [285, 9.925], [336, 11.319], [386, 12.573], [437, 13.789], [488, 14.859], [538, 15.933], [589, 16.870], [639, 17.803], [690, 18.386], [741, 19.269], [791, 20.029], [842, 20.885], [893, 21.525], [943, 22.208], [994, 22.862], [1044, 23.498], [1095, 24.075], [1146, 24.410], [1196, 24.827], [1247, 25.362], [1298, 25.950], [1348, 26.384], [1399, 26.867], [1449, 27.254], [1500, 27.768]]}; |
| 40 | var xput_54 = {label:"54 Mbps", data:[[32, 1.379], [83, 3.430], [133, 5.288], [184, 7.016], [234, 8.760], [285, 10.285], [336, 11.680], [386, 13.007], [437, 14.211], [488, 15.393], [538, 16.402], [589, 17.456], [639, 18.573], [690, 19.496], [741, 20.358], [791, 21.091], [842, 21.986], [893, 22.680], [943, 23.322], [994, 24.045], [1044, 24.859], [1095, 25.456], [1146, 26.098], [1196, 26.586], [1247, 27.086], [1298, 27.557], [1348, 28.053], [1399, 28.546], [1449, 29.267], [1500, 29.638]]}; |
| 41 | |
| 42 | var xlabel = "Payload Size (Bytes)"; |
| 43 | var ylabel = "Achieved Throughput (Mbps)"; |
| 44 | var title = "802.11 Reference Design - Throughput vs Payload Length"; |
| 45 | var subtitle = "Design v0.6 - 50dB attenuation"; |
| 46 | var x_range = [0, 1525]; |
| 47 | var y_range = [0, 30]; |
| 48 | |
| 49 | // Draw Graph |
| 50 | graph_xput_v_len = Flotr.draw(container, [ |
| 51 | xput_6, |
| 52 | xput_9, |
| 53 | xput_12, |
| 54 | xput_18, |
| 55 | xput_24, |
| 56 | xput_36, |
| 57 | xput_48, |
| 58 | xput_54, |
| 59 | ], |
| 60 | { |
| 61 | title: title, |
| 62 | subtitle: subtitle, |
| 63 | HtmlText: false, |
| 64 | resolution: 2, |
| 65 | points: {show: true}, |
| 66 | lines: {show: true}, |
| 67 | mouse : { |
| 68 | track : true, |
| 69 | relative : true, |
| 70 | margin : 10, |
| 71 | trackFormatter: track_fmt_len_v_xput |
| 72 | }, |
| 73 | yaxis : { |
| 74 | min: y_range[0], |
| 75 | max: y_range[1], |
| 76 | title: ylabel, |
| 77 | titleAngle: "90", |
| 78 | titleAlign: 'center', |
| 79 | tickDecimals: 0, |
| 80 | }, |
| 81 | xaxis : { |
| 82 | title: xlabel, |
| 83 | min: x_range[0], |
| 84 | max: x_range[1], |
| 85 | }, |
| 86 | legend: { |
| 87 | position: 'nw', |
| 88 | backgroundColor: '#fff' |
| 89 | } |
| 90 | }); |
| 91 | })(); |
| 92 | |
| 93 | </script> |
| 94 | }}} |