Skip to main content.

Homepage

Welcome to the homepage for the Heterogeneous Distributed Computing group within the Department of Computer Science, National University of Ireland Maynooth in Ireland. It has been active since 2001.

Motivation

In the past number of years, the demand for high performance computing has increased dramatically in all areas of scientific computing. In an effort to meet this demand, several vendors have offered specialised dedicated parallel computers. The economic cost and technical abilities required to configure and program this hardware is often quite prohibitive for the ordinary researcher.

Distributed Computing

To tackle this apparent failure, the area of distributed computing emerged as a viable alternative to dedicated parallel computing. By harnessing the spare clock cycles of idle machines, it is possible to emulate the computing power offered by a specialised parallel machine at a fraction of the cost.

Java Heterogeneous Distributed System

We have developed a general purpose programmable distributed system. Here are a a few of the features of our system:

  • Architecture: Client server based architecture
  • Portability: The entire system is completely network and platform independent
  • Scalability: New clients can be added and removed from the system dynamically
  • Expandability: Ability to run several different distributed computations simultaneously
  • Longevity: Remote updating of client software
  • Secure: Guarantee of security of server and donor machines from subversive distributed applications
  • Heterogeneous: Adaptive scheduling algorithm that dynamically matches the donor machines with work units that match their computational capacity
  • Remote Control: Complete control of all server functionality remotely
  • Accept and execute arbitrary distributed applications*
  • Ease of setup: Entire system comprises of only 3 executable Java Jar files
  • Modular design: New scheduling algorithms can be implemented with no changes to the rest of the system or existing distributed applications

Note

* see user manual for details on how to program computations.

Distributed applications

We have identified bioinformatics as the first major area of scientific research that we would like to develop useful distributed applications for. Many areas of bioinformatics require large amounts of computing power and many of the problems in bioinformatics are suited to distributed computing. We have completed a number of distributed bioinformatics applications such as MultiPhyl, DPRml and DSEARCH. A number of other applications are under development, for the areas of cryptography and biomedical engineering.

Recent Publications

Distributed Monte Carlo Simulation of Light Transportation in Tissue

April 2006

This paper is to appear in at 8th International Workshop on Java for Parallel and Distributed Computing.

Framework for task scheduling in heterogeneous distributed computing using genetic algorithms

November 2005

This journal paper is to appear in Artificial Intelligence Review. It describes a distributed task scheduling scheme based on genetic algorithms.

DPRml: Distributed Phylogeny Reconstruction by Maximum Likelihood

March 2005

This journal paper appeared in Bioinformatics. It describes a distributed phylogeny application.

DSEARCH: sensitive database searching using distributed computing

March 2005

A distributed bioinformatics database searching application that uses the most accurate search algorithms. It is to appear in Bioinformatics.

Adaptive Scheduling Across a Distributed Computation Platform

June 2004

This paper was presented at ISPDC'04, and describes an adaptive scheduler for a Java distributed computation system.

update