On this page:
The POWDER Manual
2019-06-13 (f568733)

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 Describing a profile with python and geni-lib

      6.1 A single XEN VM node

      6.2 A single physical host

      6.3 Two XenVM nodes with a link between them

      6.4 Two ARM64 servers in a LAN

      6.5 A VM with a custom size

      6.6 Set a specific IP address on each node

      6.7 OpenEPC extensions

      6.8 RF communication

      6.9 Specify an operating system and set install and execute scripts

      6.10 Profiles with user-specified parameters

      6.11 Add temporary local disk space to a node

      6.12 Creating a reusable dataset

      6.13 Debugging geni-lib profile scripts

    7 Advanced Topics

      7.1 Disk Images

      7.2 RSpecs

      7.3 Public IP Access

        7.3.1 Dynamic Public IP Addresses

      7.4 Markdown

      7.5 Introspection

        7.5.1 Client ID

        7.5.2 Control MAC

        7.5.3 Manifest

        7.5.4 Private key

        7.5.5 Profile parameters

      7.6 User-controlled switches and layer-1 topologies

    8 Hardware

      8.1 Base-station resources

      8.2 Fixed-endpoint resources

      8.3 Near-edge computing resources

      8.4 Cloud computing resources

    9 Planned Features

      9.1 Improved Physical Resource Descriptions

    10 Powder basic srsLTE Tutorial

      10.1 Objectives

      10.2 Prerequisites

      10.3 Logging In

      10.4 Creating a simple srsLTE experiment

      10.5 Exploring Your Experiment

        10.5.1 Experiment Status

        10.5.2 Profile Instructions

        10.5.3 Topology View

        10.5.4 List View

        10.5.5 Manifest View

        10.5.6 Graphs View

        10.5.7 Actions

        10.5.8 Web-based Shell

      10.6 Using the srsLTE tools

      10.7 Digging deeper

      10.8 Terminating the Experiment

      10.9 Taking Next Steps

    11 Powder OAI Tutorial

      11.1 Objectives

      11.2 Prerequisites

      11.3 Logging In

      11.4 Building Your Own OAI Network

      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 Starting OAI Services

      11.7 Connecting the UE

      11.8 In-Depth OAI Profile Documentation

      11.9 Terminating the Experiment

      11.10 Taking Next Steps

    12 Powder OpenStack Tutorial

      12.1 Objectives

      12.2 Prerequisites

      12.3 Logging In

      12.4 Building Your Own OpenStack Cloud

      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.5.9 Serial Console

      12.6 Bringing up Instances in OpenStack

      12.7 Administering OpenStack

        12.7.1 Log Into The Control Nodes

        12.7.2 Reboot the Compute Node

      12.8 Terminating the Experiment

      12.9 Taking Next Steps

    13 Getting Help