[Commotion-dev] Lab setup and initial test results

Will Hawkins hawkinsw at opentechinstitute.org
Tue Jan 15 19:44:26 UTC 2013


Hello everyone!

As Andrew mentioned in previous emails, we have partnered with a local
organization to help us create a physical laboratory testbed for doing
performance and Q/A testing on Commotion.

The testbed consists of several RF-isolating enclosures connected
together with a special RF switch. Each enclosure contains a single
Ubiquity Picostation running Commotion. Wireless connections (and their
quality) among the Commotion nodes are determined by the RF switch. We
have deployed 8 nodes in this environment.

The enclosures are made by Ramsey and the RF Switch is made by JFW
Industries
(http://www.jfwindustries.com/catalog/Programmable_Attenuator_Assemblies_19_Rack-48-1.html).


The RF switch is programmed with a series of XML documents. These XML
documents can represent either
a) Literal attenuation values for the RF signal between nodes, or
b) "Geographic" location of nodes in 2D space where attenuation values
are determined using a freespace loss model.

The following is an example of an XML document that configures the
switch with literal attentuation values (a):

<MESHTEST>
  <PATHLOSS>
    <INPUTS>1 2 3 4 5 6 7 8</INPUTS>
    <MATRIX>
200	25 	200 	200 	200 	200 	200 	200
25	200 	25 	200 	200 	200 	200 	200
200	25 	200 	200 	200 	200 	25 	200
200	200 	200 	200 	200 	200 	200 	200
200	200 	200 	200 	200 	200 	200 	200
200	200 	200 	200 	200 	200 	200 	200
200	200 	25 	200 	200 	200 	200 	25
200	200 	200 	200 	200 	200 	25 	200
    </MATRIX>
  </PATHLOSS>
</MESHTEST>

The following is an example of an XML document that configures the
switch using geographic node locations (b):
<MESHTEST>
  <PHYSICAL UNITS="meters" DIMENSION="2" MODEL="freespace">
    <NODE INPUT="1" X="400" Y="549"></NODE>
    <NODE INPUT="2" X="806" Y="64"></NODE>
    <NODE INPUT="3" X="919" Y="82" DISABLE="true"></NODE>
    <NODE INPUT="4" X="150" Y="844" DISABLE="true"></NODE>
    <NODE INPUT="5" X="910" Y="151" DISABLE="true"></NODE>
    <NODE INPUT="6" X="582" Y="807" DISABLE="true"></NODE>
    <NODE INPUT="7" X="286" Y="217" DISABLE="true"></NODE>
    <NODE INPUT="8" X="50" Y="285" DISABLE="true"></NODE>
    <NODE INPUT="9" X="26" Y="730" DISABLE="true"></NODE>
    <NODE INPUT="10" X="24" Y="710" DISABLE="true"></NODE>
    <NODE INPUT="11" X="797" Y="110" DISABLE="true"></NODE>
    <NODE INPUT="12" X="105" Y="653" DISABLE="true"></NODE>
  </PHYSICAL>
</MESHTEST>

We are going to post some additional information about the environment
itself (and pictures!) on the blog. I will send a link when that post is
available.

For our first test, we configured 5 Commotion nodes in a "line" and
taken performance measurements using iperf (tcp):
a < - > b < - > c < - > g < - > h
a <---------------------------> 5.16 Mbps
a <-------------------> 6.83 Mbps
a <-----------> 10.8 Mbps
a <---> 26.5 Mbps

Besides performance tests, we are hoping to use this environment for
regression testing new builds. We are also looking for input from the
Commotion dev community about how to integrate this lab environment with
real-world test scenarios. Specifically, we would love to get some input
from Ben about how this might augment the testing that he is doing.

Will


More information about the Commotion-dev mailing list