SlideShare una empresa de Scribd logo
1 de 143
Descargar para leer sin conexión
ns-3: History and Future
          Mathieu Lacage


          March, 24th 2012




 Lacage      ns-3: History and Future   March 2012   1 / 27
Outline

Introduction

Packet

Object Framework

Conclusion



     Lacage        ns-3: History and Future     March 2012   2 / 27
How the project came to be




Lacage   ns-3: History and Future   March 2012   3 / 27
How the project came to be
Multiple partners:




     Lacage          ns-3: History and Future   March 2012   3 / 27
How the project came to be
Multiple partners:
    NSF-funded: UWA, GT, ISI




    Lacage        ns-3: History and Future   March 2012   3 / 27
How the project came to be
Multiple partners:
    NSF-funded: UWA, GT, ISI
    INRIA-funded: planète




    Lacage        ns-3: History and Future   March 2012   3 / 27
How the project came to be
Multiple partners:
     NSF-funded: UWA, GT, ISI
     INRIA-funded: planète
Pulling the project in multiple directions:

         Real Code                                        Long Term
         Integration                                       Survival
                                    ns-3


      Wireless                                               Fast TCP

                       Education              Emulation




     Lacage                 ns-3: History and Future              March 2012   3 / 27
Requirements




Lacage   ns-3: History and Future   March 2012   4 / 27
Requirements


Real-code integration, Emulation:




     Lacage         ns-3: History and Future   March 2012   4 / 27
Requirements


Real-code integration, Emulation:
    Models must not be too abstract (Node, etc.)




     Lacage         ns-3: History and Future   March 2012   4 / 27
Requirements


Real-code integration, Emulation:
    Models must not be too abstract (Node, etc.)
    Must be transparent to models




     Lacage         ns-3: History and Future   March 2012   4 / 27
Requirements


Real-code integration, Emulation:
    Models must not be too abstract (Node, etc.)
    Must be transparent to models
Fast TCP:




     Lacage         ns-3: History and Future   March 2012   4 / 27
Requirements


Real-code integration, Emulation:
    Models must not be too abstract (Node, etc.)
    Must be transparent to models
Fast TCP:
    Memory efficiency of many packets in flight




     Lacage         ns-3: History and Future   March 2012   4 / 27
More requirements




Lacage   ns-3: History and Future   March 2012   5 / 27
More requirements

Education:




    Lacage   ns-3: History and Future   March 2012   5 / 27
More requirements

Education:
   Must be easy to use for students




    Lacage         ns-3: History and Future   March 2012   5 / 27
More requirements

Education:
    Must be easy to use for students
Wireless:




     Lacage         ns-3: History and Future   March 2012   5 / 27
More requirements

Education:
    Must be easy to use for students
Wireless:
    Must have great validated wireless models




     Lacage         ns-3: History and Future   March 2012   5 / 27
More requirements

Education:
    Must be easy to use for students
Wireless:
    Must have great validated wireless models
Long term survival:




     Lacage         ns-3: History and Future   March 2012   5 / 27
More requirements

Education:
    Must be easy to use for students
Wireless:
    Must have great validated wireless models
Long term survival:
    Maintenance: production-quality code




     Lacage         ns-3: History and Future   March 2012   5 / 27
More requirements

Education:
    Must be easy to use for students
Wireless:
    Must have great validated wireless models
Long term survival:
    Maintenance: production-quality code
    Funding: NSF & INRIA funding finite



     Lacage         ns-3: History and Future   March 2012   5 / 27
Long Term Survival




Lacage   ns-3: History and Future   March 2012   6 / 27
Long Term Survival

Hard to make enough money to maintain the code:




    Lacage         ns-3: History and Future   March 2012   6 / 27
Long Term Survival

Hard to make enough money to maintain the code:
    Small market (network researchers)




    Lacage         ns-3: History and Future   March 2012   6 / 27
Long Term Survival

Hard to make enough money to maintain the code:
    Small market (network researchers)
    Large and complex code




    Lacage         ns-3: History and Future   March 2012   6 / 27
Long Term Survival

Hard to make enough money to maintain the code:
    Small market (network researchers)
    Large and complex code
Hard to obtain funding from research agencies:




    Lacage         ns-3: History and Future   March 2012   6 / 27
Long Term Survival

Hard to make enough money to maintain the code:
    Small market (network researchers)
    Large and complex code
Hard to obtain funding from research agencies:
    Funds to use the tool




    Lacage         ns-3: History and Future   March 2012   6 / 27
Long Term Survival

Hard to make enough money to maintain the code:
    Small market (network researchers)
    Large and complex code
Hard to obtain funding from research agencies:
    Funds to use the tool
    Funds to extend the tool




    Lacage         ns-3: History and Future   March 2012   6 / 27
Long Term Survival

Hard to make enough money to maintain the code:
    Small market (network researchers)
    Large and complex code
Hard to obtain funding from research agencies:
    Funds to use the tool
    Funds to extend the tool
    No funds to maintain the tool



    Lacage         ns-3: History and Future   March 2012   6 / 27
Open Source Community




Lacage        ns-3: History and Future   March 2012   7 / 27
Open Source Community
Hard to create:




     Lacage        ns-3: History and Future   March 2012   7 / 27
Open Source Community
Hard to create:
    Licensing is tricky




     Lacage          ns-3: History and Future   March 2012   7 / 27
Open Source Community
Hard to create:
    Licensing is tricky
    Meritocracy




     Lacage          ns-3: History and Future   March 2012   7 / 27
Open Source Community
Hard to create:
    Licensing is tricky
    Meritocracy
    No discussions behind closed doors




    Lacage         ns-3: History and Future   March 2012   7 / 27
Open Source Community
Hard to create:
    Licensing is tricky
    Meritocracy
    No discussions behind closed doors
    Must lose control to see the baby grow




     Lacage         ns-3: History and Future   March 2012   7 / 27
Open Source Community
Hard to create:
    Licensing is tricky
    Meritocracy
    No discussions behind closed doors
    Must lose control to see the baby grow
Classic management problem:




     Lacage         ns-3: History and Future   March 2012   7 / 27
Open Source Community
Hard to create:
    Licensing is tricky
    Meritocracy
    No discussions behind closed doors
    Must lose control to see the baby grow
Classic management problem:
    Spend time to do things yourself




     Lacage         ns-3: History and Future   March 2012   7 / 27
Open Source Community
Hard to create:
    Licensing is tricky
    Meritocracy
    No discussions behind closed doors
    Must lose control to see the baby grow
Classic management problem:
    Spend time to do things yourself
    Spend time to help others do the work



     Lacage         ns-3: History and Future   March 2012   7 / 27
Open Source Community
Hard to create:
      Licensing is tricky
      Meritocracy
      No discussions behind closed doors
      Must lose control to see the baby grow
Classic management problem:
      Spend time to do things yourself
      Spend time to help others do the work
It is a hard pill to (make upper management) swallow

     Lacage         ns-3: History and Future   March 2012   7 / 27
But the good news is...




Lacage       ns-3: History and Future   March 2012   8 / 27
But the good news is...



We (They) all swallowed it.




     Lacage          ns-3: History and Future   March 2012   8 / 27
And now,


The story of how:




     Lacage         ns-3: History and Future      March 2012   9 / 27
And now,


The story of how:
    The Real World pervades everything




    Lacage         ns-3: History and Future      March 2012   9 / 27
And now,


The story of how:
    The Real World pervades everything
    To implement everything 3 or 4 times
              Aka, Incremental development




     Lacage                ns-3: History and Future      March 2012   9 / 27
And now,


The story of how:
    The Real World pervades everything
    To implement everything 3 or 4 times
              Aka, Incremental development
    To not plan too far




     Lacage                ns-3: History and Future      March 2012   9 / 27
Outline

Introduction

Packet

Object Framework

Conclusion



     Lacage        ns-3: History and Future    March 2012   10 / 27
Requirements




Lacage   ns-3: History and Future   March 2012   11 / 27
Requirements

Transparent conversion to/from real bytes




Lacage          ns-3: History and Future   March 2012   11 / 27
Requirements

Transparent conversion to/from real bytes
CPU and memory efficiency




Lacage          ns-3: History and Future   March 2012   11 / 27
Requirements

Transparent conversion to/from real bytes
CPU and memory efficiency
Fragmentation/Reassembly




