Version 37 (modified by Vic Thomas, 8 years ago) (diff)


Project Number


Project Title

Instrumentation Tools for a GENI Prototype

Technical Contacts

Principal Investigator: James Griffioen
Co-Principal Investigator: Zongming Fei

Operations POC: Hussamuddin Nasir / (859) 218-0059 / Hussamuddin Nasir

Participating Organizations

University of Kentucky, Lexington, KY
Laboratory for Advanced Networking

GPO Liaison System Engineer

Vic Thomas


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:

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.

UKY Aggregate picture UKY Aggregate wiring picture

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 ProtoGENI aggregate can be accessed by obtaining an account at one of the ProtoGENI aggregates. The preferred way to gain access to ProtoGENI is to obtain an account on the Utah aggregate at 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 directly.

Once this account is created, a user who wishes to access ProtoGENI resources should create a personal key that will be used to authenticate them to ProtoGENI. Key creation is described under "Getting Ready" on the ProtoGENI wiki ( 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 ProtoGENI aggregates (including the Kentucky aggregate).

Because 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 ProtoGENI API. A few test scripts are available as examples. The ProtoGENI API is described at, 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

Additional information about using ProtoGENI can be found at


MilestoneDate(INSTOOLS: S2.a Identify Security Point of Contact)?
MilestoneDate(INSTOOLS: S2.b Contribute Instrumentation Tools project software)?
MilestoneDate(INSTOOLS: S2.c Provide project draft input to GENI Spiral Security Review 2)?
MilestoneDate(INSTOOLS: S2.d Contribute Instrumentation Tools project software into GENI cluster)?
MilestoneDate(INSTOOLS: S2.e Support limited educational use)?

MilestoneDate(INSTOOLS: S3.a Demonstration at GEC9 and Experimenter Outreach)?
MilestoneDate(INSTOOLS: S3.b Documentation and Code Release)?
MilestoneDate(INSTOOLS: S3.c Demonstration at GEC10 and Experimenter Outreach)?
MilestoneDate(INSTOOLS: S3.d Identify a GENI Experiment that will use the Instrumentation Tools)?
MilestoneDate(INSTOOLS: S3.e Demonstration at GEC11 and Experimenter Outreach)?
MilestoneDate(INSTOOLS: S3.f Documentation and code release)?

Project Technical Documents


  1. Griffioen, Z. Fei, H. Nasir, Architectural Design and Specification of the INSTOOLS Measurement System, December 2009


Instrumentation Tools for a GENI Prototype, GEC3 Conference, 2008 (outlines the project goals and relationships with other projects).

An Instrumentation Approach for ProtoGENI-based Edulabs, GENI Measurement Workshop (June, 2009)

Kentucky INSTOOL update and proposed Shadowbox projects, GEC6 Conference, November 2009

INSTOOLS: Instrumentation Tools for a ProtoGENI Prototype, GEC6 Conference, November 2009

Wiki Pages

Integrating the Kentucky Instrumentation tools into the ProtGENI project.

Background Reading

  1. David Laverell, Zongming Fei, James N. Griffioen,

Isn't it time you had an emulab? Proceedings of the ACM SIGSCE 2008 Conference, March 2008

Quarterly Status Reports

2008 Quarterly Report 1. December 2008
Quarterly Report 2. April 2009
Quarterly Report 3. June 2009
Quarterly Report 4. October 2009
Quarter Report 5. December 2009
Quarterly Report 6. March 2010
Quarterly Report 7. June 2010
April 2011 Report

Spiral 1 Connectivity

IP Addresses/Layer 3:

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:

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 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 (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 ProtoGENI.

The Calvin College Emulab, a related educational Emulab
Networking experiments for Emulab associated with Hands-On Networking by Douglas E. Comer
Mastering Networks: An Internet Lab Manual by Jorg Liebeherr and Magda El Zarki]

Attachments (10)