Version 13 (modified by, 4 years ago) (diff)


GEC21 Tutorial: Getting Started with GENI


This tutorial spans two sessions:

Monday 10.15am - 11.30am, 01.30pm - 03.00pm and 03:30pm - 05:30pm

Session Leaders

Sarah Edwards
Vic Thomas
Niky Riga

Agenda / Details

This three-part tutorial session is for those with little to no experience running experiments on GENI. Attendees will be introduced to key GENI concepts, will run simple experiments on GENI and learn the basics of debugging their GENI experiments. By the end of this session participants should feel comfortable running their own experiments on GENI.

Part I: Develop a basic understanding of the experiment workflow by doing a simple experiment. Understand the role of the data and control interfaces on each compute node.

Part II: Understand how resources are described and reserved in GENI. Learn how to customize those resources using standard mechanisms. Use multiple tools to act on a slice and reserve resources.

Part III: Pick a DIY exercise and run an experiment on your own applying concepts and tools learned in Parts I and II.

Familiarity with the material presented in this session will be assumed in other tutorials at GEC.


There are no pre-requisites for this tutorial.

Attendees should have done the pre-work (getting a GENI account, installing GENI tools, etc).

The following background will be helpful for this tutorial:


In Part I, attendees will run their first complete experiment in GENI.

At the end of Part I, attendees will be able to:

  • Use and understand the following terms:
    • Experimenter
    • Project
    • Slice
    • Aggregate
    • Resource
    • Resource Specification (aka RSpec)
  • Do the complete experiment workflow:
    • understand how to use their GENI Experimenter Portal account to join a project and create a slice
    • know how to draw an experimental topology and reserve resources using a graphical tool (Flack)
    • know how to log into compute resources using ssh and a private key
    • know how to manually load software onto a compute node
    • understand the purpose of the control and data interfaces
    • know how to delete resources

In Part II, attendees will run their second complete experiment in GENI.

At the end of Part II, attendees will be able to:

  • Use and understand the following terms:
    • Resource Specification (aka RSpec)
    • sliver
    • Aggregate Manager API (AM API)
  • Customize the resources they reserve using standard mechanisms:
    • understand that a resource specification (RSpec) is an XML file
    • understand that resources are reserved using the aggregate manager API (AM API)
    • understand how to load a topology using an RSpec
    • have edited an RSpec using a tool (Flack) as well as by hand
    • have reserved and deleted resources using a command line tool (omni)
    • know how to specify the image to load on a compute node
    • know how to have software automatically loaded and run on a compute node
    • have run a simple layer 2 experiment
  • Use multiple tools to act on a slice and reserve resources
    • understand that all tools use common mechanisms to describe resources (RSpecs) and to reserve resources (the AM API)
  • Understand the strengths of different types of GENI racks

In Part III attendees will pick an exercise from a selection of topics in the areas below:

  • network configuration (e.g. learn how to configure static routes)
  • demonstrate a networking principle (e.g. observe TCP behavior under various delays)
  • write and run a program for an experiment (e.g. modify code from a git repository and test it on GENI)
  • practice an intermediate GENI skill (e.g. write an install script)

Tutorial materials

Part I: A first experiment using GENI

  • Instructions: web [pdf]
  • Slides: [pptx]
  • Worksheets: [docx] [pdf]

Working with Collaborators

  • Slides: [pptx]

Break for Talk and Lunch

Part II: Understanding the AM API using a simple experiment

  • Instructions: web [pdf]
    • Appendix: web [pdf]
  • Slides: [pptx]
  • Worksheets: [docx]

Getting started with your own experiment

  • Advanced Topics
  • Solving Common Issues
  • Getting Help
  • Slides: [pptx]

"Part III: Work on your own on assigned exercises:

  • DIY exercises [TBD]
Network Software GENI/sysadmin
beginner IP Routing Using Static Routes Modify a Layer 2 ping program (`pingPlus`) install a webserver
intermediate Compare Performance of Different TCP Options
Compare the performance of a TCP file transfer protocol (FTP) vs a UDP-based file transfer protocol (UDT)
Create a software router

Want to do this exercise at home or in the classroom? Complete information for these exercises is available.

Attachments (4)