View
1
Download
0
Category
Preview:
Citation preview
Tutorial WSim/WSNet et IPv6/SenslabJournées IP Capteur
Antoine Fraboulet Julien Carpentier
prenom.nom@inria.frLabo 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 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
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
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
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
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
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
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
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
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 sourceUtilisation d’eSimu, estimation de performance et deconsommation.
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
������������
��������
������
������
������������������������
������������������������
��������
������������
���� �� ��
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
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
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
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
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 échelleavec 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 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
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
Recommended