Towards Wireless Overlay Network Architectures

Download Report

Transcript Towards Wireless Overlay Network Architectures

Wide Area Network
Emulation on the Millennium
Bhaskaran Raman
Yan Chen
Weidong Cui
Randy Katz
{bhaskar, yanchen, wdc, randy}@cs.berkeley.edu
Millennium Cluster
Millennium Cluster
1
Why WAN Emulation Testbed
Realistic, controlled and reproducible WAN
experiments needed to drive design and test for
• SAHARA: next-generation telecommunication service
infrastructure
–
–
–
–
–
Content Distribution Network (CDN)
Dynamic Service Composition (constrained routing)
Routing and content-based routing
Traffic Engineering and QoS
Network Measurement and Monitoring Services
• Emulate the critical end-to-end performance
characteristics
– By various WAN situations (e.g. congestion, loss)
– By various underlying subnetwork technologies (e.g. xDSL, cable
modem)
2
Why WANE: Overlay Network Issues
• Study issues of:
– Routing algorithms: recovery from failures, stability, scaling
– Overlay node placement in physical network
– Service placement in overlay network
Internet
Source
Provider A
Video-on-demand
server
Provider A
Provider B
Destination
Transcoder
Peering:
monitoring &
cascading
Service cluster: compute cluster
capable of running services
Thin
Client
Provider B
3
Simulation vs. Emulation vs. Live
Testing
• Simulation
– Very slow
– Bad fidelity to real network
– Implementation in simulator is different from actual application
• Emulation
–
–
–
–
Fast and good scalability
Can run actual application
Can interact with a live environment
Opportunity: Millennium cluster (100s of nodes)
• Live Testing
– Wide-area implementation not always possible
– Too few nodes may be available
– Not reproducible
4
Testbed Requirements
• Fast and minimal overhead
– Close to real network environment
• Scalable
– O(1000) nodes
• Configurable
– Network topology, latency, bandwidth, loss-rates, queuing policies…
• Flexible
– Testbed should be independent of applications
• Reliable
• Integration with Millennium testbed
– Should not affect other millennium users
5
Emulator Option 1: Kernel-based
• Implemented as kernel module extension to operating
systems
• Pros
– Small simulation
overhead: more
realistic network
performance
– Software packages
available
User program
User program
User-level
User-level
• Cons
– Hard to modify and debug
– Hard to deploy on
millennium platform
Kernel
Kernel
Emulator
Emulator
IP Stack
IP Stack
Machine 1
Machine 2
6
Existing Kernel-level Emulators
• NISTNet by National Institute of Standards & Technology
– On Linux, source code available
– X-window based interactive GUI
» allows the user to select and monitor specific traffic streams
– Emulate numerous complex performance scenarios
»
»
»
»
tunable packet delay distributions
congestion and background loss
bandwidth limitation
packet reordering / duplication
– Real traces driven allowed
– Extensible for user defined packet handlers
• Dummynet by Luigi Rizzo of Univ. of Pisa, Italy
– On FreeBSD, source code available
– Emulate queue and bandwidth limitations, delays, packet losses, and
multipath effects
7
Emulator Option 2: User-Level
Configure WAN
parameters here
User program
User-level
daemon
User program
User-level
daemon
User-level
library
User-level
library
User-level
pppd + pty/tty
User-level
pppd + pty/tty
Kernel
Kernel
TCP/IP
stack
Machine 1
PPP/UDP
TCP/IP
stack
Machine 2
8
Emulator Option 2: User-Level
• Advantages:
– Flexibility
– Configuration environment can be built as required
– Multiple virtual nodes per physical node?
• Disadvantages:
– Has to be written from scratch
– Unpredictable latency
» Due to scheduling jitter – O(10ms)
» Could lead to considerable slow-down in emulation
9
Proposed Plan
• Study NISTNet
– Run experiments on crash box computers
– Test the performance and reliability
• Learn more features and requirements of the
Millennium testbed
• Design and implement WAN emulator
10