wiki:GeniNewcomersWelcome

Version 1 (modified by Vic Thomas, 12 years ago) (diff)

--

Experimentation with GENI

1. What is GENI?

GENI (Global Environment for Network Innovations) provides a virtual laboratory for networking and distributed systems research and education. It is well suited for exploring networks at scale, thereby promoting innovations in network science, security, services and applications. GENI allows experimenters to obtain compute resources from locations around the United States and connect them using Layer 2 networks in topologies best suited for their experiments. Experimenters can install custom software or even custom operating systems on these compute resources. They can also control how the network switches in their experiment handle traffic flows. Since experimenters have control over the end hosts and over the network switches in their experiment, they can run their own Layer 3 and above protocols including IP based protocols.

2. Why should I use GENI?

GENI might be right for you if your experiment requires:

  • More resources than would ordinarily be found in your lab. Since GENI is a suite of infrastructures it can potentially provide you with more resources than is typically found in any one laboratory. This is especially true for compute resources: GENI provides access to large testbeds with hundreds of PCs and to cloud computing resources.
  • Non-IP connectivity across resources. Some GENI aggregates allow you to set up Layer 2 connections between resources within the aggregate. Experimenters may install and run their own Layer 3 and above protocols on these resources. It is also possible to setup Layer 2 connections between many GENI aggregates that connect to GENI backbone networks (Internet2 and NLR). You can even set up your network to route through experimenter programmable switches in the GENI backbone.
  • A deeply programmable network. GENI has switches in the backbone and at the edges that you can program to set up the network topologies you need and to control flows in your network.
  • Geographically distributed resources. Some GENI resources are distributed around the world.
  • Reproducibility. You can get exclusive access to certain GENI resources including CPU resources and network resources. This gives you control over your experiment's environment and hence the ability for you and others to repeat experiments under identical or very similar conditions.

Benefits of using GENI include:

  • Unified access to a large number of resources. Your GENI account will give you access to a number of resources owned and operated by different organizations without your having to get separate accounts from each of them.
  • Unified tools and services. Many GENI experiment control and measurement tools and services work across diverse resources owned and operated by different organizations. You do not have to switch between tools to use resources from different organizations.
  • Experimenter support. GENI mailing lists give you access to communities of experimenters, developers and support staff.

he GENI help desk can help you get GENI experimenter credentials, identify resources that might be suitable for your experiment, and point you to relevant tutorials, examples and support mailing lists. Send your requests for help to help@geni.net.

  • Operations support. A GENI-wide meta-operations team coordinates GENI operations, security, and network stitching (setting up Layer 2 VLANS over GENI backbone networks). For assistance with any of these issues contact gpo-infra@geni.net.


2 An Experimenter's View of GENI

GENI is a suite of infrastructures for networking and distributed systems experimentation. GENI supports at-scale experimentation on shared, heterogeneous, highly instrumented infrastructure and enables deep programmability throughout the network.

As an experimenter you will need to know about GENI clearinghouses, GENI aggregates and GEN slices and slivers.

GENI Glossary
   
  • A GENI clearinghouse authenticates experimenters and issues them credentials needed to reserve GENI resources for experimentation. To get a GENI account(credentials) please follow these instructions or contact help@geni.net .
  • GENI aggregates provide resources to experimenters with GENI credentials. GENI has a number of different aggregates that provide a variety of resources for experimentation. An important aspect of planning your experiment is deciding what resources you need (resource types and numbers) and which aggregates might be able to provide you these resources.
  • A GENI slice is a virtual container that can hold a collection of computing and communications resources for running an experiment or a wide area service. A slice might span multiple GENI aggregates. An experiment is a researcher-defined use of resources in a slice; an experiment runs in a slice. A researcher may run multiple experiments using resources in a slice, concurrently or over time. A GENI sliver is a set of resources that an experimenter has in a specific GENI aggregate, i.e. a GENI slice is comprised of a set of slivers.
   

3 GENI Resources

GENI has a number of aggregates that make different kinds of resources available for use by experimenters. Examples of such resources include:

  • Programmable hosts. GENI provides a wide array of programmable hosts such as entire PCs from the ProtoGENI aggregate that can be booted with an experimenter specified operating system; operating system virtual machines that can host experimenter software from the PlanetLab and ProtoGENI aggregates , programming language virtual machines from the Million Node GENI aggregate and cloud computing resources from the GENICloud aggregate.
  • Programmable networks. Experimenter programmable switches within the GENI backbone networks (e.g. ProtoGENI backbone nodes and SPP nodes) and at campuses around the country (e.g. Stanford OpenFlow network).
  • Wireless testbeds. Resources for wireless experiments such as the ORBIT testbed
  • Backbone networks. Geographically distributed GENI resources may be connected to one another using Internet2, National Lambda Rail (NLR) or the public Internet. Many aggregates can be connected using Layer 2 VLANS over Internet2 and NLR. Most aggregates can be connected using IP.

GENI Aggregates Currently Available to Experimenters

Many of the GENI aggregates are running in production and are widely available to GENI experimenters, while other are still in prototype mode and might require special arrangements to get access. See AvailableAggregates for a listing of GENI aggregates along with a description of the resources they provide.

4 Getting Access to GENI

Many of the GENI aggregates are federated and allow users with a GENI account to reserve resources. To get a GENI account(credential) please follow these instructions or contact help@geni.net>

5 Picking Resources for Your Experiment

As you plan your experiment you will want to consider:

  • The degree of control you need over your experiment. Do you need to tightly control the resources (CPU, bandwidth, etc.) allocated to your experiment or will best-effort suffice? If you need a tightly controlled environment you might want to consider one of the ProtoGENI aggregate that allocate entire PCs that can be connected in arbitrary topologies.
  • The desired network topology. Does your experiment have to be geographically distributed? What kinds of connectivity do you need between these geographically distributed locations. Almost all aggregates can connect using IP connectivity over the Internet. Many aggregates connect to one of the GENI backbones and allow you to set up IP connections with other resources on the backbone. This will give you a bit more control over the network. Some aggregates provide Layer 2 connectivity over a GENI backbone i.e. you can set up vlans between these aggregates and other resources on the backbone network. This allows you to run non-IP protocols across between the aggregate and other resources.
  • The desired control over network flows. If you need to manage network traffic to/from an aggregate you might want to use aggregates that connect to a GENI backbone using OpenFlow switches or set up vlans to these aggregates through the ProtoGENI Backbone Nodes or the SPP Nodes.
  • The number of resources you need from an aggregate. Aggregates vary from small installations such as the GPO Lab ProtoGENI aggregate that consists of eleven nodes to the PlanetLab and ProtoGENI aggregates that consist of hundreds of nodes.
  • If the aggregate accepts GENI credentials. You will likely be able to use resources from these aggregates with a credential issued by a GENI clearinghouse; you do not have to contact the aggregate owner to get an account for the aggregate. Additionally, aggregates that accept GENI credentials typically implement the GENI Aggregate Manager API. A growing number of GENI experiment control tools support this API i.e. these tools can be used to create slices, add resources from aggregates that support the GENI API, etc. Examples of such tools include the Flack, Omni and Gush.

The GENI Project Office is happy to help find the best match of resources for your experiments. Please contact help@geni.net for assistance.

6 Tutorials and Experimenter Tools

The best way to learn what GENI is and what it provides, is by using it. After you get your GENI Account, familiarize yourself with the tools that are available to experimenters for accessing and using GENI and go over some tutorials to get some hands on experience.