'''Project Number''' 1642 '''Project Title''' Instrumentation Tools for a GENI Prototype[[BR]] a.k.a. INSTOOLS '''Technical Contacts''' Principal Investigator: James Griffioen griff@netlab.uky.edu[[BR]] Co-Principal Investigator: Zongming Fei fei@netlab.uky.edu '''Participating Organizations''' [http://www.uky.edu/ University of Kentucky], Lexington, KY[[BR]] [http://www.netlab.uky.edu/index.htm Laboratory for Advanced Networking] '''Scope''' The scope of work on this project is to create a GENI-enabled testbed based on the existing University of Kentucky Edulab, and to implement and to deploy instrumentation capabilities that will enable GENI users to better understand the runtime behavior of their experiments. Priority activities that contribute to this scope include the following items:[[BR]] 1) Provide an early operational federated testbed with administrative support and active student use integrated with a GENI control framework, allowing time for studying and improving the testbed over the period of the contract. 2) Provide an implementation of instrumentation capabilities for researcher and student helper tools that give GENI users the ability to better understand the runtime behavior of their experiments. [[Image(fig2low.jpg, 35%)]] [[Image(fig1low.jpg, 41%)]] '''The Kentucky Aggregate''' An initial version of the Kentucky aggregate is up and running and was demonstrated working with the Utah clearinghouse and the Utah aggregate at the GEC 4 meeting. The Kentucky aggregate consists of 79 Dell PCs. Of the 79 machines, 47 are Dell Optiplex GX240 available for general use, and 24 are Dell Inspiron 530 machines which are currently reserved for work on the InstrumentationTools Project. An additional 8 Dell Poweredge 1900 machines were recently added to the list of available machines and are being used for student class projects. All machines have 4 experimental network interfaces that can be configured via the Emulab web interface to produce the desired topology, bandwidth, delay, etc. '''Accessing The Kentucky Aggregate''' The Kentucky [wiki:ProtoGENI] aggregate can be accessed by obtaining an account at one of the [wiki:ProtoGENI] aggregates. The preferred way to gain access to [wiki:ProtoGENI] is to obtain an account on the Utah aggregate at [http://emulab.net http://emulab.net]. Access to the Utah aggregate will also enable access to the Kentucky aggregate. However, users who plan to primarily use resources on the Kentucky aggregate may apply for an account at the Kentucky site [http://www.uky.emulab.net http://www.uky.emulab.net] directly. Once this account is created, a user who wishes to access [wiki:ProtoGENI] resources should create a personal key that will be used to authenticate them to [wiki:ProtoGENI]. Key creation is described under "Getting Ready" on the [wiki:ProtoGENI] wiki ([http://www.protogeni.net/trac/protogeni/wiki/Tutorial http://www.protogeni.net/trac/protogeni/wiki/Tutorial]). In short, the new user must login to their Emulab account and following the "My Emulab->Profile->Generate SSL Cert" links to create a unique certificate. After giving a secure pass-phrase, your certificates will be generated and saved in $HOME/.ssl/encrypted.pem. These credentials can be used to access any of the [wiki:ProtoGENI] aggregates (including the Kentucky aggregate). Because [wiki:ProtoGENI] is still in the early development stages, the interface used to obtain resources is rather primitive. To obtain resources users must write a python script that make calls to the [wiki:ProtoGENI] API. A few test scripts are available as examples. The [wiki:ProtoGENI] API is described at http://www.protogeni.net/trac/protogeni/wiki/ComponentManagerAPI, and can be used to create slices, slivers, and boot those slivers. Resources are specified via an rspec which is an XML formatted specification of the PCs and links required by the experiment. More information about Rspecs can be found at [http://www.protogeni.net/trac/protogeni/wiki/RSpec http://www.protogeni.net/trac/protogeni/wiki/RSpec] Additional information about using [wiki:ProtoGENI] can be found at [http://www.protogeni.net/trac/protogeni/wiki/Tutorial http://www.protogeni.net/trac/protogeni/wiki/Tutorial] '''Milestones''' [[MilestoneDate(INSTOOLS: Upgrade UKY Emulab)]][[BR]] [[MilestoneDate(INSTOOLS: Develop Reference implementation of Aggregate Manager (AM v1.0))]] Milestone date was for first AM version, but work integrating the AM and ProtoGENI continues through Spiral 1. Iniital integration with ProtoGENI demonstrated on 3/31 at GEC4.[[BR]] [[MilestoneDate(INSTOOLS: Integrate and Document Instrumentation Toolset)]][[BR]] [[MilestoneDate(INSTOOLS: Deploy AM and open UKY Edulab for GENI)]][[BR]] '''Project Technical Documents''' Background Reading: W. David Laverell, Zongming Fei, James N. Griffioen, [http://portal.acm.org/citation.cfm?doid=1352322.1352223 Isn't it time you had an emulab?] ''Proceedings of the ACM SIGSCE 2008 Conference'', March 2008 Presentations: GEC3 Presentation by Jim Griffioen on [http://groups.geni.net/geni/attachment/wiki/presentations/GEC3_Kentucky.pdf Instrumentation Tools for a GENI Prototype], which outlines the project goals and relationships with other projects. Presentation at GENI Measurement Workshop (June, 2009) describing [http://groups.geni.net/geni/attachment/wiki/GENIMeasWS/gmw_uk.pdf An Instrumentation Approach for ProtoGENI-based Edulabs]. Wiki Pages: [http://www.protogeni.net/trac/protogeni/wiki/UKYIntegration Integrating the Kentucky Instrumentation tools] into the ProtGENI project. '''Quarterly Status Reports''' [http://groups.geni.net/geni/attachment/wiki/InstrumentationTools/report.pdf 2008 Quarterly Report 1. December 2008][[BR]] [http://groups.geni.net/geni/attachment/wiki/InstrumentationTools/report.2.pdf Quarterly Report 2. April 2009][[BR]] [http://groups.geni.net/geni/attachment/wiki/InstrumentationTools/uk_report.pdf Quarterly Report 3. June 2009][[BR]] [http://groups.geni.net/geni/attachment/wiki/InstrumentationTools/report.3.pdf Quarterly Report 4. October 2009] '''Spiral 1 Connectivity''' IP Addresses/Layer 3:[[BR]] IP connectivity between the clearinghouse server(s) at University of Utah Emulab, and all ProtoGENI cluster member locations (CmuLab, InstrumentationTools, MeasurementSystem, BGPMux) is required for SPIRAL1. Layer 2 virtual ethernets are required between ProtoGENI cluster machines in Emulab at the University of Utah and ProtoGENI sliceable backbone components installed at Internet2 optical switching nodes. Virtual Ethernets/Layer 2:[[BR]] Layer 2 virtual ethernets are also required between all operational ProtoGENI backbone components. For SPIRAL1, only two of these ProtoGENI backbone components are required, but additional components will also be installed at other Internet2 locations as part of GENI and other parallel projects, and these components may be used in SPIRAL1 if they are available. (Locations of the first two nodes are TBD. See attached [http://groups.geni.net/syseng/attachment/wiki/ProtoGENI/networkmap.pdf Internet2 map] for possible locations, indicated by places where I2 optical switches (yelow dots) and routers (black dots) are colocated.) Connections with co-located VINI nodes ([http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=109802158125431700487.00044c2c9af1d37fc733b&ll=39.436193,-98.261719&spn=23.700812,57.128906&z=4&source=embed VINI node map])in the Internet2 backbone are TBD. Virtual ethernet connections between ProtoGENI backbone components and the InstrumentationTools lab at the University of Kentucky will be required for SPIRAL 1 demonstrations. Details of virtual ethernet connections for demonstrations between Emulab and the InstrumentationTools lab are TBD. '''GPO Liaison System Engineer''' Heidi Picher Dempsey hdempsey@geni.net '''Related Work''' Collaborating with and using code from [wiki:ProtoGENI]. [http://cs.calvin.edu/activities/emulab/ The Calvin College Emulab], a related educational Emulab[[BR]] [http://cs.calvin.edu/activities/emulab/comer.html Networking experiments for Emulab] associated with [http://www.labbook.cs.purdue.edu/ Hands-On Networking] by Douglas E. Comer[[BR]] [http://www.tcpip-lab.net/ Mastering Networks: An Internet Lab Manual] by Jorg Liebeherr and Magda El Zarki][[BR]]