Skip to content. | Skip to navigation

Personal tools


You are here: Home / Wiki / Pgeniapproach




Utah's ProtoGENI effort explicitly takes an evolutionary and low-risk approach to development of this facility. The most important aspect of the evolutionary approach is that in most cases it evolves highly tuned production systems and subsystems, instead of designing and building from scratch. Years of experience, debugging, and tuning by professional software engineers, and millions of NSF's dollars, have gone into the two existing bases of this project: Emulab and Planetlab. The hard-earned result of that work is hundreds of thousands of lines of production code, from which ProtoGENI will be derived.

Our ProtoGENI project is evolving in three phases, somewhat overlapping. Currently (April 2008) we're in phase 1 and parts of 2:

  1. The first phase focuses on providing early but broad and powerful function. The best components from Emulab and Planetlab will be integrated into a coherent whole, augmented with several missing components, and deployed across a modest-sized hardware and network infrastructure for immediate use by researchers.
  2. The second phase focuses on component interfaces and software modularity. ProtoGENI component interfaces will evolve to be cleaner, and the modules more separable. Importantly, this decomposition work will be informed by the performance and reliability requirements learned through use of the initial phase-one facility, as well as community design work.
  3. The third phase will refine and improve selected components themselves. In some cases, components will be tuned for better performance in the face of higher load, while in other cases they will be augmented with new features. Finally, some of the initial components will likely be replaced by better or alternate versions provided by external members of the community.