Even if requests' inter-time interval is exponentially distributed, it can be relatively small. I used ~35mSec delay between the packets. Otherwise SF queued all the packets and sent them very slow. Perhaps you should try to send message once in a second, just to see if my speculation is right.
Arik On Thu, Dec 17, 2009 at 14:14, Giuseppe Cardone < [email protected]> wrote: > Hi, > > I'm generating random requests whose inter-time interval is randomly > generated using a exponential distribution, which typically simulates > relatively well real traffic. Anyway I'm generating requests with the > same parameter with both implementations, so I don't think that's the > issue. I may have hit a performance issue in the Serial Forwarder, but > I think it's unlikely. > > -- > Giuseppe Cardone > > > > On Thu, Dec 17, 2009 at 12:45 PM, Arik Sapojnik <[email protected]> > wrote: > > Hi, > > > > I suppose you are sending your ping requests from client (PC) to server > > (mote). > > In this case, are you using an inter-packet-gap? This might be the issue. > > > > Arik > > > > > > > > On Thu, Dec 17, 2009 at 12:29, Giuseppe Cardone > > <[email protected]> wrote: > >> > >> Hi, > >> > >> for my benchmarks I'm generating random request of fixed size. The > >> time between two requests is exponentially distributed. As long as The > >> rate parameter of the exponential distribution is low enough my > >> implementation achieves lower RTTs than blip, but when the rate > >> parameter gets higher, blip becomes far better than my implementation. > >> Here's a chunk of results obtained using lambda=1.0 (mean = 1.0). The > >> first column is the the request size in bytes (not including the IEEE > >> 802.15.4 header and the Active Message field), the second one is the > >> RTT in ms of my implementation, the third one is the RTT in ms using > >> blip. > >> > >> 08 68 71 > >> 16 57 75 > >> 24 81 87 > >> 32 110 93 > >> 40 147 95 > >> 48 175 96 > >> 56 296 102 > >> 64 305 103 > >> 72 375 115 > >> 80 405 165 > >> 88 494 164 > >> 96 565 177 > >> > >> It's hard to say if my implementation has a linear performance with a > >> high slope or if it is quadratic. There are some anomalies (for > >> example the sharp rise between RTT for requests of 72 and 80 bytes > >> using blip, which seems to be a platform issue), but the trend is > >> clear: blip sharply outperforms my implementation as the traffic gets > >> heavier. I was able to use blip with high lambdas (=5.0) and still > >> having decent RTTs: > >> > >> 8 105 > >> 16 98 > >> 24 123 > >> 32 144 > >> 40 190 > >> 48 217 > >> 56 184 > >> 64 203 > >> 72 297 > >> 80 498 > >> 88 738 > >> 96 961 > >> > >> As I said my echo implementation simply uses a Pool component to > >> manage the echo requests (I also tried to use a ring buffer written by > >> me but the results didn't change much), that's why I suppose that blip > >> is particularly clever with buffer management, but still I can't > >> understand where the trick is. > >> > >> -- > >> Giuseppe Cardone > >> > >> > >> > >> On Thu, Dec 17, 2009 at 7:48 AM, Arik Sapojnik <[email protected]> > wrote: > >> > Hi, > >> > > >> > I'm currently investigating the same issue - RTT, delay, throughput... > >> > Can you please post your results and the results of blip? > >> > > >> > Thanks, > >> > Arik > >> > > >> > > >> > On Wed, Dec 16, 2009 at 22:06, Giuseppe Cardone > >> > <[email protected]> wrote: > >> >> > >> >> Hi all, > >> >> > >> >> to get acquainted with TinyOS I'm writing a simple echo application: > >> >> it sends back any message it receives. I'm using two TelosB motes and > >> >> Tiny OS 2.1 compiled from CVS. The hardware setup is: > >> >> > >> >> echo client PC --- Proxy running Serial Forwarer connected to a > >> >> BaseStation --- Echo server on TelosB > >> >> > >> >> I'm using a Pool<message_t> to buffer messages on the echo server. > >> >> Everything works and I'm happy with it. As comparison I wrote a > simple > >> >> UDP Echo server using blip, and even if blip has to deal with 6lowpan > >> >> it still does a great job and actually under relatively high traffic > I > >> >> have a much better round trip time using blip than using my > >> >> application. I compiled my echo server using the switches: > >> >> > >> >> -DENABLE_SPI0_DMA -DCC2420_HW_ACKNOWLEDGEMENTS -DTOSH_DATA_LENGTH=102 > >> >> > >> >> I'm not posting my source code since is pretty trivial: it's just a > >> >> echo server that uses a ring buffer to deal with incoming messages. > >> >> It's the simplest technique I could think of, and I don't know how > >> >> blip can have better performance (and I didn't find any obvious trick > >> >> in the source code). How does blip achieve such high performance? > Does > >> >> it use any trick with buffers to have a performance boost? > >> >> > >> >> Any help, tip or hint will be greatly appreciated. Thanks. > >> >> > >> >> -- > >> >> Giuseppe Cardone > >> >> _______________________________________________ > >> >> Tinyos-help mailing list > >> >> [email protected] > >> >> > >> >> > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > >> > > >> > > >> > > >> > -- > >> > Best Regards, > >> > Arik Sapojnik > >> > [email protected] > >> > > > > > > > > > -- > > Best Regards, > > Arik Sapojnik > > [email protected] > > > -- Best Regards, Arik Sapojnik [email protected]
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
