Using ns-3 with the POWDER wireless testbed

  • Date/time: Monday, June 21, 1300 UTC (9am Eastern Daylight Time)
  • Presenters: Tom Henderson (University of Washington), Alicia Esquivel (University of Missouri)
  • Abstract: The U.S. National Science Foundation is investing heavily in a number of city-scale advanced wireless testbeds for wireless networking research. One such testbed is the POWDER wireless testbed at the University of Utah. POWDER allows users to remotely configure and execute experiments using RF emulators and over-the-air deployments, with software-defined radios, Linux servers, and experimental cellular nodes such as srsLTE and OAI. Researchers may want to use ns-3 for certain research projects or phases, and POWDER for different projects or phases, or may want to combine the use of both. This tutorial will provide some guided examples of how to use ns-3 on POWDER, how to supplement POWDER nodes with ns-3 emulated nodes, and how to use POWDER results and tools to improve or validate ns-3 models.
  • Topics:
    • Review of POWDER testbed capabilities, workflows, and terminology.
    • Creating a first POWDER experiment running typical ns-3 simulations.
    • Using ns-3 emulation on POWDER nodes
    • Creating a basic LTE handover POWDER experiment, and how it relates to an ns-3 LTE simulation.
    • How to use POWDER nodes and experiments to validate ns-3 models.
    • How to use data generated by POWDER experiments in ns-3 models.
    • How to extend a POWDER experimental topology with ns-3 emulated nodes.
  • Materials:

Machine Learning in ns-3: ns3-ai module, Introduction and Hands-on Example

  • Date/time: Monday, June 21, 1500 UTC (11am Eastern Daylight Time)
  • Presenters: Hao Yin (University of Washington) , Deng Xun and Pengyu Liu (Huazhong University of Science and Technology)
  • Abstract: This tutorial is designed as an introduction to the ns3-ai module intended to enable the testing of ML algorithms within ns-3. By the end of the session, participants should have a basic understanding of ns3-ai module usage, and how to conduct their ML algorithm evaluation for a network setting using it.
  • Materials:

Doing Research with ns-3 and SEM

  • Date/time: Tuesday, June 22, 1300 UTC (9am Eastern Daylight Time)
  • Presenter: Davide Magrin (University of Naples Federico II)
  • Abstract: SEM is a Python library whose aim is to make it as easy as possible to run complete simulation campaigns with ns-3. Using SEM you can quickly run multiple randomized simulations of your ns-3 scenario, exploring the effect the inputs to your program have on network behavior and performance. In this tutorial we’ll start from scratch and gradually develop a full-fledged analysis exploring the behavior of an example ns-3 program using SEM and Jupyter Notebooks. The result will be self-contained, interactive, easily modifiable and extensible document that can be shared and published directly.
  • Materials:

How to contribute code to ns-3

  • Date/time: Tuesday, June 22, 1400 UTC (10am Eastern Daylight Time)
  • Presenter: Tom Henderson (University of Washington)
  • Abstract: This tutorial will review the software contribution and review process in ns-3, and provide guidance on how users can submit code to the ns-3 mainline or to the App Store.
  • Topics:
    • ns-3 code contribution guidelines (coding style, license, copyright, documentation, tests)
    • How to fork ns-3-dev; how to create a merge request; how to update the Merge Request due to review comments or mainline code changes
    • Checklist of things to cover, including documentation, test coverage, Python bindings, different compilers, etc. before submitting to ns-3-dev
    • How to submit and maintain a module on the App Store, and how to undergo code review for App Store modules.
  • Materials:

Efficient PHY Layer Abstraction in ns-3: Principles and Implementation

  • Date/time: Tuesday, June 22, 1500 UTC (11am Eastern Daylight Time)
  • Presenters: Sian Jin and Tom Henderson (University of Washington)
  • Abstract: This tutorial is about how to use MATLAB link-level simulations to generate ns-3 Wi-Fi error models for small-scale, frequency-selective fading channels and the OFDM/OFDMA MIMO/MU-MIMO PHY layer. This tutorial discusses the scalability issues with previous error models, and introduces a recent ns-3 error model called EESM-log-SGN, based on link-to-system mapping.. We will briefly show the principles and performance of the EESM-log-SGN, followed by a two-part implementation review using demos. The first part is the offline link simulation part implemented using our MATLAB code on This part is a prerequisite for implementing EESM-log-SGN in ns-3. We’ll show how to use and adapt our MATLAB code using examples. The second part is the online network simulation part implemented using ns-3. We will show steps to add new link simulation data and use EESM-log-SGN models in ns-3 using an examples
  • Materials:

An Intro to the NetSimulyzer Visualizer

  • Date/time: Friday, June 25, 1300 UTC (9am Eastern Daylight Time)
  • Presenter: Evan Black (National Institute of Standards and Technology)
  • Abstract: This tutorial introduces the recently released open-source, 3D ns-3  visualizer, the NetSimulyzer. It begins with a presentation of each of the available components with screenshots and copyable code-snippets for each. We will then walk through integrating the ns-3 module step-by-step with several different scenarios using the components from earlier. We will conclude with some best practices and notes from our use of the NetSimulyzer and Q&A.
  • Topics: This tutorial will cover the NetSimulyzer ns-3 module and application, the available components and features, how to integrate it with several different ns-3 scenarios, and some best practices when using the module.
  • Materials: