HomeNews and blogs hub

A Scalable Light-Weight Testing Framework for Distributed Applications

Bookmark this page Bookmarked

A Scalable Light-Weight Testing Framework for Distributed Applications

Author(s)
Neil Chue Hong

Neil Chue Hong

Director

Posted on 10 March 2011

Estimated read time: 3 min
Sections in this article
Share on blog/article:
Twitter LinkedIn

A Scalable Light-Weight Testing Framework for Distributed Applications

Primary Mentor: Ole Weidner (ole.weidner@ed.ac.uk)
Secondary Mentor: Shantenu Jha (sjha@cct.lsu.edu)


Background

SAGA is a set of free cross-platform libraries written in C++ and Python which provide a set of high-level interfaces and runtime components that allow the development of distributed, grid and cloud-computing applications, frameworks and tools. SAGA is the first complete implementation of the Open Grid Forum Simple API for Grid Applications standard GFD-R-P.90.

SAGA is used by many research projects to cary out production level science on large-scale distributed infrastructure. The main application areas are currently computational biology (efficient sampling algorithms, genomics), as well as highenergy physics but the usefulness of SAGA is not confined to these specific areas. In fact, SAGAʼs applicability is not even bound to just scientific computing.

This GSOC project will show how SAGA can be used to develop a generic distributed testing framework.

Project Goals

Together with our GSOC student, we would hope to be able to conceptualize, architect and implement a first working prototype of a continuous integration framework based on SAGA.

Project Description

The SAGA-based continuous-integration framework would allow to submit test containers on the fly (e.g. triggered by SVN commits) to remote systems using SAGAʼs job-submission API. Thanks to SAGAʼs broad support for distributed middleware, it should be possible to execute tests transparently via Fork, PBS, Globus, Condor, Amazon EC2, GridSAM, BES, SSH and others. Especially for testing distributed scientific applications and codes on production infrastructure, this framework could have a potentially huge impact! 

Project Requirements

The student should be an experienced C++ or Python programmer (doesnʼt have to be both). He/she should have a good understanding of (or the willingness to learn) the basic practical concepts of distributed computing. A general interested in aspects of software engineering and software testing would be great. The applicant should be capable of working independently and be organized enough to take the charge of a project all the way from planning to implementation.

Further information

Where should an interested student go for more information?

 

 

Share on blog/article:
Twitter LinkedIn