You are here

Historical Interest Only

This is a static HTML version of an old Drupal site. The site is no longer maintained and could be deleted at any point. It is only here for historical interest.

Connecting Rapid with the jclouds multi-cloud framework

Principal goal: to extend Rapid, a tool for developing web portals for scientific computing, to operate with jclouds.

This is project is part of the Google Summer of Code 2010 (see http://www.omii.ac.uk/wiki/RapidJclouds)

Rapid is a unique way of quickly designing and delivering web portal interfaces to applications that require computational resources, such as utility computing infrastructures or high-performance computing facilities. It focuses on the requirements of the end-user by designing customised user interfaces for domain-specific applications that allow users to achieve particular tasks from the comfort of their own web browser.
Project Goals

Currently, Rapid can submit to several job submission engines, such as Sun Grid Engine, Condor and PBS. In this project you will build a bridge between Rapid and jclouds. The aim is to enable Rapid to submit compute jobs to the different cloud frameworks supported by jclouds. Then evaluate your solution by submitting a compute job to Amazon's Elastic Cloud (EC2) and to the experimental cloud resource set up at the University of Edinburgh that uses Eucalyptus.

Project Description

Currently, Rapid works with Grid and High-Performance Computing infrastructure. It is your task to adapt Rapid so as it can be used to generate intuitive interfaces that submit jobs to several cloud infrastructures. Examples of these infrastructures are Amazon's Elastic Cloud 2, Eucalyptus, Rackspace, Linode and GoGrid. Preferably you will look into existing solutions that can handle several of these infrastructures at ones via a standard library, such as for example libcloud.

Cloud provides several advantages over other distributed computing approaches such as Grid and high-performance computing. However, it also brings several problems, such as expensive data movement and the potential of wasting resources if virtual machines run idle. In this project you extend Rapid's set of modules by integrating with jcloud so that we can start submitting to several cloud vendors.

Project Requirements
* Learn how Rapid is used.
* Learn how Rapid works internally, especially its modules to communicate with various computing infrastructures
* Plan and design how to add one or more modules for jcloud
* Write the code with documentation
* Transfer the code to us

Project status: 
Finished
Degree level: 
NR
Background: 
Java, XML
Supervisors @ NeSC: 
Subject areas: 
e-Science
Projects: 
Student project type: