TOSSIM : The TinyOS Simulator

Transcript

TOSSIM : The TinyOS Simulator
Dario Rossi, Politecnico di Torino
WSN: THE TOSSIM SIMULATOR
6-8 june 2006
Dario Rossi
Politecnico di Torino
[email protected]
Wireless Sensor Network
Copyright – Tutti i diritti riservati
1
Dario Rossi, Politecnico di Torino
Copyright
• Questo insieme di trasparenze (detto nel seguito slides) è protetto dalle leggi sul copyright e dalle disposizioni dei
trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine,
fotografia, animazione, video, audio, musica e testo) sono di proprietà degli autori indicati a pag. 1.
• Le slides possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti
al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi
istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione.
• Ogni altra utilizzazione o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su
reti di calcolatori e stampate) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da
parte degli autori.
• L’informazione contenuta in queste slides è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per
scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è
soggetta a cambiamenti senza preavviso. Gli autori non assumono alcuna responsabilità per il contenuto di queste
slides (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento
dell’informazione).
• In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slides.
• In ogni caso questa nota di copyright non deve mai essere rimossa e deve essere riportata anche in utilizzi parziali.
Wireless Sensor Network
Copyright – Tutti i diritti riservati
2
Dario Rossi, Politecnico di Torino
Outline
Motivations
Architecture Overview
• Compiler support
• Execution model
• Hardware/Radio models
• Communication services (TinyViz)
Evaluation
• Bridging, Fidelity, Scalability, Completeness
Extension
• PowerTOSSIM
Wireless Sensor Network
Copyright – Tutti i diritti riservati
3
Dario Rossi, Politecnico di Torino
Sensor Networks & Simulation
Sensor networks…
• Require large scale deployment (smart dusts)
• Located in physically inaccessible places
Apps are deployed…
• only once during network life time
• Little or no scope to re-deploy on errors
Early evaluation of the system…
• Is an integral part for development steering
• Check correctness of application behavior
• Sensors are pretty hard to debug
– Failure bug -> easier
– Operational but aberrant behavior -> harder
Wireless Sensor Network
Copyright – Tutti i diritti riservati
4
Dario Rossi, Politecnico di Torino
Debugging a Mote...
Used to require hardware modification...
...to the mote
(removal of a
resistor) ...
...to the board
(addition of jtag
connector)
Wireless Sensor Network
Copyright – Tutti i diritti riservati
5
Dario Rossi, Politecnico di Torino
Debugging a Mote
...still requires another hardware toy
...in TinyOS authors’ own words:
“Prepare to a slightly painful experience”
N. Ramanathan, K. Chang, R. Kapur, L. Girod, E. Kohler, and D. Estrin
Sympathy for the Sensor Network Debugger In Proc. of SenSys 2005.
Wireless Sensor Network
Copyright – Tutti i diritti riservati
6
Dario Rossi, Politecnico di Torino
Simulation Pros and Cons
Several advantages
• Study system in totally controlled environment
• Explore configuration difficult to construct
• Observe interaction difficult to live-capture
• Helps in design improvement
• Cost effective alternative
And disadvantages as well
• May not represent accurate real-world results
• Depends on several modeling assumptions
• Tradeoff details and accuracy for feasibility
Wireless Sensor Network
Copyright – Tutti i diritti riservati
7
Dario Rossi, Politecnico di Torino
Existing Tools?
Not very suitable for sensor networks
• Provides abstraction levels either
– too coarse -> packet level (ns-2, omnet++, Glomosim, …)
– too fine-grained -> instruction-level (Atemu, Proteus,…)
• Do not address the complex interactions
– Among motes (Application level)
– Within motes (Network stack)
– Motes and environment (Real world noise)
• Need to handle 2 parallel implementations
– One for the real motes, one for the simulator
Need for simulator tightly bound to TinyOS
Wireless Sensor Network
Copyright – Tutti i diritti riservati
8
Dario Rossi, Politecnico di Torino
Key Requirements
Scalability
• How many ?
Completeness
• How much ?
Fidelity
• How similar ?
Bridging
• How easy ?
Wireless Sensor Network
Copyright – Tutti i diritti riservati
9
Dario Rossi, Politecnico di Torino
Key Requirements
Scalability
• Largest real deployment: 850 nodes (20,000 secreted)
• Must handle these sizes and above
Completeness
• Cover as many interaction as possible
• Simulating complete application is required
Fidelity
• Capture network interaction at a fine grain
• Must be able to reveal unanticipated interactions
Bridging
• Bridge the gap between algorithm and implementation
• Often, algorithm is sound but implementation is not
Wireless Sensor Network
Copyright – Tutti i diritti riservati
10
Dario Rossi, Politecnico di Torino
TOSSIM Architecture
•Discrete-event simulator
•Utilizes TinyOS’s component based architecture
•Transparently integrated
within TinyOS
–providing a new hardware
resource abstraction layer
–TinyOS event-driven
execution maps well to a
discrete-even simulation
Wireless Sensor Network
Copyright – Tutti i diritti riservati
11
Dario Rossi, Politecnico di Torino
TOSSIM Architecture
Wireless Sensor Network
Copyright – Tutti i diritti riservati
12
Dario Rossi, Politecnico di Torino
TOSSIM Architecture
Architectual points
•Compiler Support
•Execution Model
•Hardware Emulation
•Radio Model
•Communication Service
Wireless Sensor Network
Copyright – Tutti i diritti riservati
13
Dario Rossi, Politecnico di Torino
Compiler Support
MOTE nesC
Component frame
MOTE C
Currently running mote
TOSSIM C
Wireless Sensor Network
Copyright – Tutti i diritti riservati
14
Dario Rossi, Politecnico di Torino
Execution Model
Simple event queue
• Substitute TinyOS scheduler
• Interrupts == simulator events
• Simulator events != TinyOS events
• Interrupts are NOT pre-emptive
Time unit
• Mote clock granularity (4 Mhz)
• Delta time (similar to VHDL)
–Events do not take any virtual time to execute
–Infinite delta time adds up to zero virtual time
Wireless Sensor Network
Copyright – Tutti i diritti riservati
15
Dario Rossi, Politecnico di Torino
Hardware Emulation
Hardware
• TinyOS abstract hardware as component
• TOSSIM emulates hardware components
–ADC, Clock, EEPROM, radio, potentiometer,...
Emulation
• Split-phase operations preserved
–Latency taken from real world sensor-boards
• External function provides readings
–Constant (changeable at run-time) or random
• Radio chip handled specially
–Channel state depends on Radio Model (error is NOT)
–Signal is 1 or 0 (interference is OR, worst case)
Wireless Sensor Network
Copyright – Tutti i diritti riservati
16
Dario Rossi, Politecnico di Torino
Radio Model
Directed graph of bit-error probabilities
• Pros
–Flexible, changeable at run-time
–Asymmetric links
• Cons
–Signal strength not considered
–Independent bit errors
• Simple models provided
x
ex,z
ez,x z
y
–Error free links (for debugging)
–Bit error extrapolated from measured packet loss rates
Wireless Sensor Network
Copyright – Tutti i diritti riservati
17
Dario Rossi, Politecnico di Torino
Communication Service
Exchange data over TCP/IP
• Sim -> App: debug msg, pkts as over UART
• App -> Sim: commands, inject pkts, turn
motes on/off
TinyViz GUI
• Vizualization/Actuation
• Real/Simulated network
• Customizable
Wireless Sensor Network
Copyright – Tutti i diritti riservati
18
Dario Rossi, Politecnico di Torino
Communication Service
Plug-ins
GUI
Event Bus
Communication
Drawing
SerialForwarder
Event/Msg
TOSSIM
Wireless Sensor Network
Copyright – Tutti i diritti riservati
19
Commands
Dario Rossi, Politecnico di Torino
Evaluation
Scalability
• How many ?
Completeness
• How much ?
Fidelity
• How similar ?
Bridging
• How easy ?
Wireless Sensor Network
Copyright – Tutti i diritti riservati
20
Dario Rossi, Politecnico di Torino
Evaluation: Scalability
Wireless Sensor Network
Copyright – Tutti i diritti riservati
21
Dario Rossi, Politecnico di Torino
Evaluation: Scalability
Surge
Sim Queue
Other
Radio
Base
For instance, 10 simulated seconds
pkt level = 25 seconds real time
bit level > 1 hour real time
Wireless Sensor Network
Copyright – Tutti i diritti riservati
22
Dario Rossi, Politecnico di Torino
Evaluation: Completeness
TOSSIM is complete enough
• But limited to ONE application at a time
TinyOS debugging
• Debug TinyOS radio stack
–Discovered & fixed problems that were
unnoticed during testbed deployment
–Possible thanks to the bit-level granularity
• Debug applications
–Discovered & debug the Surge application
–Surge requires complex interaction between
components
Wireless Sensor Network
Copyright – Tutti i diritti riservati
23
Dario Rossi, Politecnico di Torino
Evaluation: Completeness
Surge Application: high loss rate
Send queue often
overflows... But why ?
Wireless Sensor Network
Copyright – Tutti i diritti riservati
24
Dario Rossi, Politecnico di Torino
Evaluation: Completeness
Surge Application: bug fixes
1) Duplicate suppression
in send queue
2) Break all routing cycles
Send queue often
overflows... But why ?
Wireless Sensor Network
Copyright – Tutti i diritti riservati
25
Dario Rossi, Politecnico di Torino
Evaluation: Fidelity
Fidelity Effort
• Bit granularity
• Simulates ADC readings
• Simulates interrupts
Some Imperfections
• Does not model radio propagation
–bit-level error abstraction
• Interrupts are NOT pre-emptive
• Only RFM (MICA) and CC1000 (MICA2)
networking stacks
Wireless Sensor Network
Copyright – Tutti i diritti riservati
26
Dario Rossi, Politecnico di Torino
Evaluation: Fidelity
)
)
)
)
)
)
(
(
(
(
( Medium power (
1
2 ft
Wireless Sensor Network
Copyright – Tutti i diritti riservati
...
2
200 pkts
27
...
25
Dario Rossi, Politecnico di Torino
Evaluation: Bridging
TinyOS core integration
• Instrumented nesC compiler
• Transparently compiles application code
(make pc)
(make mica2)
–for TOSSIM
–for specific hardware
• Tested code can be deployed right away
TinyOS tools integration
• Available tools can cooperate with TOSSIM
–TinyViz, SerialForwarder
Wireless Sensor Network
Copyright – Tutti i diritti riservati
28
Dario Rossi, Politecnico di Torino
Extension: PowerTOSSIM
Goals
•Power profiling
•CPU profiling
•MICA2 radio
Wireless Sensor Network
Copyright – Tutti i diritti riservati
29
Dario Rossi, Politecnico di Torino
PowerTOSSIM: Benchmark
•Develop a hardware power model
•Isolate the power consumption of
different hardware devices
•Microbenchmarks
•CPU (different known power levels,
instruction count)
•Radio (different power levels)
•EEPROM (read/write)
•Sensing unit
Wireless Sensor Network
Copyright – Tutti i diritti riservati
30
Dario Rossi, Politecnico di Torino
PowerTOSSIM: Power Model
Wireless Sensor Network
Copyright – Tutti i diritti riservati
31
Dario Rossi, Politecnico di Torino
PowerTOSSIM: Architecture
•Add module to
track power state
•Minor modification
required to synth.
hw. components
•Decouple data
gathering from
processing (Python)
Wireless Sensor Network
Copyright – Tutti i diritti riservati
32
Dario Rossi, Politecnico di Torino
PowerTOSSIM: Implementation
Wireless Sensor Network
Copyright – Tutti i diritti riservati
33
Dario Rossi, Politecnico di Torino
PowerTOSSIM: Validation
Measured
CntToLedsAndRfm
•Cnt++
•putLeds(Cnt & 0x07)
•sendPkt(Cnt)
0
Wireless Sensor Network
Copyright – Tutti i diritti riservati
34
2
4
6
Dario Rossi, Politecnico di Torino
PowerTOSSIM: Validation
Simulated
Measured
Wireless Sensor Network
Copyright – Tutti i diritti riservati
35
Dario Rossi, Politecnico di Torino
PowerTOSSIM: Validation
Wireless Sensor Network
Copyright – Tutti i diritti riservati
36
Dario Rossi, Politecnico di Torino
Conclusion
TOSSIM
• Simulates TinyOS applications
• Can be useful during development phase
TOSSIM is
• Integrated into TinyOS
– The same code can be used for simulation and real test-beds
• Extensible
– Radio Stack, Power and CPU Profiling.
– Extension may be however tricky
• Scalable enough
– But possibly very slow
• Results are quite accurate
– But not authoritative
Wireless Sensor Network
Copyright – Tutti i diritti riservati
37
Dario Rossi, Politecnico di Torino
References
•.Levis, N. Lee, M. Welsh and D. Culler, TOSSIM: Accurate and
Scalable Simulation of Entire TinyOS Applications, In Proc. of
SenSys 2003.
V Shnayder, M Hempstead, B Chen, GW Allen, M Welsh,
Simulating the power consumption of large-scale sensor network
applications. In Proc. of SenSys 2004
Wireless Sensor Network
Copyright – Tutti i diritti riservati
38