ns-3: History and Future

669
-1

Published on

Keynote presentation to WNS3 2012

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
669
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
67
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

ns-3: History and Future

  1. 1. ns-3: History and Future Mathieu Lacage March, 24th 2012 Lacage ns-3: History and Future March 2012 1 / 27
  2. 2. OutlineIntroductionPacketObject FrameworkConclusion Lacage ns-3: History and Future March 2012 2 / 27
  3. 3. How the project came to beLacage ns-3: History and Future March 2012 3 / 27
  4. 4. How the project came to beMultiple partners: Lacage ns-3: History and Future March 2012 3 / 27
  5. 5. How the project came to beMultiple partners: NSF-funded: UWA, GT, ISI Lacage ns-3: History and Future March 2012 3 / 27
  6. 6. How the project came to beMultiple partners: NSF-funded: UWA, GT, ISI INRIA-funded: planète Lacage ns-3: History and Future March 2012 3 / 27
  7. 7. How the project came to beMultiple partners: NSF-funded: UWA, GT, ISI INRIA-funded: planètePulling 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. 8. RequirementsLacage ns-3: History and Future March 2012 4 / 27
  9. 9. RequirementsReal-code integration, Emulation: Lacage ns-3: History and Future March 2012 4 / 27
  10. 10. RequirementsReal-code integration, Emulation: Models must not be too abstract (Node, etc.) Lacage ns-3: History and Future March 2012 4 / 27
  11. 11. RequirementsReal-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. 12. RequirementsReal-code integration, Emulation: Models must not be too abstract (Node, etc.) Must be transparent to modelsFast TCP: Lacage ns-3: History and Future March 2012 4 / 27
  13. 13. RequirementsReal-code integration, Emulation: Models must not be too abstract (Node, etc.) Must be transparent to modelsFast TCP: Memory efficiency of many packets in flight Lacage ns-3: History and Future March 2012 4 / 27
  14. 14. More requirementsLacage ns-3: History and Future March 2012 5 / 27
  15. 15. More requirementsEducation: Lacage ns-3: History and Future March 2012 5 / 27
  16. 16. More requirementsEducation: Must be easy to use for students Lacage ns-3: History and Future March 2012 5 / 27
  17. 17. More requirementsEducation: Must be easy to use for studentsWireless: Lacage ns-3: History and Future March 2012 5 / 27
  18. 18. More requirementsEducation: Must be easy to use for studentsWireless: Must have great validated wireless models Lacage ns-3: History and Future March 2012 5 / 27
  19. 19. More requirementsEducation: Must be easy to use for studentsWireless: Must have great validated wireless modelsLong term survival: Lacage ns-3: History and Future March 2012 5 / 27
  20. 20. More requirementsEducation: Must be easy to use for studentsWireless: Must have great validated wireless modelsLong term survival: Maintenance: production-quality code Lacage ns-3: History and Future March 2012 5 / 27
  21. 21. More requirementsEducation: Must be easy to use for studentsWireless: Must have great validated wireless modelsLong term survival: Maintenance: production-quality code Funding: NSF & INRIA funding finite Lacage ns-3: History and Future March 2012 5 / 27
  22. 22. Long Term SurvivalLacage ns-3: History and Future March 2012 6 / 27
  23. 23. Long Term SurvivalHard to make enough money to maintain the code: Lacage ns-3: History and Future March 2012 6 / 27
  24. 24. Long Term SurvivalHard to make enough money to maintain the code: Small market (network researchers) Lacage ns-3: History and Future March 2012 6 / 27
  25. 25. Long Term SurvivalHard 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. 26. Long Term SurvivalHard to make enough money to maintain the code: Small market (network researchers) Large and complex codeHard to obtain funding from research agencies: Lacage ns-3: History and Future March 2012 6 / 27
  27. 27. Long Term SurvivalHard to make enough money to maintain the code: Small market (network researchers) Large and complex codeHard to obtain funding from research agencies: Funds to use the tool Lacage ns-3: History and Future March 2012 6 / 27
  28. 28. Long Term SurvivalHard to make enough money to maintain the code: Small market (network researchers) Large and complex codeHard 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. 29. Long Term SurvivalHard to make enough money to maintain the code: Small market (network researchers) Large and complex codeHard 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. 30. Open Source CommunityLacage ns-3: History and Future March 2012 7 / 27
  31. 31. Open Source CommunityHard to create: Lacage ns-3: History and Future March 2012 7 / 27
  32. 32. Open Source CommunityHard to create: Licensing is tricky Lacage ns-3: History and Future March 2012 7 / 27
  33. 33. Open Source CommunityHard to create: Licensing is tricky Meritocracy Lacage ns-3: History and Future March 2012 7 / 27
  34. 34. Open Source CommunityHard to create: Licensing is tricky Meritocracy No discussions behind closed doors Lacage ns-3: History and Future March 2012 7 / 27
  35. 35. Open Source CommunityHard 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. 36. Open Source CommunityHard to create: Licensing is tricky Meritocracy No discussions behind closed doors Must lose control to see the baby growClassic management problem: Lacage ns-3: History and Future March 2012 7 / 27
  37. 37. Open Source CommunityHard to create: Licensing is tricky Meritocracy No discussions behind closed doors Must lose control to see the baby growClassic management problem: Spend time to do things yourself Lacage ns-3: History and Future March 2012 7 / 27
  38. 38. Open Source CommunityHard to create: Licensing is tricky Meritocracy No discussions behind closed doors Must lose control to see the baby growClassic 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. 39. Open Source CommunityHard to create: Licensing is tricky Meritocracy No discussions behind closed doors Must lose control to see the baby growClassic management problem: Spend time to do things yourself Spend time to help others do the workIt is a hard pill to (make upper management) swallow Lacage ns-3: History and Future March 2012 7 / 27
  40. 40. But the good news is...Lacage ns-3: History and Future March 2012 8 / 27
  41. 41. But the good news is...We (They) all swallowed it. Lacage ns-3: History and Future March 2012 8 / 27
  42. 42. And now,The story of how: Lacage ns-3: History and Future March 2012 9 / 27
  43. 43. And now,The story of how: The Real World pervades everything Lacage ns-3: History and Future March 2012 9 / 27
  44. 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. 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. 46. OutlineIntroductionPacketObject FrameworkConclusion Lacage ns-3: History and Future March 2012 10 / 27
  47. 47. RequirementsLacage ns-3: History and Future March 2012 11 / 27
  48. 48. RequirementsTransparent conversion to/from real bytesLacage ns-3: History and Future March 2012 11 / 27
  49. 49. RequirementsTransparent conversion to/from real bytesCPU and memory efficiencyLacage ns-3: History and Future March 2012 11 / 27
  50. 50. RequirementsTransparent conversion to/from real bytesCPU and memory efficiencyFragmentation/ReassemblyLacage ns-3: History and Future March 2012 11 / 27
  51. 51. RequirementsTransparent conversion to/from real bytesCPU and memory efficiencyFragmentation/ReassemblySimulation-only dataLacage ns-3: History and Future March 2012 11 / 27
  52. 52. RequirementsTransparent conversion to/from real bytesCPU and memory efficiencyFragmentation/ReassemblySimulation-only dataPretty printingLacage ns-3: History and Future March 2012 11 / 27
  53. 53. RequirementsTransparent conversion to/from real bytesCPU and memory efficiencyFragmentation/ReassemblySimulation-only dataPretty printingExtensibilityLacage ns-3: History and Future March 2012 11 / 27
  54. 54. RequirementsTransparent conversion to/from real bytesCPU and memory efficiencyFragmentation/ReassemblySimulation-only dataPretty printingExtensibilityRobust Application Programming Interface (API)Lacage ns-3: History and Future March 2012 11 / 27
  55. 55. Related WorkTwo approaches Lacage ns-3: History and Future March 2012 12 / 27
  56. 56. Related WorkTwo approaches Packet is list of headers: GTNetS, OMNeT++, SSFNet MAC IP TCP Payload Lacage ns-3: History and Future March 2012 12 / 27
  57. 57. Related WorkTwo approaches Packet is list of headers: GTNetS, OMNeT++, SSFNet MAC IP TCP Payload Packet is buffer of bytes: Yans, GloMoSim MAC IP TCP Payload Lacage ns-3: History and Future March 2012 12 / 27
  58. 58. Pros and Cons List BufferFragmentation, ReassemblyConversion real bytesSimulation-only dataPretty printingCPU, memory efficiency Lacage ns-3: History and Future March 2012 13 / 27
  59. 59. Pros and Cons List Buffer ns-3Fragmentation, ReassemblyConversion real bytesSimulation-only dataPretty printingCPU, memory efficiency Lacage ns-3: History and Future March 2012 13 / 27
  60. 60. How did we get there ?About 10 successive versions... Lacage ns-3: History and Future March 2012 14 / 27
  61. 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. 62. How did we get there ?Started with a simple version in YANS: Headers’ List Tags RefCounting Sep 2005But, hard to integrate the BSD TCP stack Lacage ns-3: History and Future March 2012 14 / 27
  63. 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. 64. How did we get there ?Real bytes in YANS: Headers’ List Tags RefCounting Jan 2006 Sep 2005 Real BytesBut, hard to manage reference counting by hand Lacage ns-3: History and Future March 2012 14 / 27
  65. 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. 66. How did we get there ?Smart Pointers in YANS: Headers’ List Smart Tags Pointers RefCounting Jan 2006 Sep Jun 2005 2006 Real BytesBut, memory & CPU performance is not good Lacage ns-3: History and Future March 2012 14 / 27
  67. 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. 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 BytesStill, Fast TCP pushes the boundary Lacage ns-3: History and Future March 2012 14 / 27
  69. 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. 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 BytesReally, debugging is hard Lacage ns-3: History and Future March 2012 14 / 27
  71. 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. 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 UIDReally, debugging is still hard Lacage ns-3: History and Future March 2012 14 / 27
  73. 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. 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 UIDBut, we do need pointers Lacage ns-3: History and Future March 2012 14 / 27
  75. 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. 76. What I learned the hard wayLacage ns-3: History and Future March 2012 15 / 27
  77. 77. What I learned the hard wayThe mountain seems impossibly high at firstLacage ns-3: History and Future March 2012 15 / 27
  78. 78. What I learned the hard wayThe mountain seems impossibly high at firstForget about the top, aim for base campLacage ns-3: History and Future March 2012 15 / 27
  79. 79. What I learned the hard wayThe mountain seems impossibly high at firstForget about the top, aim for base campThe mountain grows with every new userLacage ns-3: History and Future March 2012 15 / 27
  80. 80. What I learned the hard wayThe mountain seems impossibly high at firstForget about the top, aim for base campThe mountain grows with every new userListen to usersLacage ns-3: History and Future March 2012 15 / 27
  81. 81. OutlineIntroductionPacketObject FrameworkConclusion Lacage ns-3: History and Future March 2012 16 / 27
  82. 82. RequirementsLacage ns-3: History and Future March 2012 17 / 27
  83. 83. RequirementsUniform memory managementLacage ns-3: History and Future March 2012 17 / 27
  84. 84. RequirementsUniform memory managementAllow simulation configurationLacage ns-3: History and Future March 2012 17 / 27
  85. 85. RequirementsUniform memory managementAllow simulation configurationSolve the object composition problemLacage ns-3: History and Future March 2012 17 / 27
  86. 86. RequirementsUniform memory managementAllow simulation configurationSolve the object composition problemDecouple Trace Sources from Trace SinksLacage ns-3: History and Future March 2012 17 / 27
  87. 87. RequirementsUniform memory managementAllow simulation configurationSolve the object composition problemDecouple Trace Sources from Trace SinksAllow simulation trace setupLacage ns-3: History and Future March 2012 17 / 27
  88. 88. RequirementsUniform memory managementAllow simulation configurationSolve the object composition problemDecouple Trace Sources from Trace SinksAllow simulation trace setupDo not be intrusive to Model developersLacage ns-3: History and Future March 2012 17 / 27
  89. 89. Fast Forward to 2012Lacage ns-3: History and Future March 2012 18 / 27
  90. 90. Fast Forward to 2012Memory management: Ptr<Object> + DisposeLacage ns-3: History and Future March 2012 18 / 27
  91. 91. Fast Forward to 2012Memory management: Ptr<Object> + DisposeConfiguration: Attributes + ConfigStoreLacage ns-3: History and Future March 2012 18 / 27
  92. 92. Fast Forward to 2012Memory management: Ptr<Object> + DisposeConfiguration: Attributes + ConfigStoreTracing: integrated in AttributesLacage ns-3: History and Future March 2012 18 / 27
  93. 93. Fast Forward to 2012Memory management: Ptr<Object> + DisposeConfiguration: Attributes + ConfigStoreTracing: integrated in AttributesConfiguration, Tracing: optionalLacage ns-3: History and Future March 2012 18 / 27
  94. 94. Fast Forward to 2012 Memory management: Ptr<Object> + Dispose Configuration: Attributes + ConfigStore Tracing: integrated in Attributes Configuration, Tracing: optionalNow on par with Omnetpp & Opnet feature-wise Lacage ns-3: History and Future March 2012 18 / 27
  95. 95. A Windy PathIt Started with nothing Lacage ns-3: History and Future March 2012 19 / 27
  96. 96. A Windy PathBut tom liked the ns-2 default values Default ValueMar2007 Lacage ns-3: History and Future March 2012 19 / 27
  97. 97. A Windy PathBut tom liked the ns-2 default values Default ValueMar2007What about memory management, aggregation ? Lacage ns-3: History and Future March 2012 19 / 27
  98. 98. A Windy PathHere comes microsoft’s IUnknown! Default Value Apr 2007Mar2007 IUnknown Lacage ns-3: History and Future March 2012 19 / 27
  99. 99. A Windy PathHere comes microsoft’s IUnknown! Default Value Apr 2007Mar2007 IUnknownScratch that, everyone hates it Lacage ns-3: History and Future March 2012 19 / 27
  100. 100. A Windy PathResolving trace sources: microsoft’s IMoniker Default IMoniker Value Apr 2007Mar2007 IUnknown Lacage ns-3: History and Future March 2012 19 / 27
  101. 101. A Windy PathResolving trace sources: microsoft’s IMoniker Default IMoniker Value Apr 2007Mar2007 IUnknownHrm... So, what about memory management ? Lacage ns-3: History and Future March 2012 19 / 27
  102. 102. A Windy PathReference Counting wins Default IMoniker Value Apr 2007Mar May2007 2007 Reference IUnknown Counting Lacage ns-3: History and Future March 2012 19 / 27
  103. 103. A Windy PathReference Counting wins Default IMoniker Value Apr 2007Mar May2007 2007 Reference IUnknown CountingAnd Cycles ? Lacage ns-3: History and Future March 2012 19 / 27
  104. 104. A Windy PathDispose to Break the Cycles Default IMoniker Dispose Value Apr 2007Mar May2007 2007 Reference IUnknown Counting Lacage ns-3: History and Future March 2012 19 / 27
  105. 105. A Windy PathDispose to Break the Cycles Default IMoniker Dispose Value Apr 2007Mar May2007 2007 Reference IUnknown CountingWhere is my IUnknown::QueryInterface ? Lacage ns-3: History and Future March 2012 19 / 27
  106. 106. A Windy PathDynamic Aggregation Default IMoniker Dispose Value Apr 2007Mar May2007 2007 Reference IUnknown Aggregation Counting Lacage ns-3: History and Future March 2012 19 / 27
  107. 107. A Windy PathDynamic Aggregation Default IMoniker Dispose Value Apr 2007Mar May2007 2007 Reference IUnknown Aggregation CountingRef/Unref by hand still sucks! Lacage ns-3: History and Future March 2012 19 / 27
  108. 108. A Windy PathSmart Pointers are back Default IMoniker Dispose Ptr<> Value Apr 2007Mar May2007 2007 Reference IUnknown Aggregation Counting Lacage ns-3: History and Future March 2012 19 / 27
  109. 109. A Windy PathSmart Pointers are back Default IMoniker Dispose Ptr<> Value Apr 2007Mar May2007 2007 Reference IUnknown Aggregation CountingIMoniker is still ugly... Lacage ns-3: History and Future March 2012 19 / 27
  110. 110. A Windy PathIntroduce Attributes Default IMoniker Dispose Ptr<> Attributes Value Apr 2007Mar May Jan-Mar2007 2007 2008 Reference IUnknown Aggregation Counting Lacage ns-3: History and Future March 2012 19 / 27
  111. 111. With hindsight...Lacage ns-3: History and Future March 2012 20 / 27
  112. 112. With hindsight...I wish: we had looked at Omnetpp & Opnet before Lacage ns-3: History and Future March 2012 20 / 27
  113. 113. With hindsight...I wish: we had looked at Omnetpp & Opnet beforeThe result is still nice thanks to: Willingness to listen to users Lacage ns-3: History and Future March 2012 20 / 27
  114. 114. With hindsight...I wish: we had looked at Omnetpp & Opnet beforeThe result is still nice thanks to: Willingness to listen to users Incremental development Lacage ns-3: History and Future March 2012 20 / 27
  115. 115. No, it is not overLacage ns-3: History and Future March 2012 21 / 27
  116. 116. No, it is not overReal Code Integration: Linux kernel, Quagga, CCNx, etc. Lacage ns-3: History and Future March 2012 21 / 27
  117. 117. No, it is not overReal Code Integration: Linux kernel, Quagga, CCNx, etc. Contiki Lacage ns-3: History and Future March 2012 21 / 27
  118. 118. No, it is not overReal Code Integration: Linux kernel, Quagga, CCNx, etc. Contiki TinyOS Lacage ns-3: History and Future March 2012 21 / 27
  119. 119. No, it is not overReal Code Integration: Linux kernel, Quagga, CCNx, etc. Contiki TinyOSBrings new challenges: Attributes ? Lacage ns-3: History and Future March 2012 21 / 27
  120. 120. No, it is not overReal Code Integration: Linux kernel, Quagga, CCNx, etc. Contiki TinyOSBrings new challenges: Attributes ? Tracing ? Lacage ns-3: History and Future March 2012 21 / 27
  121. 121. Configuring AttributesLacage ns-3: History and Future March 2012 22 / 27
  122. 122. Configuring AttributesLinux Kernel: Lacage ns-3: History and Future March 2012 22 / 27
  123. 123. Configuring AttributesLinux Kernel: Bridge /proc/net inside the attribute system Lacage ns-3: History and Future March 2012 22 / 27
  124. 124. Configuring AttributesLinux 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. 125. Configuring AttributesLinux 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. 126. Configuring AttributesLinux 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. 127. Configuring AttributesLinux 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. 128. TracingLacage ns-3: History and Future March 2012 23 / 27
  129. 129. TracingWe do not want to modify the external code: Lacage ns-3: History and Future March 2012 23 / 27
  130. 130. TracingWe 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. 131. TracingWe 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. 132. TracingWe do not want to modify the external code: Linux Kernel: Tracepoints, Ftrace, KProbe, etc. But no builtin tracing in generalRe-implement Kprobe, JProbe, etc. in userspace: Lacage ns-3: History and Future March 2012 23 / 27
  133. 133. TracingWe do not want to modify the external code: Linux Kernel: Tracepoints, Ftrace, KProbe, etc. But no builtin tracing in generalRe-implement Kprobe, JProbe, etc. in userspace: Introspection using debug information Lacage ns-3: History and Future March 2012 23 / 27
  134. 134. TracingWe do not want to modify the external code: Linux Kernel: Tracepoints, Ftrace, KProbe, etc. But no builtin tracing in generalRe-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. 135. OutlineIntroductionPacketObject FrameworkConclusion Lacage ns-3: History and Future March 2012 24 / 27
  136. 136. SummaryLacage ns-3: History and Future March 2012 25 / 27
  137. 137. SummaryWhat really matters (today): Lacage ns-3: History and Future March 2012 25 / 27
  138. 138. SummaryWhat really matters (today): Alignment with the Real World Lacage ns-3: History and Future March 2012 25 / 27
  139. 139. SummaryWhat really matters (today): Alignment with the Real World An Open Source Community Lacage ns-3: History and Future March 2012 25 / 27
  140. 140. SummaryWhat 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. 141. SummaryWhat 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. 142. Thank you ! Questions ?Lacage ns-3: History and Future March 2012 26 / 27
  143. 143. Contact mathieu@cutebugs.netLacage ns-3: History and Future March 2012 27 / 27

×