scalable network path emulation - colgate...
TRANSCRIPT
Scalable Network Path Emulation
Shilpi Agarwal, Joel Sommers, Paul BarfordUniversity of Wisconsin-Madison
http://wail.cs.wisc.edu
simulationlaboratory emulation
in situ
strengths accessibilityexperimental
control; system realism
realism(“it is what it is”)
challenges realism (everything)
realism of traffic, topology, and
link/path conditions
experimental control
examples ns-2, Opnet, GloMoSim
WAIL, DETER, Emulab Planetlab, RON
Internet testbeds
2
network emulation packet delays, bandwidths, loss characteristics,
assuming some topologyModelNet
packet-oriented latency, loss,
duplication, reordering
path emulationDummynet, NIST net
link emulation bit-oriented propagation delay and
errors
Adtech SX-14A spool of optical fiber (!)
A taxonomy of emulation systems
3
Emulation challenges for today’s testbeds
• Scale to many physical routers, links, and end hosts
• Implies need for flexibility in configuration options
• Scale to Gigabit+ links
• Cost effectiveness (free software, commodity hardware)
• No existing software-based link or path emulator satisfies all these requirements
4
WAIL: an example of a modern testbed
> 50 routers (hundreds of interfaces)> 200 workstations
5
NetPath: a scalable network path emulator
• Foundations and design principles of NetPath
• Modify Click modular router — run on commodity hardware
• Eliminate unnecessary packet processing
• Push functionality as close to hardware as possible
• Exploit hardware capabilities where possible
• Support a variety of topological and network configurations
6
NetPath with a single emulated path
poll device receive and timestamp packets
queue buffer packets in system memory
delay delay packets for specified time; perform reordering and errors
addressing decide how/where packet should be forwarded
to device transmit packet in egress interface
7
NetPath with multiple emulated paths
8
queue
delay
addressing
poll device
todevice
classify
scheduler
queue
delay
addressing
. . .
. . .
Classifying and scheduling are only
additional overheads.
Exploiting system memory for high performance
9
• Basic Click elements do not enable full use of memory resources
• Packets are dropped as a result
• NetPath provides new Click elements to take advantage of system resources
• Use available system RAM — BigQueue
• Use disks as backing store for long delays — DiskQueue
• Use a pair of disks to hide disk access latency — ODQM (opportunistic disk queue management)
Options for topological configuration
• Direct interposition
• Layer 2 — virtual interposition
• Additional Click elements to optimize VLAN tag rewriting
• Layer 3 — interposition via IP routing
• Leverage existing Click configuration tools
10
Results overview
• Accuracy & precision of NetPath over a range of operating conditions is close to a hardware-based platform
• NetPath significantly outperforms other emulation systems
• NetPath modifications to Click significantly improve performance over out-of-the-box Click elements
• NetPath can accurately & precisely support simultaneous emulation over several paths
11
Comparison with a hardware-based reference
offered load (kpps)
NetPath Adtech SX-14
50 10.03 (0.01) 9.99 (0.00)
100 10.03 (0.01) 9.99 (0.00)
150 10.04 (0.01) 9.99 (0.00)
200 10.05 (0.01) 9.99 (0.00)
250 10.06 (0.01) 9.99 (0.00)
300 10.09 (0.03) 9.99 (0.00)12
Using available system RAM for packet buffers
13
Using available system RAM enables longer delays at higher packet rates.
50 100 150 200 250 300
020
0040
0060
0080
00
offered packet rate (Kpps)
max
imum
pro
paga
tion
dela
y (m
illise
cond
s)
BigQueueQueue
Accuracy of probabilistic delay emulation
14
NetPath can provide high accuracy, buthead-of-line blocking can be a problem.
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
10 20 30 40 50
0.0
0.2
0.4
0.6
0.8
1.0
delay (milliseconds)
cum
ulat
ive fr
actio
n
● generated delaymeasured delay (1 Kpps)measured delay (10 Kpps)
● ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●
10 20 30 40 500.
00.
20.
40.
60.
81.
0delay (milliseconds)
cum
ulat
ive fr
actio
n
● generated delaymeasured delay (1 Kpps)measured delay (10 Kpps)
Comparison of emulation systems
offered load (Kpps)
NetPath NIST net Dummynet Modelnet
4010.04 (0.01)
10.14 (0.03)
10.00 (0.35)
10.06 (0.13)
8010.04 (0.01)
10.52 (0.40)
10.23 (0.46)
10.10 (0.20)
12010.04 (0.01)
12.75 (0.84)
29.08 (1.68)
10.56 (0.45)
16010.04 (0.01)
16.47 (1.96)
399.00 (3.50)
-failure-
15
Packet drops are a problem with previous emulators
16
NetPath accurately emulates delay without introducing packet loss for much higher rates than other emulators.
● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
0 50 100 150 200
020
4060
80
offered packet rate (Kpps)
pack
et lo
ss p
erce
ntag
e● NetPath
NIST netDummynetModelnet
Scaling to multiple paths
0
87.5
175.0
262.5
350.0
1 2 3 4 5 6 7 8 9 10Max
imum
loss
-free
forw
ardi
ng r
ate
(Kpp
s)
Number of paths
17
NetPath enables more efficient use of resources. Slight performance degradation is due to scheduling overhead.
Summary and conclusions
18
• NetPath provides accurate path emulation capabilities for modern laboratory testbeds
• Suitable for analysis of delay-sensitive protocols
• Scalability to multi-link scenarios means that laboratory resources can be more efficiently used
• A variety of supported configuration scenarios means that NetPath can be used in a wide variety of lab settings
• Software will be available at http://wail.cs.wisc.edu/