VIPE A Virtual Platform for Network Experimentation Olaf Landsiedel, Georg Kunz, Stefan Götz, Klaus Wehrle Barcelona / SIGCOMM VISA, August 2009 http://ds.cs.rwth-aachen.de
Motivation Deployment Design Network Testbed Simulation Implement Re Re-Implement Re Re-Implement Concept ns-2 PlanetLab Linux Varie riety of Evaluatio ion T Tools ls 2 Georg Kunz: VIPE – A Virtual Platform for Network Experimentation
Motivation Deployment Design Network Testbed Simulation Linux tems Re-Implement Re Windows Syste PlanetLab Linux Network arget Sy FlexLab Cradle Windows EmuLab NS-2 Mobile Concept of Tar Embedded Model- Mesh Net Linux Testbed OMNeT++ ety o Tossim ariet TinyOS EmStar Var WSN Testbed RTOS Varie riety of Evaluatio ion T Tools ls 3 Georg Kunz: VIPE – A Virtual Platform for Network Experimentation
Concept Prot otoc ocol ol Seamless Transition Simulator Testbed OS Kernel Challenge Completeness vs. complexity of abstraction Our goal: Lightweight abstraction 4 Georg Kunz: VIPE – A Virtual Platform for Network Experimentation
Design • malloc() • free() • send() • memcpy() • receive() • memcmp() • … Application • … • start() Higher Layer Interface • stop Operating System / Simulator Memory • modify() • Event based • pause() • Language independent Time • … • POSIX-like API Protocol Packet • create() • clone() Sync. • expand() • send() Lower Layer Interface • delete() • receive() • … • lock() • … Network • unlock() • … 5 Georg Kunz: VIPE – A Virtual Platform for Network Experimentation
Protocol Integration Flexible Placement Layer independent Utilize existing protocols / simulation model Higher Layer Interface HTTP FTP RTP Memory TCP UDP Time Protocol Packet IPv4 IPv6 IPX Sync. Ethernet 802.11 PPP Lower Layer Interface 6 Georg Kunz: VIPE – A Virtual Platform for Network Experimentation
Use Cases Application Application Application Userspace RTP Chord SCTP Native Socket Interface Native Kernel IP Stack OS Network Interface 7 Georg Kunz: VIPE – A Virtual Platform for Network Experimentation
Runtime Overhead Benchmarks of Virtual Resources CPU time-stamp counter Win Windows XP XP Linux 2. 2.6. 6.22 22 Kernel Userspace Kernel Userspace Memory 0% Synchronization macros and function inlining Timer Device send() 14.5% ≤ 0.2% 11.5% Device receive() utilize platform specific 34.2% Packet create() data structures 9.7% Packet delete() 8 Georg Kunz: VIPE – A Virtual Platform for Network Experimentation
Implementation Complexity Implementation Complexity Lines of Codes 1800 Userspace 1600 Kernel 1400 1200 1000 800 600 400 200 0 ns ns-2 Window dows X XP Window dows C CE 9 Georg Kunz: VIPE – A Virtual Platform for Network Experimentation
Runtime Performance Macro-Benchmark Routing performance Based on VIPE IPv4 implementation 1000 900 Throughput [Mbit/s] 800 700 600 VI VIPE PE 500 ProFab Li Linux nux Linux 400 300 64 256 1024 Packet Size [bytes] 10 Georg Kunz: VIPE – A Virtual Platform for Network Experimentation
Conclusion VIPE: Virtual Platform for Network Experimentation Unified programming environment Seamless transition between platforms Tight feedback loop Evolve NOT re-implement protocols Lightweight Architecture Based on best practices in systems design Small porting effort Low performance overhead 11 Georg Kunz: VIPE – A Virtual Platform for Network Experimentation
Thank you for your attention. 12 Georg Kunz: VIPE – A Virtual Platform for Network Experimentation
Recommend
More recommend