Ph.D. Defense
-
date post
12-Sep-2014 -
Category
Business
-
view
678 -
download
1
description
Transcript of Ph.D. Defense
Experimentation Toolsfor Networking
ResearchMathieu Lacage
INRIA, Planète
Nov 15th 2010
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 1 / 55
Outline
Motivation
Simulated Packets
Direct Code Execution
NEPI
Conclusion
Perspectives
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 2 / 55
Protocol evaluation
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
Protocol evaluation
Analyticalanalysis
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
Protocol evaluation
Analyticalanalysis
Simulator
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
Protocol evaluation
Analyticalanalysis
Simulator Testbed
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
Protocol evaluation
Analyticalanalysis
Simulator Testbed
Smallscalefield
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
Protocol evaluation
Analyticalanalysis
Simulator Testbed
Smallscalefield
Largescalefield
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
Protocol evaluation
Analyticalanalysis
In thewild
Simulator Testbed
Smallscalefield
Largescalefield
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
Protocol evaluation
Analyticalanalysis
In thewild
Simulator Testbed
Smallscalefield
Largescalefield
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
Experimentation contextExperimentation
Realism
Time
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 4 / 55
Why ?
I One protocol isolated
-> Multiple protocolinteraction
I Steady state -> Transient behavior
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
Why ?
I One protocol isolated -> Multiple protocolinteraction
I Steady state -> Transient behavior
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
Why ?
I One protocol isolated -> Multiple protocolinteraction
I Steady state
-> Transient behavior
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
Why ?
I One protocol isolated -> Multiple protocolinteraction
I Steady state -> Transient behavior
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
Cheaper hardwareHardware
Cost
Time
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 6 / 55
ConsequencesMore testbeds
More Field tests
Time
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
ConsequencesMore testbeds
More Field testsLess
SimulationsAlone
Time
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
ConsequencesMore Testbed+
Simulation
Time
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
Downsides
A lot more workI Must master many experimentation
environmentsI Must implement protocols twice
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
Downsides
A lot more work
I Must master many experimentationenvironments
I Must implement protocols twice
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
Downsides
A lot more workI Must master many experimentation
environments
I Must implement protocols twice
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
Downsides
A lot more workI Must master many experimentation
environmentsI Must implement protocols twice
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
Objectives
I Run real protocol implementation in simulationI Use simulation as realtime emulator
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 9 / 55
ObjectivesSmooth transition simulations/testbed/field tests
I Run real protocol implementation in simulationI Use simulation as realtime emulator
FieldSimulation
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 9 / 55
ObjectivesSmooth transition simulations/testbed/field tests
I Run real protocol implementation in simulation
I Use simulation as realtime emulator
Field
RealCode
SimulationSimulation
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 9 / 55
ObjectivesSmooth transition simulations/testbed/field tests
I Run real protocol implementation in simulationI Use simulation as realtime emulator
Field
RealCode
Simulation FieldSimulation
RTSim
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 9 / 55
Problems
Run real protocol implementation in simulation
I Virtualization of execution environment
I Direct Code Execution
I Setup, deployment, of emulation platforms
I NEPI
I Transparency with other simulation models
I Simulated Packets
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
Problems
Run real protocol implementation in simulationI Virtualization of execution environment
I Direct Code Execution
Real Code
Simulation
I Setup, deployment, of emulation platforms
I NEPI
I Transparency with other simulation models
I Simulated Packets
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
Problems
Run real protocol implementation in simulationI Virtualization of execution environment
I Direct Code Execution
Use simulation as realtime emulator
I Setup, deployment, of emulation platforms
I NEPI
I Transparency with other simulation models
I Simulated Packets
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
Problems
Run real protocol implementation in simulationI Virtualization of execution environment
I Direct Code Execution
Use simulation as realtime emulatorI Setup, deployment, of emulation platforms
I NEPI
RTSim
RTSim
FieldField
DeploymentControl
I Transparency with other simulation models
I Simulated Packets
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
Problems
Run real protocol implementation in simulationI Virtualization of execution environment
I Direct Code Execution
Use simulation as realtime emulatorI Setup, deployment, of emulation platforms
I NEPI
In both cases
I Transparency with other simulation models
I Simulated Packets
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
Problems
Run real protocol implementation in simulationI Virtualization of execution environment
I Direct Code Execution
Use simulation as realtime emulatorI Setup, deployment, of emulation platforms
I NEPI
In both casesI Transparency with other simulation models
I Simulated Packets
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
Problems
Run real protocol implementation in simulationI Virtualization of execution environment
I Direct Code ExecutionUse simulation as realtime emulator
I Setup, deployment, of emulation platforms
I NEPI
In both casesI Transparency with other simulation models
I Simulated Packets
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
Problems
Run real protocol implementation in simulationI Virtualization of execution environment
I Direct Code ExecutionUse simulation as realtime emulator
I Setup, deployment, of emulation platformsI NEPI
In both casesI Transparency with other simulation models
I Simulated Packets
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
Problems
Run real protocol implementation in simulationI Virtualization of execution environment
I Direct Code ExecutionUse simulation as realtime emulator
I Setup, deployment, of emulation platformsI NEPI
In both casesI Transparency with other simulation models
I Simulated Packets
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
ns-3 Contributions
I ns-3: 300 KLOCI Wrote about 80 KLOC
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 11 / 55
ns-3 Contributions
I ns-3: 300 KLOC
I Wrote about 80 KLOC
Wimax
TCP
Mesh
UDP/Ipv6
MPI
AODV OLSR
Uan Bridge
Spectrum
Csma PointToPoint
Core
Wifi
UDP/IPv4/ARP
Mobility
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 11 / 55
ns-3 Contributions
I ns-3: 300 KLOCI Wrote about 80 KLOC
Wimax
TCP
Mesh
UDP/Ipv6
MPI
AODV OLSR
Uan Bridge
Spectrum
Csma PointToPoint
Core
Wifi
UDP/IPv4/ARP
Mobility
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 11 / 55
Scientific Contributions
Simulated packetsI More CPU efficient than other simulatorsI Automatic conversion simulation/network format
Direct Code ExecutionI 10x more CPU efficient than other DCE
frameworksI Large applicability scope
NEPII Unified experiment descriptionI Automated deployment
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
Scientific ContributionsSimulated packets
I More CPU efficient than other simulatorsI Automatic conversion simulation/network format
Direct Code ExecutionI 10x more CPU efficient than other DCE
frameworksI Large applicability scope
NEPII Unified experiment descriptionI Automated deployment
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
Scientific ContributionsSimulated packets
I More CPU efficient than other simulators
I Automatic conversion simulation/network formatDirect Code Execution
I 10x more CPU efficient than other DCEframeworks
I Large applicability scopeNEPI
I Unified experiment descriptionI Automated deployment
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
Scientific ContributionsSimulated packets
I More CPU efficient than other simulatorsI Automatic conversion simulation/network format
Direct Code ExecutionI 10x more CPU efficient than other DCE
frameworksI Large applicability scope
NEPII Unified experiment descriptionI Automated deployment
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
Scientific ContributionsSimulated packets
I More CPU efficient than other simulatorsI Automatic conversion simulation/network format
Direct Code Execution
I 10x more CPU efficient than other DCEframeworks
I Large applicability scopeNEPI
I Unified experiment descriptionI Automated deployment
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
Scientific ContributionsSimulated packets
I More CPU efficient than other simulatorsI Automatic conversion simulation/network format
Direct Code ExecutionI 10x more CPU efficient than other DCE
frameworks
I Large applicability scopeNEPI
I Unified experiment descriptionI Automated deployment
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
Scientific ContributionsSimulated packets
I More CPU efficient than other simulatorsI Automatic conversion simulation/network format
Direct Code ExecutionI 10x more CPU efficient than other DCE
frameworksI Large applicability scope
NEPII Unified experiment descriptionI Automated deployment
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
Scientific ContributionsSimulated packets
I More CPU efficient than other simulatorsI Automatic conversion simulation/network format
Direct Code ExecutionI 10x more CPU efficient than other DCE
frameworksI Large applicability scope
NEPI
I Unified experiment descriptionI Automated deployment
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
Scientific ContributionsSimulated packets
I More CPU efficient than other simulatorsI Automatic conversion simulation/network format
Direct Code ExecutionI 10x more CPU efficient than other DCE
frameworksI Large applicability scope
NEPII Unified experiment description
I Automated deployment
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
Scientific ContributionsSimulated packets
I More CPU efficient than other simulatorsI Automatic conversion simulation/network format
Direct Code ExecutionI 10x more CPU efficient than other DCE
frameworksI Large applicability scope
NEPII Unified experiment descriptionI Automated deployment
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
Outline
Motivation
Simulated Packets
Direct Code Execution
NEPI
Conclusion
Perspectives
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 13 / 55
Requirements
I Transparent conversion to/from real bytesI CPU and memory efficiencyI Fragmentation/ReassemblyI Simulation-only dataI Pretty printingI ExtensibilityI Robust Application Programming Interface (API)
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 14 / 55
Related Work
Two approaches
I Packet is list of headers: GTNetS, OMNeT++,SSFNet
TCPIP PayloadMAC
I Packet is buffer of bytes: Yans, GloMoSim
TCPIP PayloadMAC
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 15 / 55
Related Work
Two approachesI Packet is list of headers: GTNetS, OMNeT++,
SSFNet
TCPIP PayloadMAC
I Packet is buffer of bytes: Yans, GloMoSim
TCPIP PayloadMAC
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 15 / 55
Related Work
Two approachesI Packet is list of headers: GTNetS, OMNeT++,
SSFNet
TCPIP PayloadMAC
I Packet is buffer of bytes: Yans, GloMoSim
TCPIP PayloadMAC
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 15 / 55
Pros and Cons
List BufferFragmentation, Reassembly XConversion real bytes XSimulation-only data XPretty printing XCPU, memory efficiency X
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 16 / 55
Our solutionPacket as buffer of bytes
I Fragmentation, ReassemblyI Automatic conversion to/from real bytes
TagsI Simulation-only data
MetadataI Pretty printing
Copy On Write (COW)I CPU, memory efficiency
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
Our solutionPacket as buffer of bytes
I Fragmentation, ReassemblyI Automatic conversion to/from real bytes
TagsI Simulation-only data
MetadataI Pretty printing
Copy On Write (COW)I CPU, memory efficiency
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
Our solutionPacket as buffer of bytes
I Fragmentation, ReassemblyI Automatic conversion to/from real bytes
TagsI Simulation-only data
MetadataI Pretty printing
Copy On Write (COW)I CPU, memory efficiency
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
Our solutionPacket as buffer of bytes
I Fragmentation, ReassemblyI Automatic conversion to/from real bytes
TagsI Simulation-only data
MetadataI Pretty printing
Copy On Write (COW)I CPU, memory efficiency
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
Performance evaluation
Micro-benchmark scenariosI ReceptionI ForwardingI TransmissionI Re-transmission
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 18 / 55
Relative speedup
ns-3 OMNet++ GTNetS YansReception 1.00 1.98 2.25 3.07Transmission 1.00 2.13 1.78 2.16Forwarding 1.00 2.83 1.92 2.44Retransmission 1.00 1.92 1.70 4.76
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 19 / 55
Contributions
More CPU efficient than other simulators
Transparent support for real network bytes
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 20 / 55
Contributions
More CPU efficient than other simulators
Transparent support for real network bytes
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 20 / 55
Contributions
More CPU efficient than other simulators
Transparent support for real network bytes
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 20 / 55
Outline
Motivation
Simulated Packets
Direct Code Execution
NEPI
Conclusion
Perspectives
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 21 / 55
The manual approachGlobal variables
static int g_var;g_var ++;
static int [100]g_var_array;g_var_array[current_id ()] ++;
Redirect system calls
clock (); dce_clock ();
Re-implement all system calls
clock_t dce_clock (void) {return Simulator::Now ().GetMicroSeconds ();
}
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 22 / 55
The manual approachGlobal variables
static int g_var;g_var ++;
static int [100]g_var_array;g_var_array[current_id ()] ++;
Redirect system calls
clock (); dce_clock ();
Re-implement all system calls
clock_t dce_clock (void) {return Simulator::Now ().GetMicroSeconds ();
}
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 22 / 55
The manual approachGlobal variables
static int g_var;g_var ++;
static int [100]g_var_array;g_var_array[current_id ()] ++;
Redirect system calls
clock (); dce_clock ();
Re-implement all system calls
clock_t dce_clock (void) {return Simulator::Now ().GetMicroSeconds ();
}
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 22 / 55
The problem
Manual modifications: does not scaleI Painful to do onceI Impossible to do for software updates
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 23 / 55
Related work
Network Simulation CradleI Automated source modifications for C codeI Hard to extend to C++
WeavesI Automated textual assembly modificationsI Invalid assumptions about compiler-generated
codeCOOJA
I Automated memory virtualizationI Slow
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
Related workNetwork Simulation Cradle
I Automated source modifications for C codeI Hard to extend to C++
WeavesI Automated textual assembly modificationsI Invalid assumptions about compiler-generated
codeCOOJA
I Automated memory virtualizationI Slow
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
Related workNetwork Simulation Cradle
I Automated source modifications for C codeI Hard to extend to C++
WeavesI Automated textual assembly modificationsI Invalid assumptions about compiler-generated
code
COOJAI Automated memory virtualizationI Slow
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
Related workNetwork Simulation Cradle
I Automated source modifications for C codeI Hard to extend to C++
WeavesI Automated textual assembly modificationsI Invalid assumptions about compiler-generated
codeCOOJA
I Automated memory virtualizationI Slow
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
ns-3 DCE
Executable and Linkable Format (ELF) loaderI FastI Automated memory virtualizationI Automated system call redirection
Userspace system callsKernelspace system calls
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 25 / 55
ns-3 DCE
Executable and Linkable Format (ELF) loaderI FastI Automated memory virtualizationI Automated system call redirection
Userspace system calls
Kernelspace system calls
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 25 / 55
ns-3 DCE
Executable and Linkable Format (ELF) loaderI FastI Automated memory virtualizationI Automated system call redirection
Userspace system callsKernelspace system calls
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 25 / 55
Loader Performance
Scenario:
Linux
UDP/IP
PointToPointLink
Linux
UDP/IP
PointToPointLink
kernelspace DCE kernelspace DCE
Linux
UDP/IP
kernelspace DCE
udp-perf
userspace DCE
udp-perf
userspace DCE
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 26 / 55
Loader Performance
Packets perwall clocksecondvsNumber ofnodes
100
1000
10000
100000
0 10 20 30 40 50 60 70
Coojans-3
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 27 / 55
Loader Performance
Memory(bytes)vsNumber ofnodes
0
5000
10000
15000
20000
25000
30000
35000
0 10 20 30 40 50 60 70
Coojans-3
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 28 / 55
System Performance
Packets perwall clocksecondvsNumber ofnodes
1000
10000
100000
1e+06
0 2 4 6 8 10 12 14 16 18 20
dce-nonedce-user
dce-user+kernel
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 29 / 55
Tested programs
Binary Missing functions/sbin/ip 24/bin/ping 2/bin/traceroute 5/usr/sbin/zebra 42/usr/sbin/ospfd 43/usr/sbin/mip6d 38
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 30 / 55
Untested programs
Binary Missing functionsccnd 11/usr/sbin/httpd 18
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 31 / 55
Contributions
10x more efficient than existing alternatives
Larger scope than existing alternativesI Userspace: ping, traceroute, quagga, etc.I Kernelspace: Linux IP, TCP, etc.
Potential usecases:I Debugging platform: single debugger controls
all protocol instancesI Development platformI Test platform
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
Contributions
10x more efficient than existing alternativesLarger scope than existing alternatives
I Userspace: ping, traceroute, quagga, etc.I Kernelspace: Linux IP, TCP, etc.
Potential usecases:I Debugging platform: single debugger controls
all protocol instancesI Development platformI Test platform
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
Contributions
10x more efficient than existing alternativesLarger scope than existing alternatives
I Userspace: ping, traceroute, quagga, etc.I Kernelspace: Linux IP, TCP, etc.
Potential usecases:I Debugging platform: single debugger controls
all protocol instances
I Development platformI Test platform
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
Contributions
10x more efficient than existing alternativesLarger scope than existing alternatives
I Userspace: ping, traceroute, quagga, etc.I Kernelspace: Linux IP, TCP, etc.
Potential usecases:I Debugging platform: single debugger controls
all protocol instancesI Development platform
I Test platform
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
Contributions
10x more efficient than existing alternativesLarger scope than existing alternatives
I Userspace: ping, traceroute, quagga, etc.I Kernelspace: Linux IP, TCP, etc.
Potential usecases:I Debugging platform: single debugger controls
all protocol instancesI Development platformI Test platform
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
Outline
Motivation
Simulated Packets
Direct Code Execution
NEPI
Conclusion
Perspectives
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 33 / 55
Objective Scenario
Simulated links/networksI ns-3 simulation models XI Realtime scheduler XI Tap device X
Light weight Virtual MachinesI Linux Network Namespaces X
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 34 / 55
Objective Scenario
VLCServer
RouterWifiAP
WifiSTA
Router
VLCClient
Simulated links/networksI ns-3 simulation models XI Realtime scheduler XI Tap device X
Light weight Virtual MachinesI Linux Network Namespaces X
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 34 / 55
Objective Scenario
VLCServer
RouterWifiAP
WifiSTA
Router
VLCClient
Simulated links/networksI ns-3 simulation models XI Realtime scheduler XI Tap device X
Light weight Virtual MachinesI Linux Network Namespaces X
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 34 / 55
Objective Scenario
VLCServer
RouterWifiAP
WifiSTA
Router
VLCClient
Simulated links/networksI ns-3 simulation models XI Realtime scheduler XI Tap device X
Light weight Virtual MachinesI Linux Network Namespaces X
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 34 / 55
Easy Deployment
ProblemI Tap/VM creation and setupI Coherent IP address assignment across
simulation and VMsI Coherent IP forwarding tables across
simulation and VMsSolution
I Automate everythingBUT
I Need global view of experiment topology
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
Easy DeploymentProblem
I Tap/VM creation and setup
I Coherent IP address assignment acrosssimulation and VMs
I Coherent IP forwarding tables acrosssimulation and VMs
SolutionI Automate everything
BUTI Need global view of experiment topology
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
Easy DeploymentProblem
I Tap/VM creation and setupI Coherent IP address assignment across
simulation and VMs
I Coherent IP forwarding tables acrosssimulation and VMs
SolutionI Automate everything
BUTI Need global view of experiment topology
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
Easy DeploymentProblem
I Tap/VM creation and setupI Coherent IP address assignment across
simulation and VMsI Coherent IP forwarding tables across
simulation and VMs
SolutionI Automate everything
BUTI Need global view of experiment topology
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
Easy DeploymentProblem
I Tap/VM creation and setupI Coherent IP address assignment across
simulation and VMsI Coherent IP forwarding tables across
simulation and VMsSolution
I Automate everything
BUTI Need global view of experiment topology
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
Easy DeploymentProblem
I Tap/VM creation and setupI Coherent IP address assignment across
simulation and VMsI Coherent IP forwarding tables across
simulation and VMsSolution
I Automate everythingBUT
I Need global view of experiment topology
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
Related Work
I Emulab Tcl: ad hoc, hard to generalizeI OMF Ruby: unclear how to extend it to model
complex topologiesI OMNeT++ NED: hard to ensure correctnessI SSF DML: hard to ensure correctnessI Geni RSPEC: hard to ensure correctnessI Geni Omnispec: hard to ensure correctness
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
Related Work
I Emulab Tcl: ad hoc, hard to generalize
I OMF Ruby: unclear how to extend it to modelcomplex topologies
I OMNeT++ NED: hard to ensure correctnessI SSF DML: hard to ensure correctnessI Geni RSPEC: hard to ensure correctnessI Geni Omnispec: hard to ensure correctness
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
Related Work
I Emulab Tcl: ad hoc, hard to generalizeI OMF Ruby: unclear how to extend it to model
complex topologies
I OMNeT++ NED: hard to ensure correctnessI SSF DML: hard to ensure correctnessI Geni RSPEC: hard to ensure correctnessI Geni Omnispec: hard to ensure correctness
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
Related Work
I Emulab Tcl: ad hoc, hard to generalizeI OMF Ruby: unclear how to extend it to model
complex topologiesI OMNeT++ NED: hard to ensure correctness
I SSF DML: hard to ensure correctnessI Geni RSPEC: hard to ensure correctnessI Geni Omnispec: hard to ensure correctness
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
Related Work
I Emulab Tcl: ad hoc, hard to generalizeI OMF Ruby: unclear how to extend it to model
complex topologiesI OMNeT++ NED: hard to ensure correctnessI SSF DML: hard to ensure correctness
I Geni RSPEC: hard to ensure correctnessI Geni Omnispec: hard to ensure correctness
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
Related Work
I Emulab Tcl: ad hoc, hard to generalizeI OMF Ruby: unclear how to extend it to model
complex topologiesI OMNeT++ NED: hard to ensure correctnessI SSF DML: hard to ensure correctnessI Geni RSPEC: hard to ensure correctness
I Geni Omnispec: hard to ensure correctness
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
Related Work
I Emulab Tcl: ad hoc, hard to generalizeI OMF Ruby: unclear how to extend it to model
complex topologiesI OMNeT++ NED: hard to ensure correctnessI SSF DML: hard to ensure correctnessI Geni RSPEC: hard to ensure correctnessI Geni Omnispec: hard to ensure correctness
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
NEPI Object Model
Functional unit / BoxAttributesTrace sourcesConnectorsConnection checkingHierarchical
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
NEPI Object Model
Functional unit / Box
AttributesTrace sourcesConnectorsConnection checkingHierarchical
Example:I IP stackI TCP stackI Ethernet card
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
NEPI Object Model
Functional unit / BoxAttributes
Trace sourcesConnectorsConnection checkingHierarchical
Example:I IP checksumI IP forwarding
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
NEPI Object Model
Functional unit / BoxAttributesTrace sources
ConnectorsConnection checkingHierarchical
Example:I Out packetsI In packets
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
NEPI Object Model
Functional unit / BoxAttributesTrace sourcesConnectors
Connection checkingHierarchical
Ethernet
IP
dev
node
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
NEPI Object Model
Functional unit / BoxAttributesTrace sourcesConnectorsConnection checking
Hierarchical
Ethernet
IP
Ethernet
dev
node node
app
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
NEPI Object Model
Functional unit / BoxAttributesTrace sourcesConnectorsConnection checkingHierarchical
Ethernet
Switch
Ethernet
node node
Node
dev
cablecable
port0 port1
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
Objective Scenario
VLCServer
RouterWifiAP
WifiSTA
Router
VLCClient
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 38 / 55
NEPI Representation
Mobility
WifiNet
Device
Node
ARPICMPIP
TapNodeInterface
Node
FDNetDevice
Mobility
FDNetDevice
YansWifiPhyYansWifiPhy
Delay
YansWifiChannel
Loss
Nist Nist
WifiNet
Device
Manager
ApMac
Node
ARPIP ICMP
Manager
StaMac
TapNodeInterface
Node
ns-3 NetNsNetNs
VlcVlc
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 39 / 55
Global IP topology
net2net1net0 Wifi Ap Wifi Sta FdFdTap Tap
n1n0 n2 n3
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 40 / 55
Demo screenshot
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 41 / 55
Contributions
An integrated experimentation environmentI Unified experiment descriptionI Entire workflow supportI Automated deploymentI Strong coherency checking
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 42 / 55
Outline
Motivation
Simulated Packets
Direct Code Execution
NEPI
Conclusion
Perspectives
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 43 / 55
Papers Published
I “Yet another network simulator”, Proceedings ofthe 2006 workshop on ns-2
I “NEPI: using independent simulators,emulators, and testbeds for easyexperimentation”, SIGOPS Operating
Systems Review
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 44 / 55
Papers Published
I “Yet another network simulator”, Proceedings ofthe 2006 workshop on ns-2
I “NEPI: using independent simulators,emulators, and testbeds for easyexperimentation”, SIGOPS Operating
Systems Review
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 44 / 55
Papers Published
I “Yet another network simulator”, Proceedings ofthe 2006 workshop on ns-2
I “NEPI: using independent simulators,emulators, and testbeds for easyexperimentation”, SIGOPS Operating
Systems Review
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 44 / 55
Papers in progress
I “The ns-3 network simulator: experiencelearned”, Software Practice & Experience
I “Direct Code Execution”, Networked SystemsDesign and Implementation
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 45 / 55
Papers in progress
I “The ns-3 network simulator: experiencelearned”, Software Practice & Experience
I “Direct Code Execution”, Networked SystemsDesign and Implementation
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 45 / 55
Activities
ChairI NSTools 2007
TPCI WNS3 2009, 2010, 2011I Simutools 2008,2009
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 46 / 55
Simulated Packets
More CPU efficient than other simulators
Transparent support for real network bytes
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 47 / 55
Simulated Packets
More CPU efficient than other simulators
Transparent support for real network bytes
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 47 / 55
Direct Code Execution
10x more CPU efficient than other DCE frameworks
A robust implementationI Userspace and kernelspace protocolsI C,C++ protocolsI ABI compatibility for userspace protocols
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 48 / 55
Direct Code Execution
10x more CPU efficient than other DCE frameworks
A robust implementationI Userspace and kernelspace protocolsI C,C++ protocolsI ABI compatibility for userspace protocols
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 48 / 55
NEPI
An integrated experimentation environmentI Unified experiment descriptionI Entire workflow supportI Automated deploymentI Strong coherency checking
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 49 / 55
Impact
Instrumental in creating anI ActiveI GrowingI Open source
Simulation communityI Contributors > 80I Hundreds of usersI > 30 papers by users
2 sigcomm’091 sigcomm’10
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
ImpactInstrumental in creating an
I ActiveI GrowingI Open source
Simulation community
I Contributors > 80I Hundreds of usersI > 30 papers by users
2 sigcomm’091 sigcomm’10
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
ImpactInstrumental in creating an
I ActiveI GrowingI Open source
Simulation communityI Contributors > 80
I Hundreds of usersI > 30 papers by users
2 sigcomm’091 sigcomm’10
0
0.1
0.2
0.3
0.4
0.5
0.6
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
ImpactInstrumental in creating an
I ActiveI GrowingI Open source
Simulation communityI Contributors > 80I Hundreds of users
I > 30 papers by users2 sigcomm’091 sigcomm’10
0
100
200
300
400
500
600
700
800
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
ImpactInstrumental in creating an
I ActiveI GrowingI Open source
Simulation communityI Contributors > 80I Hundreds of usersI > 30 papers by users
2 sigcomm’091 sigcomm’10
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
Outline
Motivation
Simulated Packets
Direct Code Execution
NEPI
Conclusion
Perspectives
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 51 / 55
Tracing with DCE
I Need to recompile for tracing changesI Ideal workflow:
I Trace function foo in bar.ccI Trace line 122 in bar.ccI Trace variable foo at line 144 in bar.cc
I BUT, not Java: no introspection
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
Tracing with DCE
I Need to recompile for tracing changes
I Ideal workflow:I Trace function foo in bar.ccI Trace line 122 in bar.ccI Trace variable foo at line 144 in bar.cc
I BUT, not Java: no introspection
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
Tracing with DCE
I Need to recompile for tracing changesI Ideal workflow:
I Trace function foo in bar.ccI Trace line 122 in bar.ccI Trace variable foo at line 144 in bar.cc
I BUT, not Java: no introspection
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
Tracing with DCE
I Need to recompile for tracing changesI Ideal workflow:
I Trace function foo in bar.cc
I Trace line 122 in bar.ccI Trace variable foo at line 144 in bar.cc
I BUT, not Java: no introspection
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
Tracing with DCE
I Need to recompile for tracing changesI Ideal workflow:
I Trace function foo in bar.ccI Trace line 122 in bar.cc
I Trace variable foo at line 144 in bar.cc
I BUT, not Java: no introspection
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
Tracing with DCE
I Need to recompile for tracing changesI Ideal workflow:
I Trace function foo in bar.ccI Trace line 122 in bar.ccI Trace variable foo at line 144 in bar.cc
I BUT, not Java: no introspection
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
Tracing with DCE
I Need to recompile for tracing changesI Ideal workflow:
I Trace function foo in bar.ccI Trace line 122 in bar.ccI Trace variable foo at line 144 in bar.cc
I BUT, not Java: no introspection
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
Dynamic instrumentation
I Locate code in memoryI Parse dynamic loader data structuresXI Parse debugging information
I Insert assembly hooksI Simple case (not thread-safe) XI General case harder
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
Dynamic instrumentation
I Locate code in memory
I Parse dynamic loader data structuresXI Parse debugging information
I Insert assembly hooksI Simple case (not thread-safe) XI General case harder
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
Dynamic instrumentation
I Locate code in memoryI Parse dynamic loader data structuresX
I Parse debugging informationI Insert assembly hooks
I Simple case (not thread-safe) XI General case harder
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
Dynamic instrumentation
I Locate code in memoryI Parse dynamic loader data structuresXI Parse debugging information
I Insert assembly hooksI Simple case (not thread-safe) XI General case harder
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
Dynamic instrumentation
I Locate code in memoryI Parse dynamic loader data structuresXI Parse debugging information
I Insert assembly hooks
I Simple case (not thread-safe) XI General case harder
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
Dynamic instrumentation
I Locate code in memoryI Parse dynamic loader data structuresXI Parse debugging information
I Insert assembly hooksI Simple case (not thread-safe) X
I General case harder
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
Dynamic instrumentation
I Locate code in memoryI Parse dynamic loader data structuresXI Parse debugging information
I Insert assembly hooksI Simple case (not thread-safe) XI General case harder
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
Dynamic instrumentation
I Locate code in memoryI Parse dynamic loader data structuresXI Parse debugging information
I Insert assembly hooksI Simple case (not thread-safe) XI General case harder
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
Multi-threaded Scheduler
Conservative algorithm implemented:I Fully transparent for usersI Measurable speedupI Thread-safety is easyI Efficient thread-safety is hardI Can we build more efficient thread-safety ?I Can we use optimistic algorithm transparently ?
Transparency is key !
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
Multi-threaded Scheduler
Conservative algorithm implemented:
I Fully transparent for usersI Measurable speedupI Thread-safety is easyI Efficient thread-safety is hardI Can we build more efficient thread-safety ?I Can we use optimistic algorithm transparently ?
Transparency is key !
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
Multi-threaded Scheduler
Conservative algorithm implemented:I Fully transparent for users
I Measurable speedupI Thread-safety is easyI Efficient thread-safety is hardI Can we build more efficient thread-safety ?I Can we use optimistic algorithm transparently ?
Transparency is key !
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
Multi-threaded Scheduler
Conservative algorithm implemented:I Fully transparent for usersI Measurable speedup
I Thread-safety is easyI Efficient thread-safety is hardI Can we build more efficient thread-safety ?I Can we use optimistic algorithm transparently ?
Transparency is key !
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
Multi-threaded Scheduler
Conservative algorithm implemented:I Fully transparent for usersI Measurable speedupI Thread-safety is easy
I Efficient thread-safety is hardI Can we build more efficient thread-safety ?I Can we use optimistic algorithm transparently ?
Transparency is key !
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
Multi-threaded Scheduler
Conservative algorithm implemented:I Fully transparent for usersI Measurable speedupI Thread-safety is easyI Efficient thread-safety is hard
I Can we build more efficient thread-safety ?I Can we use optimistic algorithm transparently ?
Transparency is key !
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
Multi-threaded Scheduler
Conservative algorithm implemented:I Fully transparent for usersI Measurable speedupI Thread-safety is easyI Efficient thread-safety is hardI Can we build more efficient thread-safety ?
I Can we use optimistic algorithm transparently ?Transparency is key !
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
Multi-threaded Scheduler
Conservative algorithm implemented:I Fully transparent for usersI Measurable speedupI Thread-safety is easyI Efficient thread-safety is hardI Can we build more efficient thread-safety ?I Can we use optimistic algorithm transparently ?
Transparency is key !
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
Multi-threaded Scheduler
Conservative algorithm implemented:I Fully transparent for usersI Measurable speedupI Thread-safety is easyI Efficient thread-safety is hardI Can we build more efficient thread-safety ?I Can we use optimistic algorithm transparently ?
Transparency is key !
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
Thank you !
Questions ?
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 55 / 55