![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](https://reader033.vdocuments.site/reader033/viewer/2022050404/5f81c65dd29b58132d6ad7a0/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050404/5f81c65dd29b58132d6ad7a0/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050404/5f81c65dd29b58132d6ad7a0/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050404/5f81c65dd29b58132d6ad7a0/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050404/5f81c65dd29b58132d6ad7a0/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050404/5f81c65dd29b58132d6ad7a0/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050404/5f81c65dd29b58132d6ad7a0/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050404/5f81c65dd29b58132d6ad7a0/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050404/5f81c65dd29b58132d6ad7a0/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050404/5f81c65dd29b58132d6ad7a0/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050404/5f81c65dd29b58132d6ad7a0/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050404/5f81c65dd29b58132d6ad7a0/html5/thumbnails/12.jpg)
12Georg Kunz: VIPE – A Virtual Platform for Network Experimentation
Thank you for your attention.