Difference between revisions of "AnnualTraining2016"

From Nsnam
Jump to: navigation, search
(Tuesday June 14)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{TOC}}
 
{{TOC}}
  
This is the wiki page for the ns-3 training sessions that are being conducted from 13-14 June, 2016 in Seattle.  For a list of all past training sessions, see [[Training]].
+
This is the wiki page for the ns-3 training sessions that were conducted from 13-14 June, 2016 in Seattle.  For a list of all past training sessions, see [[Training]].
 
+
Attendees are encouraged to bookmark the main [http://www.ee.washington.edu/events/wns3_2016 UW web site] for the ns-3 annual meeting.
+
  
 
== Agenda ==
 
== Agenda ==
 
Slides will be linked from the below session descriptions, when available.
 
  
 
=== Monday June 13 ===
 
=== Monday June 13 ===
Line 18: Line 14:
 
* [http://www.nsnam.org/tutorials/consortium16/slides/ns-3-training-core-essentials.pptx ns-3-training-core-essentials.pptx]
 
* [http://www.nsnam.org/tutorials/consortium16/slides/ns-3-training-core-essentials.pptx ns-3-training-core-essentials.pptx]
 
* [http://www.nsnam.org/tutorials/consortium16/slides/ns-3-training-objects.pptx ns-3-training-objects.pptx]
 
* [http://www.nsnam.org/tutorials/consortium16/slides/ns-3-training-objects.pptx ns-3-training-objects.pptx]
* [http://www.nsnam.org/tutorials/consortium16/slides/ns-3-training-debugging.pptx ns-3-training-debugging.pptx]
+
 
 
* [http://www.nsnam.org/tutorials/consortium16/slides/ns-3-training-emulation.pptx ns-3-training-emulation.pptx]
 
* [http://www.nsnam.org/tutorials/consortium16/slides/ns-3-training-emulation.pptx ns-3-training-emulation.pptx]
 
* [http://www.nsnam.org/tutorials/consortium16/slides/ns-3-training-nodes-stacks-devices.pptx ns-3-training-nodes-stacks-devices.pptx]
 
* [http://www.nsnam.org/tutorials/consortium16/slides/ns-3-training-nodes-stacks-devices.pptx ns-3-training-nodes-stacks-devices.pptx]
Line 44: Line 40:
 
* '(10:45-12:15) An introduction to the Direct Code Execution (DCE) environment, enabling users to use real application and Linux networking code in ns-3 (instructors:  Tom Henderson and Hajime Tazaki) ('''[http://www.nsnam.org/tutorials/consortium16/slides/ns-3-training-dce.pptx slides]''')
 
* '(10:45-12:15) An introduction to the Direct Code Execution (DCE) environment, enabling users to use real application and Linux networking code in ns-3 (instructors:  Tom Henderson and Hajime Tazaki) ('''[http://www.nsnam.org/tutorials/consortium16/slides/ns-3-training-dce.pptx slides]''')
 
* Lunch break
 
* Lunch break
* (1:30-3:30) A survey of the LTE models, including model architecture, propagation models, LTE Radio Protocol Stack and EPC model. (instructors:  Lorenza Giupponi and Biljana Bojovic)
+
* (1:30-3:30) A survey of the LTE models, including model architecture, propagation models, LTE Radio Protocol Stack and EPC model. (instructors:  Lorenza Giupponi and Biljana Bojovic) ('''[http://www.nsnam.org/tutorials/consortium16/slides/WNS3-LENA-presentation.pdf slides]''')
* (3:45-5:45) Advanced wireless topics, including Wi-Fi and LTE/Wi-Fi coexistence.  (instructors:  Tom Henderson, Lorenza Giupponi, and Biljana Bojovic)
+
* (3:45-5:45) Advanced wireless topics, including Wi-Fi and LTE/Wi-Fi coexistence.  (instructor:  Tom Henderson) ('''[http://www.nsnam.org/tutorials/consortium16/slides/ns-3-training-advanced-wireless.pptx slides]''')
 
+
* (5:45-6:00) Debugging ('''[http://www.nsnam.org/tutorials/consortium16/slides/ns-3-training-debugging.pptx slides]''')
== Meals ==
+
 
+
Lunch (boxed lunch on Monday, pizza and salad on Tuesday) will be provided. Coffee breaks (morning and afternoon) will be provided. For other food needs, an espresso bar with some food is open from 7:30-3pm daily in the building, and a Starbucks, pizza, and Subway (and small convenience store) are a short walk away in the student union HUB building.
+
  
 
== Preparation ==
 
== Preparation ==
Line 65: Line 58:
 
=== Trying ns-3 on a Live ISO image ===
 
=== 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/consortium16/ns-3-training-june-2016.iso this link] and will also be available on flash and DVD media at the training session.  The ISO has prerequisite packages pre-installed and a recent copy of ns-3 source code.
+
A 32-bit Ubuntu 14.04 Live DVD (ISO) is posted for download at [https://www.nsnam.org/tutorials/consortium16/ns-3-training-june-2016.iso this link].  The ISO has prerequisite packages pre-installed and a recent copy of ns-3 source code.
  
 
You may want to use this ISO file with a virtual machine tool such as VMware or VirtualBox.
 
You may want to use this ISO file with a virtual machine tool such as VMware or VirtualBox.
Line 85: Line 78:
 
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.
  
== Questions and Answers ==
+
== Questions, Answers, and Comments ==
 +
 
 +
* How to use interactive shell feature of PyViz
 +
** must install iPython (pip install ipython)
 +
 
 +
* How to use more complicated types as attribute values
 +
** short answer:  see how class ns3::Time is handled
 +
** long answer:  If the type can be created as an ns3::Object type, it can be stored in the Attribute system via types such as PointerValue, ObjectVectorValue, and ObjectMapValue.  If it like a plain-old C++ class or struct, then there is a special macro that constructs this.  As an example:
 +
*** class Time declared here:  http://code.nsnam.org/ns-3-dev/file/d44748d98fe6/src/core/model/nstime.h#l102
 +
*** used as an Attribute here:  http://code.nsnam.org/ns-3-dev/file/d44748d98fe6/src/csma/model/csma-channel.cc#l45
 +
*** How does this TimeValue get created?  You need to define a Value class via a macro, an Accessor class via a macro, and Checker methods; see this example here: http://code.nsnam.org/ns-3-dev/file/d44748d98fe6/src/core/model/nstime.h#l957
 +
 
 +
* can packet tags of same type be added?
 +
** PacketTag:  No; ByteTag: Yes
  
Will be posted here
+
* Comment/observation:  the ns-3 release would benefit from more sophisticated (more complicated) Wi-Fi examples than the ones we have.
 +
** Answer:  we will work on this.

Latest revision as of 21:28, 23 June 2016

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 that were conducted from 13-14 June, 2016 in Seattle. For a list of all past training sessions, see Training.

Agenda

Monday June 13

The goal of this session is a comprehensive overview of the simulator (what we can fit into a day). The instructor is Tom Henderson. Slides and code are posted below.

Slides:

Slides (single file):

Code:


We will use the ns-3.25 release as the basis for the training.

Please plan to make it to the building by 8:30 so that you may be registered and so we may start at 9am.

Tuesday June 14

This consists of special topic tutorials:

  • (09:00-10:30) Large-scale, distributed simulations with ns-3 (instructor: Peter Barnes) (slides)
  • '(10:45-12:15) An introduction to the Direct Code Execution (DCE) environment, enabling users to use real application and Linux networking code in ns-3 (instructors: Tom Henderson and Hajime Tazaki) (slides)
  • Lunch break
  • (1:30-3:30) A survey of the LTE models, including model architecture, propagation models, LTE Radio Protocol Stack and EPC model. (instructors: Lorenza Giupponi and Biljana Bojovic) (slides)
  • (3:45-5:45) Advanced wireless topics, including Wi-Fi and LTE/Wi-Fi coexistence. (instructor: Tom Henderson) (slides)
  • (5:45-6:00) Debugging (slides)

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. The ISO has prerequisite packages pre-installed and a recent copy of ns-3 source code.

You may want to use this ISO file with a virtual machine tool such as VMware or VirtualBox.

  • sha1 checksum (sha1sum) of the ISO image: bad812908e8bfd569c710c5c59b3c082e2671ab7
  • file size of the download: 3.2 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 virtual or real 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.

Additional files

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

Questions, Answers, and Comments

  • How to use interactive shell feature of PyViz
    • must install iPython (pip install ipython)
  • can packet tags of same type be added?
    • PacketTag: No; ByteTag: Yes
  • Comment/observation: the ns-3 release would benefit from more sophisticated (more complicated) Wi-Fi examples than the ones we have.
    • Answer: we will work on this.