Vinai,

There were two motes used:  One was Rx-only and the other was Tx-only.
Nothing was competing for the radio.

The throughput was at the application layer, using GenericComm.  CRC's were
checked, and the motes were sitting about 3 feet apart.  The Tx mote would
start sending a message, and as soon as the sendDone event occurred it would
send another - basically go as fast as it could.  The number of messages
sent is tallied up, and at the end of each second you know how many packets
were sent over the past second.

That information - the packets/second from the last full second - is sent as
part of the payload in the transmitted messages.  Then it's possible with a
sniffer to find out how many packets the Tx mote is sending each second.

The Rx mote is can be a little more difficult.  In order to get an accurate
measurement, you don't want the Rx mote transmitting anything and just
accumulating the packets/sec.  But you still need to get the information out
of there somehow.  I did it by letting the Rx mote send out a single message
about every 10 seconds, which contained the average packets/second it was
seeing from each of the full seconds it was able to accumulate.

-david

-----Original Message-----
From: Vinai Sundaram [mailto:[EMAIL PROTECTED] 
Sent: Friday, April 21, 2006 9:47 PM
To: David Moss
Cc: tinyos-help@Millennium.Berkeley.EDU
Subject: Re: [Tinyos-help] Rationale for 29 bytes payload


Hi David,

Thank you for your response and the graphs attached. Can you explain the 
experimental setup used to obtain the results? Specifically, is this the 
throughput seen at the application layer ( packets that passed CRC 
Check)? How many motes were used in the experiment and were they 
competing for the radio?

Regards,
Vinai.

David Moss wrote:

>Hi Vinai, 
>
>I'm interested in this topic as well, and I have no answer as to why 29
>bytes was chosen, but I've found that the optimal payload size depends on
>what type of environment your network exists within.  With any radio, if
you
>increase the available data length you're effectively decreasing the packet
>header:data ratio.  By increasing the data length as much as possible,
>you're going to increase your data throughput to its maximum - in ideal
>cases.  This is because it takes less header information per data
>information to transmit, and because on some radios (CC1000) the radio
kicks
>back and forth between Tx->Rx->Tx between every packet which takes an extra
>512 uS per back-to-back packet.  So by decreasing the number of transmitted
>packets while still getting the same amount of data through, you're
>obviously going to increase throughput.
>
>However, if your network is in a noisy environment, then there's more
chance
>for the packet to get corrupted during transmission.  In this case, it will
>take longer to recover that packet because of its length - instead of
losing
>only a little bit of data, you're losing a lot of data.  And this is what I
>think your question is about - what's the nominal packet length that
>minimizes the effects of noise while maximizing throughput?  It's a design
>problem.
>
>I'm sure this can be simulated with some kind of packet success rate
>probability for various environments, but it may be difficult to port that
>over to the real world because the packet success rate in your network
>environment may change over time, even by the minute.  The best answer I
can
>give you is, increase your TOS_Msg payload length as much as you're
>comfortable with while leaving enough free RAM on the mote to execute the
>app, and run it in the environment you plan to deploy in.  If it's indoors
>with tight spacing, max out the payload.  If it's outdoors on the ground
>with wider spacing, might as well keep the payload size pretty modest.
>
>The ultimate solution would involve some kind of back-end architecture that
>provides the ability to recommend how much data the payload of the current
>packet should be loaded with to maximize throughput based on an RSSI or LQI
>or something, and also provide the ability to increase/decrease the
transmit
>power automatically to save battery on motes that are sitting near each
>other in a noiseless environment.
>
>I've attached several spreadsheets showing the packet throughput for mica-
>mote types with varying payload sizes.  Noise was not a factor in any of
>these tests.
>
>-david
>
>
>
>-----Original Message-----
>From: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED] On Behalf Of Vinai
>Sundaram
>Sent: Friday, April 21, 2006 1:39 AM
>To: tinyos-help@Millennium.Berkeley.EDU
>Subject: [Tinyos-help] Rationale for 29 bytes payload
>
>
>Hi ,
>
>I need to send more than 29 bytes for the application I am working on. 
>However, I do not want to increase the payload size so much that it will 
>reduce the throughput of the network. Is "29 bytes" found to give close 
>to optimal throughput? Are there any empirical/analytical studies that 
>suggest a payload size range that would give near-optimal throughput? I 
>didn't come across the reason for 29 bytes in any of the documents.
>
>Thank you for your help,
>Vinai.
>
>  
>


_______________________________________________
Tinyos-help mailing list
Tinyos-help@Millennium.Berkeley.EDU
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to