Emulation of Ad Hoc Networks David A. Maltz, Qifa Ke, David B. - - PowerPoint PPT Presentation

emulation of ad hoc networks
SMART_READER_LITE
LIVE PREVIEW

Emulation of Ad Hoc Networks David A. Maltz, Qifa Ke, David B. - - PowerPoint PPT Presentation

Emulation of Ad Hoc Networks David A. Maltz, Qifa Ke, David B. Johnson CMU Monarch Project Computer Science Department Carnegie Mellon University http://www.monarch.cs.cmu.edu/ Carnegie Mellon CMU Monarch Project monarch@monarch.cs.cmu.edu


slide-1
SLIDE 1

Emulation of Ad Hoc Networks

David A. Maltz, Qifa Ke, David B. Johnson CMU Monarch Project Computer Science Department Carnegie Mellon University http://www.monarch.cs.cmu.edu/ Carnegie Mellon

CMU Monarch Project monarch@monarch.cs.cmu.edu

slide-2
SLIDE 2

Early Emulation Successes

Stress testing of networking code via macfilter

Used to debug our 8 node ad hoc network testbed Description of interesting/problematic movement scenarios

created

Changing network topology extracted into trace file Physical machines running actual implementation

synchronously read trace-file

Machines prevented from receiving packets from non-neighbors Described at previous IETF and in CMU CS Tech Report 99-116

Found to be critical for achieving code stability, however cannot be used for performance evaluation

Propagation model grossly simplified MAC-layer effects unaccounted for

CMU Monarch Project monarch@monarch.cs.cmu.edu

slide-3
SLIDE 3

Goal of Current Emulation Work

Evaluate real systems under ad hoc network conditions:

Performance study of network protocols or applications Without implementing them in ns-2 Without deploying and operating physical machines in the field Using real implementation and real user pattern Only the network environment is simulated

Evaluating real systems with just simulation is not practical:

Difficult to model real applications inside the simulator Real systems are significantly performance tuned

Example: Evaluate performance of CMU Coda file system in an ad hoc network:

Coda is 100+ KLOC implemented and tuned Coda researchers have expertise to evaluate their system but

can’t create network environments

CMU Monarch Project monarch@monarch.cs.cmu.edu

slide-4
SLIDE 4

Method

Leverage emulation work by Kevin Fall and VINT project ns-server is a single central machine running ns-2 Real application code runs on real machines directing real

packets to “default router” (ns-server)

User creates scenarios to control the environment inside ns-2:

– Movement pattern of all mobile nodes inside ns-2 – Background traffic

MN1 ns-server MN2 MN3 MN4 Logical view of emulation setup

CMU Monarch Project monarch@monarch.cs.cmu.edu

slide-5
SLIDE 5

Informal Validation of Emulation Method

Example: Compare FTP behavior between simulation and emulation:

ns-server: 450 MHz Pentium II CPU, running FreeBSD 3.1 10 simulated nodes Compare 30 MB FTP transfer between simulation and emulation 2 additional simulated FTP connections for background traffic

TCP time–sequence # plots have basically the same shape: But how well does this scale?

50 100 150 200 250 300 0.5 1 1.5 2 2.5 3 3.5x 10

7

time (seconds) bytes transfered simulation emulation

CMU Monarch Project monarch@monarch.cs.cmu.edu

slide-6
SLIDE 6

A More Challenging Example

16 simulated nodes moving in a complicated pattern with CBR

and FTP background traffic

30 MB FTP transfer simulated in ns-2 30 MB FTP transfer between two physical nodes with emulation

100 200 300 400 500 0.5 1 1.5 2 2.5 3x 10

7

time (seconds) bytes transfered

simulation emulation

CMU Monarch Project monarch@monarch.cs.cmu.edu

slide-7
SLIDE 7

Evaluating Emulation Scalability

Limitations on emulation scalability:

System effects: scheduling delays, potential buffer overruns Additional latency of transferring packets to/from ns-server Only so much one CPU can do

Experimental scenario:

Conduct real FTP transfer

between 2 physical nodes

Vary the number of other

simulated nodes in ns-2

Vary the amount of

background traffic

  • CBR

30 M Bytes

SINK SRC

Scalability Test Scenario

CMU Monarch Project monarch@monarch.cs.cmu.edu

slide-8
SLIDE 8

Scalability Results Summary

Ideally: emulation throughput = simulation throughput

Pure simulation achieves 1.49 Mb/s on a 2 Mb/s link Emulation achieves throughput that depends on overall

simulator workload:

4 8

1.30 Mb/s

16 10 50 100

1.44 Mb/s 960 Kb/s

300 # of nodes # of CBR packets/second

FTP Throughput Achieved

CMU Monarch Project monarch@monarch.cs.cmu.edu

slide-9
SLIDE 9

Does the Simulator Keep up with Real Time?

For event scheduled at t1 but processed at t2: time-lag = t2 – t1 Record the time-lag for each delayed event Histograms show almost all time-lags are less than 4 ms

4 54 104 154 204 ms 10

1

10

2

10

3

10

4

10

5

10

6

Max lag: 355 ms Total # of events: 1.64e+07

100 CBR packets/sec 16 nodes # of time-lag events

CMU Monarch Project monarch@monarch.cs.cmu.edu

slide-10
SLIDE 10

All of the Histograms

10

1

10

2

10

3

10

4

10

5

10

6

1.03e+06 0 packets/sec 4 simulated nodes 1.30e+06 10 packets/sec 2.38e+06 50 packets/sec 3.73e+06 100 packets/sec 9.13e+06 300 packets/sec

10

1

10

2

10

3

10

4

10

5

10

6

1.65e+06 8 simulated nodes 2.28e+06 4.80e+06 7.95e+06 2.06e+07

4 54 104 154 204 10

1

10

2

10

3

10

4

10

5

10

6

2.89e+06 16 simulated nodes

4 54 104 154 204

4.24e+06

4 54 104 154 204

9.65e+06

4 54 104 154 204

1.64e+07

4 54 104 154 204

4.35e+07

CMU Monarch Project monarch@monarch.cs.cmu.edu

slide-11
SLIDE 11

Conclusion

Emulation works for networks of sufficient size and complexity to enable study of interesting application scenarios

Using direct emulation based on ns leverages future

improvements to propagation models

The bottleneck is the real-time requirement in ns-server Currently using to evaluate the Coda distributed file system

Open questions:

How far can this technique be generalized? How to ensure performance measurements are meaningful?

– Open loop: evaluate emulation system on many scenarios using reference application with good simulation models – Closed loop: after each emulation run, examine emulation trace to determine if emulation system introduced artifacts – Validate against real system in ad hoc network testbed

CMU Monarch Project monarch@monarch.cs.cmu.edu