= 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[[BR]] [[BR]] Operations POC: Hussamuddin Nasir / (859) 218-0059 / nasir@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] == GPO Liaison System Engineer == [mailto:vthomas@geni.net Vic Thomas] == 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, 21%)]] [[Image(fig1low.jpg, 25%)]] == 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: S2.a Identify Security Point of Contact)]] [[BR]] [[MilestoneDate(INSTOOLS: S2.b Contribute Instrumentation Tools project software)]] [[BR]] [[MilestoneDate(INSTOOLS: S2.c Provide project draft input to GENI Spiral Security Review 2)]] [[BR]] [[MilestoneDate(INSTOOLS: S2.d Contribute Instrumentation Tools project software into GENI cluster)]] [[BR]] [[MilestoneDate(INSTOOLS: S2.e Support limited educational use)]] [[MilestoneDate(INSTOOLS: S3.a Demonstration at GEC9 and Experimenter Outreach)]] [[BR]] [[MilestoneDate(INSTOOLS: S3.b Documentation and Code Release)]] [[BR]] [[MilestoneDate(INSTOOLS: S3.c Demonstration at GEC10 and Experimenter Outreach)]] [[BR]] [[MilestoneDate(INSTOOLS: S3.d Identify a GENI Experiment that will use the Instrumentation Tools)]] [[BR]] [[MilestoneDate(INSTOOLS: S3.e Demonstration at GEC11 and Experimenter Outreach)]] [[BR]] [[MilestoneDate(INSTOOLS: S3.f Documentation and code release)]] [[BR]] == Project Technical Documents == === Papers === J. Griffioen, Z. Fei, H. Nasir, [http://groups.geni.net/geni/attachment/wiki/InstrumentationTools/instools-design-doc.pdf Architectural Design and Specification of the INSTOOLS Measurement System], December 2009 === Presentations === [http://groups.geni.net/geni/attachment/wiki/presentations/GEC3_Kentucky.pdf Instrumentation Tools for a GENI Prototype], GEC3 Conference, 2008 (outlines the project goals and relationships with other projects). [http://groups.geni.net/geni/attachment/wiki/GENIMeasWS/gmw_uk.pdf An Instrumentation Approach for ProtoGENI-based Edulabs], GENI Measurement Workshop (June, 2009) [http://groups.geni.net/geni/attachment/wiki/Gec6ClusterCMondaySlides/INSTOOLS_Shadowbox.pdf Kentucky INSTOOL update and proposed Shadowbox projects], GEC6 Conference, November 2009 [http://groups.geni.net/geni/attachment/wiki/GEC6InstMeasWGAgenda/UK_IMWG_11-2009.pdf INSTOOLS: Instrumentation Tools for a ProtoGENI Prototype], GEC6 Conference, November 2009 === Wiki Pages === [http://www.protogeni.net/trac/protogeni/wiki/UKYIntegration Integrating the Kentucky Instrumentation tools] into the ProtGENI project. === 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 == 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]] [wiki:InstrumentationTools-2Q09-status Quarterly Report 3. June 2009][[BR]] [http://groups.geni.net/geni/attachment/wiki/InstrumentationTools/report.3.pdf Quarterly Report 4. October 2009] [[BR]] [attachment:QSR-Q4-2009.pdf Quarter Report 5. December 2009] [[BR]] [attachment:QSR-Q1-2010.pdf Quarterly Report 6. March 2010] [[BR]] [wiki:InstrumentationTools-2Q10-status Quarterly Report 7. June 2010] == 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. == 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]]