100 likes | 238 Views
Millennium Cluster. Millennium Cluster. Wide Area Network Emulation on the Millennium. Bhaskaran Raman Yan Chen Weidong Cui Randy Katz {bhaskar, yanchen, wdc, randy}@cs.berkeley.edu. Why WAN Emulation Testbed.
E N D
Millennium Cluster Millennium Cluster Wide Area Network Emulation on the Millennium Bhaskaran Raman Yan Chen Weidong Cui Randy Katz {bhaskar, yanchen, wdc, randy}@cs.berkeley.edu
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)
Source Internet Video-on-demand server Provider A Destination Peering: monitoring & cascading Provider A Provider B Transcoder Service cluster: compute cluster capable of running services Provider B Thin Client 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
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
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
Emulator Option 1: Kernel-based • Implemented as kernel module extension to operating systems • Pros • Small simulation overhead: more realistic network performance • Software packages available • Cons • Hard to modify and debug • Hard to deploy on millennium platform User program User program User-level User-level Kernel Kernel Emulator Emulator IP Stack IP Stack Machine 2 Machine 1
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
Emulator Option 2: User-Level Configure WAN parameters here User program User program User-level daemon User-level daemon User-level library User-level library User-level User-level pppd + pty/tty pppd + pty/tty Kernel Kernel TCP/IP stack TCP/IP stack PPP/UDP Machine 1 Machine 2
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
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