Lacage          ns-3: History and Future   March 2012   11 / 27
Requirements

Transparent conversion to/from real bytes
CPU and memory efficiency
Fragmentation/Reassembly
Simulation-only data




Lacage          ns-3: History and Future   March 2012   11 / 27
Requirements

Transparent conversion to/from real bytes
CPU and memory efficiency
Fragmentation/Reassembly
Simulation-only data
Pretty printing




Lacage          ns-3: History and Future   March 2012   11 / 27
Requirements

Transparent conversion to/from real bytes
CPU and memory efficiency
Fragmentation/Reassembly
Simulation-only data
Pretty printing
Extensibility




Lacage          ns-3: History and Future   March 2012   11 / 27
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         ns-3: History and Future   March 2012   11 / 27
Related Work

Two approaches




    Lacage       ns-3: History and Future   March 2012   12 / 27
Related Work

Two approaches
    Packet is list of headers: GTNetS, OMNeT++,
      SSFNet
             MAC   IP                TCP           Payload




    Lacage              ns-3: History and Future             March 2012   12 / 27
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                   ns-3: History and Future             March 2012   12 / 27
Pros and Cons

                                            List   Buffer
Fragmentation, Reassembly
Conversion real bytes
Simulation-only data
Pretty printing
CPU, memory efficiency




   Lacage        ns-3: History and Future             March 2012   13 / 27
Pros and Cons

                                            List   Buffer          ns-3
Fragmentation, Reassembly
Conversion real bytes
Simulation-only data
Pretty printing
CPU, memory efficiency




   Lacage        ns-3: History and Future             March 2012   13 / 27
How did we get there ?

About 10 successive versions...




     Lacage         ns-3: History and Future   March 2012   14 / 27
How did we get there ?

Started with a simple version in YANS:

  Headers’ List
     Tags
  RefCounting



  Sep
  2005




         Lacage       ns-3: History and Future   March 2012   14 / 27
How did we get there ?

Started with a simple version in YANS:

  Headers’ List
     Tags
  RefCounting



  Sep
  2005


But, hard to integrate the BSD TCP stack



         Lacage       ns-3: History and Future   March 2012   14 / 27
How did we get there ?

Real bytes in YANS:

  Headers’ List
     Tags
  RefCounting

                   Jan
                  2006
  Sep
  2005

           Real
           Bytes




         Lacage              ns-3: History and Future   March 2012   14 / 27
How did we get there ?

Real bytes in YANS:

  Headers’ List
     Tags
  RefCounting

                   Jan
                  2006
  Sep
  2005

           Real
           Bytes


But, hard to manage reference counting by hand

         Lacage              ns-3: History and Future   March 2012   14 / 27
How did we get there ?

Smart Pointers in YANS:

  Headers’ List              Smart
     Tags                   Pointers
  RefCounting

                   Jan
                  2006
  Sep                     Jun
  2005                   2006

           Real
           Bytes




         Lacage                        ns-3: History and Future   March 2012   14 / 27
How did we get there ?

Smart Pointers in YANS:

  Headers’ List              Smart
     Tags                   Pointers
  RefCounting

                   Jan
                  2006
  Sep                     Jun
  2005                   2006

           Real
           Bytes


But, memory & CPU performance is not good

         Lacage                        ns-3: History and Future   March 2012   14 / 27
How did we get there ?

Copy On Write in ns-3:

  Headers’ List              Smart
     Tags                   Pointers
  RefCounting

                   Jan            Jul
                  2006           2006
  Sep                     Jun
  2005                   2006

           Real
                                COW
           Bytes




         Lacage                         ns-3: History and Future   March 2012   14 / 27
How did we get there ?

Copy On Write in ns-3:

  Headers’ List              Smart
     Tags                   Pointers
  RefCounting

                   Jan            Jul
                  2006           2006
  Sep                     Jun
  2005                   2006

           Real
                                COW
           Bytes


Still, Fast TCP pushes the boundary

         Lacage                         ns-3: History and Future   March 2012   14 / 27
How did we get there ?

Virtual payload:

  Headers’ List              Smart                Virtual
     Tags                   Pointers             Payload
  RefCounting

                   Jan            Jul
                  2006           2006
  Sep                     Jun            Aug
  2005                   2006            2006

           Real
                                COW
           Bytes




         Lacage                         ns-3: History and Future   March 2012   14 / 27
How did we get there ?

Virtual payload:

  Headers’ List              Smart                Virtual
     Tags                   Pointers             Payload
  RefCounting

                   Jan            Jul
                  2006           2006
  Sep                     Jun            Aug
  2005                   2006            2006

           Real
                                COW
           Bytes


Really, debugging is hard

         Lacage                         ns-3: History and Future   March 2012   14 / 27
How did we get there ?

Packet UIDs:

  Headers’ List              Smart                Virtual
     Tags                   Pointers             Payload
  RefCounting

                   Jan            Jul                   Sep
                  2006           2006                   2006
  Sep                     Jun            Aug
  2005                   2006            2006

           Real                                           Packet
                                COW
           Bytes                                           UID




         Lacage                         ns-3: History and Future   March 2012   14 / 27
How did we get there ?

Packet UIDs:

  Headers’ List              Smart                Virtual
     Tags                   Pointers             Payload
  RefCounting

                   Jan            Jul                   Sep
                  2006           2006                   2006
  Sep                     Jun            Aug
  2005                   2006            2006

           Real                                           Packet
                                COW
           Bytes                                           UID


Really, debugging is still hard

         Lacage                         ns-3: History and Future   March 2012   14 / 27
How did we get there ?

Packet Pretty Printing:

  Headers’ List              Smart                Virtual                     Pretty
     Tags                   Pointers             Payload                     Printing
  RefCounting

                   Jan            Jul                   Sep
                  2006           2006                   2006
  Sep                     Jun            Aug                       May/Jun
  2005                   2006            2006                       2007

           Real                                           Packet
                                COW
           Bytes                                           UID




         Lacage                         ns-3: History and Future                        March 2012   14 / 27
How did we get there ?

Packet Pretty Printing:

  Headers’ List              Smart                Virtual                     Pretty
     Tags                   Pointers             Payload                     Printing
  RefCounting

                   Jan            Jul                   Sep
                  2006           2006                   2006
  Sep                     Jun            Aug                       May/Jun
  2005                   2006            2006                       2007

           Real                                           Packet
                                COW
           Bytes                                           UID


But, we do need pointers

         Lacage                         ns-3: History and Future                        March 2012   14 / 27
How did we get there ?

Pointers are back:

  Headers’ List              Smart                Virtual                     Pretty
     Tags                   Pointers             Payload                     Printing
  RefCounting

                   Jan            Jul                   Sep                        Oct
                  2006           2006                   2006                      2007
  Sep                     Jun            Aug                       May/Jun
  2005                   2006            2006                       2007

           Real                                           Packet
                                COW                                                      Ptr<Packet>
           Bytes                                           UID




         Lacage                         ns-3: History and Future                          March 2012   14 / 27
What I learned the hard way




Lacage   ns-3: History and Future   March 2012   15 / 27
What I learned the hard way


The mountain seems impossibly high at first




Lacage         ns-3: History and Future   March 2012   15 / 27
What I learned the hard way


The mountain seems impossibly high at first
Forget about the top, aim for base camp




Lacage         ns-3: History and Future   March 2012   15 / 27
What I learned the hard way


The mountain seems impossibly high at first
Forget about the top, aim for base camp
The mountain grows with every new user




Lacage         ns-3: History and Future   March 2012   15 / 27
What I learned the hard way


The mountain seems impossibly high at first
Forget about the top, aim for base camp
The mountain grows with every new user
Listen to users




Lacage         ns-3: History and Future   March 2012   15 / 27
Outline

Introduction

Packet

Object Framework

Conclusion



     Lacage        ns-3: History and Future    March 2012   16 / 27
Requirements




Lacage   ns-3: History and Future   March 2012   17 / 27
Requirements

Uniform memory management




Lacage       ns-3: History and Future   March 2012   17 / 27
Requirements

Uniform memory management
Allow simulation configuration




Lacage         ns-3: History and Future   March 2012   17 / 27
Requirements

Uniform memory management
Allow simulation configuration
Solve the object composition problem




