Re: [6tsch] simulation for random schedule allocation
Qin Wang <qinwang@berkeley.edu> Thu, 27 June 2013 14:37 UTC
Return-Path: <qinwang@berkeley.edu>
X-Original-To: 6tsch@ietfa.amsl.com
Delivered-To: 6tsch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9211221F9D81 for <6tsch@ietfa.amsl.com>; Thu, 27 Jun 2013 07:37:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.477
X-Spam-Level:
X-Spam-Status: No, score=-2.477 tagged_above=-999 required=5 tests=[AWL=0.500, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aNN5X+yqnr4v for <6tsch@ietfa.amsl.com>; Thu, 27 Jun 2013 07:37:02 -0700 (PDT)
Received: from mail-ie0-f178.google.com (mail-ie0-f178.google.com [209.85.223.178]) by ietfa.amsl.com (Postfix) with ESMTP id 2918321F9BF3 for <6tsch@ietf.org>; Thu, 27 Jun 2013 07:36:49 -0700 (PDT)
Received: by mail-ie0-f178.google.com with SMTP id u16so1691425iet.37 for <6tsch@ietf.org>; Thu, 27 Jun 2013 07:36:48 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:x-gm-message-state; bh=9Vy5GXxXA62luKcdZxagMvhA4qxbLB5uY996ZFIXrWw=; b=A/XGOyAd6hLUgEdpGiD/rnFx4g8Ay9SiKX7fYwKLGirD2sr4KG75iYZ7y26BW9btJ/ ZGH+wWNdryeagAdQpS4C77kGqRIbNY72RVmG9lina+01rDAaBc6/TAEUnvgRKZhoOp6V Y63pn/kJX0WiTtp6DhH+mCHZv3F9u4AfAh6rfGbn5A7E7mJOeyMo6tVUqjsUlHV90Bxh 5l8ZG7hPmsqPSGjCYCz7+CcHn5A7KTdfYRivXZPB+oUGlVElvddkZ0T3OwVYxs2kuJCc 76YOAKE9PkActQSCjSM3RxsOCCeGe1gCI51S1Lhb3a7nRkjjirtVCx6QCGfGxADwG4kS EUSA==
MIME-Version: 1.0
X-Received: by 10.50.117.72 with SMTP id kc8mr13926692igb.44.1372343808635; Thu, 27 Jun 2013 07:36:48 -0700 (PDT)
Received: by 10.64.240.20 with HTTP; Thu, 27 Jun 2013 07:36:48 -0700 (PDT)
In-Reply-To: <CALEMV4ZrXue_yGW1DRODD=AyXj5MSxcKmbZJ_h2RvvHhfra-=w@mail.gmail.com>
References: <CALEMV4b27w3=hCkovP1JpQwQnN_jcu98hGPtjT349LhFBPb0XQ@mail.gmail.com> <674F70E5F2BE564CB06B6901FD3DD78B12D2691A@tgxml338.toshiba.local> <CALEMV4Zbqjd66Msot7cr45oFtG60zFFgUkAfPMLCq17zYR+ejw@mail.gmail.com> <674F70E5F2BE564CB06B6901FD3DD78B12D26BDD@tgxml338.toshiba.local> <CALEMV4a4X4+8k5o1o7HVpjL8xdQ1WiwprP1HD6Vzv-8p4iceKw@mail.gmail.com> <F085911F642A6847987ADA23E611780D1857A510@hoshi.uni.lux> <CALEMV4ZrXue_yGW1DRODD=AyXj5MSxcKmbZJ_h2RvvHhfra-=w@mail.gmail.com>
Date: Thu, 27 Jun 2013 22:36:48 +0800
Message-ID: <CAAzoce4Aqyc+Mcu5rMNA25xPL2ktNpb=LVuyS7ZEMmi6CBPQFw@mail.gmail.com>
From: Qin Wang <qinwang@berkeley.edu>
To: Xavier Vilajosana Guillen <xvilajosana@eecs.berkeley.edu>
Content-Type: multipart/alternative; boundary="089e013a084439455104e023b1b7"
X-Gm-Message-State: ALoCoQlp7x1A0IDBv/h7LqhF5G9DbMuaOhpIgEZiJF7lQgtYlzu1WU6lw/L16c7DYjhXzL4CJiCP
Cc: Maria Rita PALATTELLA <maria-rita.palattella@uni.lu>, "6tsch@ietf.org" <6tsch@ietf.org>, "yoshihiro.ohba@toshiba.co.jp" <yoshihiro.ohba@toshiba.co.jp>
Subject: Re: [6tsch] simulation for random schedule allocation
X-BeenThere: 6tsch@ietf.org
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" <6tsch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/6tsch>, <mailto:6tsch-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/6tsch>
List-Post: <mailto:6tsch@ietf.org>
List-Help: <mailto:6tsch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6tsch>, <mailto:6tsch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 27 Jun 2013 14:37:06 -0000
Xavi, From https://github.com/xvilajosana/6TSCH/blob/master/simulator/src/edu/berkeley/sixtus/simul/SimulatorEngine.java, (createNetworkTopology(Random ran)), I understand how the network topology is established. I think it may result in some cross edges, which will not happen in real network deployment. To avoid the problem, usually, we can think that a 2D array presents a area, say L*L, and then assign each node (x,y) in the L*L randomly. As result, each node will have some amount of neighbors. Does it make sense? Thought? Qin On Thu, Jun 27, 2013 at 9:53 PM, Xavier Vilajosana Guillen < xvilajosana@eecs.berkeley.edu> wrote: > Hi Maria Rita, see inline please > > > Hello Xavi, > first of all many thanks for having built the code and run this first set > of simulations for the WG. > I have some questions about the simulations. Please, feel free to ignore > my comments, if they are inappropriate. > > 1)"Each node requests a link to *each* of its neighbors." > Is it really what we want? In my point of view, each node will ask a set > of links (i.e., cells) according to the paths along which it will transmit > its own traffic, and forwards the traffic received by other neighbors. In > other words, the number of requested cells per node should be less than > what we are simulating right now. For sure, in the actual scenario, we have > higher probability of collision. > > I agree, the first set of simulations was completely brute force but > showed something that it is interesting (and this was my main objective), > with low density schedules (i.e almost all cells non-scheduled ) the > collision probability at the first choice is very low meaning that with few > retries in case of collision it will find a right cell. With dense > schedules (out of the scope on the majority of TSCH networks) the > allocation performance is very bad. It is important to bear in mind that > a network with 10% of its schedule allocated is a very busy network.(from > what we have seen on different network deployments) > > 2) " the network is represented by a boolean square matrix of > num_nodes*num_nodes. *Two nodes are neighbours if the cell for that two > nodes (indexed by node ids) is true*. if X is neighbour of Y the cells > (x,y) and (y,x) will be true." > This way of representing the network can create somehow a bit of confusion > with the TSCH schedule representation, where we have (timeslot, > channeloffset) cells. > Can't we find a different way for representing the network, and defying > the set of neighbors? Moreover, this point 2) is linked with point 1) I > guess, i.e., assuming each node will request a link to each of its > neighbors. > > If you look the code you will see that the network is expressed using 2 > variables, one is a 1 dimension array of nodes (50 on my experiments),each > node keeps a slotframe structure being a 101*16 matrix of Cells, where a > cell is a data structure with some information. In addition the network > topology is built using an adjacency matrix, each row represents a node > that is matched with its neighbors represented by the column. This can be > done in many different ways but I guess it is pretty simple in that way. My > initial idea on that simulator was to get some numbers, I did not put > effort on having a new super efficient NS-2! and therefore the code is > super simple and objective driven. If we feel that we need to consolidate > that then I need to work on putting some more effort on its structure and > design. > > 3) "Topology: Random, where each node requests a* random number of > neighbours between 2 and 10*.” > Even though I am in favor of having a random topology, and a random number > of neighbors, maybe, for having a preliminary idea of the network behavior, > we could run a set of simulations, where we fix the number of neighbors > (i.e., having it constant). Basically, my suggestion is to keep some > parameters constant, while we change others, in order to see how each of > them impact the cells allocation. > > Yes, I agree too, this can be configured easily. > > thanks for your comments! > > Thank you! > Maria Rita > > Xavi > > > On Thu, Jun 27, 2013 at 1:07 AM, Maria Rita PALATTELLA < > maria-rita.palattella@uni.lu> wrote: > >> Hello Xavi, >> first of all many thanks for having built the code and run this first set >> of simulations for the WG. >> I have some questions about the simulations. Please, feel free to ignore >> my comments, if they are inappropriate. >> >> 1)"Each node requests a link to *each* of its neighbors." >> Is it really what we want? In my point of view, each node will ask a set >> of links (i.e., cells) according to the paths along which it will transmit >> its own traffic, and forwards the traffic received by other neighbors. In >> other words, the number of requested cells per node should be less than >> what we are simulating right now. For sure, in the actual scenario, we have >> higher probability of collision. >> >> 2) " the network is represented by a boolean square matrix of >> num_nodes*num_nodes. *Two nodes are neighbours if the cell for that two >> nodes (indexed by node ids) is true*. if X is neighbour of Y the cells >> (x,y) and (y,x) will be true." >> This way of representing the network can create somehow a bit of >> confusion with the TSCH schedule representation, where we have (timeslot, >> channeloffset) cells. >> Can't we find a different way for representing the network, and defying >> the set of neighbors? Moreover, this point 2) is linked with point 1) I >> guess, i.e., assuming each node will request a link to each of its >> neighbors. >> >> 3) "Topology: Random, where each node requests a* random number of >> neighbours between 2 and 10*.” >> Even though I am in favor of having a random topology, and a random >> number of neighbors, maybe, for having a preliminary idea of the network >> behavior, we could run a set of simulations, where we fix the number of >> neighbors (i.e., having it constant). Basically, my suggestion is to keep >> some parameters constant, while we change others, in order to see how each >> of them impact the cells allocation. >> >> Thank you! >> Maria Rita >> >> >> ------------------------------ >> *From:* 6tsch-bounces@ietf.org [6tsch-bounces@ietf.org] on behalf of >> Xavier Vilajosana Guillen [xvilajosana@eecs.berkeley.edu] >> *Sent:* Thursday, June 27, 2013 2:27 AM >> *To:* yoshihiro.ohba@toshiba.co.jp >> >> *Cc:* 6tsch@ietf.org >> *Subject:* Re: [6tsch] simulation for random schedule allocation >> >> Hi Yoshihiro, >> >> the network is represented by a boolean square matrix of >> num_nodes*num_nodes. Two nodes are neighbours if the cell for that two >> nodes (indexed by node ids) is true. if X is neighbour of Y the cells (x,y) >> and (y,x) will be true. >> When a node requests a link it always requests a TX link, the counter >> part sets it to RX links so a link allocation happens at both sides. In a >> particular node Number of allocated links is the accumulation of both TX >> and RX allocated in that node. >> >> Regarding your question, if X requests a TX link to Y the schedule of X >> allocates a TX link to Y and the schedule of Y allocates a RX link from X. >> If Y requests a TX link to X, X allocates a RX link from Y. >> >> A link is not allocated in either side if there is a collision, and then >> I increment the collision counter. >> >> The code is here in case someone wants to play. Sorry it is not very >> clean but I will clean it as soon as I can. If someone modifies it or >> improves it, feel free to commit your changes to the repository so the >> simulator becomes better. >> >> https://github.com/xvilajosana/6TSCH >> >> hope this makes things clear. >> >> regards, >> X >> >> >> Xavi >> >> >> On Wed, Jun 26, 2013 at 3:56 PM, <yoshihiro.ohba@toshiba.co.jp> wrote: >> >>> Hi Xavi,**** >>> >>> ** ** >>> >>> Thanks for your explanation. I have better understanding now. **** >>> >>> ** ** >>> >>> I have one more question.**** >>> >>> ** ** >>> >>> You mentioned “there might be more than one link to a neighbor”. Say >>> Node X selected only one neighbor Node Y and requests one link to Node Y. >>> The resulting number of links associated with Node X can be two (2) when >>> Node Y also selected Node X as its neighbor and requested one link to Node >>> X. Is my understanding correct?**** >>> >>> ** ** >>> >>> Yoshihiro Ohba**** >>> >>> ** ** >>> >>> ** ** >>> >>> *From:* 6tsch-bounces@ietf.org [mailto:6tsch-bounces@ietf.org] *On >>> Behalf Of *Xavier Vilajosana Guillen >>> *Sent:* Thursday, June 27, 2013 1:33 AM >>> *To:* ohba yoshihiro >>> *Cc:* 6tsch@ietf.org >>> *Subject:* Re: [6tsch] simulation for random schedule allocation**** >>> >>> ** ** >>> >>> Hi Yoshihiro,**** >>> >>> you are right, the formulation of the sentence is not correct. Should be: >>> >>> “Topology: Random, where each node requests a random number of >>> neighbours between 2 and 10.”**** >>> >>> this means that each node when created requests a number of neighbors >>> between 2 and 10, meaning that other nodes when are created also request >>> that number of neighbours and therefore a node can have more than 10 >>> neighbours, because other nodes selected it as a neighbour. From the >>> simulation results I see that nodes have between 5 and 11 neighbours >>> usually.**** >>> >>> However, from the numbers you point, 28 represents the number of >>> allocated links (number of allocated cells in the schedule) to its >>> neighbours, there might be more than one link to a neighbour in that case. >>> **** >>> >>> regards, >>> Xavi**** >>> >>> >>> **** >>> >>> Xavi**** >>> >>> ** ** >>> >>> On Wed, Jun 26, 2013 at 7:28 AM, <yoshihiro.ohba@toshiba.co.jp> wrote:** >>> ** >>> >>> Hi Xavi,**** >>> >>> **** >>> >>> Thank you very much for the simulation.**** >>> >>> **** >>> >>> I am trying to understand the simulation model from your description and >>> the result.**** >>> >>> **** >>> >>> “Topology: Random, where each node has a random number of neighbors >>> between 2 and 10.”**** >>> >>> **** >>> >>> “**** >>> >>> ************************ requesting 1 links**** >>> >>> Node,Allocated Links,Collisions,Percentage**** >>> >>> 0,28,0,0.0**** >>> >>> “**** >>> >>> **** >>> >>> In the above result, does Node 0 actually have 28 neighbors?**** >>> >>> **** >>> >>> Regards,**** >>> >>> Yoshihiro Ohba**** >>> >>> **** >>> >>> *From:* 6tsch-bounces@ietf.org [mailto:6tsch-bounces@ietf.org] *On >>> Behalf Of *Xavier Vilajosana Guillen >>> *Sent:* Wednesday, June 26, 2013 3:46 AM >>> *To:* 6tsch@ietf.org**** >>> >>> >>> *Subject:* [6tsch] simulation for random schedule allocation**** >>> >>> **** >>> >>> >>> **** >>> >>> Hi all, >>> >>> I prepared a little simulation to see how random schedule allocation >>> behaves. (I have the code in Java in case someone is interested) >>> >>> here there are some details (everything can be tuned in case someone >>> wants to point me to a special case) >>> >>> Network: 50 nodes >>> >>> Topology: Random, where each node has a random number of neighbors >>> between 2 and 10. >>> >>> Each node requests a link to each of its neighbors. This is done from 1 >>> to 10 times (i.e 10 tests, the first requesting 1 link to each neighbour, >>> the second 2, etc.. up to 10 links to each of the neighbors, can be >>> configured) >>> >>> The slotframe is 101 slots and 16 channels. >>> >>> The simulation prints statistics for the test (and the collisions if we >>> are interested.)**** >>> >>> I used pseudo random generator from the java language assuming it >>> provides uniform or almost uniform distribution.**** >>> >>> The allocation counter counts both the number of links allocated as tx >>> and the number of links allocated as rx due to a neighbour allocating a >>> link to the actual node. The percentage is the % of collisions w.r.t the >>> allocated links. **** >>> >>> Worst case is around 11% when allocating 10 links to each neighbour in >>> that 50 node network.**** >>> >>> I can play more on it but I wanted to share that initial results.**** >>> >>> please see attached file for the results.**** >>> >>> regards,**** >>> >>> Xavi**** >>> >>> ** ** >>> >> >> > > _______________________________________________ > 6tsch mailing list > 6tsch@ietf.org > https://www.ietf.org/mailman/listinfo/6tsch > >
- Re: [6tsch] simulation for random schedule alloca… Xavier Vilajosana Guillen
- Re: [6tsch] simulation for random schedule alloca… yoshihiro.ohba
- Re: [6tsch] simulation for random schedule alloca… Xavier Vilajosana Guillen
- [6tsch] simulation for random schedule allocation Xavier Vilajosana Guillen
- [6tsch] simulation for random schedule allocation Xavier Vilajosana Guillen
- [6tsch] simulation for random schedule allocation Xavier Vilajosana Guillen
- Re: [6tsch] simulation for random schedule alloca… Thomas Watteyne
- Re: [6tsch] simulation for random schedule alloca… Qin Wang
- Re: [6tsch] simulation for random schedule alloca… yoshihiro.ohba
- Re: [6tsch] simulation for random schedule alloca… Xavier Vilajosana Guillen
- Re: [6tsch] simulation for random schedule alloca… Maria Rita PALATTELLA
- [6tsch] R: simulation for random schedule allocat… Alfredo Grieco
- Re: [6tsch] simulation for random schedule alloca… Xavier Vilajosana Guillen
- Re: [6tsch] simulation for random schedule alloca… Qin Wang
- Re: [6tsch] R: simulation for random schedule all… Kris Pister
- Re: [6tsch] simulation for random schedule alloca… Xavier Vilajosana Guillen
- Re: [6tsch] R: simulation for random schedule all… Xavier Vilajosana Guillen
- Re: [6tsch] simulation for random schedule alloca… Qin Wang
- Re: [6tsch] simulation for random schedule alloca… Thomas Watteyne
- Re: [6tsch] simulation for random schedule alloca… Qin Wang
- Re: [6tsch] simulation for random schedule alloca… Maria Rita PALATTELLA