Using Cooja for WSN Simulations: Some New Uses and Limits

Similar documents
Using Cooja for WSN Simulations: Some New Uses and Limits

Implementation of Gradient Routing in WSNs

Routing over Low Power and Lossy Networks

Multiple Redundancy Constants with Trickle

High efficiency MAC protocols for IoT: iqueue-mac and implementation on RIOT OS

Evaluation of 6LoWPAN Implementations

Secure routing in IoT networks with SISLOF

Low Power and Low Latency MAC Protocol: Dynamic Control of Radio Duty Cycle

IT-SDN: Installation Guide (for Linux 64 bits March, 2017)

Available online at ScienceDirect. Procedia Computer Science 87 (2016 )

ContikiRPL and TinyRPL: Happy Together. JeongGil Ko Joakim Eriksson Nicolas Tsiftes Stephen Dawson-Haggerty Andreas Terzis Adam Dunkels David Culler

arxiv: v1 [cs.ni] 15 Apr 2015

Performance Evaluation of RPL Objective Functions

IETF Participation Experiences and Contributions

TOPOLOGY CONTROL IN WIRELESS SENSOR NETWORKS

Modeling Energy Consumption of Wireless Sensor Networks by SystemC

WaCo: A Wake-Up Radio COOJA Extension for Simulating Ultra Low Power Radios

The Emergence of Networking Abstractions and Techniques in TinyOS

Hands on Contiki OS and Cooja Simulator (Part I)

CHAPTER 5 OPTIMIZATION OF CONTIKIRPL

CHAPTER 2 WIRELESS SENSOR NETWORKS AND NEED OF TOPOLOGY CONTROL

How to develop and validate a scalable mesh routing solution for IEEE sensor networks Altran Benelux

Energy consumption analysis of TSCH-enabled platforms for the Industrial-IoT

An IoT-Aware Architecture for Smart

INTRODUCTION TO WIRELESS SENSOR NETWORKS. CHAPTER 2: ANATOMY OF A SENSOR NODE Anna Förster

Optimizing Routing Protocol for Low power and Lossy Network (RPL) Objective Function for Mobile Low-Power Wireless Networks

Implementation of SNMP Protocol with ContikiOS [Kur10] for WSN430 targets

WalT: testing sensor networks and distributed environments

TOSSIM. Răzvan Musăloiu-E.

Portable and easy-to-use operating systems for wireless sensor networks

System Architecture Directions for Networked Sensors[1]

Design Considerations for Low Power Internet Protocols. Hudson Ayers Paul Crews, Hubert Teo, Conor McAvity, Amit Levy, Philip Levis

Linux-based 6LoWPAN border router

FIT IoT-LAB: The Largest IoT Open Experimental Testbed

Debugging Wireless Sensor Network Simulations

INTERNATIONAL JOURNAL OF COMMUNICATIONS Volume 12, Performance comparative analysis of LOADing-CTP and RPL routing protocols for LLNs

MAC LAYER. Murat Demirbas SUNY Buffalo

Measurement-based Analysis of the Effect of Duty Cycle in IEEE MAC Performance

Realistic Performance Analysis of WSN Protocols Through Trace Based Simulation. Alan Marchiori, Lin Guo, Josh Thomas, Qi Han

Constrained Application Protocol (CoAP) Vilen Looga, M.Sc. Doctoral

Quantitative Analysis and Evaluation of RPL with Various Objective Functions for 6LoWPAN

Design and implementation of an experimental platform for performance analysis in wireless sensor networks

Mobile Communications

Remote Storage for Sensor Networks Abstract 1. INTRODUCTION

Lesson 4 RPL and 6LoWPAN Protocols. Chapter-4 L04: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Towards Wireless Sensor Network Softwarization

Design and Implementation of SDN-based 6LBR with QoS Mechanism over Heterogeneous WSN and Internet

Communication stacks: Constrained Application Protocol

Running a simple 6LowPAN network consisting of one receiver node and one or more sensor nodes in a Sub-1GHz RF band

A Comparative Performance Study of the Routing Protocols RPL, LOADng and LOADng-CTP with Bidirectional Traffic for AMI Scenario

IPv6 Stack. 6LoWPAN makes this possible. IPv6 over Low-Power wireless Area Networks (IEEE )

Design Considerations for Low Power Internet Protocols

2

Study of RPL DODAG Version Attacks

Project Final Report Bluetooth Camera Sensor. Project Abstract. Status. Specification

Confident-based Adaptable Connected objects discovery to HArmonize smart City Applications R. Petrolo, V. Loscri, N. Mitton

Impact of IEEE MAC Packet Size on Performance of Wireless Sensor Networks

Indriya_DP_03A14. Features. Block Diagram. XBEE based Wireless Sensor Network development platform

