VIPE - acm sigcomm€¦ · Georg Kunz: VIPE – A Virtual Platform for Network Experimentation. 9....

Post on 31-Jul-2020

1 views 0 download

Transcript of VIPE - acm sigcomm€¦ · Georg Kunz: VIPE – A Virtual Platform for Network Experimentation. 9....

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

VIPEA Virtual Platform for Network Experimentation

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

Barcelona / SIGCOMM VISA, August 2009

2Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Motivation

Network Simulation

Testbed DeploymentDesign

Concept ns-2 PlanetLab Linux

Re-Implement Re-ImplementImplement

Variety of Evaluation Tools

3Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Motivation

PlanetLab Linux

Network Simulation

Testbed DeploymentDesign

Concept NS-2

OMNeT++

Network Cradle

Tossim

EmuLabFlexLab

Linux

Windows

Windows Mobile

TinyOS

RTOS

Embedded Linux

Model-Net Mesh

Testbed

WSNTestbed

EmStar

Va

rie

ty o

f T

arg

et

Sys

tem

s

Variety of Evaluation Tools

Re-Implement

4Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Concept

Challenge Completeness vs. complexity of abstraction

Seamless TransitionProtocol

Testbed OS KernelSimulator

Our goal: Lightweight abstraction

5Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Protocol

Design

Network

ApplicationO

pera

ting

Syst

em /

Sim

ulat

or 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()• …

6Georg 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 IPXIPv6

Ethernet 802.11 PPP

7Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Chord

Use Cases

OS Network Interface

Native Socket Interface

Use

rspa

ceKe

rnel

Application Application

RTP

IP

Application

SCTP

NativeStack

8Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Runtime Overhead

Benchmarks of Virtual Resources CPU time-stamp counter

Windows XP Linux 2.6.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

9Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Implementation Complexity

Implementation Complexity Lines of Codes

0

200

400

600

800

1000

1200

1400

1600

1800

ns-2

Windows XP Windows CE

UserspaceKernel

10Georg 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

Thro

ughp

ut [M

bit/s

]

Packet Size [bytes]

ProFabLinux

VIPE

Linux

11Georg 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

12Georg Kunz: VIPE – A Virtual Platform for Network Experimentation

Thank you for your attention.