Distributed Simulation of Heterogeneous Sensor Network


[Introduction] [People] [Status] [Documents] [Download] [Related Projects]

Introduction

This project started when we looked into the sensor network research and found that there was no suitable software tool/platform for our use. So we decided to build this simulation system with all the characteristics we need: It should have high fidelity; it should run fast; it should scale well; and it should support all the popular devices used in sensor networks. When it finally comes into shape, we hope it also benefits the research community.

1. Basis: Full-System Simulators

The complete system is composed by a set of full-system simulators, a distributed simulation framework and debugging/profiling facilities. The basis is the set of full-system simulators which provide device simulation with high accuracy (cycle/power). The following table lists the devices we simulate and the features we currently support. Note that all these simulators can boot the original Linux binary image and application binaries can be directly executed.

Simulators Simulated Devices Supported Hardware Features Boot OS Fidelity
(current status)
Performance
(v.s. real hardware)
ipaqsim HP iPAQ H36xx
  1. ARM v4 instruction set;
  2. Intel SA1110 processor, including MMU, GPIO, interrupt, clock, timer, UART, etc.;
  3. SDRAM;
  4. Intel StrataFlash chip;
  5. iPAQ internal microcontroller;
  6. iPAQ sleeve and PCMCIA interface;
  7. Orinoco wireless PC card (with network emulation so that simulated system can connect to Internet).
Yes
(Linux 2.4.18)
not cycle accurate/
not power accurate
~10-20x slower
starsim Stargate
  1. ARM v5TE instruction set with XScale DSP instructions;
  2. XScale pipeline simulation, including TLB, BTB, cache and fill/write buffers;
  3. Intel PXA255 processor, including MMU, GPIO, interrupt, clock, timer, UART, etc.;
  4. Intel SA1111 companion chip;
  5. SDRAM;
  6. Intel StrataFlash chip;
  7. PCMCIA interface;
  8. Orinoco wireless PC card (with network emulation so that simulated system can connect to Internet).
Yes
(Linux 2.4.19)
cycle close/
not power accurate
~20x slower (fast) /
~60x slower (cycle-close)
motesim Mica2, MicaZ
  1. AVR instruction set;
  2. ATmega128L microcontroller, including most on-chip functions: program memory, RAM, EEPROM, timers, serial devices (UARTs), SPI (Serial Peripheral Interface), ADC (Analog/Digital Converter), Watch Dog Timer andfuse bit setting (for boot loader and self programming);
  3. 512KB on-board flash;
  4. Serial ID chip;
  5. CC1000 (Mica2) and CC2420 (MicaZ) radio chips;
  6. LEDs and the sensor boards;
  7. Built-in serial forwarder;
  8. Radio transmission model (simple).
Yes
(TinyOS 1.x)
cycle accurate/
power accurate
~10x faster

2. Distributed Simulation

Our major contribution is the distributed simulation framework (DiSenS: DIstributed SENsor network Simulation) for scalable sensor network simulation. We devised a simple and effective distributed synchronization protocol and made it possible to simulate hundreds of motes in real time on a cluster machine. Here are some numbers to show the scalability:
The following graph shows the performance of DiSenS on a 16-node cluster machine (motes are possitioned in 1-D line and 2-D grid).
DiSenS performance

3. Mote Radio Model

Currently, we only support clear channel emulation without loss. But we simulate the collision (thus the hidden-terminal phenomenon) and partial sync bytes reception. We are currently actively working on a better radio model that is based on statistical model.

4. Debugging/Profiling

We currently provides some simple debugging/profiling facilities in our simulation system. Each full-system simulator has a simple debugger attached, including functions like break, step, watch, etc. For mote simulator, we also have a virtual hardware based instrumentation library. It enables communication between simulated system and simulator. Check the documents for details.

People

Developer: Ye Wen , wenye at cs.ucsb.edu
Advisor: Rich Wolski , rich at cs.ucsb.edu

Status

Nov. 28, 2005

DiSenS finished and paper submitted to MobiSys'06.

May. 2005

Mote simulator now works! Simple radio model and able to run TOSBase and CntToRfm.

Dec. 2004

Stargate simulator boots Linux!

Sep. 2004

iPAQ simulator boots Linux!

Apr. 2004

Project started.

Documents

  1. Ye Wen, Rich Wolski and Greg Moore, DiSenS: Scalable Distributed Sensor Network Simulation, To appear in ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 07), San Jose, Mar 14-17 2007
  2. Ye Wen and Rich Wolski, S2DB: A Novel Simulation-Based Debugger for Sensor Network Applications, In the Proceedings of 6th Annual ACM Conference on Embedded Software (EmSoft 06), Seoul, South Korea, Oct 22-25, 2006
  3. Ye Wen, Selim Gurun, Navraj Chohan, Rich Wolski, and Chandra Krintz, SimGate: Full-System, Cycle-Close Simulation of the Stargate Sensor Network Intermediate NodeIn the Proceedings of SAMOS VI (Embedded Computer Systems: Architectures, MOdeling, and Simulation), Samos, Greece, July 17-20, 2006
  4. Ye Wen, Selim Gurun, Navraj Chohan, Rich Wolski, and Chandra Krintz. SimGate: Full-System, Cycle-Accurate Simulation of the Stargate Intermediate Node for Sensor Networks, UCSB CS technical report 2005-12.

Download

Since our code is still very immature and a lot of features are not complete, we can't provide the system code/binary right now. But we plan to release our system in the near future.
Right now, you can try this ipaqsim simulator. After you download the package, just unpack it and follow the README. It takes a while (4-10 mins) to boot the linux. Be patient! As I know, there is few iPAQ full-system simulator available. So maybe this will help. Please drop me a line if you feel it is useful. Also let me have your valuable suggestions. Thanks.

Related Projects

A list of related projects: