Changes between Initial Version and Version 1 of GEC22Agenda/GettingStartedWithGENI


Ignore:
Timestamp:
01/08/15 17:48:24 (9 years ago)
Author:
sedwards@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GEC22Agenda/GettingStartedWithGENI

    v1 v1  
     1[[PageOutline]]
     2
     3=   [wiki:GEC22Agenda#ConferenceAgenda GEC22] Tutorial: Getting Started with GENI =
     4
     5== Schedule ==
     6
     7TBD
     8
     9== Session Leaders ==
     10
     11{{{
     12#!html
     13<table  cellspacing=0  style="border:2px solid gray;">
     14
     15<tr align='center'>
     16<td> <a href="http://www.geni.net/?page_id=2353"><img src="http://www.geni.net/wp-content/uploads/2012/06/edwards_sarah.jpg" height='120px'/></a></td>
     17<td> <a href="http://www.geni.net/?page_id=293"><img src="http://www.geni.net/wp-content/uploads/2012/08/thomas_vic_0942.gif" height='120px'/></a></td>
     18</tr>
     19<tr align='center'  style="border:1px solid gray;">
     20
     21<td style="border:1px solid gray;">Sarah Edwards <br/>GPO</td>
     22<td  style="border:1px solid gray;">Vic Thomas<br/>GPO</td>
     23
     24</tr>
     25</table>
     26}}}
     27
     28== Agenda / Details ==
     29
     30This three-part tutorial session is for those with little to no experience running experiments on GENI.  Attendees will be introduced to key GENI concepts, will run simple experiments on GENI and learn the basics of debugging their GENI experiments.  By the end of this session participants should feel comfortable running their own experiments on GENI.
     31
     32Part I:
     33Develop a basic understanding of the experiment workflow by doing a simple experiment.  Understand the role of the data and control interfaces on each compute node.
     34
     35Part II:
     36Understand how resources are described and reserved in GENI. Learn how to customize those resources using standard mechanisms. Use multiple tools to act on a slice and reserve resources.
     37
     38Part III:
     39Pick a DIY exercise and run an experiment on your own applying concepts and tools learned in Parts I and II.
     40
     41''Familiarity with the material presented in this session will be assumed in other tutorials at GEC.''
     42
     43
     44==== Pre-Requisites ====
     45
     46There are no pre-requisites for this tutorial.
     47
     48Attendees should have done the [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/ToolsSetup pre-work] (getting a GENI account, installing GENI tools, etc).
     49
     50The following background will be helpful for this tutorial:
     51 * A basic familiarity and comfort with using a UNIX command line
     52 * A basic understanding of GENI concepts such as those covered in the [wiki:GEC21Agenda/IntroToGENI Introduction to GENI and Experimentation using GENI] talk immediately prior to this tutorial
     53
     54
     55==== Results ====
     56
     57In Part I, attendees will run their first complete experiment in GENI.
     58
     59At the end of Part I, attendees will be able to:
     60 * Use and understand the following terms:
     61   - Experimenter
     62   - Project
     63   - Slice
     64   - Aggregate
     65   - Resource
     66   - Resource Specification (aka RSpec)
     67 * Do the complete experiment workflow:
     68   - understand how to use their GENI Experimenter Portal account to join a project and create a slice
     69   - know how to draw an experimental topology and reserve resources using a graphical tool (Jacks/jFed)
     70   - know how to log into compute resources using ssh and a private key
     71   - know how to manually load software onto a compute node
     72   - understand the purpose of the control and data interfaces
     73   - know how to delete resources
     74
     75In Part II, attendees will run their second complete experiment in GENI.
     76
     77At the end of Part II, attendees will be able to:
     78  * Use and understand the following terms:
     79    - Resource Specification (aka RSpec)
     80    - sliver
     81    - Aggregate Manager API (AM API)
     82  * Customize the resources they reserve using standard mechanisms:
     83    - understand that a resource specification (RSpec) is an XML file
     84    - understand that resources are reserved using the aggregate manager API (AM API)
     85    - understand how to load a topology using an RSpec
     86    - have edited an RSpec using a tool (Flack) as well as by hand
     87    - have reserved and deleted resources using a command line tool (omni)
     88    - know how to specify the image to load on a compute node
     89    - know how to have software automatically loaded and run on a compute node
     90    - have run a simple layer 2 experiment
     91  * Use multiple tools to act on a slice and reserve resources
     92    - understand that all tools use common mechanisms to describe resources (RSpecs) and to reserve resources (the AM API)
     93  * Understand the strengths of different types of GENI racks
     94
     95In Part III attendees will pick an exercise from a selection of topics in the areas below:
     96 * network configuration (e.g. learn how to configure static routes)
     97 * demonstrate a networking principle (e.g. observe TCP behavior under various delays)
     98 * write and run a program for an experiment (e.g. modify code from a git repository and test it on GENI)
     99 * practice an intermediate GENI skill (e.g. write an install script)
     100
     101
     102
     103== Tutorial materials ==
     104''Part I: A first experiment using GENI''
     105 * Instructions (jFed): [wiki:GENIExperimenter/Tutorials/jFed/GettingStarted_PartI/Procedure web] [pdf]
     106 * Instructions (Jacks): [wiki:GENIExperimenter/Tutorials/jacks/GettingStarted_PartI/Procedure web] [pdf]
     107 * Slides: [pptx]
     108 * Worksheets: [docx] [pdf]
     109
     110''Working with Collaborators''
     111 * Slides: [pptx] (starts on XX)
     112
     113''Break for Talk and Lunch''
     114
     115''Part II: Understanding the AM API using a simple experiment''
     116 * Instructions (jFed): [wiki:GENIExperimenter/Tutorials/jFed/GettingStarted_PartII_ccn/Procedure web] [pdf]
     117 * Instructions (Jacks): [wiki:GENIExperimenter/Tutorials/jacks/GettingStarted_PartII_ccn/Procedure web] [pdf]
     118
     119 * Appendix: [wiki:GENIExperimenter/Tutorials/GettingStarted_PartII_ccn/Procedure/Execute/GEMINI web] [pdf]
     120 * Slides: [pptx]
     121 * Worksheets: [docx]
     122
     123''Getting started with your own experiment''
     124 * Advanced Topics
     125 * Solving Common Issues
     126 * Getting Help
     127 * Slides: [pptx]
     128
     129''Part III: Work on your own on assigned exercises''
     130|| || Network || Software || GENI/System Administration ||
     131|| beginner || [http://www.cs.unc.edu/Research/geni/geniEdu/05-TrafficAnalysis.html Network Debugging using `ping`, `tcpdump`, and `nc`] [[BR]] [http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/IPRouting/Procedure IP Routing Using Static Routes] || || [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/GettingStarted_PartII_ccn/Procedure/Execute/GEMINI GENI Desktop with CCNx (cont. of Lab One)]  ||
     132|| intermediate || [http://www.cs.unc.edu/Research/geni/geniEdu/04-TcpDelayWinSize.html Effect of RTT and Window Size on TCP Throughput] [[BR]] [http://www.cs.unc.edu/Research/geni/geniEdu/03-TcpTraffic.html TCP behavior with competing traffic]|| [http://groups.geni.net/geni/wiki/GEC17Agenda/GettingStartedWithGENI_II/Exercise2/Procedure Modify a Layer 2 ping program (`pingPlus`) (use ExoGENI)]  || [wiki:GENIEducation/SampleAssignments/InstallScripts/Procedure Automate installing a Webserver using a custom install script]||
     133|| advanced || [http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/TcpAssignment Compare Performance of Different TCP Options]|| || Create a software router using custom install scripts [[BR]]  [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware XORP (1 page)] [[BR]] [wiki:GENIEducation/SampleAssignments/InstallScripts/Procedure Click]||
     134
     135{{{
     136#!comment
     137[http://www.cs.unc.edu/Research/geni/geniEdu/02-WebServer.html Install a web server and test it by hand]
     138}}}
     139
     140Want to do this exercise at home or in the classroom?  Complete information for these exercises is available.
     141    * [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/GettingStarted_PartI/AtHome Part I]
     142{{{
     143#!comment
     144    * [http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/UnderstandAMAPI Part II]
     145}}}