Enhancing the Credibility of Wireless Network Simulations with - - PowerPoint PPT Presentation

enhancing the credibility of wireless network simulations
SMART_READER_LITE
LIVE PREVIEW

Enhancing the Credibility of Wireless Network Simulations with - - PowerPoint PPT Presentation

Enhancing the Credibility of Wireless Network Simulations with Experiment Automation Dr. L. Felipe Perrone perrone@bucknell.edu Christopher J. Kenna cjk@cs.wm.edu Bryan C. Ward bryan.ward@bucknell.edu Dept. of Computer Science Bucknell


slide-1
SLIDE 1

STWiMob 2008 October 12, 2008

Enhancing the Credibility of Wireless Network Simulations with Experiment Automation

  • Dr. L. Felipe Perrone perrone@bucknell.edu

Christopher J. Kenna cjk@cs.wm.edu Bryan C. Ward bryan.ward@bucknell.edu

  • Dept. of Computer Science

Bucknell University, Lewisburg, PA, U.S.A.

slide-2
SLIDE 2

STWiMob 2008 October 12, 2008

Why we run simulations

We need to understand the technology before we can rely on it for mission-critical applications. Performance can be quantified/estimated with computer simulation.

2

slide-3
SLIDE 3

STWiMob 2008 October 12, 2008

Credibility issues

3

  • What was the version of the simulator used?
  • What what sub-models were used?
  • Where to find the complete experimental set up?

Experiments published are not always reproducible.

slide-4
SLIDE 4

STWiMob 2008 October 12, 2008

Credibility issues

4

  • Papers publish a thin “slice” of experimental results.
  • Methodology to compute the statistics of output

data doesn’t conform to best practices.

  • Plots without units on axes, legends on data series,

and/or confidence intervals. Output data is unavailable or unreliable.

slide-5
SLIDE 5

STWiMob 2008 October 12, 2008

Credibility issues

5

  • T. Camp, S. Kurkowski, and M. Colagrosso, “MANET simulation studies: The

Incredibles,” SIGMOBILE Mob. Comput. Commun. Rev., vol. 9, no. 4, pp. 50–61, 2005.

  • K. Pawlikowski, H. J. Jeong, and J. R. Lee, “On credibility of simulation studies of

telecommunication networks,” IEEE Communications Magazine, vol. 40, January 2002.

  • C. Cicconetti, E. Mingozzi, and G. Stea, “An integrated framework for enabling

effective data collection and statistical analysis with ns-2,” in Proceedings from the 2006 Workshop on ns-2, Pisa, Italy, October 2006.

  • ...

We know where and how we’re failing. We can use automation solutions to avoid problems.

slide-6
SLIDE 6

noise_figure 290 K 10.0 dB carrier_frequency 1.0 ambient_noise_factor system_loss temperature 2.4 GHz

Model: 2-ray ground reflection

Radio Propagation Channel

3,000 m xdim 5.0 m zdim boundary 5,000 m wraparound ydim

Model: Flat

Terrain

65 s pause_time 5.0 m/s min_speed max_speed 10.0 m/s

Model: Random waypoint

Mobility

Model: Random

Node Deployment

packet size 512 CBR bit rate model protocol_graph 3000 bps bit rate wireless

Model: Host

Host 1

packet size 512 CBR bit rate model protocol_graph 3000 bps bit rate wireless

Model: Host

Host 1

packet size 512 CBR bit rate model protocol_graph 3000 bps bit rate wireless

Model: Host

Host 1

packet size 512 CBR bit rate model protocol_graph 3000 bps bit rate wireless

Model: Host

Wireless Node 1

STWiMob 2008 October 12, 2008

Model Composition

6

slide-7
SLIDE 7

Model Specification Terrain Node Mobility Node Application Node Deployment Experiment Configuration Simulations Results Plotter

STWiMob 2008 October 12, 2008

SWAN Tools

7

A web-based application that guides the construction of the simulation experimental study and its data analysis. SWAN Tools is self-documenting: it allows experiments to be reproducible.

slide-8
SLIDE 8

STWiMob 2008 October 12, 2008

Web-based Interface to SWAN

  • Control of the simulation process:
  • Experiment design
  • Configuration
  • Execution
  • Data analysis
  • Remote access via a web browser.
  • Browser talks to server which automates the

simulation process.

8

slide-9
SLIDE 9

STWiMob 2008 October 12, 2008

Experiment Configuration

  • User can work with multiple experiments.
  • Each experiment is bound to a specific code base of

the simulator (user uploaded).

  • For each experiment, define number of runs for

each simulation, random number generator seeds, length of transient time (for data deletion).

  • User can’t change an ongoing or completed

experiment.