Lacage         ns-3: History and Future   March 2012   17 / 27
Requirements

Uniform memory management
Allow simulation configuration
Solve the object composition problem
Decouple Trace Sources from Trace Sinks




Lacage         ns-3: History and Future   March 2012   17 / 27
Requirements

Uniform memory management
Allow simulation configuration
Solve the object composition problem
Decouple Trace Sources from Trace Sinks
Allow simulation trace setup




Lacage         ns-3: History and Future   March 2012   17 / 27
Requirements

Uniform memory management
Allow simulation configuration
Solve the object composition problem
Decouple Trace Sources from Trace Sinks
Allow simulation trace setup
Do not be intrusive to Model developers




Lacage         ns-3: History and Future   March 2012   17 / 27
Fast Forward to 2012




Lacage     ns-3: History and Future   March 2012   18 / 27
Fast Forward to 2012


Memory management: Ptr<Object> + Dispose




Lacage        ns-3: History and Future   March 2012   18 / 27
Fast Forward to 2012


Memory management: Ptr<Object> + Dispose
Configuration: Attributes + ConfigStore




Lacage        ns-3: History and Future   March 2012   18 / 27
Fast Forward to 2012


Memory management: Ptr<Object> + Dispose
Configuration: Attributes + ConfigStore
Tracing: integrated in Attributes




Lacage        ns-3: History and Future   March 2012   18 / 27
Fast Forward to 2012


Memory management: Ptr<Object> + Dispose
Configuration: Attributes + ConfigStore
Tracing: integrated in Attributes
Configuration, Tracing: optional




Lacage        ns-3: History and Future   March 2012   18 / 27
Fast Forward to 2012


    Memory management: Ptr<Object> + Dispose
    Configuration: Attributes + ConfigStore
    Tracing: integrated in Attributes
    Configuration, Tracing: optional
Now on par with Omnetpp & Opnet feature-wise




    Lacage         ns-3: History and Future   March 2012   18 / 27
A Windy Path

It Started with nothing




     Lacage           ns-3: History and Future   March 2012   19 / 27
A Windy Path

But tom liked the ns-2 default values

       Default
       Value




Mar
2007




           Lacage    ns-3: History and Future   March 2012   19 / 27
A Windy Path

But tom liked the ns-2 default values

       Default
       Value




Mar
2007


What about memory management, aggregation ?




           Lacage    ns-3: History and Future   March 2012   19 / 27
A Windy Path

Here comes microsoft’s IUnknown!

       Default
       Value

                     Apr
                    2007
Mar
2007

             IUnknown




           Lacage          ns-3: History and Future   March 2012   19 / 27
A Windy Path

Here comes microsoft’s IUnknown!

       Default
       Value

                     Apr
                    2007
Mar
2007

             IUnknown



Scratch that, everyone hates it


           Lacage          ns-3: History and Future   March 2012   19 / 27
A Windy Path

Resolving trace sources: microsoft’s IMoniker

       Default
                           IMoniker
       Value

                     Apr
                    2007
Mar
2007

             IUnknown




           Lacage                     ns-3: History and Future   March 2012   19 / 27
A Windy Path

Resolving trace sources: microsoft’s IMoniker

       Default
                           IMoniker
       Value

                     Apr
                    2007
Mar
2007

             IUnknown



Hrm... So, what about memory management ?

           Lacage                     ns-3: History and Future   March 2012   19 / 27
A Windy Path

Reference Counting wins

       Default
                           IMoniker
       Value

                     Apr
                    2007
Mar                                         May
2007                                        2007

                               Reference
             IUnknown
                               Counting




           Lacage                      ns-3: History and Future   March 2012   19 / 27
A Windy Path

Reference Counting wins

       Default
                           IMoniker
       Value

                     Apr
                    2007
Mar                                         May
2007                                        2007

                               Reference
             IUnknown
                               Counting


And Cycles ?

           Lacage                      ns-3: History and Future   March 2012   19 / 27
A Windy Path

Dispose to Break the Cycles

       Default
                           IMoniker          Dispose
       Value

                     Apr
                    2007
Mar                                         May
2007                                        2007

                               Reference
             IUnknown
                               Counting




           Lacage                      ns-3: History and Future   March 2012   19 / 27
A Windy Path

Dispose to Break the Cycles

       Default
                           IMoniker          Dispose
       Value

                     Apr
                    2007
Mar                                         May
2007                                        2007

                               Reference
             IUnknown
                               Counting


Where is my IUnknown::QueryInterface ?

           Lacage                      ns-3: History and Future   March 2012   19 / 27
A Windy Path

Dynamic Aggregation

       Default
                           IMoniker          Dispose
       Value

                     Apr
                    2007
Mar                                         May
2007                                        2007

                               Reference
             IUnknown                                     Aggregation
                               Counting




           Lacage                      ns-3: History and Future         March 2012   19 / 27
A Windy Path

Dynamic Aggregation

       Default
                           IMoniker          Dispose
       Value

                     Apr
                    2007
Mar                                         May
2007                                        2007

                               Reference
             IUnknown                                     Aggregation
                               Counting


Ref/Unref by hand still sucks!

           Lacage                      ns-3: History and Future         March 2012   19 / 27
A Windy Path

Smart Pointers are back

       Default
                           IMoniker          Dispose              Ptr<>
       Value

                     Apr
                    2007
Mar                                         May
2007                                        2007

                               Reference
             IUnknown                                     Aggregation
                               Counting




           Lacage                      ns-3: History and Future           March 2012   19 / 27
A Windy Path

Smart Pointers are back

       Default
                           IMoniker          Dispose              Ptr<>
       Value

                     Apr
                    2007
Mar                                         May
2007                                        2007

                               Reference
             IUnknown                                     Aggregation
                               Counting


IMoniker is still ugly...


           Lacage                      ns-3: History and Future           March 2012   19 / 27
A Windy Path

Introduce Attributes

       Default
                           IMoniker          Dispose              Ptr<>      Attributes
       Value

                     Apr
                    2007
Mar                                         May                           Jan-Mar
2007                                        2007                           2008

                               Reference
             IUnknown                                     Aggregation
                               Counting




           Lacage                      ns-3: History and Future            March 2012     19 / 27
With hindsight...




Lacage   ns-3: History and Future   March 2012   20 / 27
With hindsight...


I wish:
     we had looked at Omnetpp & Opnet before




    Lacage         ns-3: History and Future   March 2012   20 / 27
With hindsight...


I wish:
     we had looked at Omnetpp & Opnet before
The result is still nice thanks to:
     Willingness to listen to users




    Lacage         ns-3: History and Future   March 2012   20 / 27
With hindsight...


I wish:
     we had looked at Omnetpp & Opnet before
The result is still nice thanks to:
     Willingness to listen to users
     Incremental development




    Lacage         ns-3: History and Future   March 2012   20 / 27
No, it is not over




Lacage   ns-3: History and Future   March 2012   21 / 27
No, it is not over

Real Code Integration:
    Linux kernel, Quagga, CCNx, etc.




    Lacage         ns-3: History and Future   March 2012   21 / 27
No, it is not over

Real Code Integration:
    Linux kernel, Quagga, CCNx, etc.
    Contiki




    Lacage         ns-3: History and Future   March 2012   21 / 27
No, it is not over

Real Code Integration:
    Linux kernel, Quagga, CCNx, etc.
    Contiki
    TinyOS




    Lacage         ns-3: History and Future   March 2012   21 / 27
No, it is not over

Real Code Integration:
    Linux kernel, Quagga, CCNx, etc.
    Contiki
    TinyOS
Brings new challenges:
    Attributes ?




    Lacage         ns-3: History and Future   March 2012   21 / 27
No, it is not over

Real Code Integration:
    Linux kernel, Quagga, CCNx, etc.
    Contiki
    TinyOS
Brings new challenges:
    Attributes ?
    Tracing ?



    Lacage         ns-3: History and Future   March 2012   21 / 27
Configuring Attributes




Lacage     ns-3: History and Future   March 2012   22 / 27
Configuring Attributes

Linux Kernel:




     Lacage       ns-3: History and Future   March 2012   22 / 27
Configuring Attributes

Linux Kernel:
    Bridge /proc/net inside the attribute system




     Lacage          ns-3: History and Future   March 2012   22 / 27
Configuring Attributes

