SETI@home: an experiment in public-resource computing
Communications of the ACM
Introduction to Functional Programming
Introduction to Functional Programming
Parallel Programming Using Skeleton Functions
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
The Challenge of Volunteer Computing with Lengthy Climate Model Simulations
E-SCIENCE '05 Proceedings of the First International Conference on e-Science and Grid Computing
Um padrão canônico para controle de paralelização em aplicações de e-science
SBBD '08 Proceedings of the 23rd Brazilian symposium on Databases
Proceedings of the 4th Workshop on Workflows in Support of Large-Scale Science
Proceedings of the 19th international conference on World wide web
Parallelizing XML data-streaming workflows via MapReduce
Journal of Computer and System Sciences
A MapReduce workflow system for architecting scientific data intensive applications
Proceedings of the 2nd International Workshop on Software Engineering for Cloud Computing
Distributed workflow-driven analysis of large-scale biological data using biokepler
Proceedings of the 2nd international workshop on Petascal data analytics: challenges and opportunities
Proceedings of the 2012 Joint EDBT/ICDT Workshops
Future Generation Computer Systems
Hi-index | 0.00 |
The workflow language Martlet described in this paper implements a new programming model that allows users to write parallel programs and analyse distributed data without having to be aware of the details of the parallelisation. Martlet abstracts the parallelisation of the computation and the splitting of the data through the inclusion of constructs inspired by functional programming. These allow programs to be written as an abstract description that can be adjusted automatically at runtime to match the data set and available resources. Using this model it is possible to write programs to perform complex calculations across a distributed data set such as Singular Value Decomposition or Least Squares problems, as well as creating an intuitive way of working with distributed system. Having described and evaluated Martlet against other functional languages for parallel computation, this paper goes on to look at how Martlet might develop. In doing so it covers both possible additions to the language itself, and the use of JIT compilers to increase the range of platforms it is capable of running on.