RENEW Project Documentation

Version 1.0

Reconfigurable Ecosystem for Next-generation End-to-end Wireless

Massive MIMO on POWDER

Basic Roadmap

For users to be able to run experiments on the massive MIMO platform at POWDER, they need to follow the next steps:

  1. Create POWDER account
  2. Create an experiment profile
  3. Log into the POWDER machine provided by the experiment instantiation
  4. Familiarize with the RENEW software and run a basic demo script

This tutorial will show you how to perform each of these steps.

1) Create user account

To get started, users need to request an account here.

2) Create Experiment Profile

After getting an account, users need to set up their experiment topology (i.e., hardware resources needed). To do so, we provide two options:

We created a set of profiles that provide basic functionalities. In many cases this might be enough for users to begin working with the platform.

  1. Click on Experiments (top left)
  2. Select Start Experiment
  3. Select Change Profile
  4. Enter “renewlab” in the search box and select the “renewlab” or “renewlab-d740” profiles (or simply choose from list). Click on Select Profile
  5. Click Next
  6. Select frequency range to operate at (default for mMIMO framework is 2496 MHz to 2506 MHz) and click Next
  7. Provide a name for this experiment and select a project and the machine cluster to be used. The idea behind selecting a project is to allow PIs (Principal Investigators) to create a project as administrators, and then allow their collaborators/students to work under that project. In terms of the cluster to use, we suggest to use the default Emulab. Here you will see the graphical topology showing the PC, massive MIMO base station, and clients.
  8. On the next screen you will reserve the frequency resources you previously selected. As per FCC regulation, we need to ensure that we have permission to use the resources you requested at the time you want to use them. The POWDER team will have to authorize this request which takes a few hours during weekdays. There might be a longer delay during weekends though. By clicking on the Create New Resource Reservation button a new set of options appear at the bottom of the screen as shown in the next two images.

You need to specify the number of days you are planning to reserve your resources for. We provide a tool that allows you to search an adequate time window given your specification. For instance, if you select 2 days and hit the Search button, the system will find a time slot and set your start/end time accordingly. Finally, you need to provide a simple reason for the request.

After the request has been approved, you can go back to this website to finalize your experiment reservation. You can click in the box next to the Creator column to automatically fill out the Start/End time of your experiment according to the approved frequency resource reservation schedule.

While you might be able to reserve the frequency resources for a long period of time, the experiment can only be set to a maximum of 16 hours, initially. Once the experiment is isntantiated though, you can request an extension as shown below.

  1. After clicking on the Finish button it will take a few minutes for the experiment instantiation to complete.
  2. Once the process is completed, users will be able to create a disk image, extend your experiment duration, or terminate the experiment.

Option B: Copy and modify existing profile

Users can also copy an existing profile and modify it accoding to their own needs. The process is very similar to the one described above. For a much more detailed explanation on creating and modifying profiles, please follow the directions on the POWDER website.

3) Accessing the host machine

Under the List View tab, users will find the different nodes in the experiment topology. We can ssh into the PC using the command provided. Remember to add use X11 forwarding (i.e., -X option) to forward the application display to your local machine.

4) RENEW Software

By default, the renewlab profile clones the RENEW repository into the /local/repository folder. It also installs all the dependencies required to run the RENEW scripts.

If users prefer to run the scripts from their home folder, they can use the following command to clone the RENEW code repo: git clone https://gitlab.renew-wireless.org/renew/renew-software.git

WARNING: After the experiment expires, EVERYTHING in your HOME directory is deleted. Make sure to create a disk image or download your collected data before this happens.

For people running RENEW software locally on their own machines, they will need to install all the dependencies themselves. This can be done simply by running three scripts located inside the renew-software directory:

  1. Install SoapySDR software and Iris drivers: ./install_soapy.sh
  2. Install RENEWLab Python dependencies and packages: ./install_pylibs.sh
  3. Install RENEWLab Real-time C++ software dependencies: ./install_cclibs.sh

5) Checking Massive MIMO Board Topology

Users can easily check the serial numbers of the boards in the network. To do so, we need to run the script FindArrays.py in the python IrisUtils folder e.g., python3 /PYTHON/IrisUtils/FindArrays.py The output should look something like this:

where the first serial number corresponds to the Hub (FH4A00000), then the next six rows correspond to the Iris boards that form the massive MIMO base station. Notice each row corresponds to a different chain, therefore, this base station has four chains with four Iris boards each and two chains with eight Iris boards each. Finally, at the bottom we see two individual Iris boards, which are the clients. If you run the script and nothing comes up, run it again a couple of more times. There is a known bug related to board discovery that makes it fail occasionally. If after a couple of tries it does not work, then something has gone wrong and someone in the team will have to look into it. Please reach out to us at support@renew-wireless.org if this happens.

6) Run Demo

The RENEW Design Flow page contains more information on the available software, including step-by-step tutorials on using the Massive MIMO equipment. For example, see this tutorial to learn how to run the PYTHON demo files.

7) Running Matlab

In the RENEW profile, Matlab is inside the /usr/local/ folder.

Last updated on 19 Feb 2020 / Published on 19 Mar 2019