ns-3 RPL module: IPv6 Routing Protocol for Low power and Lossy Networks

Improving the Energy Efficiency of WSN by Using Application-Layer Topologies to Constrain RPL-defined Routing Trees

Supporting Mobile Swarm Robotics in Low Power and Lossy Sensor Networks. Kevin Andrea Robert Simon

Hardware Support for a Wireless Sensor Network Virtual Machine

New RF Models of the TinyOS Simulator for IEEE Standard

IPv6 Implications on the Management Plane. Huawei, Shenzhen,

Software Engineering for Wireless Sensor Networks A Case Study

The P2P-RPL Routing Protocol for IPv6 Sensor Networks: Testbed Experiments

Internet of Things: Latest Technology Development and Applications

Leveraging IP for Sensor Network Deployment

EVALUATING THE FUNCTIONALITY OF AN INDUSTRIAL INTERNET OF THINGS SYSTEM

Lithe: Lightweight Secure CoAP for the Internet of Things

FIT IoT-LAB tutorial: hands-on practice with a very large scale testbed tool for the Internet of Things

A Multipath AODV Reliable Data Transmission Routing Algorithm Based on LQI

TOSSIM simulation of wireless sensor network serving as hardware platform for Hopfield neural net configured for max independent set

Secure Routing in Wireless Sensor Networks: Attacks and Countermeasures

Exercises of lecture Wireless Sensor Networks Winter 2006/2007 Sheet 4

Realising WACNet Through a Zigbee-based Architecture

Towards Robust and Flexible Low-Power Wireless Networking

Picking a model for /802.1 bridging

Gateway Discovery Approaches Implementation and Performance Analysis in the Integrated Mobile Ad Hoc Network (MANET)-Internet Scenario

On the Scalability of Hierarchical Ad Hoc Wireless Networks

Semainaire Objects connectés industriels, M2M, réseaux June 12th, 2014 IoT et Smart Cities: comment passer à l échelle

Performance Evaluation of a Software-Defined Wireless Sensor. Tubagus Rizky Dharmawan

RF and network basics. Antonio Liñán Colina

TAG: A TINY AGGREGATION SERVICE FOR AD-HOC SENSOR NETWORKS

Lecture 04 Introduction: IoT Networking - Part I

Smart Waste Management using Internet of Things Architecture

Contiki a Lightweight and Flexible Operating System for Tiny Networked Sensors

Improvements on Proxying and Cache Scheme of CoAP Protocol for IPv6-Based Wireless Sensor Networks

Simulation of the RPL Routing Protocol for IPv6 Sensor Networks: two cases studies

Outline. Multi-Channel Reliability and Spectrum Usage in Real Homes Empirical Studies for Home-Area Sensor Networks. Smart Grid

ESR Consortium LWM2M-MQTT-1.0

Design and Analysis of Routing Protocol for IPv6 Wireless Sensor Networks

Data Elevators Applying the Bundle Protocol in Delay Tolerant Wireless Sensor Networks

Piggy-Backing Link Quality Measurements to IEEE Acknowledgements

Interoperability. Luca Mottola slides partly by Simon Duquennoy. Politecnico di Milano, Italy and Swedish Institute of Computer Science

Constrained Application Protocol (CoAP) Vilen Looga, M.Sc. Doctoral

New Real Evaluation Study of Rpl Routing Protocol Based on Cortex M3 Nodes of Iot-Lab Test Bed

A Performance Evaluation of RPL in Contiki

RAIM: Redundant Array of Independent Motes

TTCN-3 in the Internet of Things(IoT), Testing in lossy environments

Transcription:

Using Cooja for WSN Simulations: Some New Uses and Limits Kévin Roussel Ye-Qiong Song Olivier Zendra INRIA Nancy Grand-Est LORIA UMR 7503 Université de Lorraine EWSN 2016 NextMote workshop 15 February 2016 1 / 17

Contents 1 Introduction 2 Cooja and MSPSim 3 Using Cooja and MSPSim: Not Only for Contiki! 4 Timing Inaccuracy Problem in MSPSim The Setup The Results Discussion 5 Consequences 6 Conclusions 2 / 17

Introduction Introduction I To develop and test large, ambitious WSN-based projects need of powerful and accurate simulation/emulation tools Many such simulation/emulation tools for WSNs exist: OpenSim (from OpenWSN project) TOSSIM (from TinyOS project) Cooja (from Contiki OS project) This work focuses on the latter framework: Cooja (one of) the most used WSN simulation/emulation tool 3 / 17

Introduction Introduction II Contributions of our work: we will focus on... 1 the ability actually tested and used to use the Cooja framework to simulate/emulate systems not related to Contiki OS 2 the inaccuracies in time-related results we discovered while using Cooja a to perform our own simulations to test our own WSN-related projects 3 the possible consequences of these inaccuracies in the literature published in the WSN domain a Note we always used the Cooja version provided with Contiki release 2.7 4 / 17

