Changes between Version 36 and Version 37 of GENIExperimenterWelcome
- Timestamp:
- 10/04/12 10:41:13 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GENIExperimenterWelcome
v36 v37 28 28 Read about what other researchers are doing with GENI. The [wiki:GENIBibliography] is a good place to start. 29 29 30 == GENI Experiment Repository ==30 == GENI Experiment and Assignment Repository == 31 31 32 A small but growing repository for archived and example experiments , plus some material32 A small but growing repository for archived and example experiments and classroom materials, plus some material 33 33 for your not-too-serious reading enjoyment. 34 34 35 || [https://seattle.cs.washington.edu/wiki/EducationalAssignments/TakeHome NAT Traversal / Non-transitive connectivity ] || [[Image(Seattle.png, nolink, 100%)]] || 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.||35 || Hello, GENI! || [[Image(GENI.png, nolink, 50%)]] || Coming soon: In this introductory GENI experiment, you will walk step-by-step through the process of setting up and running your first GENI experiment. || 36 36 37 || [https://seattle.cs.washington.edu/wiki/EducationalAssignments/StopAndWait Stop And Wait Protocol ] || [[Image(Seattle.png, nolink, 100%)]] || 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. ||37 || Example Experiment: ClickExampleExperiment || [[Image(ClickExampleExperiment.png, nolink, 50%)]] || 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.[[br]][[br]]You will use ProtoGENI hosts and Click modular router software to build your network.[[br]][[br]]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 [mailto:help@geni.net]. || 38 38 39 || [https://seattle.cs.washington.edu/wiki/EducationalAssignments/SlidingWindow Sliding Window Protocol ] || [[Image(Seattle.png, nolink, 100%)]] || 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. ||39 || Example Experiment: [wiki:UDTExampleExperiment] || [[Image(UDTExampleExperiment.png, nolink)]] || In this example experiment, you will compare the behavior of two different transport protocols, UDT and TCP, under varying network conditions.[[br]][[br]]You will use ProtoGENI hosts to build your network.[[br]][[br]]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 [mailto:help@geni.net]. || 40 40 41 || [https://seattle.cs.washington.edu/wiki/EducationalAssignments/LinkState Link State Routing (Dijkstra's Algorithm) ] || [[Image(Seattle.png, nolink, 100%)]] || 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. ||41 || Example Class Assignment: [http://groups.geni.net/geni/attachment/wiki/ScalableMonitoring/tcp-geni.pdf TCP Network Awareness] || [[Image(TCPAssignment.png, 50%, nolink)]] || The objective of this assignment is to familiarize you with the details of TCP congestion control, and the impact of network conditions on the TCP congestion control algorithms. || 42 42 43 || [https://seattle.cs.washington.edu/wiki/EducationalAssignments/WebServer HTTP Server Assignment ] || [[Image(Seattle.png, nolink, 100%)]] || In this part of the project you will create a minimal web server to serve text and html files. Your webserver will have a single dynamic component for listing files in a directory, it will need to read and send file contents to clients as well as accept incoming data. ||43 || Example Class Assignment: [wiki:WebServerExample] || [[Image(WebServerExample.png, nolink)]] || 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.[[br]][[br]]You will use ProtoGENI hosts to build your network.[[br]][[br]]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 [mailto:help@geni.net]. || 44 44 45 || Sister Testbed: [wiki:GENIExperimenterWelcome/Repository/Seattle Seattle] || [[Image(Seattle.png, nolink, 100%)]] || [https://seattle.cs.washington.edu/html/ Seattle] is a sister testbed of GENI. Seattle provides access to a large universe of diverse computing devices (e.g. shared-use desktop, laptop, tablets, and phones), displaying realistic network diversity (wired, wireless, intermittent connectivity, mobility), all via an easy to use programming language. [[br]] [[br]] Several quick-and-easy sample class assignments and projects are listed [wiki:GENIExperimenterWelcome/Repository/Seattle here]. || 45 46 46 || [https://seattle.cs.washington.edu/wiki/EducationalAssignments/ChatServer Chat Server Assignment ] || [[Image(Seattle.png, nolink, 100%)]] || This assignment focuses on designing and implementing a chat service called Seattlechat. Seattlechat has three main components, a central Seattlechat server whose focus is to relay messages, a collection of Seattlechat translators that change messages into different formats for display, and a Seattlechat client which is will use a standard web browser for communicating with a user. Each Seattlechat client has its own translator, but many translators can connect to the same Seattlechat server. ||47 || GENI Lore: TestTubeGuyBio || [[Image(TestTubeGuy.png, nolink, 25%)]] || Learn about this GENI legend. || 47 48 48 || [https://seattle.cs.washington.edu/wiki/EducationalAssignments/Chord DHT Assignment (Chord) ] || [[Image(Seattle.png, nolink, 100%)]] || For this assignment the students first implement a DHT-like message routing system based on Chord, and test their implementations on local Seattle resources. The students then run their code on globally distributed Seattle resources. Chord works well over LAN, but has performance and correctness problems in a global scale deployment with non-transitive connectivity. After explaining the reasons behind Chord's poor performance, the instructor can have the class discuss solutions to these problems. Students can then implement these solutions to achieve better performance and reliability. || 49 50 51 52 || ClickExampleExperiment || [[Image(ClickExampleExperiment.png, nolink, 50%)]] || 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.[[br]][[br]]You will use ProtoGENI hosts and Click modular router software to build your network.[[br]][[br]]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 [mailto:help@geni.net]. || 53 || [wiki:UDTExampleExperiment] || [[Image(UDTExampleExperiment.png, nolink)]] || In this example experiment, you will compare the behavior of two different transport protocols, UDT and TCP, under varying network conditions.[[br]][[br]]You will use ProtoGENI hosts to build your network.[[br]][[br]]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 [mailto:help@geni.net]. || 54 || [wiki:WebServerExample] || [[Image(WebServerExample.png, nolink)]] || 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.[[br]][[br]]You will use ProtoGENI hosts to build your network.[[br]][[br]]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 [mailto:help@geni.net]. || 55 || TestTubeGuyBio || [[Image(TestTubeGuy.png, nolink, 25%)]] || Learn about this GENI legend. || 56 || CoffeeWomanBio || [[Image(CoffeeWoman.png, nolink, 25%)]] || Learn about this GENI legend. || 49 || GENI Lore: CoffeeWomanBio || [[Image(CoffeeWoman.png, nolink, 25%)]] || Learn about this GENI legend. || 57 50 58 51 == GENI Experimentation Events ==