A computing challenge encountered by the BBC Climate Change Experiment has led to an award-winning solution. Daniel Goodman, a D.Phil student from Oxford University won a best paper award at the UK e-Science All Hands Meeting (AHM) in Nottingham on the 19 December for devising a workflow language, Martlet, that enables the analysis of large datasets whose distribution is continually changing across a number of widely dispersed servers. Martlet uses an alternative style of programming model to that commonly used in workflow languages.
‘This new approach builds on research in the computer science community over the past 40 years. For much of that time, many claimed this line of work was of academic interest, but of no practical relevance. Daniel's paper has shown how it has real application in tackling some of the key challenges facing the world today, such as climate change,’ says Professor Paul Watson of Newcastle University who chaired the AHM programme committee.
The BBC Climate Change Experiment is working with climateprediction.net, a major UK e-Science project funded by the Natural Environment Research Council. More than 200,000 people worldwide are participating in the experiment by donating spare capacity on their computers to run models of the Earth’s climate.
As the dataset containing all model runs is too big to return to one location for analysis, it is stored on a number of servers in different locations worldwide. The challenge arises because the number of pieces this dataset is split into varies for a range of reasons, including the addition or removal of servers from the experiment, and the sub-setting of runs required for a given query. Climateprediction.net needed a way of analysing the data in situ that could also cope automatically with changes to the location or sub-division of data.
Daniel turned to constructs inspired from functional programming to solve the problem. These allow the workflow to adjust to the requirements of the data at run time and mean that changes to the way in which a dataset is split can be accommodated dynamically, removing the need for users to keep adjusting their workflows.
Daniel, the sole author of the paper, is currently doing a D.Phil looking into techniques into analysing distribution data. He told scientific-computing.com: 'When I started the D.Phil, it became apparent that a new language was necessary. Martlet developed out of a history of functional programming – we had to do a lot of it in my first year as an undergraduate at Oxford.’ For the future, Daniel would like to spend more time extending the constructs of Martlet. He is currently discussing with David Wallom, of the Oxford e-Science Research Centre, about running Martlet over the campus grid at Oxford.
Martlet has potential for use in many e-Science applications, which distribute data between servers in a similar way to climateprediction.net. Its development also suggests that there could be other powerful new algorithms awaiting discovery once people start to think in terms of this alternative programming model.