Cooja and MSPSim The Cooja framework and its emulators The present work focuses on Cooja and the MSPSim emulator only 5 / 17

Using Cooja and MSPSim: Not Only for Contiki! Using Cooja and MSPSim with any WSN system... (or even without) What do Cooja s embedded emulators run? The Contiki build system produces standard (ELF format) executables the Cooja embedded emulators are designed to run such standard executables What does it mean? Any system producing such standard ELF executables (besides Contiki OS itself) will run on virtual motes emulated with the Cooja framework We tested this with MSPSim, using: applications based on RIOT OS bare-metal applications Any other OS using msp430-gcc as its compiler (e.g.: TinyOS) should run fine on Cooja/MSPSim: a simple trick on executables file extension is enough 6 / 17

Timing Inaccuracy Problem in MSPSim The Setup Timing Inaccuracy Problem in MSPSim: Setup What did we discover during our experiments? unexplained delays during simulations/emulations of packet transmissions (TX), not observed on real hardware the differences appear on one peculiar operation: when loading the TX buffer of the CC2420 radio transceiver What did we do to investigate that problem? we wrote a simple test program, which only sends data packets of various sizes (resp. 30, 60 and 110 bytes of MAC payload) we tried this program on various configurations: two different hardware platforms: Sky/TelosB and Zolertia Z1 motes two different WSN OS: Contiki and RIOT OS 7 / 17

Timing Inaccuracy Problem in MSPSim The Results Timing Inaccuracy Problem in MSPSim: Results I Inaccuracy = Simulated delay Actual Hardware test delay Actual Hardware test delay Observed TX buffer loading delay inaccuracies of MSPSim emulation versus tests on actual hardware HW platform OS Payload size Inaccuracy SkyMote/TelosB Contiki 30 bytes 11% SkyMote/TelosB Contiki 60 bytes 15% SkyMote/TelosB Contiki 110 bytes 13% SkyMote/TelosB RIOT OS 30 bytes 15% SkyMote/TelosB RIOT OS 60 bytes 16% SkyMote/TelosB RIOT OS 110 bytes 18% Zolertia Z1 Contiki 30 bytes 122% Zolertia Z1 Contiki 60 bytes 114% Zolertia Z1 Contiki 110 bytes 95% Zolertia Z1 RIOT OS 30 bytes 184% Zolertia Z1 RIOT OS 60 bytes 185% Zolertia Z1 RIOT OS 110 bytes 181% 8 / 17

Timing Inaccuracy Problem in MSPSim The Results Timing Inaccuracy Problem in MSPSim: Results I What do our tests show? the inaccuracy problem is mainly influenced by the emulated hardware platform on Zolertia Z1 motes, timing inaccuracies are catastrophic: delays are overestimated by amounts from 95% to 185% on Sky/TelosB motes, timing inaccuracies are much less important: delays are under- or overestimated by amounts up to 18% the used OS has much less influence on the problem: results tend to be more accurate on Contiki than on RIOT OS the size of transmitted packets doesn t seem to have any significative impact on this problem 9 / 17

Timing Inaccuracy Problem in MSPSim The Results Timing Inaccuracy Problem in MSPSim: Results II Relative weight of TX buffer loading in packet transmission delays HW platform OS Payload size Loading delay Total delay SkyMote/TelosB Contiki 30 bytes 13% SkyMote/TelosB Contiki 60 bytes 13% SkyMote/TelosB Contiki 110 bytes 12% SkyMote/TelosB RIOT OS 30 bytes 57% SkyMote/TelosB RIOT OS 60 bytes 53% SkyMote/TelosB RIOT OS 110 bytes 51% Zolertia Z1 Contiki 30 bytes 10% Zolertia Z1 Contiki 60 bytes 11% Zolertia Z1 Contiki 110 bytes 10% Zolertia Z1 RIOT OS 30 bytes 52% Zolertia Z1 RIOT OS 60 bytes 48% Zolertia Z1 RIOT OS 110 bytes 46% 10 / 17

Timing Inaccuracy Problem in MSPSim The Results Timing Inaccuracy Problem in MSPSim: Results II What do our tests show (bis)? The TX buffer loading operation weight in the whole packet transmission time is anything but negligible: This TX buffer loading operation amounts to about half of the total packet transmission delay under RIOT OS (much less on Contiki, where it represents 10% to 13%) This is probably due to the way these OSes do manage the SPI bus that links the MCU to the radio transceiver on a mote: fast mode (sending burst of bytes) for Contiki OS safe mode (checking every byte sent) for RIOT OS 11 / 17

