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;
- Connect compute resources using Layer 2 networks in topologies best suited to their experiments;
- Install custom software or even custom operating systems on these compute resources;
- Control how network switches in their experiment handle traffic flows;
- Run their own Layer 3 and above protocols by installing protocol software in their compute resources and by providing flow controllers for their switches.
Why should I use GENI?
GENI might be right for you if your experiment requires:
- A large-scale experiment infrastructure. GENI can potentially provide you with more resources than is typically found in any one laboratory. GENI gives you access to hundreds of widely distributed resources including compute resources such as virtual machines and “bare-machines”, and network resources such as links, switches and WiMax base stations.
- Non-IP connectivity across resources. GENI allows you to set up Layer 2 connections between compute resources and run your own Layer 3 and above protocols connecting these resources.
- Deep programmability. With GENI you can program not only the end hosts of your experimental network but also the switches in the core of your network. This allows you to experiment with novel network layer protocols or with novel IP-routing algorithms.
- 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.
- Instrumentation and measurement tools. GENI has instrumentation and measurement systems that provide probes for active and passive measurements, measurement data storage and tools for visualizing and analyzing measurement data.