SlideShare uma empresa Scribd logo
1 de 160
Baixar para ler offline
Experimentation Tools
   for Networking
      Research
                   Mathieu 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

            Analytical
             analysis




Lacage (INRIA)           Experimentation Tools & Network Research   Nov 2010   3 / 55
Protocol evaluation

            Analytical
                                      Simulator
             analysis




Lacage (INRIA)           Experimentation Tools & Network Research   Nov 2010   3 / 55
Protocol evaluation

            Analytical
                                      Simulator                     Testbed
             analysis




Lacage (INRIA)           Experimentation Tools & Network Research             Nov 2010   3 / 55
Protocol evaluation

            Analytical
                                      Simulator                     Testbed
             analysis




                                                                     Small
                                                                     scale
                                                                      field




Lacage (INRIA)           Experimentation Tools & Network Research             Nov 2010   3 / 55
Protocol evaluation

            Analytical
                                      Simulator                     Testbed
             analysis




                                        Large                        Small
                                        scale                        scale
                                         field                        field




Lacage (INRIA)           Experimentation Tools & Network Research             Nov 2010   3 / 55
Protocol evaluation

            Analytical
                                       Simulator                     Testbed
             analysis




                                         Large                        Small
                 In the
                                         scale                        scale
                  wild
                                          field                        field




Lacage (INRIA)            Experimentation Tools & Network Research             Nov 2010   3 / 55
Protocol evaluation

            Analytical
                                       Simulator                     Testbed
             analysis




                                         Large                        Small
                 In the
                                         scale                        scale
                  wild
                                          field                        field




Lacage (INRIA)            Experimentation Tools & Network Research             Nov 2010   3 / 55
Experimentation context
                                   Experimentation
                                      Realism




                                                            Time

Lacage (INRIA)   Experimentation Tools & Network Research          Nov 2010   4 / 55
Why ?


 One protocol isolated




Lacage (INRIA)   Experimentation Tools & Network Research     Nov 2010   5 / 55
Why ?


 One protocol isolated -> Multiple protocol
   interaction




Lacage (INRIA)   Experimentation Tools & Network Research     Nov 2010   5 / 55
Why ?


 One protocol isolated -> Multiple protocol
    interaction
 Steady state




Lacage (INRIA)   Experimentation Tools & Network Research     Nov 2010   5 / 55
Why ?


 One protocol isolated -> Multiple protocol
    interaction
 Steady state -> Transient behavior




Lacage (INRIA)   Experimentation Tools & Network Research     Nov 2010   5 / 55
Cheaper hardware
     Hardware
       Cost




                                                            Time

Lacage (INRIA)   Experimentation Tools & Network Research          Nov 2010   6 / 55
Consequences
                                   More testbeds
                                   More Field tests




                                                            Time

Lacage (INRIA)   Experimentation Tools & Network Research          Nov 2010   7 / 55
Consequences
      Less                         More testbeds
   Simulations                     More Field tests
     Alone




                                                            Time

Lacage (INRIA)   Experimentation Tools & Network Research          Nov 2010   7 / 55
Consequences
                                    More Testbed+
                                     Simulation




                                                            Time

Lacage (INRIA)   Experimentation Tools & Network Research          Nov 2010   7 / 55
Downsides




Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   8 / 55
Downsides

A lot more work




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   8 / 55
Downsides

A lot more work
     Must master many experimentation
       environments




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   8 / 55
Downsides

A lot more work
     Must master many experimentation
       environments
     Must implement protocols twice




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   8 / 55
Objectives




Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   9 / 55
Objectives
Smooth transition simulations/testbed/field tests




  Simulation                                                    Field




    Lacage (INRIA)   Experimentation Tools & Network Research           Nov 2010   9 / 55
Objectives
Smooth 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
Objectives
Smooth 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
Problems
Run real protocol implementation in simulation




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   10 / 55
Problems
Run real protocol implementation in simulation
   Virtualization of execution environment




                Real Code



   Simulation




   Lacage (INRIA)           Experimentation Tools & Network Research   Nov 2010   10 / 55
Problems
Run real protocol implementation in simulation
   Virtualization of execution environment

Use simulation as realtime emulator




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   10 / 55
Problems
Run real protocol implementation in simulation
   Virtualization of execution environment

Use 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
Problems
Run real protocol implementation in simulation
   Virtualization of execution environment

Use simulation as realtime emulator
    Setup, deployment, of emulation platforms

In both cases




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   10 / 55
Problems
Run real protocol implementation in simulation
   Virtualization of execution environment

Use simulation as realtime emulator
    Setup, deployment, of emulation platforms

