The common Lisp object system metaobject kernel: a status report
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Transparently obtaining scalability for Java applications on a cluster
Journal of Parallel and Distributed Computing - Special Issue on Java on Clusters
PSBLAS: a library for parallel linear algebra computation on sparse matrices
ACM Transactions on Mathematical Software (TOMS)
The case for reflective middleware
Communications of the ACM - Adaptive middleware
Efficient, flexible, and typed group communications in Java
JGI '02 Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande
J-Orchestra: Automatic Java Application Partitioning
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
JESSICA2: A Distributed Java Virtual Machine with Transparent Thread Migration Support
CLUSTER '02 Proceedings of the IEEE International Conference on Cluster Computing
Transparent Distributed Threads for Java
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
cJVM: A Single System Image of a JVM on a Cluster
ICPP '99 Proceedings of the 1999 International Conference on Parallel Processing
Using Python for large scale linear algebra applications
Future Generation Computer Systems - Special section: Complex problem-solving environments for grid computing
Adaptive middleware for dynamic component-level deployment
ARM '05 Proceedings of the 4th workshop on Reflective and adaptive middleware systems
A type system extension for middleware interactions
MAI '07 Proceedings of the 1st workshop on Middleware-application interaction: in conjunction with Euro-Sys 2007
MapReduce: simplified data processing on large clusters
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Collective Interfaces for Distributed Components
CCGRID '07 Proceedings of the Seventh IEEE International Symposium on Cluster Computing and the Grid
The case for aspect-oriented reflective middleware
Proceedings of the 6th international workshop on Adaptive and reflective middleware: held at the ACM/IFIP/USENIX International Middleware Conference
Hi-index | 0.00 |
Today, the development of Bag-of-Tasks, i.e. embarrassingly parallel, applications for execution on multiprocessors or clusters requires the use of APIs not designed for this kind of problem. For instance, MPI allows the parallel execution of tasks, but was developed for much complex parallel applications, with high data communication between tasks. The use of such APIs requires the programmers to learn them, and add complexity to the final parallel solution. Mercury provides a platform for the transformation of serial applications into parallel Bag-of-Tasks. Mercury reads a configuration file stating what methods and classes should be parallelized, loads the application, and in run-time transforms it so that the specified methods are executed concurrently. This transformation is performed without user intervention. Its modular design allows the integration of Mercury with different parallel environments. The initial experiments done show that the overhead is minimal, and that it is possible to take advantage of parallel processing environments (multiprocessors/multicores, clusters, ...) without the use of complex APIs.