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

12
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

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

Page 1: VIPE - acm sigcomm€¦ · Georg Kunz: VIPE – A Virtual Platform for Network Experimentation. 9. Implementation Complexity Implementation Complexity Lines of Codes. 0. 200. 400.

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

Page 2: VIPE - acm sigcomm€¦ · Georg Kunz: VIPE – A Virtual Platform for Network Experimentation. 9. Implementation Complexity Implementation Complexity Lines of Codes. 0. 200. 400.

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

Page 3: VIPE - acm sigcomm€¦ · Georg Kunz: VIPE – A Virtual Platform for Network Experimentation. 9. Implementation Complexity Implementation Complexity Lines of Codes. 0. 200. 400.

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

Page 4: VIPE - acm sigcomm€¦ · Georg Kunz: VIPE – A Virtual Platform for Network Experimentation. 9. Implementation Complexity Implementation Complexity Lines of Codes. 0. 200. 400.

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

Page 5: VIPE - acm sigcomm€¦ · Georg Kunz: VIPE – A Virtual Platform for Network Experimentation. 9. Implementation Complexity Implementation Complexity Lines of Codes. 0. 200. 400.

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

Page 6: VIPE - acm sigcomm€¦ · Georg Kunz: VIPE – A Virtual Platform for Network Experimentation. 9. Implementation Complexity Implementation Complexity Lines of Codes. 0. 200. 400.

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

Page 7: VIPE - acm sigcomm€¦ · Georg Kunz: VIPE – A Virtual Platform for Network Experimentation. 9. Implementation Complexity Implementation Complexity Lines of Codes. 0. 200. 400.

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

Page 8: VIPE - acm sigcomm€¦ · Georg Kunz: VIPE – A Virtual Platform for Network Experimentation. 9. Implementation Complexity Implementation Complexity Lines of Codes. 0. 200. 400.

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

Page 9: VIPE - acm sigcomm€¦ · Georg Kunz: VIPE – A Virtual Platform for Network Experimentation. 9. Implementation Complexity Implementation Complexity Lines of Codes. 0. 200. 400.

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

Page 10: VIPE - acm sigcomm€¦ · Georg Kunz: VIPE – A Virtual Platform for Network Experimentation. 9. Implementation Complexity Implementation Complexity Lines of Codes. 0. 200. 400.

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

Page 11: VIPE - acm sigcomm€¦ · Georg Kunz: VIPE – A Virtual Platform for Network Experimentation. 9. Implementation Complexity Implementation Complexity Lines of Codes. 0. 200. 400.

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

Page 12: VIPE - acm sigcomm€¦ · Georg Kunz: VIPE – A Virtual Platform for Network Experimentation. 9. Implementation Complexity Implementation Complexity Lines of Codes. 0. 200. 400.

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

Thank you for your attention.