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

Reply via email to