Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
ANSS '03 Proceedings of the 36th annual symposium on Simulation
Merging the CCA Component Model with the OGSI Framework
CCGRID '03 Proceedings of the 3st International Symposium on Cluster Computing and the Grid
Toward a Common Component Architecture for High-Performance Scientific Computing
HPDC '99 Proceedings of the 8th IEEE International Symposium on High Performance Distributed Computing
Kepler: An Extensible System for Design and Execution of Scientific Workflows
SSDBM '04 Proceedings of the 16th International Conference on Scientific and Statistical Database Management
Actor-oriented design of scientific workflows
ER'05 Proceedings of the 24th international conference on Conceptual Modeling
Hi-index | 0.00 |
Two problem decomposition schemes, component assembly and workflow orchestration, have been widely adopted to architect large scale scientific applications. These two methodologies, however, approach problem decomposition from different distinctly perspectives with the result that most problem solving environments provide only one approach to the exclusion of the other. For example the Ccaffeine, a parallel CCA framework, provides the component assembly environment only; while Kepler, a widely-used scientific workflow toolkit, is designed mainly as the workflow orchestration environment. Each methodology has situations, within the same problem domain, where it may be more appropriate than the other, however. Thus, to bring benefits from both methodologies, in this paper we present a hybrid problem decomposition scheme. By augmenting Ccaffeine with the web services interface, we enable Ccaffeine as a special workflow actor in the Kepler environment, so that a Kepler user can gain the benefits of both approaches by applying the two methodologies for the subproblems depending on the various performance and resource-sharing requirements. The hybrid scheme will first use the workflow scheme to decompose the problem based on the distribution of the resource; thereafter adopts the component assembly scheme to further decompose those computationally intensive cores for the high performance solutions.