5 | | 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. |
| 5 | 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 you the experimenter to: |
| 6 | * Obtain compute resources from locations around the United States; |
| 7 | * Connect compute resources using Layer 2 networks in topologies best suited to your experiments; |
| 8 | * Install custom software or even custom operating systems on these compute resources; |
| 9 | * Control how how network switches handle your traffic flows; |
| 10 | * Run your own Layer 3 and above protocols by installing protocol software in your compute resources and providing flow controllers for your switches. |
9 | | * '''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. |
10 | | * '''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. |
11 | | * '''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. |
12 | | * '''Geographically distributed resources.''' Some GENI resources are distributed around the world. |
| 14 | * '''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. GENI give you access to hundreds of widely distributed resources including compute resources, network resources including links, switches and WiMax base stations. |
| 15 | * '''Non-IP connectivity across resources.''' GENI allows you to set up Layer 2 connections between between compute resources and run your own Layer 3 and above protocols on these resources. |
28 | | As an experimenter you will need to know about GENI ''clearinghouses'', GENI ''aggregates'' and GEN ''slices and slivers''. |
29 | | |
30 | | {{{ |
31 | | #!html |
32 | | |
33 | | <table border="0"> |
34 | | <tr> |
35 | | <td> <img border="0" src="http://groups.geni.net/geni/attachment/wiki/UnderstandingGENI/GENIComponentsPicture-2.png?format=raw" alt="GENI Glossary" height="300"/> </td> |
36 | | <td> <pre> </pre> </td> |
37 | | |
38 | | <td> |
39 | | <ul> |
40 | | <li> A GENI <b>clearinghouse</b> authenticates experimenters and issues them credentials needed to reserve GENI resources for experimentation. To get a GENI account(credentials) please follow <a href ="http://groups.geni.net/geni/wiki/SignMeUp"> these instructions </a> or contact <a href="mailto:help@geni.net help@geni.net"> help@geni.net </a>. </li> |
41 | | <li> GENI <b>aggregates</b> 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.</li> |
42 | | <li>A GENI <b>slice</b> 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 <b>sliver</b> 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. </li> |
43 | | |
44 | | </td> |
45 | | <td> <pre> </pre> </td> |
46 | | </tr> |
47 | | </table> |
48 | | }}} |
49 | | |
50 | | == 3 GENI Resources == |
51 | | GENI has a number of aggregates that make different kinds of resources available for use by experimenters. Examples of such resources include: |
52 | | * [wiki:AvailableAggregates#a2ProgrammableHosts Programmable hosts.] GENI provides a wide array of programmable hosts such as entire PCs from the [wiki:GeniAggregate/UtahProtoGeni ProtoGENI] aggregate that can be booted with an experimenter specified operating system; operating system virtual machines that can host experimenter software from the [wiki:GeniAggregate/PlanetLab PlanetLab] and [wiki:GeniAggregate/UtahProtoGeni ProtoGENI] aggregates , programming language virtual machines from the [wiki:GeniAggregate/MillionNodeGeni Million Node GENI] aggregate and cloud computing resources from the GENICloud aggregate. |
53 | | * [wiki:AvailableAggregates#a3ProgrammableNetworks Programmable networks.] Experimenter programmable switches within the GENI backbone networks (e.g. [wiki:GeniAggregate/ProtoGeniBackBoneNodes ProtoGENI backbone nodes] and SPP nodes) and at campuses around the country (e.g. Stanford OpenFlow network). |
54 | | * [wiki:AvailableAggregates#a4WirelessTestbeds Wireless testbeds.] Resources for wireless experiments such as the [wiki:GeniAggregate/OrbitWirelessTestbed ORBIT] testbed |
55 | | * [wiki:AvailableAggregates#a1BackboneNetworks Backbone networks.] Geographically distributed GENI resources may be connected to one another using [http://www.internet2.edu/ Internet2], [http://www.nlr.net/ 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. |
56 | | |
57 | | === GENI Aggregates Currently Available to Experimenters === |
58 | | 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 |
59 | | special arrangements to get access. |
60 | | See [wiki:AvailableAggregates] for a listing of GENI aggregates along with a description of the resources they provide. |
61 | | [[BR]] |
62 | | |
63 | | == 4 Getting Access to GENI == |
64 | | 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 [wiki:SignMeUp these instructions] or contact [mailto:help@geni.net help@geni.net]> |
65 | | [[BR]] |
66 | | |
67 | | == 5 Picking Resources for Your Experiment == |
68 | | As you plan your experiment you will want to consider: |
69 | | * '''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. |
70 | | * '''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. |
71 | | * '''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. |
72 | | * '''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. |
73 | | * '''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 [http://www.protogeni.net/trac/protogeni/wiki/Flack Flack], [http://trac.gpolab.bbn.com/gcf/wiki/Omni Omni] and [http://gush.cs.williams.edu/trac/gush Gush]. |
74 | | |
75 | | The GENI Project Office is happy to help find the best match of resources for your experiments. Please contact [mailto:help@geni.net] for assistance. |
76 | | [[BR]] |
77 | | |
78 | | == 6 Tutorials and Experimenter Tools == |
79 | | 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 [wiki:GENIExperimenter/Tools tools] that are available to experimenters for accessing and using GENI and go over some [wiki:GENIExperimenter/ExampleExperiments tutorials] to get some hands on experience. |
| 28 | For additional information, email [mailto:help@geni.net]. |