Version 8 (modified by, 9 years ago) (diff)


GEC22 Tutorial: Getting Started with GENI


This tutorial spans three sessions:

Monday 10.15am - 11.30am, 1.30pm - 3.00pm, 3.30pm - 5.30pm

Session Leaders

Sarah Edwards
Vic Thomas

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 (Jacks/jFed)
    • 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 (jFed): web [pdf]
  • Instructions (Jacks): web [pdf]
  • Slides: [pptx]
  • Worksheets: docx

Working with Collaborators

  • Slides: [pptx] (starts on XX)

Break for Talk and Lunch

Part II: Understanding the AM API using a simple experiment

  • Instructions (jFed): web [pdf]
  • Instructions (Jacks): 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

Network Software GENI/System Administration
beginner Network Debugging using `ping`, `tcpdump`, and `nc`
IP Routing Using Static Routes
GENI Desktop with CCNx (cont. of Lab One)
LabWiki exercise
intermediate Effect of RTT and Window Size on TCP Throughput
TCP behavior with competing traffic
Modify a Layer 2 ping program (`pingPlus`) (use ExoGENI) How to write a custom install script to install a Webserver
advanced Compare Performance of Different TCP Options How to write a custom install script to create a software router
XORP (1 page)

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

Attachments (7)