This looks great, Poly. Can you please put this test plan and results into a wiki page, preferably linked somewhere off the main 'Testing' page. <br><br>Thanks!<br>Kim<br><br><div class="gmail_quote">On Fri, May 9, 2008 at 3:29 AM, Polychronis Ypodimatopoulos <<a href="mailto:ypod@mit.edu">ypod@mit.edu</a>> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Dear devel,<br>
<br>
Here are the latest results from Cerebro's (<a href="http://cerebro.mit.edu" target="_blank">http://cerebro.mit.edu</a>)<br>
scaling properties. A 65-node testbed was used (703, Q2D14). The<br>
NetworkManager had to be disabled in order to stabilize the behavior of<br>
each XO's wireless interface. Unfortunately, the difficulty and time<br>
necessary to manage increasingly more nodes is linear (given that the<br>
NetoworkManager is disabled ;-), but increases steeply.<br>
<br>
<br>
** Test plan:<br>
Cerebro was started on all 65 laptops almost at the same time. We<br>
attempted to emulate the "65 children turn on their laptops in class at<br>
the same time" scenario. With Yani's help, it took about 5 seconds for<br>
both of us to press 'enter' on all laptops. Each XO would discover each<br>
other, exchange profile information and keep exchanging<br>
presence/discovery information.<br>
<br>
<br>
** Measurements:<br>
Quantitative:<br>
According to the protocol, presence (mac address) arrives about other<br>
XOs first, then the profile for the newly arrived mac address is queried<br>
and finally the profile is cached. We assume that initially each XO has<br>
no cached information about other XOs. As a result, every XO will query<br>
everyone else.<br>
We measured the time it took for each XO to discover and exchange<br>
profile information with everyone else, bandwidth usage at all times<br>
(during profile exchange and after the network stabilized when all<br>
profiles were received everywhere)<br>
<br>
Qualitative:<br>
Collaboration was tested on all 65 nodes: one shared a chat session,<br>
everyone else joined. The chat session was based on Cerebro's<br>
collaboration model.<br>
<br>
<br>
** Results:<br>
Discovery and profile information:<br>
The following graph shows arrival of profile information at each XO from<br>
other XOs a function of time. Each bar is a 3-second bucket representing<br>
the average number of profile arrivals during this 3-second period. The<br>
standard deviation is shown with the blue lines.<br>
<a href="http://wiki.laptop.org/images/a/af/65-arr-1.png" target="_blank">http://wiki.laptop.org/images/a/af/65-arr-1.png</a><br>
<br>
The following graph is the cumulative distribution function. It shows<br>
that, on average, each XO has received about 95% of the profiles of the<br>
rest of the nodes within just 20 seconds. This performance boost is due<br>
to the fact that each XO queried for its profile, responds by<br>
broadcasting the profile, instead of unicasting it to the requester. As<br>
a result, the other nodes receive the profile too and the next node is<br>
queried, yielding a linear cost, instead of a quadratic one.<br>
<a href="http://wiki.laptop.org/images/7/72/65-cdf-1.png" target="_blank">http://wiki.laptop.org/images/7/72/65-cdf-1.png</a><br>
<br>
Bandwidth usage:<br>
The following wireshark snapshot shows bandwidth usage that peaks<br>
momentarily at about 60kbytes/sec. The snapshot is also in accordance<br>
with the first graph above, showing that after about 55 seconds the<br>
network stabilizes. After the network stabilizes, bandwidth usage drops<br>
to 1 packet every 3 seconds (less than 500bytes/sec), as the arrival<br>
rate adapts to the density of the network.<br>
<a href="http://wiki.laptop.org/images/5/51/Bandwidth-presence-info-1.png" target="_blank">http://wiki.laptop.org/images/5/51/Bandwidth-presence-info-1.png</a><br>
<br>
Chat session:<br>
Before the experiment was started, a node shared a chat session and all<br>
64 nodes joined consistently. I sent a few chat messages from a couple<br>
of XOs and were received on all other XOs.<br>
<br>
<br>
** Other notes<br>
After about 6.4 hours of continuous operation on all 65 nodes, Cerebro<br>
shows stable memory usage (<10MB) and consistent CPU usage (83 minutes<br>
of CPU usage in 'top').<br>
<br>
Comments/suggestions?<br>
<br>
Pol<br>
<br>
--<br>
Polychronis Ypodimatopoulos<br>
Graduate student<br>
Viral Communications<br>
MIT Media Lab<br>
Tel: +1 (617) 459-6058<br>
<a href="http://www.mit.edu/%7Eypod/" target="_blank">http://www.mit.edu/~ypod/</a><br>
<br>
_______________________________________________<br>
Devel mailing list<br>
<a href="mailto:Devel@lists.laptop.org">Devel@lists.laptop.org</a><br>
<a href="http://lists.laptop.org/listinfo/devel" target="_blank">http://lists.laptop.org/listinfo/devel</a><br>
</blockquote></div><br>