--- Begin Message ---
Hi Paul,

Quoting Omprakash Gnawali <[email protected]>:

---------- Forwarded message ----------
From: Paul Gildea <[email protected]>
Date: Fri, Aug 13, 2010 at 12:22 PM
Subject: [Tinyos-help] Dissemination Protocols Comparison
To: [email protected]


Hello, I am new to tinyos, I am following this tutorial on
dissemination protocols, DIP/DRIP/DHV
http://docs.tinyos.net/index.php/Dissemination
I have created the test application and wish to study the power use of
the three of the protocols using powertossim z and graph the power
used by each when values are tuned etc.
DIP/DHV have three tunable parameters.

The first is the Trickle values.

#define DIP_TAU_LOW (1024L)
#define DIP_TAU_HIGH (65535L)

The second is data size.

typedef nx_struct dip_data {
  nx_uint8_t data[16];
} dip_data_t;

 The third is advertisement size

#define DIP_SUMMARY_VALUES_PER_PACKET 2
#define DIP_VECTOR_VALUES_PER_PACKET 2

You can compute the proper size with the following formulas:

DIP_SUMMARY_VALUES_PER_PACKET = (DTOSH_DATA_LENGTH - 5) / 3
DIP_VECTOR_VALUES_PER_PACKET = (DTOSH_DATA_LENGTH - 1) / 2


You might want to consider the suppression constant INFO_THRESHOLD defined in Dhv.h. It defines when a node suppresses its own transmission.

Does DRIP have similar, so I can compare it? You seem to be able to
change the data size but I have not found where yet.

I believe the current implementation of DRIP lets nodes transmit one (key,value) at a time randomly.

I am unsure if this test application is suitable as I have tried with
both DIP and DHV to measure the power used when changing the data size
for each. Perhaps I am going about it wrong. For each I changed
nx_uint8_t data[x] from 0-17 and they all yielded very similar energy
use, which I will attach. I thought only 1-16 were valid byte sizes so
am  confused as to why 0 and 17 still yield similar values? even
something like 1000 does, but for 1000000 a fault occurs,
'segmentation fault'. I am wondering why all these results are so
similar? Perhaps more intensive use of leds etc in the program would
show diverse ranges? Should editing these byte sizes in Dip.h work
like that?

Leds use a lot of energy compared to a single packet transmission. Did you try to compare Dhv/Dip without leds (You can turn off leds in TestDipP.nc/TestDhvP.nc). Even so, I think the packet length plays a little role in energy consumption (time to transmit one byte once the radio is already on is only a few micro seconds). The actual saving is the number of transmisions (how many packets are being sent/how many times the radio is turned on and off) and the node duty cycles.

The protocols may not check the value for data size (eg. 1000), I will look into that and get back to you asap.

For the other two tunign parameters I am unsure as to what values
would be useful for my tests. the trickle counter is supposed to be in
millisecond gradients so is the lower tau 1024 milliseconds and the
higher tau 65535 milliseconds? The third tuning parameter is
advertisement size, I am unsure of how to change this based on the
formulae above, where is dtosh data length etc coming froma nd would
changing these values be useful for what I hope to achieve, comparing
the power usage in these three protocols? Thanks

dtosh data length is set in the TestDhvP.nc/TestDipP.nc when you declare the DisseminationValue/DisseminationUpdate interfaces.


--
Paul


Hope that helps,

Thanh


--- End Message ---
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to