Version 55 (modified by, 13 years ago) (diff)


Project Number


Project Title

GENI Experiment Control Using Gush
a.k.a. GushProto, GUSH

Technical Contacts

PI: Jeannie Albrecht / +1 413 597 4251
Amin Vahdat / +1 858 534 4614


Jeannie Albrecht working on Gush with undergraduates Danny Huang and Kelsey Levine at Williams College.

Participating Organizations

Williams College, Williamstown, MA
UC San Diego, San Diego, CA


The scope of work on this project is to design and implement a prototype to build Gush (the GENI User Shell), a robust experiment control and management framework for GENI. The final product of this work is expected to be a fully functional framework that supports experiment control through three user interfaces, including a graphical user interface (GUI), command line interface, and a programmatic interface.

This work will include design of an API in Gush for interacting with GENI Clearinghouses. Gush will integrate with GENI Clearinghouse prototypes provided by the control framework developers to test the Gush API and the use of slice interaction functions. Initial work will be with the PlanetLab control framework using XML-RPC communication with the PlanetLab Central Database (PLC). Development will focus on getting the Gush command line and programmatic interfaces working before moving on to the graphical interface, with an emphasis on detailed error reporting that will simplify debugging.

Gush Architecture Picture (from

Current Capabilities

Gush can seamlessly run experiments using PlanetLab, GpENI, MAX, and Emulab resources. ORCA integration is underway. Prof. Albrecht (PI) uses Gush to help undergrads run experiments on PlanetLab in her Distributed Systems class at Williams. The Gush code has been released publicly and is available for download.

Raven/Stork has been integrated into Gush. All of the new Gush code has been committed to the svn repository and there is a new example on the Wiki page ( that explains how to use Stork/Raven to install software in Gush.

NetKarma is also now using Gush.


MilestoneDate(GUSH: S2.a prototype 0.2)?
MilestoneDate(GUSH: S2.b Course development)?
MilestoneDate(GUSH: S2.c Raven integration)?
MilestoneDate(GUSH: S2.d GUI 0.1)?
MilestoneDate(GUSH: S2.e support two control frameworks)?
MilestoneDate(GUSH: S2.f spiral 2 id mgmt)?
MilestoneDate(GUSH: S2.g 0.3 release)?

MilestoneDate(GUSH: S3.a Gush compatible with GENI AM API)?
MilestoneDate(GUSH: S3.b Gush to support ORCA resources)?
MilestoneDate(GUSH: S3.c Gush user support)?
MilestoneDate(GUSH: S3.d Enhanced usability through Gush GUI)?
MilestoneDate(GUSH: S3.e Demonstration and outreach at GEC11)?
MilestoneDate(GUSH: S3.f Deliver software and documentation)?

Project Technical Documents

Gush User Study 1
Gush User Study 2

Gush based course work available from PI upon request.

Paper: Jeannie Albrecht and Danny Yuxing Huang. Managing Distributed Applications using Gush. Proceedings of the Sixth International Conference on Testbeds and Research Infrastructures for the Development of Networks and Communities, Testbeds Practices Session (TridentCom), May 2010. PDF

Website maintained by Williams College: Gush


To check out Gush code out of SVN use "svn co --username guest". Please contact jeannie AT cs DOT williams DOT edu for the password.

Quarterly Status Reports

4Q08 Report
1Q09 Report
2Q09 Report
3Q09 Report
4Q09 Report
1Q10 Report
2Q10 Report
3Q10 Report

Spiral 1 Connectivity

PlanetLab control framework.

For Spiral 1, Gush will be deployed to GENI PlanetLab nodes. Experimenters will download the Gush controller to their workstation from the Gush project website. Gush automatically downloads the client software to the PlanetLab machines in use. There is no GENI requirement for UCSD/Williams connectivity.

IP Connectivity: IP connectivity required from GUSH controller (typically user desktops) to PlanetLab machines in slice. IP connectivity required between controller and PlanetLab clearinghouse. IP connectivity required between PlanetLab nodes in experimenter's slice and Gush code repository to download so Gush software if machines don't already have Gush client installed.

Layer 2 Connectivity: Gush does not require any layer 2 virtual ethernets.

GEC Presentations

GEC 2 Presentation
GEC 3 Presentation
GEC 4 Presentation
GEC 5 Presentation
GEC 7 Presentation

Spiral 2 Review

Spiral 2 review slides

GPO Liaison System Engineer

Vic Thomas

Related Projects



Attachments (18)