In both cases
     Transparency with other simulation models




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   10 / 55
Problems
Run real protocol implementation in simulation
   Virtualization of execution environment
             Direct Code Execution
Use simulation as realtime emulator
    Setup, deployment, of emulation platforms

In both cases
     Transparency with other simulation models




   Lacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   10 / 55
Problems
Run real protocol implementation in simulation
   Virtualization of execution environment
             Direct Code Execution
Use simulation as realtime emulator
    Setup, deployment, of emulation platforms
             NEPI
In both cases
     Transparency with other simulation models




   Lacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   10 / 55
Problems
Run real protocol implementation in simulation
   Virtualization of execution environment
             Direct Code Execution
Use simulation as realtime emulator
    Setup, deployment, of emulation platforms
             NEPI
In both cases
     Transparency with other simulation models
             Simulated Packets



   Lacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   10 / 55
ns-3 Contributions




Lacage (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          MPI


Lacage (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          MPI


Lacage (INRIA)           Experimentation Tools & Network Research   Nov 2010   11 / 55
Scientific Contributions




Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   12 / 55
Scientific Contributions
Simulated packets




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   12 / 55
Scientific Contributions
Simulated packets
   More CPU efficient than other simulators




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   12 / 55
Scientific Contributions
Simulated packets
   More CPU efficient than other simulators
   Automatic conversion simulation/network format




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   12 / 55
Scientific Contributions
Simulated packets
    More CPU efficient than other simulators
    Automatic conversion simulation/network format
Direct Code Execution




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   12 / 55
Scientific Contributions
Simulated packets
    More CPU efficient than other simulators
    Automatic conversion simulation/network format
Direct Code Execution
    10x more CPU efficient than other DCE
       frameworks




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   12 / 55
Scientific Contributions
Simulated packets
    More CPU efficient than other simulators
    Automatic conversion simulation/network format
Direct Code Execution
    10x more CPU efficient than other DCE
       frameworks
    Large applicability scope




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   12 / 55
Scientific Contributions
Simulated packets
    More CPU efficient than other simulators
    Automatic conversion simulation/network format
Direct Code Execution
    10x more CPU efficient than other DCE
       frameworks
    Large applicability scope
NEPI



   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   12 / 55
Scientific Contributions
Simulated packets
    More CPU efficient than other simulators
    Automatic conversion simulation/network format
Direct Code Execution
    10x more CPU efficient than other DCE
       frameworks
    Large applicability scope
NEPI
    Unified experiment description


   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   12 / 55
Scientific Contributions
Simulated packets
    More CPU efficient than other simulators
    Automatic conversion simulation/network format
Direct Code Execution
    10x more CPU efficient than other DCE
       frameworks
    Large applicability scope
NEPI
    Unified experiment description
    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

 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 Work
Two approaches




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   15 / 55
Related Work
Two approaches
    Packet is list of headers: GTNetS, OMNeT++,
      SSFNet
             MAC      IP                 TCP               Payload




   Lacage (INRIA)   Experimentation Tools & Network Research         Nov 2010   15 / 55
Related Work
Two 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   Buffer
Fragmentation, Reassembly
Conversion real bytes
Simulation-only data
Pretty printing
CPU, memory efficiency




  Lacage (INRIA)   Experimentation Tools & Network Research      Nov 2010   16 / 55
Our solution
Packet as buffer of bytes
    Fragmentation, Reassembly
    Automatic conversion to/from real bytes




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   17 / 55
Our solution
Packet as buffer of bytes
    Fragmentation, Reassembly
    Automatic conversion to/from real bytes
Tags
    Simulation-only data




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   17 / 55
Our solution
Packet as buffer of bytes
    Fragmentation, Reassembly
    Automatic conversion to/from real bytes
Tags
    Simulation-only data
Metadata
    Pretty printing




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   17 / 55
Our solution
Packet as buffer of bytes
    Fragmentation, Reassembly
    Automatic conversion to/from real bytes
Tags
    Simulation-only data
Metadata
    Pretty printing
Copy On Write (COW)
    CPU, memory efficiency

   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   17 / 55
Performance evaluation

Micro-benchmark scenarios
    Reception
    Forwarding
    Transmission
    Re-transmission




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   18 / 55
Relative speedup

               ns-3                OMNet++                    GTNetS     Yans
Reception      1.00                1.98                       2.25       3.07
Transmission   1.00                2.13                       1.78       2.16
Forwarding     1.00                2.83                       1.92       2.44
Retransmission 1.00                1.92                       1.70       4.76




  Lacage (INRIA)   Experimentation Tools & Network Research            Nov 2010   19 / 55
Contributions




Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   20 / 55
Contributions


More CPU efficient than other simulators




   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 approach
Global variables
static 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 approach
Global variables
static 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 approach
Global variables
static 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 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 scale
   Painful to do once
   Impossible to do for software updates




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   23 / 55
Related work




Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   24 / 55
Related work
Network Simulation Cradle
    Automated source modifications for C code
    Hard to extend to C++




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   24 / 55
Related work
Network 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 work
Network Simulation Cradle
    Automated source modifications for C code
    Hard to extend to C++
Weaves
    Automated textual assembly modifications
    Invalid assumptions about compiler-generated
      code
COOJA
    Automated memory virtualization
    Slow
   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   24 / 55
ns-3 DCE

Executable 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 DCE

Executable and Linkable Format (ELF) loader
    Fast
    Automated memory virtualization
    Automated system call redirection
Userspace system calls




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   25 / 55
ns-3 DCE

Executable and Linkable Format (ELF) loader
    Fast
    Automated memory virtualization
    Automated system call redirection
Userspace system calls
Kernelspace system calls




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   25 / 55
Loader Performance

Scenario:

             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-3


Packets per
                          10000
wall clock
second
vs
                            1000
Number of
nodes

                             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

                        25000
Memory(bytes)
                        20000
vs
Number of               15000

nodes                   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+kernel

Packets per
                       100000
wall clock
second
vs
                        10000
Number of
nodes

                          1000
                                 0     2      4      6     8   10   12   14   16     18   20



   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 functions
ccnd                           11
/usr/sbin/httpd                18




  Lacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   31 / 55
Contributions
10x more efficient than existing alternatives




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   32 / 55
Contributions
10x more efficient than existing alternatives
Larger scope than existing alternatives
    Userspace: ping, traceroute, quagga, etc.
    Kernelspace: Linux IP, TCP, etc.




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   32 / 55
Contributions
10x more efficient than existing alternatives
Larger 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
Contributions
10x more efficient than existing alternatives
Larger 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
Contributions
10x more efficient than existing alternatives
Larger 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
Outline
Motivation

Simulated Packets

Direct Code Execution

NEPI

Conclusion

Perspectives


   Lacage (INRIA)   Experimentation Tools & Network Research      Nov 2010   33 / 55
Objective Scenario




Lacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   34 / 55
Objective Scenario

 VLC          Wifi
                      Router
Server        STA




               Wifi   VLC
Router
               AP     Client




    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 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 device


Light weight Virtual Machines
    Linux Network Namespaces


     Lacage (INRIA)      Experimentation Tools & Network Research   Nov 2010   34 / 55
Easy Deployment




Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   35 / 55
Easy Deployment
Problem
    Tap/VM creation and setup




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   35 / 55
Easy Deployment
Problem
    Tap/VM creation and setup
    Coherent IP address assignment across
      simulation and VMs




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   35 / 55
Easy Deployment
Problem
    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 Deployment
Problem
    Tap/VM creation and setup
    Coherent IP address assignment across
       simulation and VMs
    Coherent IP forwarding tables across
       simulation and VMs
Solution
    Automate everything



   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   35 / 55
Easy Deployment
Problem
    Tap/VM creation and setup
    Coherent IP address assignment across
       simulation and VMs
    Coherent IP forwarding tables across
       simulation and VMs
Solution
    Automate everything
BUT
    Need global view of experiment topology

   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   35 / 55
Related Work




Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   36 / 55
Related Work

 Emulab Tcl: ad hoc, hard to generalize




Lacage (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




Lacage (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




Lacage (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




Lacage (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




Lacage (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 correctness



Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   36 / 55
NEPI Object Model




Lacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   37 / 55
NEPI Object Model

Functional unit / Box                       Example:
                                               IP stack
                                               TCP stack
                                               Ethernet card




  Lacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   37 / 55
NEPI Object Model

Functional unit / Box                       Example:
Attributes                                     IP checksum
                                               IP forwarding




  Lacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   37 / 55
NEPI Object Model

Functional unit / Box                       Example:
Attributes                                     Out packets
Trace sources
                                               In packets




  Lacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   37 / 55
NEPI Object Model

Functional unit / Box                                   IP
Attributes
Trace sources                                     dev

Connectors
                                                  node


                                                  Ethernet




  Lacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   37 / 55
NEPI Object Model

Functional unit / Box                                  IP
Attributes
Trace sources                                    dev     app

Connectors
Connection checking                              node          node


                                                 Ethernet      Ethernet




 Lacage (INRIA)    Experimentation Tools & Network Research    Nov 2010   37 / 55
NEPI Object Model

Functional unit / Box                                                  Node
Attributes
                                                                      dev
Trace sources
Connectors                                    cable
                                                      node        node
                                                                            cable
Connection checking                              Ethernet             Ethernet
Hierarchical
                                                                       Switch

                                                              port0              port1




 Lacage (INRIA)    Experimentation Tools & Network Research                   Nov 2010   37 / 55
Objective Scenario

                  VLC                 Wifi
                                                            Router
                 Server               STA




                                      Wifi                   VLC
                 Router
                                      AP                     Client




Lacage (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          Wifi
TapNode         FDNet         Manager                                                               Manager      FDNet          TapNode
                                            Net                                       Net
Interface       Device                                      YansWifiChannel                                      Device         Interface
                               ApMac       Device                                    Device         StaMac

                                              YansWifiPhy                      YansWifiPhy

                                              Nist                                    Nist




        Lacage (INRIA)                  Experimentation Tools & Network Research                                     Nov 2010        39 / 55
Global IP topology


n0                          n1                                      n2                    n3




Tap           net0     Fd         Wifi Ap      net1      Wifi Sta        Fd   net2        Tap




      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 environment
    Unified experiment description
    Entire workflow support
    Automated deployment
    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




Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   44 / 55
Papers Published

 “Yet another network simulator”, Proceedings of
    the 2006 workshop on ns-2




Lacage (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 Review




Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   44 / 55
Papers in progress


 “The ns-3 network simulator: experience
   learned”, Software Practice & Experience




Lacage (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 Implementation




Lacage (INRIA)    Experimentation Tools & Network Research   Nov 2010   45 / 55
Activities

Chair
    NSTools 2007
TPC
    WNS3 2009, 2010, 2011
    Simutools 2008,2009




   Lacage (INRIA)   Experimentation Tools & Network Research    Nov 2010   46 / 55
Simulated Packets


More CPU efficient than other simulators




   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




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   48 / 55
Direct Code Execution

10x more CPU efficient than other DCE frameworks

A robust implementation
    Userspace and kernelspace protocols
    C,C++ protocols
    ABI compatibility for userspace protocols




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   48 / 55
NEPI

An integrated experimentation environment
    Unified experiment description
    Entire workflow support
    Automated deployment
    Strong coherency checking




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   49 / 55
Impact




Lacage (INRIA)   Experimentation Tools & Network Research     Nov 2010   50 / 55
Impact
Instrumental in creating an
     Active
     Growing
     Open source
Simulation community




     Lacage (INRIA)   Experimentation Tools & Network Research     Nov 2010   50 / 55
Impact
Instrumental in creating an                     0.6

                                                0.5
     Active
                                                0.4
     Growing
                                                0.3
     Open source
                                                0.2
Simulation community
                                                0.1
     Contributors > 80
                                                  0




     Lacage (INRIA)   Experimentation Tools & Network Research     Nov 2010   50 / 55
Impact
Instrumental in creating an                     800
                                                700
     Active                                     600
     Growing                                    500
                                                400
     Open source
                                                300
Simulation community                            200

     Contributors > 80                          100
                                                   0
     Hundreds of users




     Lacage (INRIA)   Experimentation Tools & Network Research     Nov 2010   50 / 55
Impact
Instrumental in creating an
     Active
     Growing
     Open source
Simulation 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
Outline
Motivation

Simulated Packets

Direct Code Execution

NEPI

Conclusion

Perspectives


   Lacage (INRIA)   Experimentation Tools & Network Research      Nov 2010   51 / 55
Tracing with DCE




Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   52 / 55
Tracing with DCE

 Need to recompile for tracing changes




Lacage (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.cc




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.cc
          Trace line 122 in bar.cc




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.cc
          Trace line 122 in bar.cc
          Trace variable foo at line 144 in bar.cc




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.cc
          Trace line 122 in bar.cc
          Trace variable foo at line 144 in bar.cc
 BUT, not Java: no introspection




Lacage (INRIA)      Experimentation Tools & Network Research   Nov 2010   52 / 55
Dynamic instrumentation




Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   53 / 55
Dynamic instrumentation

 Locate code in memory




Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   53 / 55
Dynamic instrumentation

 Locate code in memory
          Parse dynamic loader data structures




Lacage (INRIA)     Experimentation Tools & Network Research   Nov 2010   53 / 55
Dynamic instrumentation

 Locate code in memory
          Parse dynamic loader data structures
          Parse debugging information




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




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)




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 harder




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 harder




Lacage (INRIA)     Experimentation Tools & Network Research   Nov 2010   53 / 55
Multi-threaded Scheduler




 Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   54 / 55
Multi-threaded Scheduler
Conservative algorithm implemented:




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   54 / 55
Multi-threaded Scheduler
Conservative algorithm implemented:
   Fully transparent for users




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   54 / 55
Multi-threaded Scheduler
Conservative algorithm implemented:
   Fully transparent for users
   Measurable speedup




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   54 / 55
Multi-threaded Scheduler
Conservative algorithm implemented:
   Fully transparent for users
   Measurable speedup
   Thread-safety is easy




   Lacage (INRIA)   Experimentation Tools & Network Research   Nov 2010   54 / 55
Multi-threaded Scheduler
Conservative 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 Scheduler
Conservative 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 Scheduler
Conservative 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 Scheduler
Conservative 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

Mais conteúdo relacionado

Semelhante a Ph.D. Defense (7)

Designing Experiment Agnostic Remote Laboratories
Designing Experiment Agnostic Remote LaboratoriesDesigning Experiment Agnostic Remote Laboratories
Designing Experiment Agnostic Remote Laboratories
 
Eagle eye presentation ver 2.0 slides
Eagle eye presentation ver 2.0 slidesEagle eye presentation ver 2.0 slides
Eagle eye presentation ver 2.0 slides
 
Eagle eye presentation ver 2.0 slides
Eagle eye presentation ver 2.0 slidesEagle eye presentation ver 2.0 slides
Eagle eye presentation ver 2.0 slides
 
FIBRE project overview
FIBRE project overviewFIBRE project overview
FIBRE project overview
 
Experiences from Context-aware Services in Real World
Experiences from Context-aware Services in Real WorldExperiences from Context-aware Services in Real World
Experiences from Context-aware Services in Real World
 
SuperMinds Talks: Dimitri Schuurman (SuperMinds 2013)
SuperMinds Talks: Dimitri Schuurman (SuperMinds 2013)SuperMinds Talks: Dimitri Schuurman (SuperMinds 2013)
SuperMinds Talks: Dimitri Schuurman (SuperMinds 2013)
 
International Collaboration
International CollaborationInternational Collaboration
International Collaboration
 

Último

Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
dlhescort
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
dlhescort
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
daisycvs
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
amitlee9823
 
Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000
Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000
Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000
dlhescort
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
daisycvs
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
lizamodels9
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
dollysharma2066
 

Último (20)

Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
Call Girls in Delhi, Escort Service Available 24x7 in Delhi 959961-/-3876
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
 
Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Century
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League City
 
PHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation FinalPHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation Final
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLBAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000
Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000
Call Girls In Majnu Ka Tilla 959961~3876 Shot 2000 Night 8000
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors Data
 
Falcon Invoice Discounting platform in india
Falcon Invoice Discounting platform in indiaFalcon Invoice Discounting platform in india
Falcon Invoice Discounting platform in india
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
JAYNAGAR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
JAYNAGAR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLJAYNAGAR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
JAYNAGAR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
 

Ph.D. Defense

  • 1. Experimentation Tools for Networking Research Mathieu Lacage INRIA, Planète Nov 15th 2010 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 1 / 55
  • 2. Outline Motivation Simulated Packets Direct Code Execution NEPI Conclusion Perspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 2 / 55
  • 3. Protocol evaluation Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  • 4. Protocol evaluation Analytical analysis Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  • 5. Protocol evaluation Analytical Simulator analysis Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  • 6. Protocol evaluation Analytical Simulator Testbed analysis Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  • 7. Protocol evaluation Analytical Simulator Testbed analysis Small scale field Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  • 8. Protocol evaluation Analytical Simulator Testbed analysis Large Small scale scale field field Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  • 9. Protocol evaluation Analytical Simulator Testbed analysis Large Small In the scale scale wild field field Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  • 10. Protocol evaluation Analytical Simulator Testbed analysis Large Small In the scale scale wild field field Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
  • 11. Experimentation context Experimentation Realism Time Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 4 / 55
  • 12. Why ? One protocol isolated Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
  • 13. Why ? One protocol isolated -> Multiple protocol interaction Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
  • 14. Why ? One protocol isolated -> Multiple protocol interaction Steady state Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
  • 15. Why ? One protocol isolated -> Multiple protocol interaction Steady state -> Transient behavior Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
  • 16. Cheaper hardware Hardware Cost Time Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 6 / 55
  • 17. Consequences More testbeds More Field tests Time Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
  • 18. Consequences Less More testbeds Simulations More Field tests Alone Time Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
  • 19. Consequences More Testbed+ Simulation Time Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
  • 20. Downsides Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
  • 21. Downsides A lot more work Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
  • 22. Downsides A lot more work Must master many experimentation environments Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
  • 23. Downsides A lot more work Must master many experimentation environments Must implement protocols twice Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
  • 24. Objectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 9 / 55
  • 25. Objectives Smooth transition simulations/testbed/field tests Simulation Field Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 9 / 55
  • 26. Objectives Smooth 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. Objectives Smooth 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. Problems Run real protocol implementation in simulation Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
  • 29. Problems Run real protocol implementation in simulation Virtualization of execution environment Real Code Simulation Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
  • 30. Problems Run real protocol implementation in simulation Virtualization of execution environment Use simulation as realtime emulator Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
  • 31. Problems Run real protocol implementation in simulation Virtualization of execution environment Use 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. Problems Run real protocol implementation in simulation Virtualization of execution environment Use simulation as realtime emulator Setup, deployment, of emulation platforms In both cases Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
  • 33. Problems Run real protocol implementation in simulation Virtualization of execution environment Use simulation as realtime emulator Setup, deployment, of emulation platforms In both cases Transparency with other simulation models Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
  • 34. Problems Run real protocol implementation in simulation Virtualization of execution environment Direct Code Execution Use simulation as realtime emulator Setup, deployment, of emulation platforms In both cases Transparency with other simulation models Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
  • 35. Problems Run real protocol implementation in simulation Virtualization of execution environment Direct Code Execution Use simulation as realtime emulator Setup, deployment, of emulation platforms NEPI In both cases Transparency with other simulation models Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
  • 36. Problems Run real protocol implementation in simulation Virtualization of execution environment Direct Code Execution Use simulation as realtime emulator Setup, deployment, of emulation platforms NEPI In both cases Transparency with other simulation models Simulated Packets Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
  • 37. ns-3 Contributions Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 11 / 55
  • 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 MPI Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 11 / 55
  • 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 MPI Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 11 / 55
  • 40. Scientific Contributions Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
  • 41. Scientific Contributions Simulated packets Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
  • 42. Scientific Contributions Simulated packets More CPU efficient than other simulators Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
  • 43. Scientific Contributions Simulated packets More CPU efficient than other simulators Automatic conversion simulation/network format Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
  • 44. Scientific Contributions Simulated packets More CPU efficient than other simulators Automatic conversion simulation/network format Direct Code Execution Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
  • 45. Scientific Contributions Simulated packets More CPU efficient than other simulators Automatic conversion simulation/network format Direct Code Execution 10x more CPU efficient than other DCE frameworks Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
  • 46. Scientific Contributions Simulated packets More CPU efficient than other simulators Automatic conversion simulation/network format Direct Code Execution 10x more CPU efficient than other DCE frameworks Large applicability scope Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
  • 47. Scientific Contributions Simulated packets More CPU efficient than other simulators Automatic conversion simulation/network format Direct Code Execution 10x more CPU efficient than other DCE frameworks Large applicability scope NEPI Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
  • 48. Scientific Contributions Simulated packets More CPU efficient than other simulators Automatic conversion simulation/network format Direct Code Execution 10x more CPU efficient than other DCE frameworks Large applicability scope NEPI Unified experiment description Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
  • 49. Scientific Contributions Simulated packets More CPU efficient than other simulators Automatic conversion simulation/network format Direct Code Execution 10x more CPU efficient than other DCE frameworks Large applicability scope NEPI Unified experiment description Automated deployment Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
  • 50. Outline Motivation Simulated Packets Direct Code Execution NEPI Conclusion Perspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 13 / 55
  • 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. Related Work Two approaches Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 15 / 55
  • 53. Related Work Two approaches Packet is list of headers: GTNetS, OMNeT++, SSFNet MAC IP TCP Payload Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 15 / 55
  • 54. Related Work Two 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. Pros and Cons List Buffer Fragmentation, Reassembly Conversion real bytes Simulation-only data Pretty printing CPU, memory efficiency Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 16 / 55
  • 56. Our solution Packet as buffer of bytes Fragmentation, Reassembly Automatic conversion to/from real bytes Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
  • 57. Our solution Packet as buffer of bytes Fragmentation, Reassembly Automatic conversion to/from real bytes Tags Simulation-only data Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
  • 58. Our solution Packet as buffer of bytes Fragmentation, Reassembly Automatic conversion to/from real bytes Tags Simulation-only data Metadata Pretty printing Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
  • 59. Our solution Packet as buffer of bytes Fragmentation, Reassembly Automatic conversion to/from real bytes Tags Simulation-only data Metadata Pretty printing Copy On Write (COW) CPU, memory efficiency Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
  • 60. Performance evaluation Micro-benchmark scenarios Reception Forwarding Transmission Re-transmission Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 18 / 55
  • 61. Relative speedup ns-3 OMNet++ GTNetS Yans Reception 1.00 1.98 2.25 3.07 Transmission 1.00 2.13 1.78 2.16 Forwarding 1.00 2.83 1.92 2.44 Retransmission 1.00 1.92 1.70 4.76 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 19 / 55
  • 62. Contributions Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 20 / 55
  • 63. Contributions More CPU efficient than other simulators Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 20 / 55
  • 64. Contributions More CPU efficient than other simulators Transparent support for real network bytes Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 20 / 55
  • 65. Outline Motivation Simulated Packets Direct Code Execution NEPI Conclusion Perspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 21 / 55
  • 66. The manual approach Global variables static 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. The manual approach Global variables static 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. The manual approach Global variables static 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 calls clock_t dce_clock (void) { return Simulator::Now ().GetMicroSeconds (); } Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 22 / 55
  • 69. The problem Manual 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. Related work Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
  • 71. Related work Network Simulation Cradle Automated source modifications for C code Hard to extend to C++ Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
  • 72. Related work Network 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. Related work Network Simulation Cradle Automated source modifications for C code Hard to extend to C++ Weaves Automated textual assembly modifications Invalid assumptions about compiler-generated code COOJA Automated memory virtualization Slow Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
  • 74. ns-3 DCE Executable and Linkable Format (ELF) loader Fast Automated memory virtualization Automated system call redirection Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 25 / 55
  • 75. ns-3 DCE Executable and Linkable Format (ELF) loader Fast Automated memory virtualization Automated system call redirection Userspace system calls Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 25 / 55
  • 76. ns-3 DCE Executable and Linkable Format (ELF) loader Fast Automated memory virtualization Automated system call redirection Userspace system calls Kernelspace system calls Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 25 / 55
  • 77. Loader Performance Scenario: 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. Loader Performance 100000 Cooja ns-3 Packets per 10000 wall clock second vs 1000 Number of nodes 100 0 10 20 30 40 50 60 70 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 27 / 55
  • 79. Loader Performance 35000 Cooja ns-3 30000 25000 Memory(bytes) 20000 vs Number of 15000 nodes 10000 5000 0 0 10 20 30 40 50 60 70 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 28 / 55
  • 80. System Performance 1e+06 dce-none dce-user dce-user+kernel Packets per 100000 wall clock second vs 10000 Number of nodes 1000 0 2 4 6 8 10 12 14 16 18 20 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 29 / 55
  • 81. 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
  • 82. Untested programs Binary Missing functions ccnd 11 /usr/sbin/httpd 18 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 31 / 55
  • 83. Contributions 10x more efficient than existing alternatives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
  • 84. Contributions 10x more efficient than existing alternatives Larger 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. Contributions 10x more efficient than existing alternatives Larger 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. Contributions 10x more efficient than existing alternatives Larger 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. Contributions 10x more efficient than existing alternatives Larger 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. Outline Motivation Simulated Packets Direct Code Execution NEPI Conclusion Perspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 33 / 55
  • 89. Objective Scenario Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 34 / 55
  • 90. Objective Scenario VLC Wifi Router Server STA Wifi VLC Router AP Client Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 34 / 55
  • 91. Objective Scenario VLC Wifi Simulated links/networks Router Server STA ns-3 simulation models Realtime scheduler Wifi VLC Router AP Client Tap device Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 34 / 55
  • 92. Objective Scenario VLC Wifi Simulated links/networks Router Server STA ns-3 simulation models Realtime scheduler Wifi VLC Router AP Client Tap device Light weight Virtual Machines Linux Network Namespaces Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 34 / 55
  • 93. Easy Deployment Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
  • 94. Easy Deployment Problem Tap/VM creation and setup Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
  • 95. Easy Deployment Problem Tap/VM creation and setup Coherent IP address assignment across simulation and VMs Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
  • 96. Easy Deployment Problem 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. Easy Deployment Problem Tap/VM creation and setup Coherent IP address assignment across simulation and VMs Coherent IP forwarding tables across simulation and VMs Solution Automate everything Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
  • 98. Easy Deployment Problem Tap/VM creation and setup Coherent IP address assignment across simulation and VMs Coherent IP forwarding tables across simulation and VMs Solution Automate everything BUT Need global view of experiment topology Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
  • 99. Related Work Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
  • 100. Related Work Emulab Tcl: ad hoc, hard to generalize Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
  • 101. Related Work Emulab Tcl: ad hoc, hard to generalize OMF Ruby: unclear how to extend it to model complex topologies Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
  • 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 correctness Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
  • 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 correctness Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
  • 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 correctness Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
  • 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 correctness Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
  • 106. NEPI Object Model Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
  • 107. NEPI Object Model Functional unit / Box Example: IP stack TCP stack Ethernet card Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
  • 108. NEPI Object Model Functional unit / Box Example: Attributes IP checksum IP forwarding Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
  • 109. NEPI Object Model Functional unit / Box Example: Attributes Out packets Trace sources In packets Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
  • 110. NEPI Object Model Functional unit / Box IP Attributes Trace sources dev Connectors node Ethernet Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
  • 111. NEPI Object Model Functional unit / Box IP Attributes Trace sources dev app Connectors Connection checking node node Ethernet Ethernet Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
  • 112. NEPI Object Model Functional unit / Box Node Attributes dev Trace sources Connectors cable node node cable Connection checking Ethernet Ethernet Hierarchical Switch port0 port1 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
  • 113. Objective Scenario VLC Wifi Router Server STA Wifi VLC Router AP Client Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 38 / 55
  • 114. NEPI Representation NetNs IP ICMP ARP ns-3 IP ICMP ARP NetNs Vlc Vlc Node Mobility Mobility Node Node Node Wifi Loss Delay Wifi TapNode FDNet Manager Manager FDNet TapNode Net Net Interface Device YansWifiChannel Device Interface ApMac Device Device StaMac YansWifiPhy YansWifiPhy Nist Nist Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 39 / 55
  • 115. Global IP topology n0 n1 n2 n3 Tap net0 Fd Wifi Ap net1 Wifi Sta Fd net2 Tap Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 40 / 55
  • 116. Demo screenshot Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 41 / 55
  • 117. Contributions An 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. Outline Motivation Simulated Packets Direct Code Execution NEPI Conclusion Perspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 43 / 55
  • 119. Papers Published Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 44 / 55
  • 120. Papers Published “Yet another network simulator”, Proceedings of the 2006 workshop on ns-2 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 44 / 55
  • 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 Review Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 44 / 55
  • 122. Papers in progress “The ns-3 network simulator: experience learned”, Software Practice & Experience Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 45 / 55
  • 123. Papers in progress “The ns-3 network simulator: experience learned”, Software Practice & Experience “Direct Code Execution”, Networked Systems Design and Implementation Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 45 / 55
  • 124. Activities Chair NSTools 2007 TPC WNS3 2009, 2010, 2011 Simutools 2008,2009 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 46 / 55
  • 125. Simulated Packets More CPU efficient than other simulators Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 47 / 55
  • 126. Simulated Packets More CPU efficient than other simulators Transparent support for real network bytes Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 47 / 55
  • 127. Direct Code Execution 10x more CPU efficient than other DCE frameworks Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 48 / 55
  • 128. Direct Code Execution 10x more CPU efficient than other DCE frameworks A 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. NEPI An 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. Impact Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
  • 131. Impact Instrumental in creating an Active Growing Open source Simulation community Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
  • 132. Impact Instrumental in creating an 0.6 0.5 Active 0.4 Growing 0.3 Open source 0.2 Simulation community 0.1 Contributors > 80 0 Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
  • 133. Impact Instrumental in creating an 800 700 Active 600 Growing 500 400 Open source 300 Simulation community 200 Contributors > 80 100 0 Hundreds of users Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
  • 134. Impact Instrumental in creating an Active Growing Open source Simulation 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. Outline Motivation Simulated Packets Direct Code Execution NEPI Conclusion Perspectives Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 51 / 55
  • 136. Tracing with DCE Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
  • 137. Tracing with DCE Need to recompile for tracing changes Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
  • 138. Tracing with DCE Need to recompile for tracing changes Ideal workflow: Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
  • 139. Tracing with DCE Need to recompile for tracing changes Ideal workflow: Trace function foo in bar.cc Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
  • 140. Tracing with DCE Need to recompile for tracing changes Ideal workflow: Trace function foo in bar.cc Trace line 122 in bar.cc Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
  • 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.cc Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
  • 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 introspection Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
  • 143. Dynamic instrumentation Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
  • 144. Dynamic instrumentation Locate code in memory Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
  • 145. Dynamic instrumentation Locate code in memory Parse dynamic loader data structures Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
  • 146. Dynamic instrumentation Locate code in memory Parse dynamic loader data structures Parse debugging information Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
  • 147. Dynamic instrumentation Locate code in memory Parse dynamic loader data structures Parse debugging information Insert assembly hooks Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
  • 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. Dynamic instrumentation Locate code in memory Parse dynamic loader data structures Parse debugging information Insert assembly hooks Simple case (not thread-safe) General case harder Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
  • 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 harder Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
  • 151. Multi-threaded Scheduler Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
  • 152. Multi-threaded Scheduler Conservative algorithm implemented: Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
  • 153. Multi-threaded Scheduler Conservative algorithm implemented: Fully transparent for users Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
  • 154. Multi-threaded Scheduler Conservative algorithm implemented: Fully transparent for users Measurable speedup Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
  • 155. Multi-threaded Scheduler Conservative algorithm implemented: Fully transparent for users Measurable speedup Thread-safety is easy Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
  • 156. Multi-threaded Scheduler Conservative 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. Multi-threaded Scheduler Conservative 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. Multi-threaded Scheduler Conservative 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. Multi-threaded Scheduler Conservative 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. Thank you ! Questions ? Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 55 / 55