[Roll] simplified Trickle (was Re: trickle question)
Omprakash Gnawali <gnawali@cs.stanford.edu> Sun, 29 November 2009 21:13 UTC
Return-Path: <gnawali@cs.stanford.edu>
X-Original-To: roll@core3.amsl.com
Delivered-To: roll@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2631A3A681F for <roll@core3.amsl.com>; Sun, 29 Nov 2009 13:13:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.977
X-Spam-Level:
X-Spam-Status: No, score=-5.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ze7S9XaG6NKH for <roll@core3.amsl.com>; Sun, 29 Nov 2009 13:13:06 -0800 (PST)
Received: from cs-smtp-2.Stanford.EDU (cs-smtp-2.Stanford.EDU [171.64.64.26]) by core3.amsl.com (Postfix) with ESMTP id B7ED228C0D7 for <roll@ietf.org>; Sun, 29 Nov 2009 13:13:06 -0800 (PST)
Received: from mail-qy0-f191.google.com ([209.85.221.191]) by cs-smtp-2.Stanford.EDU with esmtpsa (TLSv1:RC4-MD5:128) (Exim 4.60) (envelope-from <gnawali@cs.stanford.edu>) id 1NEr4l-00068D-KU for roll@ietf.org; Sun, 29 Nov 2009 13:13:00 -0800
Received: by qyk29 with SMTP id 29so1277175qyk.32 for <roll@ietf.org>; Sun, 29 Nov 2009 13:12:58 -0800 (PST)
MIME-Version: 1.0
Received: by 10.224.102.207 with SMTP id h15mr1715337qao.139.1259529178750; Sun, 29 Nov 2009 13:12:58 -0800 (PST)
Date: Sun, 29 Nov 2009 13:12:58 -0800
Message-ID: <d4dcddd20911291312o574c1f4j5d5bb25ae4b119df@mail.gmail.com>
From: Omprakash Gnawali <gnawali@cs.stanford.edu>
To: Philip Levis <pal@cs.stanford.edu>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Scan-Signature: 323acaff36744e8473855e70acc36bcb
Cc: roll <roll@ietf.org>
Subject: [Roll] simplified Trickle (was Re: trickle question)
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Routing Over Low power and Lossy networks <roll.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/roll>, <mailto:roll-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/roll>
List-Post: <mailto:roll@ietf.org>
List-Help: <mailto:roll-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/roll>, <mailto:roll-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 29 Nov 2009 21:13:17 -0000
On Sat, Nov 14, 2009 at 11:12 AM, Philip Levis <pal@cs.stanford.edu> wrote: > > On Nov 14, 2009, at 7:16 AM, Joakim Eriksson wrote: > >> Hello Phil and Julien, >> >> Is it really necessary to wait until the complete I interval has >> passed before doubling I and restarting T (with the new interval)? >> >> It feels that we get basically the same behavior with less complex >> code if we skip the wait for the complete interval to pass. > > Hm -- I can't recall if I tried this variant. I'm searching around for the > analytical simulator source code, if I find it, I'll let you know. > > One thing is that trickle is more efficient when intervals are synchronized > (it sends half as many messages). Let's say you reset the interval after T. > First, the average interval length is 0.75I, leading to 33% more messages. > Second, it will inherently desynchronize intervals, leading to twice as many > messages compared to the best case. This is a total overhead of sending > approximately 2.5 times as many messages if you don't. Of course, the 33% > also results in a lower detection latency. > > Given how the interval length changes, if you want to implement it this way, > *all* nodes need to do so, or you break load balancing. > > But this is just off the top of my head. The behavior of protocols like > these can often be not something you'd expect (e.g., "basically the same > behavior"). I would definitely run some tests to see how it behaves under > very high density. It could be that nodes which pick small T values end up > shouldering more of the load due to a variant of the short listen problem. > My intuition is that this is a shortcut which probably isn't worth it as it > might bite you later, but that intuition could be wrong. > > Usually, it's just easier to keep track of the rand() result, rather than > keep two timers. I ran the version than Joakim suggested (Truncated interval) and the one of the draft (Full interval). Here are the results: http://stuff.stanford.edu/~om_p/ctp/trickle-interval/beacontime.html (Graph with lots of lines show number of beacons for each node). Experiment setup: - 55 nodes with cc2420 radios (Tutornet) - max interval 512s - 0 dBm transmit power - CTP Noe as is and with modifications for truncated interval Result: Larger number of beacons with Truncated intervals, otherwise performance measured in delivery ratio and cost (excluding control pkts) similar. We can use a larger interval with the truncated interval to match the number of beacons with the full interval. It makes sense to use the simplified specification. - om_p
- [Roll] simplified Trickle (was Re: trickle questi… Omprakash Gnawali
- Re: [Roll] simplified Trickle (was Re: trickle qu… Philip Levis
- Re: [Roll] simplified Trickle (was Re: trickle qu… Joakim Eriksson
- Re: [Roll] simplified Trickle (was Re: trickle qu… Joakim Eriksson
- Re: [Roll] simplified Trickle (was Re: trickle qu… Philip Levis
- Re: [Roll] simplified Trickle (was Re: trickle qu… Joakim Eriksson
- Re: [Roll] simplified Trickle (was Re: trickle qu… Omprakash Gnawali
- Re: [Roll] simplified Trickle (was Re: trickle qu… Philip Levis