VIPE A Virtual Platform for Network Experimentation Olaf - - PowerPoint PPT Presentation

vipe
SMART_READER_LITE
LIVE PREVIEW

VIPE A Virtual Platform for Network Experimentation Olaf - - PowerPoint PPT Presentation

VIPE A Virtual Platform for Network Experimentation Olaf Landsiedel, Georg Kunz, Stefan Gtz, Klaus Wehrle Barcelona / SIGCOMM VISA, August 2009 http://ds.cs.rwth-aachen.de Motivation Deployment Design Network Testbed Simulation


slide-1
SLIDE 1

http://ds.cs.rwth-aachen.de

VIPE

A Virtual Platform for Network Experimentation

Olaf Landsiedel, Georg Kunz, Stefan Götz, Klaus Wehrle

Barcelona / SIGCOMM VISA, August 2009

slide-2
SLIDE 2

2

Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Motivation

Network Simulation Testbed Deployment Design Concept ns-2 PlanetLab Linux Re Re-Implement Re Re-Implement Implement Varie riety of Evaluatio ion T Tools ls

slide-3
SLIDE 3

3

Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Motivation

PlanetLab Linux Network Simulation Testbed Deployment Design Concept NS-2 OMNeT++ Network Cradle Tossim EmuLab FlexLab Linux Windows Windows Mobile TinyOS RTOS Embedded Linux Model- Net Mesh Testbed WSN Testbed EmStar Var ariet ety o

  • f Tar

arget Sy Syste tems Varie riety of Evaluatio ion T Tools ls Re Re-Implement

slide-4
SLIDE 4

4

Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Concept  Challenge

 Completeness vs. complexity of abstraction

Seamless Transition

Prot

  • toc
  • col
  • l

Testbed OS Kernel Simulator

 Our goal: Lightweight abstraction

slide-5
SLIDE 5

5

Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Protocol Design

Network Application Operating System / Simulator

Memory Time Packet Sync. Higher Layer Interface Lower Layer Interface

  • start()
  • stop
  • modify()
  • pause()
  • create()
  • clone()
  • expand()
  • delete()
  • send()
  • receive()
  • malloc()
  • free()
  • memcpy()
  • memcmp()
  • lock()
  • unlock()
  • Event based
  • Language independent
  • POSIX-like API
  • send()
  • receive()
slide-6
SLIDE 6

6

Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Protocol Integration  Flexible Placement

 Layer independent  Utilize existing protocols / simulation model

Memory Time Packet Sync. Higher Layer Interface Lower Layer Interface Protocol HTTP FTP RTP TCP UDP IPv4 IPX IPv6 Ethernet 802.11 PPP

slide-7
SLIDE 7

7

Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Chord

Use Cases

OS Network Interface Native Socket Interface

Userspace Kernel Application Application

RTP IP

Application

SCTP Native Stack

slide-8
SLIDE 8

8

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 Synchronization Timer Device send() Device receive() Packet create() Packet delete() 14.5% 11.5% 34.2% 9.7%

0%

macros and function inlining

≤ 0.2%

utilize platform specific data structures

slide-9
SLIDE 9

9

Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Implementation Complexity  Implementation Complexity

 Lines of Codes

200 400 600 800 1000 1200 1400 1600 1800

ns ns-2

Window dows X XP Window dows C CE

Userspace Kernel

slide-10
SLIDE 10

10

Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Runtime Performance  Macro-Benchmark

 Routing performance  Based on VIPE IPv4 implementation

300 400 500 600 700 800 900 1000 64 256 1024

Throughput [Mbit/s]

Packet Size [bytes] ProFab Linux VI VIPE PE Li Linux nux

slide-11
SLIDE 11

11

Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Conclusion  VIPE: Virtual Platform for Network Experimentation

 Unified programming environment  Seamless transition between platforms

 Lightweight Architecture

 Based on best practices in systems design  Tight feedback loop  Evolve NOT re-implement protocols  Small porting effort  Low performance overhead

slide-12
SLIDE 12

12

Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Thank you for your attention.