Timing Inaccuracy Problem in MSPSim Discussion Timing Inaccuracy Problem in MSPSim: Discussion What can we deduce from these results? Cooja/MSPSim simulations/emulations do not provide accurate enough timing-related results, especially on Zolertia Z1 motes with this inaccuracy issue, the simulations/emulations made with this framework cannot be used for timing evaluation purposes of WSN-based projects since the hardware seems to be the main factor influencing this problem, we suppose its cause is at least partially linked to wrong timing calibrations for microcontrollers emulation 12 / 17

Consequences Consequences on WSN Literature What did we find? many recent publications rely on Cooja/MSPSim to perform, directly or indirectly, time-related performance evaluations of their WSN-based projects [1] [2] [3] [4] [5] [6] [7] [8] most of these publications are focused on higher layers of WSN network stacks, like routing protocols [1] [4] [6] or application-level projects [2] [3] [7] [8] their authors may probably be unaware of this problem, since they are not focused on low-level details What does that mean? Many WSN studies rely (at least partially) on Cooja/MSPSim to evaluate their time-related performances This inaccuracy problem could make their results unreliable, and thus put their conclusions in jeopardy! 13 / 17

Conclusions Conclusions I Our contributions: 1 we showed that the Cooja framework is not limited to simulations of systems running Contiki OS, but can run any program designed for the emulated architectures (especially MSP430, thanks to MSPSim) 2 we showed that the MSPSim emulation at least for the version provided with Contiki release 2.7 suffers from a serious timing inaccuracy issue; we described the extent of the problem, and provided serious clues about its cause(s) 3 we briefly enumerated a (non-exhaustive) list of recent publications, showing the magnitude of the negative impact this problem can cause 14 / 17

Conclusions Conclusions II In summary: Until a fix is made and published to correct this issue in MSPSim, we think that all works based on Cooja/MSPSim simulations to evaluate WSN projects for timing matters should be checked (even partially) by tests on actual hardware How to test the accuracy of your own works? We provided the source of our test programs (for Contiki and RIOT OS) on a public GitHub repository: https://github.com/rousselk/tim-inacc-tst-prg 15 / 17

Conclusions Conclusions III Strengths of Cooja/MSPSim: the many publications in the domain of WSNs, especially very recent ones, including Cooja/MSPSim simulations, is a testimony of the usefulness of such an emulation framework (especially to test large WSNs, which is often difficult and expensive to with actual hardware) That s why we strongly believe fixing Cooja/MSPSim is really important, and hope for such a fix to appear soon while the issue described can impair the use of Cooja/MSPSim as a performance evaluation tool, it does not affect its other valuable uses, like the ability to develop and debug WSN-related software much more easily thanks to its emulation features 16 / 17

Thanks for Your Attention Any questions? Acknowledgements (Funding) This work has been funded by the French national PIA a LAR ( Living Assistant Robot ). a PIA : «Programme d investissement d avenir» 17 / 17

References References [1] B.F. Marques and M.P. Ricardo. Improving the Energy Efficiency of WSN by Using Application-Layer Topologies to Constrain RPL-Defined Routing Trees. In MED-HOC-NET 2014, pages 126 133, June 2014. [2] M. Amoretti, O. Alphand, G. Ferrari, F. Rousseau, and A. Duda. DINAS: A Distributed Naming Service for All-IP Wireless Sensor Networks. In WCNC 2014, pages 2781 2786, April 2014. [3] B. Djamaa, M. Richardson, N. Aouf, and B. Walters. Towards Efficient Distributed Service Discovery in Low-Power and Lossy Networks. Wireless Networks, 20(8):2437 2453, November 2014. [4] E. Ancillotti, R. Bruno, and M. Conti. Reliable Data Delivery With the IETF Routing Protocol for Low-Power and Lossy Networks. Industrial Informatics, IEEE Transactions on, 10(3):1864 1877, August 2014. [5] B. Trevizan de Oliveira, C. Borges Margi, and L. Batista Gabriel. TinySDN: Enabling Multiple Controllers for Software-Defined Wireless Sensor Networks. In LATINCOM 2014, pages 1 6, November 2014. [6] E. Ancillotti, R. Bruno, M. Conti, E. Mingozzi, and C. Vallati. Trickle-L 2 : Lightweight Link Quality Estimation through Trickle in RPL Networks. In WoWMoM 2014, pages 1 9, June 2014. [7] E. Felemban, A.A. Sheikh, and M.A. Manzoor. Improving Response Time in Time Critical Visual Sensor Network Applications. Ad Hoc Networks, 23:65 79, December 2014. [8] S.-H. Seo, J. Won, S. Sultana, and E. Bertino. Effective Key Management in Dynamic Wireless Sensor Networks. Information Forensics and Security, IEEE Transactions on, 10(2):371 383, February 2015.