Difference between revisions of "Ns-3.23"

From Nsnam
Jump to: navigation, search
(New features)
(ns-3.23 latest updates)
Line 7: Line 7:
 
* If you are interested in helping with a code review of a specific feature that you'd like to see in ns-3.23, please leave your comments on the code review pertaining to the [[Ns-3.23#New_features | feature of interest]].
 
* If you are interested in helping with a code review of a specific feature that you'd like to see in ns-3.23, please leave your comments on the code review pertaining to the [[Ns-3.23#New_features | feature of interest]].
 
* If you are interested to see that a specific bug be fixed, please email ns-developers mailing list, or the release manager.  You will probably be asked to help with creating a patch or testing an existing patch for that bug, if so.
 
* If you are interested to see that a specific bug be fixed, please email ns-developers mailing list, or the release manager.  You will probably be asked to help with creating a patch or testing an existing patch for that bug, if so.
 
= Release goals =
 
 
1)  continue the transition to a [[BakeIntegration | more modular build system]].  While a change from the Waf build system is not planned for ns-3.23, one goal is to start to allow modules outside the core of ns-3 to be maintained in separate places, and integrated using the 'bake' tool (rather than merge everything into ns-3-dev).
 
* A proposal can be found at [[ns-3.22-build]]
 
 
2) finally try to implement [http://www.nsnam.org/docs/meetings/ns-3-developer-meeting-notes-May14.pdf Object Start/Stop]
 
 
3) make a major dent in the [http://www.nsnam.org/bugzilla bug tracker].  Can we clean out most issues on our actively maintained modules, including closing out feature requests for which we do not have anyone working on them?
 
 
4) Add [[Ns-3.23#New_features | new features]] as they become ready.  In particular, finish inclusion of previous summer project code, including SOCIS 2013 and 2014 code (Bundle Protocol, TCP satellite extensions), Google Summer of Code (MLDv2, AQM queues FqCoDel and SfqCoDel), and 2014 mentored projects (Mobility Service Interface, and Python 3 support).
 
  
 
= Release and development schedule =
 
= Release and development schedule =
  
ns-3.23 is planned for Wednesday May 8 2015 (the goal is to release this before the Workshop on ns-3 the following week).  ns-3 makes roughly three releases per year (Dec/Jan, Apr/May, and Aug/Sept timeframes).
+
ns-3.23 is planned for Wednesday May 6 2015 (the goal is to release this before the Workshop on ns-3 the following week).  ns-3 makes roughly three releases per year (Dec/Jan, Apr/May, and Aug/Sept timeframes).
 
+
This means that we ought to get most new features and major changes into the simulator by early April.
+
  
 
More detailed scheduling is found below.
 
More detailed scheduling is found below.
Line 40: Line 27:
  
 
A patch from ns-3.22 to ns-3.23 will also be posted.
 
A patch from ns-3.22 to ns-3.23 will also be posted.
 
Whether ns-3.23 is prepared in other packaging (e.g. Debian) would require a volunteer to prepare this.
 
 
Whether ns-3.23 will be distributed also as a [http://www.docker.com Docker container] would require a volunteer to prepare this.
 
  
 
= Release platforms =
 
= Release platforms =
Line 49: Line 32:
 
We usually try to keep pace with the latest popular versions of Linux, OS X, and FreeBSD.  For the ns-3.23 release, we plan to support the following systems and compilers:
 
We usually try to keep pace with the latest popular versions of Linux, OS X, and FreeBSD.  For the ns-3.23 release, we plan to support the following systems and compilers:
  
* OS X 10.10 Yosemite with latest Xcode
+
* OS X 10.10 Yosemite with latest Xcode (6.3)
* Ubuntu 14.04 and 15.04
+
* Ubuntu 14.04, 14.10, and 15.05
 
* Fedora 21
 
* Fedora 21
 
* Debian 7 (gcc-4.9)
 
* Debian 7 (gcc-4.9)
Line 82: Line 65:
 
</pre>
 
</pre>
  
= New features =
+
= Pending new features =
  
 
Developers are working or planning to work on the following new features for ns-3.23.  '''Note:''' there is no guarantee that the features will be finished by the end of the release cycle, so check back for progress/status.
 
Developers are working or planning to work on the following new features for ns-3.23.  '''Note:''' there is no guarantee that the features will be finished by the end of the release cycle, so check back for progress/status.
  
=== Changes to the simulation core ===
+
== Statistics ==
  
* Shared RngStream (Peter Barnes)
+
Enhancements to data collection framework are planned to enable more flexible configuration of time series, time avearge, and asynchronous event plotting (Li Li, Felipe Perrone, Tom Henderson).
** '''Synopsis:'''  Add API to allow multiple random variables to share an underlying RNG stream
+
* '''Status:''' Development repo is found at http://code.nsnam.org/safe/ns-3.22-dcf; code review planned for week of April 20.
** https://codereview.appspot.com/114060043/
+
** '''Status:''' No change recently.
+
* Changes due to Object Start/Stop discussion held at [http://www.nsnam.org/docs/meetings/ns-3-developer-meeting-notes-May14.pdf May developers meeting].
+
* Changes to better support [[Ns-3_on_Visual_Studio_2012 | ns-3 on Windows Visual Studio]]
+
** https://codereview.appspot.com/8932044/
+
 
+
''' Others to be determined'''
+
 
+
=== Statistics ===
+
 
+
* Add a basic statistics collector, and convert some existing stats helpers in LTE and WiFi to use the statistics framework (Tom Henderson and Li Li)
+
** A staging repository (containing the BasicStatsCollector and other collector types) is being kept at http://code.nsnam.org/safe/ns-3.21-collector
+
** '''Status:''' Still under development.
+
  
 
=== Energy Enhancements (Cristiano Tapparello) ===
 
=== Energy Enhancements (Cristiano Tapparello) ===
Line 110: Line 80:
 
* LithiumIonEnergySource helper
 
* LithiumIonEnergySource helper
 
* RVBatteryModel bug fixes
 
* RVBatteryModel bug fixes
 
=== Internet module ===
 
 
* An implementation of MLDv2 for IPv6 (Krishna Teja Yadavalli and Tommaso Pecorella)
 
** http://www.nsnam.org/wiki/GSOC2014MulticastIPv6
 
** https://codereview.appspot.com/121680043/
 
 
A number of changes relate to supporting AQM and ECN. 
 
* Move RED queue from network module to internet module
 
* pfifo_fast queue module
 
** Some code (lacking IPv6 support, and Sphinx documentation) is staged here:  http://code.nsnam.org/tomh/ns-3-dev-aqm/rev/4e1543dc9d68
 
* Explicit Congestion Notification
 
** Brian Swenson started to implement it here: http://code.nsnam.org/brian/ns-3-dev/diff/a9858c40b539/src/internet/model/red-queue.cc
 
* FQ-Codel and SFQ-Codel models  (Anh Nguyen and Dave Taht)
 
** http://www.nsnam.org/wiki/GSOC2014Bufferbloat
 
** This will require some refactoring to allow AQM queues that need access to the IP and transport headers to get access at the layer at which ns3::Queue operates
 
 
'''Status:''' A design proposal is [[Priority-queue-proposal | here]]; added on 24 Feb 2015 in response to the idea socialized by Natale Patriciello on the ns-developers list here:  http://mailman.isi.edu/pipermail/ns-developers/2014-November/012398.html
 
  
 
=== TCP ===
 
=== TCP ===
  
* TCP variants for satellite networks (Natale Patriciello)
+
* Some of the TCP variants for satellite networks (Natale Patriciello) may be merged
 
** https://codereview.appspot.com/122010043/
 
** https://codereview.appspot.com/122010043/
  
 
* RttEstimator improvements (Natale Patriciello)
 
* RttEstimator improvements (Natale Patriciello)
 
** Resolve [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1412 bug 1412]  RttEstimator to network module
 
** Resolve [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1412 bug 1412]  RttEstimator to network module
 +
 +
* Several patches contributed by Matt:  http://mailman.isi.edu/pipermail/ns-developers/2015-March/012622.html
 +
 +
* Several bug fixes in work:
 +
** [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2067  TCP performances drop when Advertised Window is larger than Sender Buffer size]
 +
** [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2058  TCP window update can shrink the Left Edge of the window which is a bug]
  
 
=== WiFi ===
 
=== WiFi ===
  
* Matias Richart is preparing new power and rate control algorithms
 
 
* Sebastien Deronne and Ghada Badawy are working on these bugs:
 
* Sebastien Deronne and Ghada Badawy are working on these bugs:
 
** [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2004 Wrong timeout value for 802.11n]
 
** [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2004 Wrong timeout value for 802.11n]
 
** [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2066 A-MPDU reception should check for successful preamble]
 
** [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2066 A-MPDU reception should check for successful preamble]
 
** [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2075 A-MPDU using RTS/CTS behaves wrongly when MaxSsrc is reached]   
 
** [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2075 A-MPDU using RTS/CTS behaves wrongly when MaxSsrc is reached]   
 +
 +
Sebastien is working on two-level (hybrid) aggregation.
  
 
Other WiFi development (may slip past this release) is listed on the current development page.
 
Other WiFi development (may slip past this release) is listed on the current development page.
  
=== Vehicular networks ===
+
=== Mesh ===
 
+
* Changes to mesh module to make it standards compliant:  http://mailman.isi.edu/pipermail/ns-developers/2015-March/012616.html
* [[RoutesMobilityModel | Routes Mobility Model]] (Tiago Cerqueira)
+
 
+
=== Delay-tolerant networking ===
+
 
+
* Self-Delimiting Numeric Values (Dizhi Zhou and Ruben Martinez)
+
** https://codereview.appspot.com/97540043/
+
* Licklider Transport Protocol (Ruben Martinez)
+
* Bundle Protocol from SOCIS 2013 (Dizhi Zhou)
+
 
+
'''Status:''' Currently interoperability testing of ns-3 LTP with ltplib.
+
  
 
=== DSR ===
 
=== DSR ===
 
 
* LEAR extensions https://codereview.appspot.com/96130043/
 
* LEAR extensions https://codereview.appspot.com/96130043/
'''Status:''' Tomasz is working on addressing the review comments
+
'''Status:''' Tomasz is working on addressing the review comments (no update recently)
  
 
=== Epidemic Routing ===
 
=== Epidemic Routing ===
 
* https://codereview.appspot.com/13831049/
 
* https://codereview.appspot.com/13831049/
 
 
'''Status:''' Still undergoing code review revisions.
 
'''Status:''' Still undergoing code review revisions.
  
Line 177: Line 124:
  
 
'''Status:''' There hasn't been any recent activity so this will likely slip another release
 
'''Status:''' There hasn't been any recent activity so this will likely slip another release
 
=== Simple wireless ===
 
* http://code.nsnam.org/tomh/ns-3-simple-wireless/
 
 
'''Status:''' Lacks tests
 
  
 
== Software maintenance issues ==
 
== Software maintenance issues ==
Line 189: Line 131:
 
** Cleanup of remaining modules unnecessarily dependent on applications (aodv, mesh, olsr, lte)
 
** Cleanup of remaining modules unnecessarily dependent on applications (aodv, mesh, olsr, lte)
  
== Documentation improvements ==
+
'''Status:''' No change on the above lately.
* [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1490 improve documentation on linking ns-3 with other libraries] (Tom Henderson)
+
 
+
''others to be determined''
+

Revision as of 22:10, 14 April 2015

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

This page summarizes the release planning for ns-3.23 (tentatively May 6 2015). The ns-3 release process is listed here and here.

The release manager is Tom Henderson. Please contact him if you would like to participate in any way in preparing the ns-3.23 release.

  • If you are interested in testing a particular feature that is planned for ns-3.23, see the section on this page for testing repos.
  • If you are interested in helping with a code review of a specific feature that you'd like to see in ns-3.23, please leave your comments on the code review pertaining to the feature of interest.
  • If you are interested to see that a specific bug be fixed, please email ns-developers mailing list, or the release manager. You will probably be asked to help with creating a patch or testing an existing patch for that bug, if so.

Release and development schedule

ns-3.23 is planned for Wednesday May 6 2015 (the goal is to release this before the Workshop on ns-3 the following week). ns-3 makes roughly three releases per year (Dec/Jan, Apr/May, and Aug/Sept timeframes).

More detailed scheduling is found below.

Packaging

ns-3.23 will be packaged as a source tarball as before: ns-allinone-3.23.tar.bz2.

The tarball will contain:

  • Latest version of pybindgen
  • Latest version of netanim
  • ns-3.23
  • bake

where bake is used to fetch optional ns-3 components, including DCE.

A patch from ns-3.22 to ns-3.23 will also be posted.

Release platforms

We usually try to keep pace with the latest popular versions of Linux, OS X, and FreeBSD. For the ns-3.23 release, we plan to support the following systems and compilers:

  • OS X 10.10 Yosemite with latest Xcode (6.3)
  • Ubuntu 14.04, 14.10, and 15.05
  • Fedora 21
  • Debian 7 (gcc-4.9)
  • FreeBSD 10 (clang 3)
  • CentOS 6.6 (gcc-4.4.7)
  • others TBD

Testing repos

Some repositories, based on a recent copy of ns-3-dev, are available for testing specific features.

Mobility Service Interface

Tiago Cerqueria has posted some code that uses Google Maps and Directions API to fetch waypoints for the ns-3 waypoint mobility model, corresponding to real-world routes provided by the service. There is a testing repository available for this code (the patchset in https://codereview.appspot.com/176430044/ is too large to download from Rietveld). To test, one must obtain an API key from Google, as described in the code review issue. One must also have installed GeographicLib, xerces-cpp, libcurl, and libdl.

hg clone http://code.nsnam.org/ns-3-dev
cd ns-3-dev/src
hg clone http://code.nsnam.org/tomh/mobility-service-interface
cd mobility-service-interface
mkdir conf
# copy your API key to this conf directory as described here https://codereview.appspot.com/176430044/
cd ../../
./waf configure ...

Python 3 support

Modifications to support Python 3 are available as part of a 2014 summer project, and are planned for inclusion in this release cycle.

hg clone https://bitbucket.org/ssanturkar/ns-3-python-port/src

Pending new features

Developers are working or planning to work on the following new features for ns-3.23. Note: there is no guarantee that the features will be finished by the end of the release cycle, so check back for progress/status.

Statistics

Enhancements to data collection framework are planned to enable more flexible configuration of time series, time avearge, and asynchronous event plotting (Li Li, Felipe Perrone, Tom Henderson).

Energy Enhancements (Cristiano Tapparello)

Cristiano plans several additions:

  • New models for energy sources, converters, predictors, and sensor models (code to be posted soon)
  • LithiumIonEnergySource helper
  • RVBatteryModel bug fixes

TCP

  • RttEstimator improvements (Natale Patriciello)
    • Resolve bug 1412 RttEstimator to network module

WiFi

Sebastien is working on two-level (hybrid) aggregation.

Other WiFi development (may slip past this release) is listed on the current development page.

Mesh

DSR

Status: Tomasz is working on addressing the review comments (no update recently)

Epidemic Routing

Status: Still undergoing code review revisions.

UAN WOSS

Satellite models

Status: There hasn't been any recent activity so this will likely slip another release

Software maintenance issues

Status: No change on the above lately.