A Component Framework for HPC Applications Nathalie Furmento, Anthony Mayer, Stephen McGough, Steven Newhouse, and John Darlington Parallel Software Group, Department of Computing, Imperial College of Science, Technology and Medicine, 180 Queen's Gate, London SW7 2BZ, UK (original) (raw)
Related papers
A component framework for HPC applications
2001
We describe a general component software framework designed for demanding grid environments that provides optimal performance for the assembled component application. This is achieved by separating the high level abstract description of the composition from the low level implementations. These implementations are chosen at run time by performance analysis of the composed application on the currently available resources.
A High Performance Computing Platform for Component-Based Parallel Programming
sbc.org.br
Component-based programming has been applied to address the requirements of High Performance Computing (HPC) applications. Due the poor support of parallelism on current infrastructures, the # component model and its based framework for parallel applications have been proposed, motivating the development of component based environments for parallel programming targeting high-end computing architecture.
A performance interface for component-based applications
Proceedings International Parallel and Distributed Processing Symposium, 2003
This work targets the emerging use of software component technology for high-performance scientific parallel and distributed computing. While component software engineering will benefit the construction of complex science applications,
2004
The Common Component Architecture allows computational scientists to adopt a component-based architecture for scientific simulation codes. Components, which in the scientific context, usually embody a numerical solution facility or a physical or numerical model, are composed at runtime into a simulation code by loading in an implementation of a component and linking it to others. However, a component may admit multiple implementations, based on the choice of the algorithm, data structure, parallelization strategy, etc. posing the user with the problem of having to choose the "correct" implementation and achieve an optimal (fastest) component assembly. Under the assumption that a performance model exists for each implementation of each component, simply choosing the optimal implementation of each component does not guarantee an optimal component assembly since components interact with each other. An optimal solution may be obtained by evaluating the performance of all the possible realizations of a component assembly given the components and all their implementations, but the exponential complexity renders the approach unfeasible as the number of components and their implementations rise. We propose an approximate approach predicated on the existence, identification and optimization of computationally dominant sub-assemblies (cores). We propose a simple criterion to test for the existence of such cores and a set of rules to prune a component assembly and expose its dominant cores. We apply this approach to data obtained from a CCA component code simulating shock-induced turbulence on four processors and present preliminary results regarding the efficacy of this approach and the sensitivity of the final solution to various parameters in the rules 1 .
A Practical Component Framework for Development of Scientific Grid Applications
ups.savba.sk
Software Component Frameworks are widely used standards in commercial business applications. In the last decade this technology is being explored with great interest as a way to build large-scale scientific applications on parallel computers and Grid systems. Nowadays, professional programmers attempt to build complex applications by composing the elements from large collections of predefined and tested units which are made available from several teams of specialists or open source community. The component technology fits very well with the manifold service-oriented Grids, however, the model must allow for a very dynamic control of composition. This paper describes a new componentbased framework providing the higher-level components built on top of modern Grid technologies, that allow the easy and efficient composing and deployment of Parameter Sweep Applications onto a Grid platform.
Adaptable Parallel Components for Grid Programming
Integrated Research in Grid Computing, S. Gorlatch and M. Danelutto, Ed., Springer, 2007, pp. 43-57. doi:10.1007/978-0-387-47658-2_4 , 2007
We suggest that parallel software components used for grid computing should be adaptable to application-specific requirements, instead of developing new components from scratch for each particular application. As an example, we take a parallel farm component which is “embarrassingly parallel”, i. e. , free of dependencies, and adapt it to the wavefront processing pattern with dependencies that impact its behavior. We describe our approach in the context of Higher-Order Components (HOCs), with the Java-based system Lithium as our implementation framework. The adaptation process relies on HOCs’ mobile code parameters that are shipped over the network of the grid. We describe our implementation of the proposed component adaptation method and report first experimental results for a particular grid application — the alignment of DNA sequence pairs, a popular, time-critical problem in computational molecular biology.
Performance technology for parallel and distributed component software
Concurrency and Computation: Practice and Experience, 2005
issues in high-performance component environments. We describe a prototype implementation of a performance measurement infrastructure for the Common Component Architecture (CCA) system. A case study demonstrating the use of this technology for integrated measurement, monitoring, and optimization in CCA component-based applications is given.
On Building Parallel & Grid Applications: Component Technology and Distributed Services
Cluster Computing, 2005
Our primary conclusion is that a component model fits very well with a services-oriented Grid, but the model of composition must allow for a very dynamic (both in space and it time) control of composition. We note that this adds a new dimension to conventional service workflow and it extends the "Inversion of Control" aspects of must component systems.
2017 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID)
This paper studies the feasibility of efficiently combining both a software component model and a taskbased model. Task based models are known to enable efficient executions on recent HPC computing nodes while component models ease the separation of concerns of application and thus improve their modularity and adaptability. This paper describes a prototype version of the COMET programming model combining concepts of task-based and component models, and a preliminary version of the COMET runtime built on top of StarPU and L2C. Evaluations of the approach have been conducted on a real-world use-case analysis of a subpart of the production application GYSELA. Results show that the approach is feasible and that it enables easy composition of independent software codes without introducing overheads. Performance results are equivalent to those obtained with a plain OpenMP based implementation.
Performance and Scalability of a Component-Based Grid Application
2007 IEEE International Parallel and Distributed Processing Symposium, 2007
Component-based development has emerged as an effective approach to building flexible systems, but there is little experience in applying this approach to Grid programming. This paper presents our experience with reengineering a high performance numerical solver to become a component-based Grid application. The adopted component model is an extension of the generic Fractal model that specifically targets grid environments. The paper provides qualitative and quantitative evidence that componentisation has improved the modifiability and reusability of the application while not significantly affecting performance.