• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Ph.D. Defense
 

Ph.D. Defense

on

  • 633 views

 

Statistics

Views

Total Views
633
Views on SlideShare
633
Embed Views
0

Actions

Likes
1
Downloads
28
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Ph.D. Defense Ph.D. Defense Presentation Transcript

    • Experimentation Tools for Networking Research Mathieu Lacage INRIA, Planète Nov 15th 2010Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 1 / 55
    • OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 2 / 55
    • Protocol evaluationLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
    • Protocol evaluation Analytical analysisLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
    • Protocol evaluation Analytical Simulator analysisLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
    • Protocol evaluation Analytical Simulator Testbed analysisLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
    • Protocol evaluation Analytical Simulator Testbed analysis Small scale fieldLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
    • Protocol evaluation Analytical Simulator Testbed analysis Large Small scale scale field fieldLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
    • Protocol evaluation Analytical Simulator Testbed analysis Large Small In the scale scale wild field fieldLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
    • Protocol evaluation Analytical Simulator Testbed analysis Large Small In the scale scale wild field fieldLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
    • Experimentation context Experimentation Realism TimeLacage (INRIA) Experimentation Tools & Network Research Nov 2010 4 / 55
    • Why ? One protocol isolatedLacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
    • Why ? One protocol isolated -> Multiple protocol interactionLacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
    • Why ? One protocol isolated -> Multiple protocol interaction Steady stateLacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
    • Why ? One protocol isolated -> Multiple protocol interaction Steady state -> Transient behaviorLacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
    • Cheaper hardware Hardware Cost TimeLacage (INRIA) Experimentation Tools & Network Research Nov 2010 6 / 55
    • Consequences More testbeds More Field tests TimeLacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
    • Consequences Less More testbeds Simulations More Field tests Alone TimeLacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
    • Consequences More Testbed+ Simulation TimeLacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
    • DownsidesLacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
    • DownsidesA lot more work Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
    • DownsidesA lot more work Must master many experimentation environments Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
    • DownsidesA lot more work Must master many experimentation environments Must implement protocols twice Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
    • ObjectivesLacage (INRIA) Experimentation Tools & Network Research Nov 2010 9 / 55
    • ObjectivesSmooth transition simulations/testbed/field tests Simulation Field Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 9 / 55
    • ObjectivesSmooth transition simulations/testbed/field tests Run real protocol implementation in simulation Real Code Simulation Field Simulation Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 9 / 55
    • ObjectivesSmooth transition simulations/testbed/field tests Run real protocol implementation in simulation Use simulation as realtime emulator Real RT Code Sim Simulation Field Simulation Field Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 9 / 55
    • ProblemsRun real protocol implementation in simulation Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
    • ProblemsRun real protocol implementation in simulation Virtualization of execution environment Real Code Simulation Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
    • ProblemsRun real protocol implementation in simulation Virtualization of execution environmentUse simulation as realtime emulator Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
    • ProblemsRun real protocol implementation in simulation Virtualization of execution environmentUse simulation as realtime emulator Setup, deployment, of emulation platforms RT RT Field Field Sim Sim Deployment Control Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
    • ProblemsRun real protocol implementation in simulation Virtualization of execution environmentUse simulation as realtime emulator Setup, deployment, of emulation platformsIn both cases Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
    • ProblemsRun real protocol implementation in simulation Virtualization of execution environmentUse simulation as realtime emulator Setup, deployment, of emulation platformsIn both cases Transparency with other simulation models Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
    • ProblemsRun real protocol implementation in simulation Virtualization of execution environment Direct Code ExecutionUse simulation as realtime emulator Setup, deployment, of emulation platformsIn both cases Transparency with other simulation models Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
    • ProblemsRun real protocol implementation in simulation Virtualization of execution environment Direct Code ExecutionUse simulation as realtime emulator Setup, deployment, of emulation platforms NEPIIn both cases Transparency with other simulation models Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
    • ProblemsRun real protocol implementation in simulation Virtualization of execution environment Direct Code ExecutionUse simulation as realtime emulator Setup, deployment, of emulation platforms NEPIIn both cases Transparency with other simulation models Simulated Packets Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
    • ns-3 ContributionsLacage (INRIA) Experimentation Tools & Network Research Nov 2010 11 / 55
    • ns-3 Contributions ns-3: 300 KLOC AODV OLSR UDP/IPv4/ARP TCP UDP/Ipv6 Csma PointToPoint Uan Bridge Spectrum Wifi Mesh Wimax Core Mobility MPILacage (INRIA) Experimentation Tools & Network Research Nov 2010 11 / 55
    • ns-3 Contributions ns-3: 300 KLOC Wrote about 80 KLOC AODV OLSR UDP/IPv4/ARP TCP UDP/Ipv6 Csma PointToPoint Uan Bridge Spectrum Wifi Mesh Wimax Core Mobility MPILacage (INRIA) Experimentation Tools & Network Research Nov 2010 11 / 55
    • Scientific ContributionsLacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
    • Scientific ContributionsSimulated packets Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
    • Scientific ContributionsSimulated packets More CPU efficient than other simulators Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
    • Scientific ContributionsSimulated packets More CPU efficient than other simulators Automatic conversion simulation/network format Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
    • Scientific ContributionsSimulated packets More CPU efficient than other simulators Automatic conversion simulation/network formatDirect Code Execution Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
    • Scientific ContributionsSimulated packets More CPU efficient than other simulators Automatic conversion simulation/network formatDirect Code Execution 10x more CPU efficient than other DCE frameworks Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
    • Scientific ContributionsSimulated packets More CPU efficient than other simulators Automatic conversion simulation/network formatDirect Code Execution 10x more CPU efficient than other DCE frameworks Large applicability scope Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
    • Scientific ContributionsSimulated packets More CPU efficient than other simulators Automatic conversion simulation/network formatDirect Code Execution 10x more CPU efficient than other DCE frameworks Large applicability scopeNEPI Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
    • Scientific ContributionsSimulated packets More CPU efficient than other simulators Automatic conversion simulation/network formatDirect Code Execution 10x more CPU efficient than other DCE frameworks Large applicability scopeNEPI Unified experiment description Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
    • Scientific ContributionsSimulated packets More CPU efficient than other simulators Automatic conversion simulation/network formatDirect Code Execution 10x more CPU efficient than other DCE frameworks Large applicability scopeNEPI Unified experiment description Automated deployment Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
    • OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 13 / 55
    • Requirements Transparent conversion to/from real bytes CPU and memory efficiency Fragmentation/Reassembly Simulation-only data Pretty printing Extensibility Robust Application Programming Interface (API)Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 14 / 55
    • Related WorkTwo approaches Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 15 / 55
    • Related WorkTwo approaches Packet is list of headers: GTNetS, OMNeT++, SSFNet MAC IP TCP Payload Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 15 / 55
    • Related WorkTwo approaches Packet is list of headers: GTNetS, OMNeT++, SSFNet MAC IP TCP Payload Packet is buffer of bytes: Yans, GloMoSim MAC IP TCP Payload Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 15 / 55
    • Pros and Cons List BufferFragmentation, ReassemblyConversion real bytesSimulation-only dataPretty printingCPU, memory efficiency Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 16 / 55
    • Our solutionPacket as buffer of bytes Fragmentation, Reassembly Automatic conversion to/from real bytes Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
    • Our solutionPacket as buffer of bytes Fragmentation, Reassembly Automatic conversion to/from real bytesTags Simulation-only data Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
    • Our solutionPacket as buffer of bytes Fragmentation, Reassembly Automatic conversion to/from real bytesTags Simulation-only dataMetadata Pretty printing Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
    • Our solutionPacket as buffer of bytes Fragmentation, Reassembly Automatic conversion to/from real bytesTags Simulation-only dataMetadata Pretty printingCopy On Write (COW) CPU, memory efficiency Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
    • Performance evaluationMicro-benchmark scenarios Reception Forwarding Transmission 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
    • ContributionsLacage (INRIA) Experimentation Tools & Network Research Nov 2010 20 / 55
    • ContributionsMore CPU efficient than other simulators Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 20 / 55
    • ContributionsMore CPU efficient than other simulatorsTransparent support for real network bytes Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 20 / 55
    • OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 21 / 55
    • The manual approachGlobal variablesstatic int g_var; static int [100]g_var_array;g_var ++; g_var_array[current_id ()] ++; Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 22 / 55
    • The manual approachGlobal variablesstatic int g_var; static int [100]g_var_array;g_var ++; g_var_array[current_id ()] ++;Redirect system calls clock (); dce_clock (); Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 22 / 55
    • The manual approachGlobal variablesstatic int g_var; static int [100]g_var_array;g_var ++; g_var_array[current_id ()] ++;Redirect system calls clock (); dce_clock ();Re-implement all system callsclock_t dce_clock (void) { return Simulator::Now ().GetMicroSeconds ();} Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 22 / 55
    • The problemManual modifications: does not scale Painful to do once Impossible to do for software updates Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 23 / 55
    • Related workLacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
    • Related workNetwork Simulation Cradle Automated source modifications for C code Hard to extend to C++ Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
    • Related workNetwork Simulation Cradle Automated source modifications for C code Hard to extend to C++Weaves Automated textual assembly modifications Invalid assumptions about compiler-generated code Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
    • Related workNetwork Simulation Cradle Automated source modifications for C code Hard to extend to C++Weaves Automated textual assembly modifications Invalid assumptions about compiler-generated codeCOOJA Automated memory virtualization Slow Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
    • ns-3 DCEExecutable and Linkable Format (ELF) loader Fast Automated memory virtualization Automated system call redirection Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 25 / 55
    • ns-3 DCEExecutable and Linkable Format (ELF) loader Fast Automated memory virtualization Automated system call redirectionUserspace system calls Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 25 / 55
    • ns-3 DCEExecutable and Linkable Format (ELF) loader Fast Automated memory virtualization Automated system call redirectionUserspace system callsKernelspace system calls Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 25 / 55
    • Loader PerformanceScenario: udp-perf udp-perf userspace DCE userspace DCE Linux Linux Linux UDP/IP UDP/IP UDP/IP kernelspace DCE kernelspace DCE kernelspace DCE PointToPointLink PointToPointLink Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 26 / 55
    • Loader Performance 100000 Cooja ns-3Packets per 10000wall clocksecondvs 1000Number ofnodes 100 0 10 20 30 40 50 60 70 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 27 / 55
    • Loader Performance 35000 Cooja ns-3 30000 25000Memory(bytes) 20000vsNumber of 15000nodes 10000 5000 0 0 10 20 30 40 50 60 70 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 28 / 55
    • System Performance 1e+06 dce-none dce-user dce-user+kernelPackets per 100000wall clocksecondvs 10000Number ofnodes 1000 0 2 4 6 8 10 12 14 16 18 20 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 29 / 55
    • Tested programsBinary 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 programsBinary Missing functionsccnd 11/usr/sbin/httpd 18 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 31 / 55
    • Contributions10x more efficient than existing alternatives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
    • Contributions10x more efficient than existing alternativesLarger scope than existing alternatives Userspace: ping, traceroute, quagga, etc. Kernelspace: Linux IP, TCP, etc. Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
    • Contributions10x more efficient than existing alternativesLarger scope than existing alternatives Userspace: ping, traceroute, quagga, etc. Kernelspace: Linux IP, TCP, etc.Potential usecases: Debugging platform: single debugger controls all protocol instances Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
    • Contributions10x more efficient than existing alternativesLarger scope than existing alternatives Userspace: ping, traceroute, quagga, etc. Kernelspace: Linux IP, TCP, etc.Potential usecases: Debugging platform: single debugger controls all protocol instances Development platform Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
    • Contributions10x more efficient than existing alternativesLarger scope than existing alternatives Userspace: ping, traceroute, quagga, etc. Kernelspace: Linux IP, TCP, etc.Potential usecases: Debugging platform: single debugger controls all protocol instances Development platform Test platform Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
    • OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 33 / 55
    • Objective ScenarioLacage (INRIA) Experimentation Tools & Network Research Nov 2010 34 / 55
    • Objective Scenario VLC Wifi RouterServer STA Wifi VLCRouter AP Client Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 34 / 55
    • Objective Scenario VLC Wifi Simulated links/networks RouterServer STA ns-3 simulation models Realtime scheduler Wifi VLCRouter AP Client Tap device Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 34 / 55
    • Objective Scenario VLC Wifi Simulated links/networks Router Server STA ns-3 simulation models Realtime scheduler Wifi VLC Router AP Client Tap deviceLight weight Virtual Machines Linux Network Namespaces Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 34 / 55
    • Easy DeploymentLacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
    • Easy DeploymentProblem Tap/VM creation and setup Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
    • Easy DeploymentProblem Tap/VM creation and setup Coherent IP address assignment across simulation and VMs Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
    • Easy DeploymentProblem Tap/VM creation and setup Coherent IP address assignment across simulation and VMs Coherent IP forwarding tables across simulation and VMs Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
    • Easy DeploymentProblem Tap/VM creation and setup Coherent IP address assignment across simulation and VMs Coherent IP forwarding tables across simulation and VMsSolution Automate everything Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
    • Easy DeploymentProblem Tap/VM creation and setup Coherent IP address assignment across simulation and VMs Coherent IP forwarding tables across simulation and VMsSolution Automate everythingBUT Need global view of experiment topology Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
    • Related WorkLacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
    • Related Work Emulab Tcl: ad hoc, hard to generalizeLacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
    • Related Work Emulab Tcl: ad hoc, hard to generalize OMF Ruby: unclear how to extend it to model complex topologiesLacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
    • Related Work Emulab Tcl: ad hoc, hard to generalize OMF Ruby: unclear how to extend it to model complex topologies OMNeT++ NED: hard to ensure correctnessLacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
    • Related Work Emulab Tcl: ad hoc, hard to generalize OMF Ruby: unclear how to extend it to model complex topologies OMNeT++ NED: hard to ensure correctness SSF DML: hard to ensure correctnessLacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
    • Related Work Emulab Tcl: ad hoc, hard to generalize OMF Ruby: unclear how to extend it to model complex topologies OMNeT++ NED: hard to ensure correctness SSF DML: hard to ensure correctness Geni RSPEC: hard to ensure correctnessLacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
    • Related Work Emulab Tcl: ad hoc, hard to generalize OMF Ruby: unclear how to extend it to model complex topologies OMNeT++ NED: hard to ensure correctness SSF DML: hard to ensure correctness Geni RSPEC: hard to ensure correctness Geni Omnispec: hard to ensure correctnessLacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
    • NEPI Object ModelLacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
    • NEPI Object ModelFunctional unit / Box Example: IP stack TCP stack Ethernet card Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
    • NEPI Object ModelFunctional unit / Box Example:Attributes IP checksum IP forwarding Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
    • NEPI Object ModelFunctional unit / Box Example:Attributes Out packetsTrace sources In packets Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
    • NEPI Object ModelFunctional unit / Box IPAttributesTrace sources devConnectors node Ethernet Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
    • NEPI Object ModelFunctional unit / Box IPAttributesTrace sources dev appConnectorsConnection checking node node Ethernet Ethernet Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
    • NEPI Object ModelFunctional unit / Box NodeAttributes devTrace sourcesConnectors cable node node cableConnection checking Ethernet EthernetHierarchical Switch port0 port1 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
    • Objective Scenario VLC Wifi Router Server STA Wifi VLC Router AP ClientLacage (INRIA) Experimentation Tools & Network Research Nov 2010 38 / 55
    • NEPI Representation NetNs IP ICMP ARP ns-3 IP ICMP ARP NetNs Vlc Vlc Node Mobility Mobility Node Node Node Wifi Loss Delay WifiTapNode FDNet Manager Manager FDNet TapNode Net NetInterface Device YansWifiChannel Device Interface ApMac Device Device StaMac YansWifiPhy YansWifiPhy Nist Nist Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 39 / 55
    • Global IP topologyn0 n1 n2 n3Tap net0 Fd Wifi Ap net1 Wifi Sta Fd net2 Tap Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 40 / 55
    • Demo screenshotLacage (INRIA) Experimentation Tools & Network Research Nov 2010 41 / 55
    • ContributionsAn integrated experimentation environment Unified experiment description Entire workflow support Automated deployment Strong coherency checking Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 42 / 55
    • OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 43 / 55
    • Papers PublishedLacage (INRIA) Experimentation Tools & Network Research Nov 2010 44 / 55
    • Papers Published “Yet another network simulator”, Proceedings of the 2006 workshop on ns-2Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 44 / 55
    • Papers Published “Yet another network simulator”, Proceedings of the 2006 workshop on ns-2 “NEPI: using independent simulators, emulators, and testbeds for easy experimentation”, SIGOPS Operating Systems ReviewLacage (INRIA) Experimentation Tools & Network Research Nov 2010 44 / 55
    • Papers in progress “The ns-3 network simulator: experience learned”, Software Practice & ExperienceLacage (INRIA) Experimentation Tools & Network Research Nov 2010 45 / 55
    • Papers in progress “The ns-3 network simulator: experience learned”, Software Practice & Experience “Direct Code Execution”, Networked Systems Design and ImplementationLacage (INRIA) Experimentation Tools & Network Research Nov 2010 45 / 55
    • ActivitiesChair NSTools 2007TPC WNS3 2009, 2010, 2011 Simutools 2008,2009 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 46 / 55
    • Simulated PacketsMore CPU efficient than other simulators Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 47 / 55
    • Simulated PacketsMore CPU efficient than other simulatorsTransparent support for real network bytes Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 47 / 55
    • Direct Code Execution10x more CPU efficient than other DCE frameworks Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 48 / 55
    • Direct Code Execution10x more CPU efficient than other DCE frameworksA robust implementation Userspace and kernelspace protocols C,C++ protocols ABI compatibility for userspace protocols Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 48 / 55
    • NEPIAn integrated experimentation environment Unified experiment description Entire workflow support Automated deployment Strong coherency checking Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 49 / 55
    • ImpactLacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
    • ImpactInstrumental in creating an Active Growing Open sourceSimulation community Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
    • ImpactInstrumental in creating an 0.6 0.5 Active 0.4 Growing 0.3 Open source 0.2Simulation community 0.1 Contributors > 80 0 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
    • ImpactInstrumental in creating an 800 700 Active 600 Growing 500 400 Open source 300Simulation community 200 Contributors > 80 100 0 Hundreds of users Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
    • ImpactInstrumental in creating an Active Growing Open sourceSimulation community Contributors > 80 Hundreds of users > 30 papers by users 2 sigcomm’09 1 sigcomm’10 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
    • OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 51 / 55
    • Tracing with DCELacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
    • Tracing with DCE Need to recompile for tracing changesLacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
    • Tracing with DCE Need to recompile for tracing changes Ideal workflow:Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
    • Tracing with DCE Need to recompile for tracing changes Ideal workflow: Trace function foo in bar.ccLacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
    • Tracing with DCE Need to recompile for tracing changes Ideal workflow: Trace function foo in bar.cc Trace line 122 in bar.ccLacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
    • Tracing with DCE Need to recompile for tracing changes Ideal workflow: Trace function foo in bar.cc Trace line 122 in bar.cc Trace variable foo at line 144 in bar.ccLacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
    • Tracing with DCE Need to recompile for tracing changes Ideal workflow: Trace function foo in bar.cc Trace line 122 in bar.cc Trace variable foo at line 144 in bar.cc BUT, not Java: no introspectionLacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
    • Dynamic instrumentationLacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
    • Dynamic instrumentation Locate code in memoryLacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
    • Dynamic instrumentation Locate code in memory Parse dynamic loader data structuresLacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
    • Dynamic instrumentation Locate code in memory Parse dynamic loader data structures Parse debugging informationLacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
    • Dynamic instrumentation Locate code in memory Parse dynamic loader data structures Parse debugging information Insert assembly hooksLacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
    • Dynamic instrumentation Locate code in memory Parse dynamic loader data structures Parse debugging information Insert assembly hooks Simple case (not thread-safe)Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
    • Dynamic instrumentation Locate code in memory Parse dynamic loader data structures Parse debugging information Insert assembly hooks Simple case (not thread-safe) General case harderLacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
    • Dynamic instrumentation Locate code in memory Parse dynamic loader data structures Parse debugging information Insert assembly hooks Simple case (not thread-safe) General case harderLacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
    • Multi-threaded Scheduler Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
    • Multi-threaded SchedulerConservative algorithm implemented: Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
    • Multi-threaded SchedulerConservative algorithm implemented: Fully transparent for users Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
    • Multi-threaded SchedulerConservative algorithm implemented: Fully transparent for users Measurable speedup Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
    • Multi-threaded SchedulerConservative algorithm implemented: Fully transparent for users Measurable speedup Thread-safety is easy Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
    • Multi-threaded SchedulerConservative algorithm implemented: Fully transparent for users Measurable speedup Thread-safety is easy Efficient thread-safety is hard Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
    • Multi-threaded SchedulerConservative algorithm implemented: Fully transparent for users Measurable speedup Thread-safety is easy Efficient thread-safety is hard Can we build more efficient thread-safety ? Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
    • Multi-threaded SchedulerConservative algorithm implemented: Fully transparent for users Measurable speedup Thread-safety is easy Efficient thread-safety is hard Can we build more efficient thread-safety ? Can we use optimistic algorithm transparently ? Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
    • Multi-threaded SchedulerConservative algorithm implemented: Fully transparent for users Measurable speedup Thread-safety is easy Efficient thread-safety is hard Can we build more efficient thread-safety ? 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