Linux Kernel:
    Bridge /proc/net inside the attribute system
    Difficult to really map one to one




     Lacage          ns-3: History and Future   March 2012   22 / 27
Configuring Attributes

Linux Kernel:
    Bridge /proc/net inside the attribute system
    Difficult to really map one to one
    Extend Attributes to handle structures, arrays ?




     Lacage          ns-3: History and Future   March 2012   22 / 27
Configuring Attributes

Linux Kernel:
    Bridge /proc/net inside the attribute system
    Difficult to really map one to one
    Extend Attributes to handle structures, arrays ?
Other Applications:




     Lacage          ns-3: History and Future   March 2012   22 / 27
Configuring Attributes

Linux Kernel:
    Bridge /proc/net inside the attribute system
    Difficult to really map one to one
    Extend Attributes to handle structures, arrays ?
Other Applications:
    I have no idea.




     Lacage          ns-3: History and Future   March 2012   22 / 27
Tracing




Lacage   ns-3: History and Future    March 2012   23 / 27
Tracing

We do not want to modify the external code:




     Lacage         ns-3: History and Future    March 2012   23 / 27
Tracing

We do not want to modify the external code:
   Linux Kernel: Tracepoints, Ftrace, KProbe, etc.




     Lacage         ns-3: History and Future    March 2012   23 / 27
Tracing

We do not want to modify the external code:
   Linux Kernel: Tracepoints, Ftrace, KProbe, etc.
   But no builtin tracing in general




     Lacage         ns-3: History and Future    March 2012   23 / 27
Tracing

We do not want to modify the external code:
    Linux Kernel: Tracepoints, Ftrace, KProbe, etc.
    But no builtin tracing in general
Re-implement Kprobe, JProbe, etc. in userspace:




     Lacage         ns-3: History and Future    March 2012   23 / 27
Tracing

We do not want to modify the external code:
    Linux Kernel: Tracepoints, Ftrace, KProbe, etc.
    But no builtin tracing in general
Re-implement Kprobe, JProbe, etc. in userspace:
    Introspection using debug information




     Lacage         ns-3: History and Future    March 2012   23 / 27
Tracing

We do not want to modify the external code:
    Linux Kernel: Tracepoints, Ftrace, KProbe, etc.
    But no builtin tracing in general
Re-implement Kprobe, JProbe, etc. in userspace:
    Introspection using debug information
    Dynamic patching of assembly code




     Lacage         ns-3: History and Future    March 2012   23 / 27
Outline

Introduction

Packet

Object Framework

Conclusion



     Lacage        ns-3: History and Future    March 2012   24 / 27
Summary




Lacage   ns-3: History and Future      March 2012   25 / 27
Summary


What really matters (today):




     Lacage          ns-3: History and Future      March 2012   25 / 27
Summary


What really matters (today):
   Alignment with the Real World




    Lacage         ns-3: History and Future      March 2012   25 / 27
Summary


What really matters (today):
   Alignment with the Real World
   An Open Source Community




    Lacage         ns-3: History and Future      March 2012   25 / 27
Summary


What really matters (today):
   Alignment with the Real World
   An Open Source Community
   Incremental development




    Lacage         ns-3: History and Future      March 2012   25 / 27
Summary


What really matters (today):
   Alignment with the Real World
   An Open Source Community
   Incremental development
   No one (but you) knows where ns-3 is headed




    Lacage         ns-3: History and Future      March 2012   25 / 27
Thank you !



         Questions ?



Lacage      ns-3: History and Future        March 2012   26 / 27
Contact



         mathieu@cutebugs.net




Lacage        ns-3: History and Future     March 2012   27 / 27

Más contenido relacionado

Destacado

Script login form php
Script login form phpScript login form php
Script login form phpHanief Rpl
 
Memphis php html form processing with php
Memphis php   html form processing with phpMemphis php   html form processing with php
Memphis php html form processing with phpJoe Ferguson
 
Php Form
Php FormPhp Form
Php Formlotlot
 
Chapter 07 php forms handling
Chapter 07   php forms handlingChapter 07   php forms handling
Chapter 07 php forms handlingDhani Ahmad
 
Fundamental of Shell Programming
Fundamental of Shell ProgrammingFundamental of Shell Programming
Fundamental of Shell ProgrammingRahul Hada
 
Building Complex Topology using NS3
Building Complex Topology using NS3Building Complex Topology using NS3
Building Complex Topology using NS3Rahul Hada
 
Form Processing In Php
Form Processing In PhpForm Processing In Php
Form Processing In PhpHarit Kothari
 
Creating a Simple PHP and MySQL-Based Login System
Creating a Simple PHP and MySQL-Based Login SystemCreating a Simple PHP and MySQL-Based Login System
Creating a Simple PHP and MySQL-Based Login SystemAzharul Haque Shohan
 
Ns3 implementation wifi
Ns3 implementation wifiNs3 implementation wifi
Ns3 implementation wifiSalah Amean
 
Cognitive radio networks
Cognitive radio networksCognitive radio networks
Cognitive radio networksVatsala Sharma
 
Cognitive Radio, Introduction and Main Issues
Cognitive Radio, Introduction and Main IssuesCognitive Radio, Introduction and Main Issues
Cognitive Radio, Introduction and Main IssuesKuncoro Wastuwibowo
 

Destacado (20)

Script login form php
Script login form phpScript login form php
Script login form php
 
Ns3
Ns3Ns3
Ns3
 
Memphis php html form processing with php
Memphis php   html form processing with phpMemphis php   html form processing with php
Memphis php html form processing with php
 
Making web forms using php
Making web forms using phpMaking web forms using php
Making web forms using php
 
Php Form
Php FormPhp Form
Php Form
 
Chapter 07 php forms handling
Chapter 07   php forms handlingChapter 07   php forms handling
Chapter 07 php forms handling
 
Inheritance
InheritanceInheritance
Inheritance
 
Fundamental of Shell Programming
Fundamental of Shell ProgrammingFundamental of Shell Programming
Fundamental of Shell Programming
 
3 php forms
3 php forms3 php forms
3 php forms
 
Building Complex Topology using NS3
Building Complex Topology using NS3Building Complex Topology using NS3
Building Complex Topology using NS3
 
Form Processing In Php
Form Processing In PhpForm Processing In Php
Form Processing In Php
 
NS3 Overview
NS3 OverviewNS3 Overview
NS3 Overview
 
Creating a Simple PHP and MySQL-Based Login System
Creating a Simple PHP and MySQL-Based Login SystemCreating a Simple PHP and MySQL-Based Login System
Creating a Simple PHP and MySQL-Based Login System
 
Php forms
Php formsPhp forms
Php forms
 
Leach & Pegasis
Leach & PegasisLeach & Pegasis
Leach & Pegasis
 
Ns3 implementation wifi
Ns3 implementation wifiNs3 implementation wifi
Ns3 implementation wifi
 
COGNITIVE RADIO
COGNITIVE RADIOCOGNITIVE RADIO
COGNITIVE RADIO
 
Php and MySQL
Php and MySQLPhp and MySQL
Php and MySQL
 
Cognitive radio networks
Cognitive radio networksCognitive radio networks
Cognitive radio networks
 
Cognitive Radio, Introduction and Main Issues
Cognitive Radio, Introduction and Main IssuesCognitive Radio, Introduction and Main Issues
Cognitive Radio, Introduction and Main Issues
 

Similar a ns-3: History and Future

What network simulator questions do users ask? a large-scale study of stack o...
What network simulator questions do users ask? a large-scale study of stack o...What network simulator questions do users ask? a large-scale study of stack o...
What network simulator questions do users ask? a large-scale study of stack o...nooriasukmaningtyas
 
Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Emanuele Della Valle
 
Opportunistic Persistent Data Storage- Interim Presentation
Opportunistic Persistent Data Storage- Interim PresentationOpportunistic Persistent Data Storage- Interim Presentation
Opportunistic Persistent Data Storage- Interim PresentationLuke Weerasooriya
 
Week 3 Reflective JournalPrior to beginning work on this assig.docx
Week 3 Reflective JournalPrior to beginning work on this assig.docxWeek 3 Reflective JournalPrior to beginning work on this assig.docx
Week 3 Reflective JournalPrior to beginning work on this assig.docxjessiehampson
 
