Re: [6tsch] On the fly scheduling

Kris Pister <> Fri, 04 October 2013 14:57 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6C9DB21F9E11 for <>; Fri, 4 Oct 2013 07:57:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.998
X-Spam-Status: No, score=-2.998 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_64=0.6, RCVD_IN_DNSWL_LOW=-1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id p7gl8zfoUNVL for <>; Fri, 4 Oct 2013 07:56:52 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 6964F21F9396 for <>; Fri, 4 Oct 2013 07:54:21 -0700 (PDT)
Received: by with SMTP id xa7so4107661pbc.31 for <>; Fri, 04 Oct 2013 07:54:21 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :subject:references:in-reply-to:content-type; bh=8xV6nQPUypTRnt+AnpHxeXROD3u7KL7qdGMEhphtM5E=; b=I3uJf4dp0rK1aOUr7o5yeYMmj2qGhlyHqSAkZvHFfl8jZyZq4cyBWLU9jbjEIc+NmT zRRi2SzBLEMoJEQGprFgbD2MdiQ+lJ15UQGvhmC/o/Tqlc8tUmyCqZ7KLzdXx6X26hrF STkByCTGP9huWXmo0RFxqEPAPTM7h9DIHdVs4EjqDBQz8IlFW/tuxSSAfIOPINwnu1Fu nMIbGabMl7O3S3YKw1fbkqeh2msB1viSs/eG8EwG+HhiF0cCiJKhuSgzDvRokkFQ1cEn irF8sn3L/v6+O7mEsiEtvdcL+vGcGfBa+6yB3JvxVi3Cem/mFQzWrhpaMjmv0P8wGopn ruTw==
X-Gm-Message-State: ALoCoQlKcAm6KH2gjRYrdDvBBUaY0c36jRRDr374lGizBbFmLjrwNi9pB6jpYD82HMOtcbatfbd0
X-Received: by with SMTP id xz5mr15948475pac.128.1380898460006; Fri, 04 Oct 2013 07:54:20 -0700 (PDT)
Received: from [] (dhcp-32-89.EECS.Berkeley.EDU. []) by with ESMTPSA id iu7sm15208101pbc.45.1969. (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 04 Oct 2013 07:54:19 -0700 (PDT)
Message-ID: <>
Date: Fri, 04 Oct 2013 07:54:24 -0700
From: Kris Pister <>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
References: <> <> <> <F085911F642A6847987ADA23E611780D1859FA68@hoshi.uni.lux> <> <> <> <F085911F642A6847987ADA23E611780D185A39B6@hoshi.uni.lux> <>
In-Reply-To: <>
Content-Type: multipart/alternative; boundary="------------000703060406070106070906"
Subject: Re: [6tsch] On the fly scheduling
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Discuss link layer model for Deterministic IPv6 over the TSCH mode of IEEE 802.15.4e, and impacts on RPL and 6LoWPAN such as resource allocation" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 04 Oct 2013 14:57:08 -0000

On 10/4/2013 2:30 AM, Pascal Thubert (pthubert) wrote:
> As you see, even implementing such a simple strategy can already be 
> quite some work in a constrained device. 

Or it can be really really simple and still quite effective for 90% of 
use cases.

One very simple algorithm:
  * each node knows its own desired bandwidth (in cells/sec) to the 
  * each node knows how many cells/sec it has as inputs from children
  * each node knows how many cells/sec it has as outputs to parents

Here's my super-sophisticated proposal:
if (outputs <  inputs+self) pick the best parent and add a new cell.
if (outputs > inputs+self + 1) pick the worst cell and delete it

This is not optimal.  It guarantees some wasted bandwidth.  But it works 
great in most situations,
and is pretty easy to implement.  If the number "1" is open to some 
interpretation (should be in
cells/superframe, possibly include some time delay) you can minimize churn.
Desired bandwidth can change based on application performance (e.g. 
round-trip latency)
or MAC performance (measured cell PDR, queue length).  But none of that 
is really necessary to get
a good network up and running.

Lance Doherty did some simulations of this in matlab back in 2004. I'll 
see if I can dig those up.