9

slide-10
SLIDE 10

STWiMob 2008 October 12, 2008

Model Specification

  • GUIs guide the user to enter all the parameters

for all the sub-models employed.

  • No default values for model parameters.
  • Validates parameter data.
  • Shows the units for each parameter and helps

user to understand context.

  • Experiment design builds list of levels for each

parameter.

10

slide-11
SLIDE 11

STWiMob 2008 October 12, 2008

Simulations

  • Generates all design points for the experiment.
  • Creates a configuration file for each simulation

run.

  • Dispatches simulation runs for an experiment

across multiple processors (multiple replications in parallel - MRIP).

11

slide-12
SLIDE 12

STWiMob 2008 October 12, 2008

Results

  • User can see the raw data from each simulation

run.

  • Results are stored together with the

configuration that was used to generate them.

  • Uses established methodology to generate

statistics (average, standard deviation, confidence intervals, etc.)

12

slide-13
SLIDE 13

STWiMob 2008 October 12, 2008

Plotter

  • User can request the system to built plots

from stored results.

  • The user can define what the plot will include

from the web browser. The system processes the relevant data, generates a plot that meets standards, and sends the results back to the browser for display or download.

13

slide-14
SLIDE 14

STWiMob 2008 October 12, 2008

Implementation

  • r

Why Ruby on Rails Rocks

14

slide-15
SLIDE 15

Experiment Simulator Schema Parameter Group Random Mobility Simulations Results Sample has many belongs to belongs to has one has one belongs to has many belongs to has one belongs to b e l

  • n

g s t

  • has many

has many belongs to

STWiMob 2008 October 12, 2008

It’s All about the Database

15

slide-16
SLIDE 16

STWiMob 2008 October 12, 2008 16

Database Interactions

  • Migrations
  • Easy to add/remove columns or tables
  • Agile for developers
  • Abstraction
  • Data accessible as class variables
  • Easily map relations between classes
slide-17
SLIDE 17

STWiMob 2008 October 12, 2008

Ruby

  • Easy and powerful
  • Metaprogramming
  • Dynamically create new methods
  • Flexibility

17

slide-18
SLIDE 18

STWiMob 2008 October 12, 2008

AJAX

  • AJAX helpers provided by Ruby on Rails
  • Easier interface
  • Reduced page loads and refreshes
  • Component validation
  • Constrains user to enter only valid parameters

18

slide-19
SLIDE 19

STWiMob 2008 October 12, 2008

Embedded Ruby (ERb)

  • Views
  • Dynamic content with embedded ruby in views
  • Access to RoR AJAX helper functions
  • DML Configuration
  • Dynamically generate configuration files
  • Allows for a single global template

19

slide-20
SLIDE 20

STWiMob 2008 October 12, 2008

DML Configuration file

mobility [ model "mobility.random" # import models for random movement deployment "random" # distribute mobiles uniformly in space period 1 # time interval between position updates in sec. motion [ type "waypoint" # use random waypoint mobility. mobid 1 # unique identifier for this pattern of movement pause_time 4 # pause time min_speed 5 # minimum node speed max_speed 30 # maximum node speed ] # end of random waypoint motion

...

]

20

slide-21
SLIDE 21

STWiMob 2008 October 12, 2008

Is this configuration interface safer?

21

slide-22
SLIDE 22

STWiMob 2008 October 12, 2008

DML Configuration file

mobility [ model <%= self.model %> # import models for random movement deployment <%= self.deployment %> # distribute mobiles uniformly in space period <%= self.period %> # time interval between position updates in sec. motion [ type <%= self.motion_type %> # use random waypoint mobility. mobid <%= self.mob_id %> # unique identifier for this pattern of movement pause_time <%= self.pause_time %> # pause time min_speed <%= self.min_speed %> # minimum node speed max_speed <%= self.max_speed %> # maximum node speed ] # end of random waypoint motion

...

] #end of mobility

22

slide-23
SLIDE 23

STWiMob 2008 October 12, 2008

Distributed Ruby (DRb)

Multiple Replications in Parallel (MRIP)

  • Run on multiple systems
  • Collect more samples by running more simulations
  • All results reported to server process
  • Statistics automatically generated – no user error
  • Results stored on filesystem and in database

23

slide-24
SLIDE 24

Database DRb Experiment Server Node 1 Results Configurations Node N Configurations Results

...

Simulations

STWiMob 2008 October 12, 2008

DRb and MRIP

24

slide-25
SLIDE 25

STWiMob 2008 October 12, 2008

Future Work

  • AJAX plotting utility.
  • AJAX runtime queue management.
  • Automatically determine length of transient

and length of simulation run given a desired level of confidence.

25