Successfully reported this slideshow.
Experimentation Tools   for Networking      Research                   Mathieu Lacage                           INRIA, Pla...
OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives   Lacage (INRIA)   Experimentation Tools...
Protocol evaluationLacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   3 / 55
Protocol evaluation            Analytical             analysisLacage (INRIA)           Experimentation Tools & Network Res...
Protocol evaluation            Analytical                                      Simulator             analysisLacage (INRIA...
Protocol evaluation            Analytical                                      Simulator                     Testbed      ...
Protocol evaluation            Analytical                                      Simulator                     Testbed      ...
Protocol evaluation            Analytical                                      Simulator                     Testbed      ...
Protocol evaluation            Analytical                                       Simulator                     Testbed     ...
Protocol evaluation            Analytical                                       Simulator                     Testbed     ...
Experimentation context                                   Experimentation                                      Realism    ...
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   ...
Why ? One protocol isolated -> Multiple protocol    interaction Steady stateLacage (INRIA)   Experimentation Tools & Netwo...
Why ? One protocol isolated -> Multiple protocol    interaction Steady state -> Transient behaviorLacage (INRIA)   Experim...
Cheaper hardware     Hardware       Cost                                                            TimeLacage (INRIA)   E...
Consequences                                   More testbeds                                   More Field tests           ...
Consequences      Less                         More testbeds   Simulations                     More Field tests     Alone ...
Consequences                                    More Testbed+                                     Simulation              ...
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 ...
DownsidesA lot more work     Must master many experimentation       environments     Must implement protocols twice   Laca...
ObjectivesLacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   9 / 55
ObjectivesSmooth transition simulations/testbed/field tests  Simulation                                                    ...
ObjectivesSmooth transition simulations/testbed/field tests   Run real protocol implementation in simulation               ...
ObjectivesSmooth transition simulations/testbed/field tests   Run real protocol implementation in simulation   Use simulati...
ProblemsRun real protocol implementation in simulation   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2...
ProblemsRun real protocol implementation in simulation   Virtualization of execution environment                Real Code ...
ProblemsRun real protocol implementation in simulation   Virtualization of execution environmentUse simulation as realtime...
ProblemsRun real protocol implementation in simulation   Virtualization of execution environmentUse simulation as realtime...
ProblemsRun real protocol implementation in simulation   Virtualization of execution environmentUse simulation as realtime...
ProblemsRun real protocol implementation in simulation   Virtualization of execution environmentUse simulation as realtime...
ProblemsRun real protocol implementation in simulation   Virtualization of execution environment             Direct Code E...
ProblemsRun real protocol implementation in simulation   Virtualization of execution environment             Direct Code E...
ProblemsRun real protocol implementation in simulation   Virtualization of execution environment             Direct Code E...
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/Ip...
ns-3 Contributions ns-3: 300 KLOC Wrote about 80 KLOC                 AODV       OLSR                 UDP/IPv4/ARP        ...
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 Tool...
Scientific ContributionsSimulated packets   More CPU efficient than other simulators   Automatic conversion simulation/netwo...
Scientific ContributionsSimulated packets    More CPU efficient than other simulators    Automatic conversion simulation/net...
Scientific ContributionsSimulated packets    More CPU efficient than other simulators    Automatic conversion simulation/net...
Scientific ContributionsSimulated packets    More CPU efficient than other simulators    Automatic conversion simulation/net...
Scientific ContributionsSimulated packets    More CPU efficient than other simulators    Automatic conversion simulation/net...
Scientific ContributionsSimulated packets    More CPU efficient than other simulators    Automatic conversion simulation/net...
Scientific ContributionsSimulated packets    More CPU efficient than other simulators    Automatic conversion simulation/net...
OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives   Lacage (INRIA)   Experimentation Tools...
Requirements Transparent conversion to/from real bytes CPU and memory efficiency Fragmentation/Reassembly Simulation-only d...
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             ...
Related WorkTwo approaches    Packet is list of headers: GTNetS, OMNeT++,      SSFNet             MAC           IP        ...
Pros and Cons                                                          List   BufferFragmentation, ReassemblyConversion re...
Our solutionPacket as buffer of bytes    Fragmentation, Reassembly    Automatic conversion to/from real bytes   Lacage (IN...
Our solutionPacket as buffer of bytes    Fragmentation, Reassembly    Automatic conversion to/from real bytesTags    Simul...
Our solutionPacket as buffer of bytes    Fragmentation, Reassembly    Automatic conversion to/from real bytesTags    Simul...
Our solutionPacket as buffer of bytes    Fragmentation, Reassembly    Automatic conversion to/from real bytesTags    Simul...
Performance evaluationMicro-benchmark scenarios    Reception    Forwarding    Transmission    Re-transmission   Lacage (IN...
Relative speedup               ns-3                OMNet++                    GTNetS     YansReception      1.00          ...
ContributionsLacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   20 / 55
ContributionsMore CPU efficient than other simulators   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 201...
ContributionsMore CPU efficient than other simulatorsTransparent support for real network bytes   Lacage (INRIA)   Experime...
OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives   Lacage (INRIA)   Experimentation Tools...
The manual approachGlobal variablesstatic int g_var;            static int [100]g_var_array;g_var ++;                    g...
The manual approachGlobal variablesstatic int g_var;            static int [100]g_var_array;g_var ++;                    g...
The manual approachGlobal variablesstatic int g_var;            static int [100]g_var_array;g_var ++;                    g...
The problemManual modifications: does not scale   Painful to do once   Impossible to do for software updates   Lacage (INRI...
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...
Related workNetwork Simulation Cradle    Automated source modifications for C code    Hard to extend to C++Weaves    Automa...
Related workNetwork Simulation Cradle    Automated source modifications for C code    Hard to extend to C++Weaves    Automa...
ns-3 DCEExecutable and Linkable Format (ELF) loader    Fast    Automated memory virtualization    Automated system call re...
ns-3 DCEExecutable and Linkable Format (ELF) loader    Fast    Automated memory virtualization    Automated system call re...
ns-3 DCEExecutable and Linkable Format (ELF) loader    Fast    Automated memory virtualization    Automated system call re...
Loader PerformanceScenario:             udp-perf                                                       udp-perf         us...
Loader Performance                         100000                                                                         ...
Loader Performance                        35000                                       Cooja                               ...
System Performance                        1e+06                                                                      dce-n...
Tested programsBinary          Missing functions/sbin/ip                       24/bin/ping                       2/bin/tra...
Untested programsBinary          Missing functionsccnd                           11/usr/sbin/httpd                18  Laca...
Contributions10x more efficient than existing alternatives   Lacage (INRIA)   Experimentation Tools & Network Research   No...
Contributions10x more efficient than existing alternativesLarger scope than existing alternatives    Userspace: ping, trace...
Contributions10x more efficient than existing alternativesLarger scope than existing alternatives    Userspace: ping, trace...
Contributions10x more efficient than existing alternativesLarger scope than existing alternatives    Userspace: ping, trace...
Contributions10x more efficient than existing alternativesLarger scope than existing alternatives    Userspace: ping, trace...
OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives   Lacage (INRIA)   Experimentation Tools...
Objective ScenarioLacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   34 / 55
Objective Scenario VLC          Wifi                      RouterServer        STA               Wifi   VLCRouter          ...
Objective Scenario VLC          Wifi                                   Simulated links/networks                      Route...
Objective Scenario  VLC          Wifi                                    Simulated links/networks                       Ro...
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...
Easy DeploymentProblem    Tap/VM creation and setup    Coherent IP address assignment across      simulation and VMs   Lac...
Easy DeploymentProblem    Tap/VM creation and setup    Coherent IP address assignment across      simulation and VMs    Co...
Easy DeploymentProblem    Tap/VM creation and setup    Coherent IP address assignment across       simulation and VMs    C...
Easy DeploymentProblem    Tap/VM creation and setup    Coherent IP address assignment across       simulation and VMs    C...
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   ...
Related Work Emulab Tcl: ad hoc, hard to generalize OMF Ruby: unclear how to extend it to model  complex topologiesLacage ...
Related Work Emulab Tcl: ad hoc, hard to generalize OMF Ruby: unclear how to extend it to model  complex topologies OMNeT+...
Related Work Emulab Tcl: ad hoc, hard to generalize OMF Ruby: unclear how to extend it to model  complex topologies OMNeT+...
Related Work Emulab Tcl: ad hoc, hard to generalize OMF Ruby: unclear how to extend it to model  complex topologies OMNeT+...
Related Work Emulab Tcl: ad hoc, hard to generalize OMF Ruby: unclear how to extend it to model  complex topologies OMNeT+...
NEPI Object ModelLacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   37 / 55
NEPI Object ModelFunctional unit / Box                       Example:                                               IP sta...
NEPI Object ModelFunctional unit / Box                       Example:Attributes                                     IP che...
NEPI Object ModelFunctional unit / Box                       Example:Attributes                                     Out pa...
NEPI Object ModelFunctional unit / Box                                   IPAttributesTrace sources                        ...
NEPI Object ModelFunctional unit / Box                                  IPAttributesTrace sources                         ...
NEPI Object ModelFunctional unit / Box                                                  NodeAttributes                    ...
Objective Scenario                  VLC                 Wifi                                                            Ro...
NEPI Representation NetNs                   IP   ICMP      ARP                    ns-3                            IP      ...
Global IP topologyn0                          n1                                      n2                    n3Tap         ...
Demo screenshotLacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   41 / 55
ContributionsAn integrated experimentation environment    Unified experiment description    Entire workflow support    Autom...
OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives   Lacage (INRIA)   Experimentation Tools...
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)   Experimentat...
Papers Published “Yet another network simulator”, Proceedings of    the 2006 workshop on ns-2 “NEPI: using independent sim...
Papers in progress “The ns-3 network simulator: experience   learned”, Software Practice & ExperienceLacage (INRIA)    Exp...
Papers in progress “The ns-3 network simulator: experience   learned”, Software Practice & Experience “Direct Code Executi...
ActivitiesChair    NSTools 2007TPC    WNS3 2009, 2010, 2011    Simutools 2008,2009   Lacage (INRIA)   Experimentation Tool...
Simulated PacketsMore CPU efficient than other simulators   Lacage (INRIA)   Experimentation Tools & Network Research   Nov...
Simulated PacketsMore CPU efficient than other simulatorsTransparent support for real network bytes   Lacage (INRIA)   Expe...
Direct Code Execution10x more CPU efficient than other DCE frameworks   Lacage (INRIA)   Experimentation Tools & Network Re...
Direct Code Execution10x more CPU efficient than other DCE frameworksA robust implementation    Userspace and kernelspace p...
NEPIAn integrated experimentation environment    Unified experiment description    Entire workflow support    Automated depl...
ImpactLacage (INRIA)   Experimentation Tools & Network Research     Nov 2010   50 / 55
ImpactInstrumental in creating an     Active     Growing     Open sourceSimulation community     Lacage (INRIA)   Experime...
ImpactInstrumental in creating an                     0.6                                                0.5     Active   ...
ImpactInstrumental in creating an                     800                                                700     Active   ...
ImpactInstrumental in creating an     Active     Growing     Open sourceSimulation community     Contributors > 80     Hun...
OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives   Lacage (INRIA)   Experimentation Tools...
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...
Tracing with DCE Need to recompile for tracing changes Ideal workflow:Lacage (INRIA)   Experimentation Tools & Network Rese...
Tracing with DCE Need to recompile for tracing changes Ideal workflow:          Trace function foo in bar.ccLacage (INRIA) ...
Tracing with DCE Need to recompile for tracing changes Ideal workflow:          Trace function foo in bar.cc          Trace...
Tracing with DCE Need to recompile for tracing changes Ideal workflow:          Trace function foo in bar.cc          Trace...
Tracing with DCE Need to recompile for tracing changes Ideal workflow:          Trace function foo in bar.cc          Trace...
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)     Experimentat...
Dynamic instrumentation Locate code in memory          Parse dynamic loader data structures          Parse debugging infor...
Dynamic instrumentation Locate code in memory          Parse dynamic loader data structures          Parse debugging infor...
Dynamic instrumentation Locate code in memory          Parse dynamic loader data structures          Parse debugging infor...
Dynamic instrumentation Locate code in memory          Parse dynamic loader data structures          Parse debugging infor...
Dynamic instrumentation Locate code in memory          Parse dynamic loader data structures          Parse debugging infor...
Multi-threaded Scheduler Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   54 / 55
Multi-threaded SchedulerConservative algorithm implemented:   Lacage (INRIA)   Experimentation Tools & Network Research   ...
Multi-threaded SchedulerConservative algorithm implemented:   Fully transparent for users   Lacage (INRIA)   Experimentati...
Multi-threaded SchedulerConservative algorithm implemented:   Fully transparent for users   Measurable speedup   Lacage (I...
Multi-threaded SchedulerConservative algorithm implemented:   Fully transparent for users   Measurable speedup   Thread-sa...
Multi-threaded SchedulerConservative algorithm implemented:   Fully transparent for users   Measurable speedup   Thread-sa...
Multi-threaded SchedulerConservative algorithm implemented:   Fully transparent for users   Measurable speedup   Thread-sa...
Multi-threaded SchedulerConservative algorithm implemented:   Fully transparent for users   Measurable speedup   Thread-sa...
Multi-threaded SchedulerConservative algorithm implemented:    Fully transparent for users    Measurable speedup    Thread...
Thank you !                 Questions ?Lacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   55 / 55
Upcoming SlideShare
Loading in …5
×

Ph.D. Defense

905 views

Published on

Published in: Business, Technology
  • Be the first to comment

Ph.D. Defense

  1. 1. Experimentation Tools for Networking Research Mathieu Lacage INRIA, Planète Nov 15th 2010Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 1 / 55
  2. 2. OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 2 / 55
  3. 3. Protocol evaluationLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  4. 4. Protocol evaluation Analytical analysisLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  5. 5. Protocol evaluation Analytical Simulator analysisLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  6. 6. Protocol evaluation Analytical Simulator Testbed analysisLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  7. 7. Protocol evaluation Analytical Simulator Testbed analysis Small scale fieldLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  8. 8. Protocol evaluation Analytical Simulator Testbed analysis Large Small scale scale field fieldLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  9. 9. Protocol evaluation Analytical Simulator Testbed analysis Large Small In the scale scale wild field fieldLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  10. 10. Protocol evaluation Analytical Simulator Testbed analysis Large Small In the scale scale wild field fieldLacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  11. 11. Experimentation context Experimentation Realism TimeLacage (INRIA) Experimentation Tools & Network Research Nov 2010 4 / 55
  12. 12. Why ? One protocol isolatedLacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
  13. 13. Why ? One protocol isolated -> Multiple protocol interactionLacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
  14. 14. Why ? One protocol isolated -> Multiple protocol interaction Steady stateLacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
  15. 15. Why ? One protocol isolated -> Multiple protocol interaction Steady state -> Transient behaviorLacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
  16. 16. Cheaper hardware Hardware Cost TimeLacage (INRIA) Experimentation Tools & Network Research Nov 2010 6 / 55
  17. 17. Consequences More testbeds More Field tests TimeLacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
  18. 18. Consequences Less More testbeds Simulations More Field tests Alone TimeLacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
  19. 19. Consequences More Testbed+ Simulation TimeLacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
  20. 20. DownsidesLacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
  21. 21. DownsidesA lot more work Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
  22. 22. DownsidesA lot more work Must master many experimentation environments Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
  23. 23. DownsidesA lot more work Must master many experimentation environments Must implement protocols twice Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
  24. 24. ObjectivesLacage (INRIA) Experimentation Tools & Network Research Nov 2010 9 / 55
  25. 25. ObjectivesSmooth transition simulations/testbed/field tests Simulation Field Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 9 / 55
  26. 26. 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
  27. 27. 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
  28. 28. ProblemsRun real protocol implementation in simulation Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
  29. 29. ProblemsRun real protocol implementation in simulation Virtualization of execution environment Real Code Simulation Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
  30. 30. ProblemsRun real protocol implementation in simulation Virtualization of execution environmentUse simulation as realtime emulator Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
  31. 31. 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
  32. 32. 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
  33. 33. 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
  34. 34. 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
  35. 35. 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
  36. 36. 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
  37. 37. ns-3 ContributionsLacage (INRIA) Experimentation Tools & Network Research Nov 2010 11 / 55
  38. 38. 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
  39. 39. 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
  40. 40. Scientific ContributionsLacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
  41. 41. Scientific ContributionsSimulated packets Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
  42. 42. Scientific ContributionsSimulated packets More CPU efficient than other simulators Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
  43. 43. Scientific ContributionsSimulated packets More CPU efficient than other simulators Automatic conversion simulation/network format Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
  44. 44. 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
  45. 45. 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
  46. 46. 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
  47. 47. 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
  48. 48. 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
  49. 49. 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
  50. 50. OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 13 / 55
  51. 51. 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
  52. 52. Related WorkTwo approaches Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 15 / 55
  53. 53. 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
  54. 54. 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
  55. 55. Pros and Cons List BufferFragmentation, ReassemblyConversion real bytesSimulation-only dataPretty printingCPU, memory efficiency Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 16 / 55
  56. 56. Our solutionPacket as buffer of bytes Fragmentation, Reassembly Automatic conversion to/from real bytes Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
  57. 57. 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
  58. 58. 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
  59. 59. 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
  60. 60. Performance evaluationMicro-benchmark scenarios Reception Forwarding Transmission Re-transmission Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 18 / 55
  61. 61. 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
  62. 62. ContributionsLacage (INRIA) Experimentation Tools & Network Research Nov 2010 20 / 55
  63. 63. ContributionsMore CPU efficient than other simulators Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 20 / 55
  64. 64. ContributionsMore CPU efficient than other simulatorsTransparent support for real network bytes Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 20 / 55
  65. 65. OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 21 / 55
  66. 66. 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
  67. 67. 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
  68. 68. 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
  69. 69. 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
  70. 70. Related workLacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
  71. 71. 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
  72. 72. 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
  73. 73. 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
  74. 74. 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
  75. 75. 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
  76. 76. 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
  77. 77. 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
  78. 78. 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
  79. 79. 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
  80. 80. 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
  81. 81. 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
  82. 82. Untested programsBinary Missing functionsccnd 11/usr/sbin/httpd 18 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 31 / 55
  83. 83. Contributions10x more efficient than existing alternatives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
  84. 84. 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
  85. 85. 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
  86. 86. 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
  87. 87. 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
  88. 88. OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 33 / 55
  89. 89. Objective ScenarioLacage (INRIA) Experimentation Tools & Network Research Nov 2010 34 / 55
  90. 90. Objective Scenario VLC Wifi RouterServer STA Wifi VLCRouter AP Client Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 34 / 55
  91. 91. 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
  92. 92. 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
  93. 93. Easy DeploymentLacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
  94. 94. Easy DeploymentProblem Tap/VM creation and setup Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
  95. 95. 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
  96. 96. 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
  97. 97. 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
  98. 98. 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
  99. 99. Related WorkLacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
  100. 100. Related Work Emulab Tcl: ad hoc, hard to generalizeLacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
  101. 101. 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
  102. 102. 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
  103. 103. 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
  104. 104. 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
  105. 105. 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
  106. 106. NEPI Object ModelLacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
  107. 107. NEPI Object ModelFunctional unit / Box Example: IP stack TCP stack Ethernet card Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
  108. 108. NEPI Object ModelFunctional unit / Box Example:Attributes IP checksum IP forwarding Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
  109. 109. NEPI Object ModelFunctional unit / Box Example:Attributes Out packetsTrace sources In packets Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
  110. 110. NEPI Object ModelFunctional unit / Box IPAttributesTrace sources devConnectors node Ethernet Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
  111. 111. NEPI Object ModelFunctional unit / Box IPAttributesTrace sources dev appConnectorsConnection checking node node Ethernet Ethernet Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
  112. 112. 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
  113. 113. Objective Scenario VLC Wifi Router Server STA Wifi VLC Router AP ClientLacage (INRIA) Experimentation Tools & Network Research Nov 2010 38 / 55
  114. 114. 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
  115. 115. 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
  116. 116. Demo screenshotLacage (INRIA) Experimentation Tools & Network Research Nov 2010 41 / 55
  117. 117. 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
  118. 118. OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 43 / 55
  119. 119. Papers PublishedLacage (INRIA) Experimentation Tools & Network Research Nov 2010 44 / 55
  120. 120. Papers Published “Yet another network simulator”, Proceedings of the 2006 workshop on ns-2Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 44 / 55
  121. 121. 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
  122. 122. Papers in progress “The ns-3 network simulator: experience learned”, Software Practice & ExperienceLacage (INRIA) Experimentation Tools & Network Research Nov 2010 45 / 55
  123. 123. 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
  124. 124. ActivitiesChair NSTools 2007TPC WNS3 2009, 2010, 2011 Simutools 2008,2009 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 46 / 55
  125. 125. Simulated PacketsMore CPU efficient than other simulators Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 47 / 55
  126. 126. Simulated PacketsMore CPU efficient than other simulatorsTransparent support for real network bytes Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 47 / 55
  127. 127. Direct Code Execution10x more CPU efficient than other DCE frameworks Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 48 / 55
  128. 128. 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
  129. 129. 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
  130. 130. ImpactLacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
  131. 131. ImpactInstrumental in creating an Active Growing Open sourceSimulation community Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
  132. 132. 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
  133. 133. 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
  134. 134. 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
  135. 135. OutlineMotivationSimulated PacketsDirect Code ExecutionNEPIConclusionPerspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 51 / 55
  136. 136. Tracing with DCELacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
  137. 137. Tracing with DCE Need to recompile for tracing changesLacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
  138. 138. Tracing with DCE Need to recompile for tracing changes Ideal workflow:Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
  139. 139. 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
  140. 140. 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
  141. 141. 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
  142. 142. 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
  143. 143. Dynamic instrumentationLacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
  144. 144. Dynamic instrumentation Locate code in memoryLacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
  145. 145. Dynamic instrumentation Locate code in memory Parse dynamic loader data structuresLacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
  146. 146. Dynamic instrumentation Locate code in memory Parse dynamic loader data structures Parse debugging informationLacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
  147. 147. 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
  148. 148. 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
  149. 149. 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
  150. 150. 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
  151. 151. Multi-threaded Scheduler Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
  152. 152. Multi-threaded SchedulerConservative algorithm implemented: Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
  153. 153. Multi-threaded SchedulerConservative algorithm implemented: Fully transparent for users Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
  154. 154. Multi-threaded SchedulerConservative algorithm implemented: Fully transparent for users Measurable speedup Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
  155. 155. 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
  156. 156. 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
  157. 157. 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
  158. 158. 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
  159. 159. 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
  160. 160. Thank you ! Questions ?Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 55 / 55

×