Version 2 (modified by, 14 years ago) (diff)


PrimoGENI Project Status Report

Period: 2010 Q2 (April 2010 - June 2010)

I. Major accomplishments

A. Milestones achieved

We completed two milestones during this period:

  • The whole process of creating a PrimoGENI experiment has been redesigned and fully automated.
  • We updated the image for PrimoGENI's experimental nodes with OpenVZ functionality, funionfs, PRIMEX, and other necessary software.

  • We enabled visualization and expedited experiment creation in PrimoGENI through our new web-based user interface which we call Slingshot.
  • We upgraded the real-time simulator, PRIMEX, added large-scale routing and ported emulation functions for PrimoGENI.
  • PrimoGENI: S2.e. Demonstration: We demonstrated the capabilities of PrimoGENI 1.0 system with a medium-sized campus network model with physical, and emulated network entities at GEC 8. We also showed the preliminary functionality of Slingshot.

B. Deliverables made

We are currently performing the very last details to launch our PrimoGENI V1.0 system.

II. Description of work performed during last quarter

A. Activities and findings

1. PrimoGENI redesign

To allow users to instantiate PrimoGENI experiments on any ProtoGENI site with minimum effort, we redesigned the PrimoGENI system using a decentralized approach. The logic of PrimoGENI now resides almost entirely at the client side. We provide an IDE so that users can use it to design PrimoGENI experiments, launch the experiments on ProtoGENI sites, monitor the experiments, and analyze the experiment results. The experiments are now fully incorporated with a database, where the network models, the runtime parameters, and experiment results are all collected and stored. We upgraded the real-time simulator, now called PRIMEX, to fully integrate with PrimoGENI to handle large-scale network models.

2. Experiment automation

We worked on automatizing experiment creation in PrimoGENI with the goal of keeping the component manager untouched so that we could run PrimoGENI experiments at any Emulab/ProtoGENI site. To that end, PrimoGENI's functionality is now embedded in the IDE, called Slingshot. The ProtoGENI nodes are required to run a customized image that contains the necessary software and tools to run the experiments.

Slingshot is an Integrated Development Environment (IDE), which aims to provide an end-to-end solution for PrimoGENI experiments. It is developed based on Eclipse. It is used mainly to achieve the following functions:

  • Model development: Use a python console for constructing large complex network models.
  • Model visualization: Use the prefuse framework to visualize the network configurations.
  • Experiment setup: Deploy and launch experiments on ProtoGENI/Emulab environments.
  • Experiment monitoring and control: Monitor the experiment and possibly change the state of the network entities during experiment run time.

Slingshot is the user interface which allows development and visualization of network models, and experiment configuration and instantiation. By installing Slingshot the user should be able to easily instantiate network experiments with simulation and emulation capabilities using customized OS images available at the ProtoGENI site. The following two figures are screen captures of Slingshot:

The following shows an example on how to run a PrimoGENI experiment:

  1. The user uses Slingshot to create a network model (either in in Java of Python) describing the network topology, traffic, and protocols involved in the experiment. The database contains many network models that the users can use without much effort.
  2. The user specifies the target runtime environment to launch the experiment. Slingshot maintains the credentials to PrimoGENI sites. WIth a simple click of a button, Slingshot will acquire the necessary resources (i.e., the slice) to run the experiment. The simulator and the emulated hosts will all be instantiated automatically for the experiment.
  3. Once the experiment is run, the user logs into any of the emulated hosts (virtual machines).
  4. Slingshot will gather the experiment results and visualize the network state during experiment run time.

3. PRIMEX simulator

We redesign the real-time network simulator which we use for PrimoGENI experiments. PRIMEX is a real-time network simulator, capable of simulating large-scale networks and emulating unmodified network protocols, services, and applications.

  • Scalable network models: Capable of conducting large-scale experiments on parallel and distributed platforms.
  • High-speed emulation: Provide high-performance interoperability between network applications running on virtual machines and the network simulator.
  • Real-time interaction: User can directly monitor and modify the state of the network model during experiments.
  • Network scripting: User can construct large complex network experiments using simple scripting languages (in Java and Python).
  • Model databases: Existing network models and experiment results are stored in databases for reusability and validation.

Some of the functions are still under development. For the last quarter, we added large-scale routing and forwarding capabilities and ported emulation functions from the previous real-time simulator.

B. Project participants

  • Jason Liu, PI.
  • Julio Ibarra, Co-PI.
  • Heidi Alvarez, Co-PI.
  • Ernie Rubi, network engineer
  • Miguel Erazo, Ph.D. student.
  • Nathanael Van Vorst, Ph.D. student.
  • Eduardo Pena, undergraduate student.
  • Eduardo Tibau, undergraduate student.

C. Publications (individual and organizational)

We created one poster for GEC 8. We submitted two papers to INFOCOM about large-scale routing and the use of openflow switching for bandwidth provisioning.

D. Outreach activities

Not yet.

E. Collaborations

We are currently collaborating with Yan Luo from University of Massachusetts, Lowell, and Raju Rangaswami from Florida International University to develop the high-performance conduit for interconnecting simulation instances and emulation hosts running on light-weight virtual machines. We are also pursuing collaboration with researchers (both domestically and internationally) to incorporate OpenFlow switches in our experiment testbed.

F. Other Contributions


Attachments (2)

Download all attachments as: .zip