Difference between revisions of "MNMTraining2015"

From Nsnam
Jump to: navigation, search
(Thursday March 19)
(Questions and Answers)
 
(8 intermediate revisions by the same user not shown)
Line 13: Line 13:
 
The goal of this session (1pm-5pm) is a comprehensive overview of the simulator (what we can fit into half a day).  The instructors will be Tom Henderson and Ken Renard.
 
The goal of this session (1pm-5pm) is a comprehensive overview of the simulator (what we can fit into half a day).  The instructors will be Tom Henderson and Ken Renard.
  
* Introduction to ns-3:  Basic software orientation, survey of capabilities, research performed with ns-3, differences from ns-2, data visualization and man-agement, how the open source project operates.
+
* [http://www.nsnam.org/tutorials/mnm15/nrl-training-session-introduction.pdf Introduction to ns-3]:  Basic software orientation, survey of capabilities, research performed with ns-3, differences from ns-2, data visualization and management, how the open source project operates.
* Large-scale, distributed simulations with ns-3.  (Instructor:  Ken Renard)
+
* [http://www.nsnam.org/tutorials/mnm15/tutorial-distributed-ns-3-march-2015.pdf Large-scale, distributed simulations with ns-3]
* Network emulation and Direct Code Execution environments and examples, enabling hardware-in-the-loop and use of real Linux code.
+
 
  
 
=== Thursday March 19 ===
 
=== Thursday March 19 ===
Line 21: Line 21:
 
This day is planned to run from 9am-12pm and from 1pm-4pm.
 
This day is planned to run from 9am-12pm and from 1pm-4pm.
  
Using examples oriented around a Wi-Fi ad hoc mobile scenario, we will cover these topics.
+
* [http://www.nsnam.org/tutorials/mnm15/ns-3-training-session-core.pdf Build system, simulation core, packets and network models]
 
+
* [http://www.nsnam.org/tutorials/mnm15/ns-3-training-session-emulation.pdf Network emulation] and [http://www.nsnam.org/tutorials/mnm15/ns-3-training-session-dce.pdf Direct Code Execution] environments and examples, enabling hardware-in-the-loop and use of real Linux code.
* Running simulations, including manipulating and managing configuration, logging, animation and visualization options.
+
* [http://www.nsnam.org/tutorials/mnm15/ns-3-training-session-debugging.pdf Debugging]
* Debugging simulations using tools such as gdb, valgrind, and oprofile.
+
* Mobility and wireless models and scenarios
+
* Methodology and workflow for developing new models in ns-3, using a case study.
+
  
 
== Preparation ==
 
== Preparation ==
  
Nothing is strictly required, but working through the [http://www.nsnam.org/docs/release/3.22/tutorial/html/index.html ns-3 tutorial] is a good starting point, if you haven't already.
+
Nothing is strictly required, but working through the [http://www.nsnam.org/docs/release/3.22/tutorial/html/index.html ns-3 tutorial] should be helpful, if you haven't already.
  
A 32-bit Ubuntu 14.04 Live DVD (ISO) is posted for download at ''(link to be provided)'' and will also be available on DVD media at the session.  The ISO (username ns3; password ns3) has prerequisite packages pre-installed and a recent copy of ns-3 source code.
+
You do not need to install anything to attend the training, but the below instructions are provided for those who may want to follow along.
 +
 
 +
=== Installation of ns-3 to your local system ===
 +
 
 +
Please see the [[Installation]] page on our wiki for per-system package requirements if you want to install ns-3, and follow instructions at [https://www.nsnam.org/docs/release/3.22/tutorial/html/getting-started.html this tutorial link] on how to download ns-3.
 +
 
 +
Note that the minimal requirements for working from the command line are a recent C++ compiler (g++ or clang), and a Python (version 2) installation.  The additional packages enable additional optional simulation features but can be skipped until needed.
 +
 
 +
=== Trying ns-3 on a Live ISO image ===
 +
 
 +
A 32-bit Ubuntu 14.04 Live DVD (ISO) is posted for download at [https://www.nsnam.org/tutorials/mnm15/ns-3-mnm-training.iso this link] and will also be available on DVD media at the training session.  The ISO has prerequisite packages pre-installed and a recent copy of ns-3 source code.
 +
 
 +
* sha1 checksum of the ISO image: d77b2cb512543b80d1c62607c9a9a2f3d2108570
 +
* file size of the download:  3.6 GB
 +
* '''username:''' ns-3
 +
* '''password:''' ns-3
 +
* recommended virtual machine resources (if you install to a VM):  40 GB HDD, 3 GB memory
 +
 
 +
This is a Live ISO image that can be booted repeatedly without saving state, or can be installed to a drive.  The [https://launchpad.net/~nemh/+archive/ubuntu/systemback Systemback] utility was used to create the image, and can be used to install the system as well.  To install, select the green icon in the panel to bring up the below dialog box, fill in the account information (for the system to be created) and then hit Next and follow the instructions.
 +
 
 +
[[File:Systemback-install.png]]
 +
 
 +
Please read the README in the top level directory.  Note there is a small error in the README; I didn't actually install CORE in this image (but it can be installed from the source code found in training/core/ directory).
  
 
== Additional files ==
 
== Additional files ==
Line 38: Line 57:
 
Links to any additional example files produced for the training (outside of the ns-3 release) will be posted here.
 
Links to any additional example files produced for the training (outside of the ns-3 release) will be posted here.
  
== Training materials ==
+
== Questions and Answers ==
  
All presentations will be hyperlinked from this wiki page (as they are made available).
+
It turns out that ns-3 has Ubuntu packages, pointed out by an attendee (in Ubuntu 14.04, for ns-3.17, almost 2 years old... better to use newer code).
  
== Questions and Answers ==
+
Here are some other questions and answers.
 +
 
 +
* Is there an M/M/1 queue model for ns-3?
 +
** Yes; link [http://www.nsnam.org/tutorials/mnm15/mm1-queue.cc here].
 +
 
 +
* Is ns-3 C++--11 compliant?
 +
** We're not accepting code using new C++-11 features into the core of ns-3 yet, since it may break on systems with older compilers.  However, ns-3 should build on newer compilers regardless of whether the 'CPPFLAGS=-std=c++11' is passed to waf.
 +
 
 +
* Does a converter exist to convert pcap into the XML read by netanim?
 +
** No, although it might be a useful capability.
 +
 
 +
* How can I get PyViz to install for OS X? 
 +
** Updated instructions are provided on the [[PyViz | PyViz wiki page]].  In short, for whatever Python installation is being used, one must install the Python pygtk, pygoocanvas, and pygraphviz Python packages.
 +
 
 +
* Can I inspect simulation state in PyViz, when stopped?
 +
** Yes, you can install 'ipython' package and get a "Shell" button on pyviz
  
Questions and answers will be posted here.
+
* How does Direct Code Execution (DCE) handle applications that write output or log files?
 +
** DCE (automatically) creates [http://en.wikipedia.org/wiki/Chroot 'chroot-ed'] directory per node; for node index 'X', it creates 'files-X' directory.  DCE prepends a chrooted path to the pathname specified by open(2) called by an application. e.g., open("/tmp/abc.txt") on DCE application will result in open("files-4/tmp/abc.txt") on the host operating system.

Latest revision as of 16:03, 24 March 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 is the wiki page for the ns-3 training sessions being conducted from 18-19 March, 2015 in Ballston VA.

Logistics

The contact is Tom Henderson; email Tom if you have any questions.

Agenda

Wednesday March 18

The goal of this session (1pm-5pm) is a comprehensive overview of the simulator (what we can fit into half a day). The instructors will be Tom Henderson and Ken Renard.


Thursday March 19

This day is planned to run from 9am-12pm and from 1pm-4pm.

Preparation

Nothing is strictly required, but working through the ns-3 tutorial should be helpful, if you haven't already.

You do not need to install anything to attend the training, but the below instructions are provided for those who may want to follow along.

Installation of ns-3 to your local system

Please see the Installation page on our wiki for per-system package requirements if you want to install ns-3, and follow instructions at this tutorial link on how to download ns-3.

Note that the minimal requirements for working from the command line are a recent C++ compiler (g++ or clang), and a Python (version 2) installation. The additional packages enable additional optional simulation features but can be skipped until needed.

Trying ns-3 on a Live ISO image

A 32-bit Ubuntu 14.04 Live DVD (ISO) is posted for download at this link and will also be available on DVD media at the training session. The ISO has prerequisite packages pre-installed and a recent copy of ns-3 source code.

  • sha1 checksum of the ISO image: d77b2cb512543b80d1c62607c9a9a2f3d2108570
  • file size of the download: 3.6 GB
  • username: ns-3
  • password: ns-3
  • recommended virtual machine resources (if you install to a VM): 40 GB HDD, 3 GB memory

This is a Live ISO image that can be booted repeatedly without saving state, or can be installed to a drive. The Systemback utility was used to create the image, and can be used to install the system as well. To install, select the green icon in the panel to bring up the below dialog box, fill in the account information (for the system to be created) and then hit Next and follow the instructions.

Systemback-install.png

Please read the README in the top level directory. Note there is a small error in the README; I didn't actually install CORE in this image (but it can be installed from the source code found in training/core/ directory).

Additional files

Links to any additional example files produced for the training (outside of the ns-3 release) will be posted here.

Questions and Answers

It turns out that ns-3 has Ubuntu packages, pointed out by an attendee (in Ubuntu 14.04, for ns-3.17, almost 2 years old... better to use newer code).

Here are some other questions and answers.

  • Is there an M/M/1 queue model for ns-3?
  • Is ns-3 C++--11 compliant?
    • We're not accepting code using new C++-11 features into the core of ns-3 yet, since it may break on systems with older compilers. However, ns-3 should build on newer compilers regardless of whether the 'CPPFLAGS=-std=c++11' is passed to waf.
  • Does a converter exist to convert pcap into the XML read by netanim?
    • No, although it might be a useful capability.
  • How can I get PyViz to install for OS X?
    • Updated instructions are provided on the PyViz wiki page. In short, for whatever Python installation is being used, one must install the Python pygtk, pygoocanvas, and pygraphviz Python packages.
  • Can I inspect simulation state in PyViz, when stopped?
    • Yes, you can install 'ipython' package and get a "Shell" button on pyviz
  • How does Direct Code Execution (DCE) handle applications that write output or log files?
    • DCE (automatically) creates 'chroot-ed' directory per node; for node index 'X', it creates 'files-X' directory. DCE prepends a chrooted path to the pathname specified by open(2) called by an application. e.g., open("/tmp/abc.txt") on DCE application will result in open("files-4/tmp/abc.txt") on the host operating system.