Programming Research Group Research Report RR-05-06

Martlet: A Scientific Work-Flow Language for Abstracted Parallisation

Daniel Goodman

Jan 2006, 11pp.

Abstract

This paper describes a work-flow language 'Martlet' for the analysis of large quantities of distributed data. This language implements a new programming model inspired by the inductive constructs of functional programming to abstract the complexities of data and processing distribution. This means the user is not required to have any knowledge of the underlying architecture or how to write distributed programs.

As well as making distributed resources available to more people, this abstraction also reduces the potential for errors when writing distributed programs. While this abstraction places some restrictions on the user, it is descriptive enough to describe a large class of problems, including algorithms for solving Singular Value Decompositions and Least Squares problems. Currently this language runs on a stand-alone middleware. This can be adapted however to run on top of a wide range of existing work-flow languages, resulting in it having applications in a huge range of computing projects.