Linked Open Data (LOD) part 3
Linked Open Data (LOD)  part 3Linked Open Data (LOD)  part 3
Linked Open Data (LOD) part 3IPLODProject
 
Learning Resource Metadata Initiative: Vocabulary Development Best Practices
Learning Resource Metadata Initiative: Vocabulary Development Best PracticesLearning Resource Metadata Initiative: Vocabulary Development Best Practices
Learning Resource Metadata Initiative: Vocabulary Development Best PracticesMike Linksvayer
 
2013 10-03-semantics-meetup-s buxton-mark_logic_pub
2013 10-03-semantics-meetup-s buxton-mark_logic_pub2013 10-03-semantics-meetup-s buxton-mark_logic_pub
2013 10-03-semantics-meetup-s buxton-mark_logic_pubStephen Buxton
 
Topic map for Topic Maps case examples
Topic map for Topic Maps case examplesTopic map for Topic Maps case examples
Topic map for Topic Maps case examplestmra
 
Discovery event david baker
Discovery event david bakerDiscovery event david baker
Discovery event david bakerRDTF-Discovery
 
RDF: Resource Description Failures?
RDF: Resource Description Failures?RDF: Resource Description Failures?
RDF: Resource Description Failures?Robert Sanderson
 
Diary of a Wimpy Model Manager
Diary of a Wimpy Model ManagerDiary of a Wimpy Model Manager
Diary of a Wimpy Model ManagerEric Stephan
 
Requirements1) Due 6 Oct2) APA 6th Ed format3) 6 Pages.docx
Requirements1) Due 6 Oct2) APA 6th Ed format3) 6 Pages.docxRequirements1) Due 6 Oct2) APA 6th Ed format3) 6 Pages.docx
Requirements1) Due 6 Oct2) APA 6th Ed format3) 6 Pages.docxheunice
 
Modern association rule mining methods
Modern association rule mining methodsModern association rule mining methods
Modern association rule mining methodsijcsity
 
SoundSoftware: Software Sustainability for audio and Music Researchers
SoundSoftware: Software Sustainability for audio and Music Researchers SoundSoftware: Software Sustainability for audio and Music Researchers
SoundSoftware: Software Sustainability for audio and Music Researchers SoundSoftware ac.uk
 
Teaching Students Collaborative Requirements Engineering. Case Study Red:Wire
Teaching Students Collaborative Requirements Engineering. Case Study Red:WireTeaching Students Collaborative Requirements Engineering. Case Study Red:Wire
Teaching Students Collaborative Requirements Engineering. Case Study Red:WireDagmar Monett
 
The future of cloud computing - Jisc Digifest 2016
The future of cloud computing - Jisc Digifest 2016The future of cloud computing - Jisc Digifest 2016
The future of cloud computing - Jisc Digifest 2016Jisc
 
Aggregating Social Media for Enhancing Conference Experiences
Aggregating Social Media for Enhancing Conference ExperiencesAggregating Social Media for Enhancing Conference Experiences
Aggregating Social Media for Enhancing Conference ExperiencesHouda khrouf
 
LOR Characteristics and Considerations
LOR Characteristics and ConsiderationsLOR Characteristics and Considerations
LOR Characteristics and ConsiderationsScott Leslie
 

Similar a ns-3: History and Future (20)

What network simulator questions do users ask? a large-scale study of stack o...
What network simulator questions do users ask? a large-scale study of stack o...What network simulator questions do users ask? a large-scale study of stack o...
What network simulator questions do users ask? a large-scale study of stack o...
 
Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...
 
NoTube: Models & Semantics
NoTube: Models & SemanticsNoTube: Models & Semantics
NoTube: Models & Semantics
 
Opportunistic Persistent Data Storage- Interim Presentation
Opportunistic Persistent Data Storage- Interim PresentationOpportunistic Persistent Data Storage- Interim Presentation
Opportunistic Persistent Data Storage- Interim Presentation
 
Week 3 Reflective JournalPrior to beginning work on this assig.docx
Week 3 Reflective JournalPrior to beginning work on this assig.docxWeek 3 Reflective JournalPrior to beginning work on this assig.docx
Week 3 Reflective JournalPrior to beginning work on this assig.docx
 
Linked Open Data (LOD) part 3
Linked Open Data (LOD)  part 3Linked Open Data (LOD)  part 3
Linked Open Data (LOD) part 3
 
Learning Resource Metadata Initiative: Vocabulary Development Best Practices
Learning Resource Metadata Initiative: Vocabulary Development Best PracticesLearning Resource Metadata Initiative: Vocabulary Development Best Practices
Learning Resource Metadata Initiative: Vocabulary Development Best Practices
 
LOD2 Plenary Vienna 2012: WP9 publicdata.eu – Publishing Governmental Informa...
LOD2 Plenary Vienna 2012: WP9 publicdata.eu – Publishing Governmental Informa...LOD2 Plenary Vienna 2012: WP9 publicdata.eu – Publishing Governmental Informa...
LOD2 Plenary Vienna 2012: WP9 publicdata.eu – Publishing Governmental Informa...
 
2013 10-03-semantics-meetup-s buxton-mark_logic_pub
2013 10-03-semantics-meetup-s buxton-mark_logic_pub2013 10-03-semantics-meetup-s buxton-mark_logic_pub
2013 10-03-semantics-meetup-s buxton-mark_logic_pub
 
Topic map for Topic Maps case examples
Topic map for Topic Maps case examplesTopic map for Topic Maps case examples
Topic map for Topic Maps case examples
 
Discovery event david baker
Discovery event david bakerDiscovery event david baker
Discovery event david baker
 
RDF: Resource Description Failures?
RDF: Resource Description Failures?RDF: Resource Description Failures?
RDF: Resource Description Failures?
 
Diary of a Wimpy Model Manager
Diary of a Wimpy Model ManagerDiary of a Wimpy Model Manager
Diary of a Wimpy Model Manager
 
Requirements1) Due 6 Oct2) APA 6th Ed format3) 6 Pages.docx
Requirements1) Due 6 Oct2) APA 6th Ed format3) 6 Pages.docxRequirements1) Due 6 Oct2) APA 6th Ed format3) 6 Pages.docx
Requirements1) Due 6 Oct2) APA 6th Ed format3) 6 Pages.docx
 
Modern association rule mining methods
Modern association rule mining methodsModern association rule mining methods
Modern association rule mining methods
 
SoundSoftware: Software Sustainability for audio and Music Researchers
SoundSoftware: Software Sustainability for audio and Music Researchers SoundSoftware: Software Sustainability for audio and Music Researchers
SoundSoftware: Software Sustainability for audio and Music Researchers
 
Teaching Students Collaborative Requirements Engineering. Case Study Red:Wire
Teaching Students Collaborative Requirements Engineering. Case Study Red:WireTeaching Students Collaborative Requirements Engineering. Case Study Red:Wire
Teaching Students Collaborative Requirements Engineering. Case Study Red:Wire
 
The future of cloud computing - Jisc Digifest 2016
The future of cloud computing - Jisc Digifest 2016The future of cloud computing - Jisc Digifest 2016
The future of cloud computing - Jisc Digifest 2016
 
Aggregating Social Media for Enhancing Conference Experiences
Aggregating Social Media for Enhancing Conference ExperiencesAggregating Social Media for Enhancing Conference Experiences
Aggregating Social Media for Enhancing Conference Experiences
 
LOR Characteristics and Considerations
LOR Characteristics and ConsiderationsLOR Characteristics and Considerations
LOR Characteristics and Considerations
 

