Supercompilers for parallel and vector computers
Supercompilers for parallel and vector computers
Efficient Symbolic Analysis for Parallelizing Compilers and Performance Estimators
The Journal of Supercomputing
The Coign automatic distributed partitioning system
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Profiling tools for hardware/software partitioning of embedded applications
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
Transparent Distributed Threads for Java
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
The Design and Implementation of a Framework for Automatic Modularization of Software Systems
The Journal of Supercomputing
Concurrency and Computation: Practice & Experience - 2002 ACM Java Grande–ISCOPE Conference Part II
On the Optimal Object-Oriented Program Re-modularization
ICCS '07 Proceedings of the 7th international conference on Computational Science, Part I: ICCS 2007
An algorithm to improve parallelism in distributed systems using asynchronous calls
PPAM'07 Proceedings of the 7th international conference on Parallel processing and applied mathematics
A new optimization algorithm for program modularization
ICICA'10 Proceedings of the First international conference on Information computing and applications
Formal description of a runtime infrastructure for automatic distribution of programs
ISCIS'06 Proceedings of the 21st international conference on Computer and Information Sciences
Hi-index | 0.00 |
In this paper the design and implementation of a framework, called jDistributor, for automatic conversion of sequential code into distributed program code is described. Optimal distribution of the program code is attained by applying a specific hierarchical clustering algorithm to partition the code into components with almost the same amount of speed up. To speed up the execution of the components, inter-component method calls are converted into non-blocking remote calls, when appropriate. All the inter-component remote calls are carried out through a component, called Proxy. The Proxy uses an Object Manager component to construct remote objects. A component called Synchronizer receives the values of reference parameters and the return value from remote methods. All the inter-component communications are handled by a connector component, which is based on a javaSymphony infrastructure.