
We consider the problem of programming parallel applications for a Grid environment, in the presence of the two main challenges (i) high-latency communications and (ii) heterogeneity. We describe a new scripting language, GEL, whose semantics have been designed for execution on a heterogeneous, distributed computer. The language provides syntactic constructs for while loops, conditionals and explicitly parallel execution. The language is designed to work well given these two challenges, and to allow succinct representation of parallel programs, resulting in easier-to-maintain code. The programs can use legacy applications without re-engineering, and do not explicitly refer to resource names or use middleware-specific references. This middleware-independence allows us to execute the same script on an SMP machine, cluster or Grid. We describe three example applications written in GEL: an optimisation problem solved using a swarm algorithm; an allergenicity prediction pipeline; and transcript analysis for tissue-specific gene expression. We have run these scripts unchanged on an SMP machine, on PBS, SGE and LSF clusters, and on a Globus-based Grid.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 14 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 10% |