Último

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Último (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

ns-3: History and Future

  • 1. ns-3: History and Future Mathieu Lacage March, 24th 2012 Lacage ns-3: History and Future March 2012 1 / 27
  • 2. Outline Introduction Packet Object Framework Conclusion Lacage ns-3: History and Future March 2012 2 / 27
  • 3. How the project came to be Lacage ns-3: History and Future March 2012 3 / 27
  • 4. How the project came to be Multiple partners: Lacage ns-3: History and Future March 2012 3 / 27
  • 5. How the project came to be Multiple partners: NSF-funded: UWA, GT, ISI Lacage ns-3: History and Future March 2012 3 / 27
  • 6. How the project came to be Multiple partners: NSF-funded: UWA, GT, ISI INRIA-funded: planète Lacage ns-3: History and Future March 2012 3 / 27
  • 7. How the project came to be Multiple partners: NSF-funded: UWA, GT, ISI INRIA-funded: planète Pulling the project in multiple directions: Real Code Long Term Integration Survival ns-3 Wireless Fast TCP Education Emulation Lacage ns-3: History and Future March 2012 3 / 27
  • 8. Requirements Lacage ns-3: History and Future March 2012 4 / 27
  • 9. Requirements Real-code integration, Emulation: Lacage ns-3: History and Future March 2012 4 / 27
  • 10. Requirements Real-code integration, Emulation: Models must not be too abstract (Node, etc.) Lacage ns-3: History and Future March 2012 4 / 27
  • 11. Requirements Real-code integration, Emulation: Models must not be too abstract (Node, etc.) Must be transparent to models Lacage ns-3: History and Future March 2012 4 / 27
  • 12. Requirements Real-code integration, Emulation: Models must not be too abstract (Node, etc.) Must be transparent to models Fast TCP: Lacage ns-3: History and Future March 2012 4 / 27
  • 13. Requirements Real-code integration, Emulation: Models must not be too abstract (Node, etc.) Must be transparent to models Fast TCP: Memory efficiency of many packets in flight Lacage ns-3: History and Future March 2012 4 / 27
  • 14. More requirements Lacage ns-3: History and Future March 2012 5 / 27
  • 15. More requirements Education: Lacage ns-3: History and Future March 2012 5 / 27
  • 16. More requirements Education: Must be easy to use for students Lacage ns-3: History and Future March 2012 5 / 27
  • 17. More requirements Education: Must be easy to use for students Wireless: Lacage ns-3: History and Future March 2012 5 / 27
  • 18. More requirements Education: Must be easy to use for students Wireless: Must have great validated wireless models Lacage ns-3: History and Future March 2012 5 / 27
  • 19. More requirements Education: Must be easy to use for students Wireless: Must have great validated wireless models Long term survival: Lacage ns-3: History and Future March 2012 5 / 27
  • 20. More requirements Education: Must be easy to use for students Wireless: Must have great validated wireless models Long term survival: Maintenance: production-quality code Lacage ns-3: History and Future March 2012 5 / 27
  • 21. More requirements Education: Must be easy to use for students Wireless: Must have great validated wireless models Long term survival: Maintenance: production-quality code Funding: NSF & INRIA funding finite Lacage ns-3: History and Future March 2012 5 / 27
  • 22. Long Term Survival Lacage ns-3: History and Future March 2012 6 / 27
  • 23. Long Term Survival Hard to make enough money to maintain the code: Lacage ns-3: History and Future March 2012 6 / 27
  • 24. Long Term Survival Hard to make enough money to maintain the code: Small market (network researchers) Lacage ns-3: History and Future March 2012 6 / 27
  • 25. Long Term Survival Hard to make enough money to maintain the code: Small market (network researchers) Large and complex code Lacage ns-3: History and Future March 2012 6 / 27
  • 26. Long Term Survival Hard to make enough money to maintain the code: Small market (network researchers) Large and complex code Hard to obtain funding from research agencies: Lacage ns-3: History and Future March 2012 6 / 27
  • 27. Long Term Survival Hard to make enough money to maintain the code: Small market (network researchers) Large and complex code Hard to obtain funding from research agencies: Funds to use the tool Lacage ns-3: History and Future March 2012 6 / 27
  • 28. Long Term Survival Hard to make enough money to maintain the code: Small market (network researchers) Large and complex code Hard to obtain funding from research agencies: Funds to use the tool Funds to extend the tool Lacage ns-3: History and Future March 2012 6 / 27
  • 29. Long Term Survival Hard to make enough money to maintain the code: Small market (network researchers) Large and complex code Hard to obtain funding from research agencies: Funds to use the tool Funds to extend the tool No funds to maintain the tool Lacage ns-3: History and Future March 2012 6 / 27
  • 30. Open Source Community Lacage ns-3: History and Future March 2012 7 / 27
  • 31. Open Source Community Hard to create: Lacage ns-3: History and Future March 2012 7 / 27
  • 32. Open Source Community Hard to create: Licensing is tricky Lacage ns-3: History and Future March 2012 7 / 27
  • 33. Open Source Community Hard to create: Licensing is tricky Meritocracy Lacage ns-3: History and Future March 2012 7 / 27
  • 34. Open Source Community Hard to create: Licensing is tricky Meritocracy No discussions behind closed doors Lacage ns-3: History and Future March 2012 7 / 27
  • 35. Open Source Community Hard to create: Licensing is tricky Meritocracy No discussions behind closed doors Must lose control to see the baby grow Lacage ns-3: History and Future March 2012 7 / 27
  • 36. Open Source Community Hard to create: Licensing is tricky Meritocracy No discussions behind closed doors Must lose control to see the baby grow Classic management problem: Lacage ns-3: History and Future March 2012 7 / 27
  • 37. Open Source Community Hard to create: Licensing is tricky Meritocracy No discussions behind closed doors Must lose control to see the baby grow Classic management problem: Spend time to do things yourself Lacage ns-3: History and Future March 2012 7 / 27
  • 38. Open Source Community Hard to create: Licensing is tricky Meritocracy No discussions behind closed doors Must lose control to see the baby grow Classic management problem: Spend time to do things yourself Spend time to help others do the work Lacage ns-3: History and Future March 2012 7 / 27
  • 39. Open Source Community Hard to create: Licensing is tricky Meritocracy No discussions behind closed doors Must lose control to see the baby grow Classic management problem: Spend time to do things yourself Spend time to help others do the work It is a hard pill to (make upper management) swallow Lacage ns-3: History and Future March 2012 7 / 27
  • 40. But the good news is... Lacage ns-3: History and Future March 2012 8 / 27
  • 41. But the good news is... We (They) all swallowed it. Lacage ns-3: History and Future March 2012 8 / 27
  • 42. And now, The story of how: Lacage ns-3: History and Future March 2012 9 / 27
  • 43. And now, The story of how: The Real World pervades everything Lacage ns-3: History and Future March 2012 9 / 27
  • 44. And now, The story of how: The Real World pervades everything To implement everything 3 or 4 times Aka, Incremental development Lacage ns-3: History and Future March 2012 9 / 27
  • 45. And now, The story of how: The Real World pervades everything To implement everything 3 or 4 times Aka, Incremental development To not plan too far Lacage ns-3: History and Future March 2012 9 / 27
  • 46. Outline Introduction Packet Object Framework Conclusion Lacage ns-3: History and Future March 2012 10 / 27
  • 47. Requirements Lacage ns-3: History and Future March 2012 11 / 27
  • 48. Requirements Transparent conversion to/from real bytes Lacage ns-3: History and Future March 2012 11 / 27
  • 49. Requirements Transparent conversion to/from real bytes CPU and memory efficiency Lacage ns-3: History and Future March 2012 11 / 27
  • 50. Requirements Transparent conversion to/from real bytes CPU and memory efficiency Fragmentation/Reassembly Lacage ns-3: History and Future March 2012 11 / 27
  • 51. Requirements Transparent conversion to/from real bytes CPU and memory efficiency Fragmentation/Reassembly Simulation-only data Lacage ns-3: History and Future March 2012 11 / 27
  • 52. Requirements Transparent conversion to/from real bytes CPU and memory efficiency Fragmentation/Reassembly Simulation-only data Pretty printing Lacage ns-3: History and Future March 2012 11 / 27
  • 53. Requirements Transparent conversion to/from real bytes CPU and memory efficiency Fragmentation/Reassembly Simulation-only data Pretty printing Extensibility Lacage ns-3: History and Future March 2012 11 / 27
  • 54. 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 ns-3: History and Future March 2012 11 / 27
  • 55. Related Work Two approaches Lacage ns-3: History and Future March 2012 12 / 27
  • 56. Related Work Two approaches Packet is list of headers: GTNetS, OMNeT++, SSFNet MAC IP TCP Payload Lacage ns-3: History and Future March 2012 12 / 27
  • 57. 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 ns-3: History and Future March 2012 12 / 27
  • 58. Pros and Cons List Buffer Fragmentation, Reassembly Conversion real bytes Simulation-only data Pretty printing CPU, memory efficiency Lacage ns-3: History and Future March 2012 13 / 27
  • 59. Pros and Cons List Buffer ns-3 Fragmentation, Reassembly Conversion real bytes Simulation-only data Pretty printing CPU, memory efficiency Lacage ns-3: History and Future March 2012 13 / 27
  • 60. How did we get there ? About 10 successive versions... Lacage ns-3: History and Future March 2012 14 / 27
  • 61. How did we get there ? Started with a simple version in YANS: Headers’ List Tags RefCounting Sep 2005 Lacage ns-3: History and Future March 2012 14 / 27
  • 62. How did we get there ? Started with a simple version in YANS: Headers’ List Tags RefCounting Sep 2005 But, hard to integrate the BSD TCP stack Lacage ns-3: History and Future March 2012 14 / 27
  • 63. How did we get there ? Real bytes in YANS: Headers’ List Tags RefCounting Jan 2006 Sep 2005 Real Bytes Lacage ns-3: History and Future March 2012 14 / 27
  • 64. How did we get there ? Real bytes in YANS: Headers’ List Tags RefCounting Jan 2006 Sep 2005 Real Bytes But, hard to manage reference counting by hand Lacage ns-3: History and Future March 2012 14 / 27
  • 65. How did we get there ? Smart Pointers in YANS: Headers’ List Smart Tags Pointers RefCounting Jan 2006 Sep Jun 2005 2006 Real Bytes Lacage ns-3: History and Future March 2012 14 / 27
  • 66. How did we get there ? Smart Pointers in YANS: Headers’ List Smart Tags Pointers RefCounting Jan 2006 Sep Jun 2005 2006 Real Bytes But, memory & CPU performance is not good Lacage ns-3: History and Future March 2012 14 / 27
  • 67. How did we get there ? Copy On Write in ns-3: Headers’ List Smart Tags Pointers RefCounting Jan Jul 2006 2006 Sep Jun 2005 2006 Real COW Bytes Lacage ns-3: History and Future March 2012 14 / 27
  • 68. How did we get there ? Copy On Write in ns-3: Headers’ List Smart Tags Pointers RefCounting Jan Jul 2006 2006 Sep Jun 2005 2006 Real COW Bytes Still, Fast TCP pushes the boundary Lacage ns-3: History and Future March 2012 14 / 27
  • 69. How did we get there ? Virtual payload: Headers’ List Smart Virtual Tags Pointers Payload RefCounting Jan Jul 2006 2006 Sep Jun Aug 2005 2006 2006 Real COW Bytes Lacage ns-3: History and Future March 2012 14 / 27
  • 70. How did we get there ? Virtual payload: Headers’ List Smart Virtual Tags Pointers Payload RefCounting Jan Jul 2006 2006 Sep Jun Aug 2005 2006 2006 Real COW Bytes Really, debugging is hard Lacage ns-3: History and Future March 2012 14 / 27
  • 71. How did we get there ? Packet UIDs: Headers’ List Smart Virtual Tags Pointers Payload RefCounting Jan Jul Sep 2006 2006 2006 Sep Jun Aug 2005 2006 2006 Real Packet COW Bytes UID Lacage ns-3: History and Future March 2012 14 / 27
  • 72. How did we get there ? Packet UIDs: Headers’ List Smart Virtual Tags Pointers Payload RefCounting Jan Jul Sep 2006 2006 2006 Sep Jun Aug 2005 2006 2006 Real Packet COW Bytes UID Really, debugging is still hard Lacage ns-3: History and Future March 2012 14 / 27
  • 73. How did we get there ? Packet Pretty Printing: Headers’ List Smart Virtual Pretty Tags Pointers Payload Printing RefCounting Jan Jul Sep 2006 2006 2006 Sep Jun Aug May/Jun 2005 2006 2006 2007 Real Packet COW Bytes UID Lacage ns-3: History and Future March 2012 14 / 27
  • 74. How did we get there ? Packet Pretty Printing: Headers’ List Smart Virtual Pretty Tags Pointers Payload Printing RefCounting Jan Jul Sep 2006 2006 2006 Sep Jun Aug May/Jun 2005 2006 2006 2007 Real Packet COW Bytes UID But, we do need pointers Lacage ns-3: History and Future March 2012 14 / 27
  • 75. How did we get there ? Pointers are back: Headers’ List Smart Virtual Pretty Tags Pointers Payload Printing RefCounting Jan Jul Sep Oct 2006 2006 2006 2007 Sep Jun Aug May/Jun 2005 2006 2006 2007 Real Packet COW Ptr<Packet> Bytes UID Lacage ns-3: History and Future March 2012 14 / 27
  • 76. What I learned the hard way Lacage ns-3: History and Future March 2012 15 / 27
  • 77. What I learned the hard way The mountain seems impossibly high at first Lacage ns-3: History and Future March 2012 15 / 27
  • 78. What I learned the hard way The mountain seems impossibly high at first Forget about the top, aim for base camp Lacage ns-3: History and Future March 2012 15 / 27
  • 79. What I learned the hard way The mountain seems impossibly high at first Forget about the top, aim for base camp The mountain grows with every new user Lacage ns-3: History and Future March 2012 15 / 27
  • 80. What I learned the hard way The mountain seems impossibly high at first Forget about the top, aim for base camp The mountain grows with every new user Listen to users Lacage ns-3: History and Future March 2012 15 / 27
  • 81. Outline Introduction Packet Object Framework Conclusion Lacage ns-3: History and Future March 2012 16 / 27
  • 82. Requirements Lacage ns-3: History and Future March 2012 17 / 27
  • 83. Requirements Uniform memory management Lacage ns-3: History and Future March 2012 17 / 27
  • 84. Requirements Uniform memory management Allow simulation configuration Lacage ns-3: History and Future March 2012 17 / 27
  • 85. Requirements Uniform memory management Allow simulation configuration Solve the object composition problem Lacage ns-3: History and Future March 2012 17 / 27
  • 86. Requirements Uniform memory management Allow simulation configuration Solve the object composition problem Decouple Trace Sources from Trace Sinks Lacage ns-3: History and Future March 2012 17 / 27
  • 87. Requirements Uniform memory management Allow simulation configuration Solve the object composition problem Decouple Trace Sources from Trace Sinks Allow simulation trace setup Lacage ns-3: History and Future March 2012 17 / 27
  • 88. Requirements Uniform memory management Allow simulation configuration Solve the object composition problem Decouple Trace Sources from Trace Sinks Allow simulation trace setup Do not be intrusive to Model developers Lacage ns-3: History and Future March 2012 17 / 27
  • 89. Fast Forward to 2012 Lacage ns-3: History and Future March 2012 18 / 27
  • 90. Fast Forward to 2012 Memory management: Ptr<Object> + Dispose Lacage ns-3: History and Future March 2012 18 / 27
  • 91. Fast Forward to 2012 Memory management: Ptr<Object> + Dispose Configuration: Attributes + ConfigStore Lacage ns-3: History and Future March 2012 18 / 27
  • 92. Fast Forward to 2012 Memory management: Ptr<Object> + Dispose Configuration: Attributes + ConfigStore Tracing: integrated in Attributes Lacage ns-3: History and Future March 2012 18 / 27
  • 93. Fast Forward to 2012 Memory management: Ptr<Object> + Dispose Configuration: Attributes + ConfigStore Tracing: integrated in Attributes Configuration, Tracing: optional Lacage ns-3: History and Future March 2012 18 / 27
  • 94. Fast Forward to 2012 Memory management: Ptr<Object> + Dispose Configuration: Attributes + ConfigStore Tracing: integrated in Attributes Configuration, Tracing: optional Now on par with Omnetpp & Opnet feature-wise Lacage ns-3: History and Future March 2012 18 / 27
  • 95. A Windy Path It Started with nothing Lacage ns-3: History and Future March 2012 19 / 27
  • 96. A Windy Path But tom liked the ns-2 default values Default Value Mar 2007 Lacage ns-3: History and Future March 2012 19 / 27
  • 97. A Windy Path But tom liked the ns-2 default values Default Value Mar 2007 What about memory management, aggregation ? Lacage ns-3: History and Future March 2012 19 / 27
  • 98. A Windy Path Here comes microsoft’s IUnknown! Default Value Apr 2007 Mar 2007 IUnknown Lacage ns-3: History and Future March 2012 19 / 27
  • 99. A Windy Path Here comes microsoft’s IUnknown! Default Value Apr 2007 Mar 2007 IUnknown Scratch that, everyone hates it Lacage ns-3: History and Future March 2012 19 / 27
  • 100. A Windy Path Resolving trace sources: microsoft’s IMoniker Default IMoniker Value Apr 2007 Mar 2007 IUnknown Lacage ns-3: History and Future March 2012 19 / 27
  • 101. A Windy Path Resolving trace sources: microsoft’s IMoniker Default IMoniker Value Apr 2007 Mar 2007 IUnknown Hrm... So, what about memory management ? Lacage ns-3: History and Future March 2012 19 / 27
  • 102. A Windy Path Reference Counting wins Default IMoniker Value Apr 2007 Mar May 2007 2007 Reference IUnknown Counting Lacage ns-3: History and Future March 2012 19 / 27
  • 103. A Windy Path Reference Counting wins Default IMoniker Value Apr 2007 Mar May 2007 2007 Reference IUnknown Counting And Cycles ? Lacage ns-3: History and Future March 2012 19 / 27
  • 104. A Windy Path Dispose to Break the Cycles Default IMoniker Dispose Value Apr 2007 Mar May 2007 2007 Reference IUnknown Counting Lacage ns-3: History and Future March 2012 19 / 27
  • 105. A Windy Path Dispose to Break the Cycles Default IMoniker Dispose Value Apr 2007 Mar May 2007 2007 Reference IUnknown Counting Where is my IUnknown::QueryInterface ? Lacage ns-3: History and Future March 2012 19 / 27
  • 106. A Windy Path Dynamic Aggregation Default IMoniker Dispose Value Apr 2007 Mar May 2007 2007 Reference IUnknown Aggregation Counting Lacage ns-3: History and Future March 2012 19 / 27
  • 107. A Windy Path Dynamic Aggregation Default IMoniker Dispose Value Apr 2007 Mar May 2007 2007 Reference IUnknown Aggregation Counting Ref/Unref by hand still sucks! Lacage ns-3: History and Future March 2012 19 / 27
  • 108. A Windy Path Smart Pointers are back Default IMoniker Dispose Ptr<> Value Apr 2007 Mar May 2007 2007 Reference IUnknown Aggregation Counting Lacage ns-3: History and Future March 2012 19 / 27
  • 109. A Windy Path Smart Pointers are back Default IMoniker Dispose Ptr<> Value Apr 2007 Mar May 2007 2007 Reference IUnknown Aggregation Counting IMoniker is still ugly... Lacage ns-3: History and Future March 2012 19 / 27
  • 110. A Windy Path Introduce Attributes Default IMoniker Dispose Ptr<> Attributes Value Apr 2007 Mar May Jan-Mar 2007 2007 2008 Reference IUnknown Aggregation Counting Lacage ns-3: History and Future March 2012 19 / 27
  • 111. With hindsight... Lacage ns-3: History and Future March 2012 20 / 27
  • 112. With hindsight... I wish: we had looked at Omnetpp & Opnet before Lacage ns-3: History and Future March 2012 20 / 27
  • 113. With hindsight... I wish: we had looked at Omnetpp & Opnet before The result is still nice thanks to: Willingness to listen to users Lacage ns-3: History and Future March 2012 20 / 27
  • 114. With hindsight... I wish: we had looked at Omnetpp & Opnet before The result is still nice thanks to: Willingness to listen to users Incremental development Lacage ns-3: History and Future March 2012 20 / 27
  • 115. No, it is not over Lacage ns-3: History and Future March 2012 21 / 27
  • 116. No, it is not over Real Code Integration: Linux kernel, Quagga, CCNx, etc. Lacage ns-3: History and Future March 2012 21 / 27
  • 117. No, it is not over Real Code Integration: Linux kernel, Quagga, CCNx, etc. Contiki Lacage ns-3: History and Future March 2012 21 / 27
  • 118. No, it is not over Real Code Integration: Linux kernel, Quagga, CCNx, etc. Contiki TinyOS Lacage ns-3: History and Future March 2012 21 / 27
  • 119. No, it is not over Real Code Integration: Linux kernel, Quagga, CCNx, etc. Contiki TinyOS Brings new challenges: Attributes ? Lacage ns-3: History and Future March 2012 21 / 27
  • 120. No, it is not over Real Code Integration: Linux kernel, Quagga, CCNx, etc. Contiki TinyOS Brings new challenges: Attributes ? Tracing ? Lacage ns-3: History and Future March 2012 21 / 27
  • 121. Configuring Attributes Lacage ns-3: History and Future March 2012 22 / 27
  • 122. Configuring Attributes Linux Kernel: Lacage ns-3: History and Future March 2012 22 / 27
  • 123. Configuring Attributes Linux Kernel: Bridge /proc/net inside the attribute system Lacage ns-3: History and Future March 2012 22 / 27
  • 124. Configuring Attributes Linux Kernel: Bridge /proc/net inside the attribute system Difficult to really map one to one Lacage ns-3: History and Future March 2012 22 / 27
  • 125. Configuring Attributes Linux Kernel: Bridge /proc/net inside the attribute system Difficult to really map one to one Extend Attributes to handle structures, arrays ? Lacage ns-3: History and Future March 2012 22 / 27
  • 126. Configuring Attributes Linux Kernel: Bridge /proc/net inside the attribute system Difficult to really map one to one Extend Attributes to handle structures, arrays ? Other Applications: Lacage ns-3: History and Future March 2012 22 / 27
  • 127. Configuring Attributes Linux Kernel: Bridge /proc/net inside the attribute system Difficult to really map one to one Extend Attributes to handle structures, arrays ? Other Applications: I have no idea. Lacage ns-3: History and Future March 2012 22 / 27
  • 128. Tracing Lacage ns-3: History and Future March 2012 23 / 27
  • 129. Tracing We do not want to modify the external code: Lacage ns-3: History and Future March 2012 23 / 27
  • 130. Tracing We do not want to modify the external code: Linux Kernel: Tracepoints, Ftrace, KProbe, etc. Lacage ns-3: History and Future March 2012 23 / 27
  • 131. Tracing We do not want to modify the external code: Linux Kernel: Tracepoints, Ftrace, KProbe, etc. But no builtin tracing in general Lacage ns-3: History and Future March 2012 23 / 27
  • 132. Tracing We do not want to modify the external code: Linux Kernel: Tracepoints, Ftrace, KProbe, etc. But no builtin tracing in general Re-implement Kprobe, JProbe, etc. in userspace: Lacage ns-3: History and Future March 2012 23 / 27
  • 133. Tracing We do not want to modify the external code: Linux Kernel: Tracepoints, Ftrace, KProbe, etc. But no builtin tracing in general Re-implement Kprobe, JProbe, etc. in userspace: Introspection using debug information Lacage ns-3: History and Future March 2012 23 / 27
  • 134. Tracing We do not want to modify the external code: Linux Kernel: Tracepoints, Ftrace, KProbe, etc. But no builtin tracing in general Re-implement Kprobe, JProbe, etc. in userspace: Introspection using debug information Dynamic patching of assembly code Lacage ns-3: History and Future March 2012 23 / 27
  • 135. Outline Introduction Packet Object Framework Conclusion Lacage ns-3: History and Future March 2012 24 / 27
  • 136. Summary Lacage ns-3: History and Future March 2012 25 / 27
  • 137. Summary What really matters (today): Lacage ns-3: History and Future March 2012 25 / 27
  • 138. Summary What really matters (today): Alignment with the Real World Lacage ns-3: History and Future March 2012 25 / 27
  • 139. Summary What really matters (today): Alignment with the Real World An Open Source Community Lacage ns-3: History and Future March 2012 25 / 27
  • 140. Summary What really matters (today): Alignment with the Real World An Open Source Community Incremental development Lacage ns-3: History and Future March 2012 25 / 27
  • 141. Summary What really matters (today): Alignment with the Real World An Open Source Community Incremental development No one (but you) knows where ns-3 is headed Lacage ns-3: History and Future March 2012 25 / 27
  • 142. Thank you ! Questions ? Lacage ns-3: History and Future March 2012 26 / 27
  • 143. Contact mathieu@cutebugs.net Lacage ns-3: History and Future March 2012 27 / 27