[net2-wg] problem with the timer that controls routing beacon
rate in CtpRoutingEngineP.nc
Philip Levis
pal at cs.stanford.edu
Tue Mar 18 20:44:42 PDT 2008
On Mar 18, 2008, at 7:50 PM, Omprakash Gnawali wrote:
> On Tue, Mar 18, 2008 at 4:25 PM, Philip Levis <pal at cs.stanford.edu>
> wrote:
>>
>> On Tue, 2008-03-18 at 14:29 -0800, Omprakash Gnawali wrote:
>>>>> 2. Triggered route updates using the same timer as Trickle
>>>>> timer. We
>>>>> thought we would be able to fix this by calling resetInterval()
>>>>> instead of starting the timer when we need to generate on-demand
>>>>> beacons. This will ensure that there is only one way to change the
>>>>> Timer. Unfortunately, this will not work - we want to control
>>>>> how long
>>>>> to wait until we send a beacon in case of on-demand beacons
>>>>> depending
>>>>> on the situation (trigger update vs trigger immediate update), not
>>>>> possible using a single resetInterval() call.
>>>>
>>>> Why are there two different cases? What is the difference?
>>>> IIRC, we were
>>>> originally trying to distinguish beacons that should send soon and
>>>> beacons that should send NOW. But in the case of trickle, we
>>>> can just
>>>> reduce this to beacons that should send NOW and take advantage
>>>> of the
>>>> exponential decay. So we send a few extra packets. Let's
>>>> simplify it.
>>>
>>> Are you saying that reset should always trigger an immediate beacon?
>>> Right now we set the timer to fire at min interval upon reset.
>>
>> You should never send an *immediate beacon.* IIRC, even the
>> "immediate"
>> beacon is a 32ms timer. So the trickle interval tau_l should be very
>> small...
>
>
> If tau_l is 32ms, then we will have the next beacon at 64ms, 128ms,
> 256ms, 512ms, 1s - it seems like a lot of unnecessary beacons. To
> prevent this, my approach would be to reset interval to taul_l = 1s
> and specify the first fire time to be 32ms, and when the timer fires
> at 32ms, we look at the value of interval and decide to fire at 1s,
> and we double it, then fire at 2s, etc.
>
Don't forget, the beacon is due to there being a routing
inconsistency. One of the points in trickle is that the scaling
inherently leads to a little bit of redundancy. I'm leery of changing
the algorithm based on a perceived cost, rather than a measured one.
Let's see what happens to the beacon counts?
Phil
More information about the net2-wg
mailing list