wiki:GENIExperimenterWelcome

Version 27 (modified by justinc@cs.washington.edu, 7 years ago) (diff)

--

Welcome GENI Experimenters!

The Global Environment for Network Innovations – GENI – is a suite of research infrastructure rapidly taking shape in prototype form across the United States. It is sponsored by the National Science Foundation, with the goal of becoming the world’s first laboratory environment for exploring future internets at scale, thereby promoting innovations in network science, security, technologies, services and applications

You are why GENI is here.

Remember that GENI is a virtual laboratory, and what's a laboratory without experiments? So, thank you for using GENI for your experiments.

Resources for experimenters

We're here to help. If you have questions or get stuck, please e-mail us at help@geni.net.

Here are some pointers to GENI information that may help you get started.

  • If you need GENI credentials, follow the instructions at SignMeUp.
  • The page UnderstandingGENI has information about how you can get started and run your experiment in GENI, including a catalog of resources.
  • A community support mailing list for experimenters can be found here.

GENI Experiment Repository

A small but growing repository for archived and example experiments, plus some material for your not-too-serious reading enjoyment.

NAT Traversal / Non-transitive connectivity No image "Seattle.png" attached to GENIExperimenterWelcome The purpose of this assignment is to illustrate several important networking concepts by measuring the connectivity between computers spread around the Internet. For this task we will be using Seattle, and in the first part of this assignment you will familiarize yourself with the Seattle demokit. Once you are comfortable with the demokit, we will run an all-pairs-ping on computers distributed around the world. The goal of running the all-pairs-ping is to observe non-transitive connectivity (when two computers cannot communicate, but they can both communicate with a third computer). Following this, we will set up one-hop detour routing to circumvent non-transitive connectivity to allow the computers to communicate through the intermediate node. The final part of the assignment investigates whether or not a computer is behind a NAT (network address translator) and illustrates the practical issues with communicating with a NATed node.
Stop And Wait Protocol No image "Seattle.png" attached to GENIExperimenterWelcome In this assignment, you will implement a reliable datagram protocol using the stop-and-wait (also known as alternating bit) protocol. You will write client and server programs that communicate using your library. The server will listen for messages and send back acknowledgements. The client will send messages and listen for acknowledgements. The client will consider a message delivered once it receives an acknowledgment and resend an unacknowledged message after a timeout. After a finite number of resent messages, the client will give up and report an error.
Sliding Window Protocol No image "Seattle.png" attached to GENIExperimenterWelcome In this assignment, you will extend the Stop and Wait Assignment with the sliding window algorithm. The purpose of this algorithm is to enable the sender to use the available network bandwidth more efficiently. This is achieved by sending more than one packet at a time before waiting to receive acknowledgements. This pipelining of packets makes for a much higher bandwidth communication protocol than the previous Stop And Wait Protocol.
Link State Routing (Dijkstra's Algorithm) No image "Seattle.png" attached to GENIExperimenterWelcome This assignment will illustrate an important network routing strategy called Link State routing. In this assignment, Seattle nodes will take an initial connectivity map of nodes. They will then implement and run Dijkstra's shortest path algorithm to build their routing tables. Finally, nodes will forward packets using their routing table.
ClickExampleExperiment No image "ClickExampleExperiment.png" attached to GENIExperimenterWelcome This example experiment shows how to use GENI resources to test a simple non-IP routing technique. This experiment will be of interest to experimenters working with novel protocols, particularly those with Click-based implementations.

You will use ProtoGENI hosts and Click modular router software to build your network.

In order to try this example experiment, you should have GENI credentials and be familiar with using the omni command line tool. Learn more about credentials Learn more about credentials at SignMeUp or by sending us mail help@geni.net.
UDTExampleExperiment No image "UDTExampleExperiment.png" attached to GENIExperimenterWelcome In this example experiment, you will compare the behavior of two different transport protocols, UDT and TCP, under varying network conditions.

You will use ProtoGENI hosts to build your network.

In order to try this example experiment, you should have GENI credentials and be familiar with using either the Flack GUI tool or the omni command line tool. Learn more about credentials at SignMeUp or by sending us mail help@geni.net.
WebServerExample No image "WebServerExample.png" attached to GENIExperimenterWelcome In this assignment you will build a functional web server. This assignment will guide you through the basics of distributed programming, client/server structures, and issues in building high performance servers.

You will use ProtoGENI hosts to build your network.

In order to try this example experiment, you should have GENI credentials and be familiar with using either the Flack GUI tool or the omni command line tool. Learn more about credentials at SignMeUp or by sending us mail help@geni.net.
TestTubeGuyBio No image "TestTubeGuy.png" attached to GENIExperimenterWelcome Learn about this GENI legend.
CoffeeWomanBio No image "CoffeeWoman.png" attached to GENIExperimenterWelcome Learn about this GENI legend.

GENI Experimentation Events

Events in July 2012:

GEC14 in Boston on July 9-11 includes nine experimenter tutorials, an update on experimentation activity, the experimenter roundtable, and an opportunity for one-on-one support at the coding sprint. In conjunction with GEC14, NSF is sponsoring a workshop, "Designing Tools and Curricula for Undergraduate Courses in Distributed Systems," where attendees will share best practices to incorporate testbeds like GENI into widespread use in the classroom.

Please visit ExperimentationEventArchive for information on past events of interest to the GENI experimentation community.