26
Tutorial WSim/WSNet et IPv6/Senslab Journées IP Capteur Antoine Fraboulet Julien Carpentier [email protected] Labo CITI, INSA de Lyon 13 janvier 2011 Tutorial WSim/WSNet et IPv6/Senslab : 1

Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Tutorial WSim/WSNet et IPv6/SenslabJournées IP Capteur

Antoine Fraboulet Julien Carpentier

[email protected] CITI, INSA de Lyon

13 janvier 2011

Tutorial WSim/WSNet et IPv6/Senslab : 1

Page 2: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Utilisation des outils dans la conception

Application Specifications

and Constraints

High Level Design

Distributed application

protocols

WSNet simulationChoices

Implementation

Hardware Platform

− Application

− Network protocol

− Operating System

Software Specification

Cross−compiler

tools

WSim + WSNet

Distributed Simulation

High Level Design of Distributed Application Design Implementation Choices

Software

Implementation

Target binary ready for deployment

Performance Evaluation and System Validation

Tutorial WSim/WSNet et IPv6/Senslab : Worldsens 2

Page 3: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

OutilsWSim : simulation de la plate-forme matérielle

• Simulation précise en temps• Plateforme complète• Intéraction avec WSNet pour la simulation du réseau• Utilise le binaire final de l’application

WSNet : Simulateur de réseau radio

• Simulation événementielle• Utilisation du simulateur pour les couches physique et

radio• Fonrtend UDP/IP (multicast)

WSNet + WSim : simulation complète d’une systèmedistribué

Tutorial WSim/WSNet et IPv6/Senslab : Worldsens 3

Page 4: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

WSim : boucle de simulation

libSelect()

>

Configuration and I/O

Clock system

Plateform

Internal Periphs

Read

Update

Write MCU Dev

< DevMCU

Dev update

GUI

IRQ Evaluation

Internal Periphs

Instruction

Execution

Time evaluation

Update

Tutorial WSim/WSNet et IPv6/Senslab : WSim 4

Page 5: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

WSim : boucle de simulation

cycles

LPM

libSelect()

>

Configuration and I/O

Clock system

Plateform

Internal Periphs

Read

Update

Write MCU Dev

< DevMCU

Dev update

GUI

IRQ Evaluation

Internal Periphs

Instruction

Execution

Time evaluation

Update

Tutorial WSim/WSNet et IPv6/Senslab : WSim 4

Page 6: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

WSim : boucle de simulation

yes

no

cycles

LPM

libSelect()

>

Configuration and I/O

Clock system

Plateform

Internal Periphs

Read

Update

Write MCU Dev

< DevMCU

Dev update

GUI

IRQ Evaluation

Internal Periphs

Instruction

Execution

Time evaluation

Update

Tutorial WSim/WSNet et IPv6/Senslab : WSim 4

Page 7: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

WSim : boucle de simulation

WS

Net

exte

rnal

even

ts

yes

no

cycles

LPM

libSelect()

>

Configuration and I/O

Clock system

Plateform

Internal Periphs

Read

Update

Write MCU Dev

< DevMCU

Dev update

GUI

IRQ Evaluation

Internal Periphs

Instruction

Execution

Time evaluation

Update

Tutorial WSim/WSNet et IPv6/Senslab : WSim 4

Page 8: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Simulation précise à l’instruction

0

5

10

15

20

25

0 1000 2000 3000 4000 5000

CC

11

00

Sta

tes

0

1

2

3

4

5

6

7

0 1000 2000 3000 4000 5000

IRQ

0

0 1000 2000 3000 4000 5000

Leds

Traces générées

• Interruptions / activité• Mode de veille• Communications

Activité des nœuds

• Evénements radio• Analyse hors-ligne

Evaluation de performance

• Instructions• Emprunte Mémoire• Consommation

Tutorial WSim/WSNet et IPv6/Senslab : WSim 5

Page 9: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Gestion des fréquences des micro-contrôleurs

0

500000

1e+06

1.5e+06

2e+06

2.5e+06

3e+06

3.5e+06

4e+06

0 5 10 15 20 25 30 35 40

time (ms)

Tin

yO

S 2

.x

0

500000

1e+06

1.5e+06

2e+06

2.5e+06

3e+06

3.5e+06

4e+06

4.5e+06

5e+06

0 50 100 150 200 250 300

time (ms)

MantisOS

Simulation des blocsd’horloge

• Fréquences variables• Dérive d’horloge• Estimation de la puissance

et énergie

Simulation du systèmed’horloge

LFXT132768Hz

MCLKnanosecondes

DCOCLK

XT2paramétrée

SMCLK

ACLK

ACLKn

Tutorial WSim/WSNet et IPv6/Senslab : WSim 6

Page 10: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Observation non intrusive

• Possibilité de contrôle sur la mémoire (observation,modification)

• Détection des débordements de pile• Gestion des erreurs courantes

Tutorial WSim/WSNet et IPv6/Senslab : WSim 7

Page 11: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Debug

Tutorial WSim/WSNet et IPv6/Senslab : WSim 8

Page 12: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Annotation du code sourceUtilisation d’eSimu, estimation de performance et deconsommation.

Tutorial WSim/WSNet et IPv6/Senslab : WSim 9

Page 13: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

WSNet : modèles

Modèles radio• propagation (ex : range, Friis free space, Rayleigh, etc.)• interférences / SiNR (ex : orthogonal, additive, partially

additive, etc.)• modulation (ex : bpsk, step function, etc.)

