Tutorial W Sim / WS Net et I Pv 6 / Senslab

heatanklesSoftware and s/w Development

Jul 2, 2012 (5 years and 2 months ago)

410 views

Tutorial WSim/WSNet et IPv6/Senslab
Journées IP Capteur
Antoine Fraboulet Julien Carpentier
prenom.nom@inria.fr
Labo CITI,INSA de Lyon
13 janvier 2011
Tutorial WSim/WSNet et IPv6/Senslab:1
Utilisation des outils dans la conception
Application Specifications
and Constraints
High Level Design
Distributed application
protocols
WSNet simulation
Choices
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
Outils
WSim: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ème
distribué
Tutorial WSim/WSNet et IPv6/Senslab:Worldsens 3
WSim:boucle de simulation
libSelect()
>
Configuration and I/O
Clock systemPlateform
Internal Periphs
ReadUpdate
Write
MCU Dev
< DevMCUDev update
GUI
IRQ Evaluation
Internal Periphs
InstructionExecution
Time evaluation
Update
Tutorial WSim/WSNet et IPv6/Senslab:WSim 4
WSim:boucle de simulation
cyclesLPM
libSelect()
>
Configuration and I/O
Clock systemPlateform
Internal Periphs
ReadUpdate
Write
MCU Dev
< DevMCUDev update
GUI
IRQ Evaluation
Internal Periphs
InstructionExecution
Time evaluation
Update
Tutorial WSim/WSNet et IPv6/Senslab:WSim 4
WSim:boucle de simulation
yes
no
cyclesLPM
libSelect()
>
Configuration and I/O
Clock systemPlateform
Internal Periphs
ReadUpdate
Write
MCU Dev
< DevMCUDev update
GUI
IRQ Evaluation
Internal Periphs
InstructionExecution
Time evaluation
Update
Tutorial WSim/WSNet et IPv6/Senslab:WSim 4
WSim:boucle de simulation
WSNet external events
yes
no
cyclesLPM
libSelect()
>
Configuration and I/O
Clock systemPlateform
Internal Periphs
ReadUpdate
Write
MCU Dev
< DevMCUDev update
GUI
IRQ Evaluation
Internal Periphs
InstructionExecution
Time evaluation
Update
Tutorial WSim/WSNet et IPv6/Senslab:WSim 4
Simulation précise à l’instruction
0
5
10
15
20
25
0
1000
2000
3000
4000
5000
CC1100 States
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
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)
TinyOS 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 blocs
d’horloge
 Fréquences variables
 Dérive d’horloge
 Estimation de la puissance
et énergie
Simulation du système
d’horloge
LFXT1
32768Hz
MCLKnanosecondes
DCOCLK
XT2
paramétrée
SMCLK
ACLKACLKn
Tutorial WSim/WSNet et IPv6/Senslab:WSim 6
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
Debug
Tutorial WSim/WSNet et IPv6/Senslab:WSim 8
Annotation du code source
Utilisation d’eSimu,estimation de performance et de
consommation.
Tutorial WSim/WSNet et IPv6/Senslab:WSim 9
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
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
Simulation mixte
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿
￿￿
￿￿
￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿
￿￿
￿
￿
￿
￿
Clock
Flash RAM SPI
CC1100Module
Radio
SPI
1MB Flash Memory
peripherals
1wire
Serial Id
External Serialinterface
MSP430
16bitsCPU
16 bits 8 bits
Node simulator
network packets events
UDP/IP
WSim
Radio simulator
WSNet
Tutorial WSim/WSNet et IPv6/Senslab:WSim+WSNet 12
Simulation mixte
Node simulator
WSim
Node simulator
WSim
Node simulator
WSim
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿
￿￿
￿￿
￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿
￿￿
￿
￿
￿
￿
Clock
Flash RAM SPI
CC1100Module
Radio
SPI
1MB Flash Memory
peripherals
1wire
Serial Id
External Serialinterface
MSP430
16bitsCPU
16 bits 8 bits
Node simulator
network packets events
UDP/IP
WSim
Radio simulator
WSNet
Tutorial WSim/WSNet et IPv6/Senslab:WSim+WSNet 12
Simulation mixte
base station serial link
Serial commsoftware
Database storage
GDBlocal/remotedebugging
TCP/IP GDB
remote protocol
binary file
GCCcross compilertoolchain
Application
Node simulator
WSim
Node simulator
WSim
Node simulator
WSim
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿
￿￿
￿￿
￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿￿
￿￿
￿￿
￿
￿
￿
￿
Clock
Flash RAM SPI
CC1100Module
Radio
SPI
1MB Flash Memory
peripherals
1wire
Serial Id
External Serialinterface
MSP430
16bitsCPU
16 bits 8 bits
Node simulator
network packets events
UDP/IP
WSim
Radio simulator
WSNet
Tutorial WSim/WSNet et IPv6/Senslab:WSim+WSNet 12
Simulation mixte
 La simulation distribuée permet de faire du pas à pas sur
l’application de façon globale
 Les mesures de performances locales associées aux
communications permettent de faire ressortir le
comportement de l’application complète.
 La mesure de consommation en analyse hors-ligne permet
de mesurer les divers compromis existant dans
l’architecture entre calcul et communication.
 Des changements d’annotation de consommation
permettent de détecter les composants du système qui
sont les plus consommateurs en fonction de l’application.
Tutorial WSim/WSNet et IPv6/Senslab:WSim+WSNet 13
Simulation distribuée
Tutorial WSim/WSNet et IPv6/Senslab:WSim+WSNet 14
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 échelle
avec 256 capteurs par site
 Automatisée/Ouverte
 Accessible à distance
Tutorial WSim/WSNet et IPv6/Senslab:Senslab 15
Senslab
Tutorial WSim/WSNet et IPv6/Senslab:Senslab 16
Senslab
Tutorial WSim/WSNet et IPv6/Senslab:Senslab 17
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
Architecture des noeuds
Tutorial WSim/WSNet et IPv6/Senslab:Senslab 19
Utilisation des outils
Les outils de simulation servent à prototyper et à débugger les
expérimentations de façon très fine.Les utilisations principales
sont:
 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 synchronisation
difficiles à 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
Sites web
www.senslab.info,plateforme Senslab
Grenoble,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 de
code source avec information de performance et de
consommation.
Tutorial WSim/WSNet et IPv6/Senslab:Utilisation des outils 21