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