Modèles de haut niveau• radio (ex : full-duplex, half-duplex, etc.) ;• antenna (ex : directionnal, etc.) ;• environment (ex : battery, etc.)• application (ex : sink, source, etc.) ;• routing (ex : gradient, geographic, etc.) ;• queue (ex : fifo, priorities, etc.) ;• mac (ex : s-mac, 802.11DCF, Aloha, etc.) ;

Tutorial WSim/WSNet et IPv6/Senslab : WSNet 10

Page 14: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

WSNet : extensions pour WSim

Simulation hybride

• Les nœuds sont émulés par des process externes• Communications

• Simulation distribuée• Communications multicast

• Synchronisation lâche• synchronisation sur les octets radios• synchronisation périodique des nœuds en cas d’absence

de communication• reprise arrière (backtrack) des émulateurs lors d’une

détection de perte de synchronisation

Tutorial WSim/WSNet et IPv6/Senslab : WSNet 11

Page 15: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Simulation mixte

������������

��������

������

������

������������������������

������������������������

��������

������������

���� �� ��

ClockFlash RAM SPI

CC1100

Module

Radio

SPI

1MB Flash Memory

peripherals

1wire

Serial IdExternal Serial

interface

MSP430

16bits

CPU16 bits 8 bits

Node simulator

network packets events

UDP/IP

WSimRadio simulator

WSNet

Tutorial WSim/WSNet et IPv6/Senslab : WSim+WSNet 12

Page 16: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Simulation mixte

Node simulatorWSim

Node simulatorWSim

Node simulatorWSim

������������

��������

������

������

������������������������

������������������������

��������

������������

���� �� ��

ClockFlash RAM SPI

CC1100

Module

Radio

SPI

1MB Flash Memory

peripherals

1wire

Serial IdExternal Serial

interface

MSP430

16bits

CPU16 bits 8 bits

Node simulator

network packets events

UDP/IP

WSimRadio simulator

WSNet

Tutorial WSim/WSNet et IPv6/Senslab : WSim+WSNet 12

Page 17: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Simulation mixte

base station serial link

Serial comm

software

Database storage

GDB

local/remote

debugging TCP/IP GDBremote protocol

binary fileGCC

cross compiler

toolchain

Application

Node simulatorWSim

Node simulatorWSim

Node simulatorWSim

������������

��������

������

������

������������������������

������������������������

��������

������������

���� �� ��

ClockFlash RAM SPI

CC1100

Module

Radio

SPI

1MB Flash Memory

peripherals

1wire

Serial IdExternal Serial

interface

MSP430

16bits

CPU16 bits 8 bits

Node simulator

network packets events

UDP/IP

WSimRadio simulator

WSNet

Tutorial WSim/WSNet et IPv6/Senslab : WSim+WSNet 12

Page 18: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Simulation mixte

• La simulation distribuée permet de faire du pas à pas surl’application de façon globale

• Les mesures de performances locales associées auxcommunications permettent de faire ressortir lecomportement de l’application complète.

• La mesure de consommation en analyse hors-ligne permetde mesurer les divers compromis existant dansl’architecture entre calcul et communication.

• Des changements d’annotation de consommationpermettent de détecter les composants du système quisont les plus consommateurs en fonction de l’application.

Tutorial WSim/WSNet et IPv6/Senslab : WSim+WSNet 13

Page 19: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Simulation distribuée

Tutorial WSim/WSNet et IPv6/Senslab : WSim+WSNet 14

Page 20: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Senslab

Plate-forme expérimentale

• But de SensLAB• Plate-forme d’expérimentation de réseau de capteurs Outils• Large échelle pour la communauté scientifique

• Spécificités Distribuée sur 4 sites distants Grande échelleavec 256 capteurs par site

• Automatisée / Ouverte• Accessible à distance

Tutorial WSim/WSNet et IPv6/Senslab : Senslab 15

Page 21: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Senslab

Tutorial WSim/WSNet et IPv6/Senslab : Senslab 16

Page 22: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Senslab

Tutorial WSim/WSNet et IPv6/Senslab : Senslab 17

Page 23: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Senslab

Services utilisateurs

• Portail Web• Base de donnés de résultats des

expérimentations• Espace de stockage NFS• Accès SSH• Machine virtuelle (compte

administrateur)• Outils de développements

adaptés à la plateforme

Tutorial WSim/WSNet et IPv6/Senslab : Senslab 18

Page 24: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Architecture des noeuds

Tutorial WSim/WSNet et IPv6/Senslab : Senslab 19

Page 25: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Utilisation des outils

Les outils de simulation servent à prototyper et à débugger lesexpérimentations de façon très fine. Les utilisations principalessont :

• Debug distribué en pas à pas synchronisé• Evaluation de performance avec annotations• Tests d’inter-opérabilité entre systèmes• Ecriture de code de bas niveau

La simulation permet d’exhiber des effets de synchronisationdifficiles à avoir en condition réelles.

• problèmes de synchronisation entre les noeuds• détection de “race conditions” internes

Tutorial WSim/WSNet et IPv6/Senslab : Utilisation des outils 20

Page 26: Tutorial WSim/WSNet et IPv6/Senslabwsim.gforge.inria.fr/tutorials/ipcapteurs/files/wsim... · 2011. 3. 15. · 4e+06 4.5e+06 5e+06 0 50 100 150 200 250 300 time (ms) MantisOS Simulation

Sites web

www.senslab.info, plateforme SenslabGrenoble, Lille, Strasbourg sont disponibles

wsim.gforge.inria.fr, émulateur de plateforme de capteur

wsnet.gforge.inria.fr, simulateur de réseau radio

esimu.gforge.inria.fr, analyse de trace, annotation decode source avec information de performance et deconsommation.

Tutorial WSim/WSNet et IPv6/Senslab : Utilisation des outils 21