On this page:
The POWDER Manual
2019-10-30 (540e3a5)

The POWDER Manual

The Powder Team

Powder is a facility for experimenting on the future of wireless networking in a city-scale "living laboratory" environment.

Powder is run by the University of Utah in partnership with Salt Lake City and the Utah Education and Telehealth Network.

The Powder facility is built on top of Emulab and is run by the Flux Research Group, part of the School of Computing at the University of Utah.

    1 Getting Started

      1.1 Next Steps

    2 Powder Users

      2.1 Register for an Account

        2.1.1 Join an existing project

        2.1.2 Create a new project

    3 Powder and Repeatable Research

    4 Creating Profiles

      4.1 Creating a profile from an existing one

        4.1.1 Preparation and precautions

        4.1.2 Cloning a Profile

        4.1.3 Copying a Profile

        4.1.4 Creating the Profile

        4.1.5 Updating a profile

      4.2 Creating a profile with a GUI

      4.3 Repository-Based Profiles

        4.3.1 Updating Repository-Based Profiles

        4.3.2 Branches and Tags in Repository-Based Profiles

      4.4 Creating a profile from scratch

      4.5 Sharing Profiles

      4.6 Versioned Profiles

    5 Basic Concepts

      5.1 Profiles

        5.1.1 On-demand Profiles

        5.1.2 Persistent Profiles

      5.2 Experiments

        5.2.1 Extending Experiments

      5.3 Projects

      5.4 Physical Machines

      5.5 Virtual Machines and Containers

    6 Resource Reservations

      6.1 What Reservations Guarantee

      6.2 How Reservations May Affect You

      6.3 Making a Reservation

      6.4 Using a Reservation

    7 Describing a profile with python and geni-lib

      7.1 A single XEN VM node

      7.2 A single physical host

      7.3 Two XenVM nodes with a link between them

      7.4 Two ARM64 servers in a LAN

      7.5 A VM with a custom size

      7.6 Set a specific IP address on each node

      7.7 OpenEPC extensions

      7.8 RF communication

      7.9 Specify an operating system and set install and execute scripts

      7.10 Profiles with user-specified parameters

      7.11 Add temporary local disk space to a node

      7.12 Creating a reusable dataset

      7.13 Debugging geni-lib profile scripts

    8 Advanced Topics

      8.1 Disk Images

      8.2 RSpecs

      8.3 Public IP Access

        8.3.1 Dynamic Public IP Addresses

      8.4 Markdown

      8.5 Introspection

        8.5.1 Client ID

        8.5.2 Control MAC

        8.5.3 Manifest

        8.5.4 Private key

        8.5.5 Profile parameters

      8.6 User-controlled switches and layer-1 topologies

    9 Hardware

      9.1 Base-station resources

      9.2 Fixed-endpoint resources

      9.3 Near-edge computing resources

      9.4 Cloud computing resources

    10 Planned Features

      10.1 Improved Physical Resource Descriptions

    11 Powder basic srsLTE Tutorial

      11.1 Objectives

      11.2 Prerequisites

      11.3 Logging In

      11.4 Creating a simple srsLTE experiment

      11.5 Exploring Your Experiment

        11.5.1 Experiment Status

        11.5.2 Profile Instructions

        11.5.3 Topology View

        11.5.4 List View

        11.5.5 Manifest View

        11.5.6 Graphs View

        11.5.7 Actions

        11.5.8 Web-based Shell

      11.6 Using the srsLTE tools

      11.7 Digging deeper

      11.8 Terminating the Experiment

      11.9 Taking Next Steps

    12 Powder OAI Tutorial

      12.1 Objectives

      12.2 Prerequisites

      12.3 Logging In

      12.4 Building Your Own OAI Network

      12.5 Exploring Your Experiment

        12.5.1 Experiment Status

        12.5.2 Profile Instructions

        12.5.3 Topology View

        12.5.4 List View

        12.5.5 Manifest View

        12.5.6 Graphs View

        12.5.7 Actions

        12.5.8 Web-based Shell

      12.6 Starting OAI Services

      12.7 Connecting the UE

      12.8 In-Depth OAI Profile Documentation

      12.9 Terminating the Experiment

      12.10 Taking Next Steps

    13 Powder OpenStack Tutorial

      13.1 Objectives

      13.2 Prerequisites

      13.3 Logging In

      13.4 Building Your Own OpenStack Cloud

      13.5 Exploring Your Experiment

        13.5.1 Experiment Status

        13.5.2 Profile Instructions

        13.5.3 Topology View

        13.5.4 List View

        13.5.5 Manifest View

        13.5.6 Graphs View

        13.5.7 Actions

        13.5.8 Web-based Shell

        13.5.9 Serial Console

      13.6 Bringing up Instances in OpenStack

      13.7 Administering OpenStack

        13.7.1 Log Into The Control Nodes

        13.7.2 Reboot the Compute Node

      13.8 Terminating the Experiment

      13.9 Taking Next Steps

    14 Getting Help