A Platform of Components for Large Scale Parallel Programming (original) (raw)
Related papers
A case study on expressiveness and performance of component-oriented parallel programming
2013
Component-oriented programming has been applied to address the requirements of large-scale applications from computational sciences and engineering that present high performance computing (HPC) requirements. However, parallelism continues to be a challenging requirement in the design of CBHPC (Component-Based High Performance Computing) platforms. This paper presents strong evidence about the efficacy and the efficiency of HPE (Hash Programming Environment), a CBHPC platform that provides full support for parallel programming, on the development, deployment and execution of numerical simulation code onto cluster computing platforms.
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.
Design and Implementation of an Environment for Component-Based Parallel Programming
… Science-VECPAR 2006, 2007
Motivated by the inadequacy of current parallel programming artifacts, the # component model was proposed to meet the new complexity of high performance computing (HPC). It has solid formal foundations, layed on category theory and Petri nets. This paper presents some important design and implementation issues on the implementation of programming frameworks based on the # component model.
Highly Scalable Distributed Component Framework for Scientific Computing
As scientific computing experiences continuous growth of the size of simulations, component frameworks intended for scientific computing need to handle more components and execute on numerous hardware resources simultaneously. Our distributed component framework CCALoop presents a novel design that supports scalability in both number of components in the system and distributed computing resources. CCALoop also presents several other beneficial design principles for distributed component frameworks such as fault-tolerance, parallel components, and support for multiple users. To provide scalability it distributes the responsibility for data queries and updates equally to all nodes in the system through a distributed hash table mechanism, while providing low latency in these operation through a method that guarantees one-hop routing of framework messages.
A Component Model for High Level and Efficient Parallel Programming on Distributed Architectures
iadis.net
The computer science community has claimed for parallel languages and models with a higher level of abstraction and modularity, without performance penalties, that could be used in conjunction with advanced software engineering techniques, and that are suitable to work with large-scale programs. This paper presents general aspects about the #1 parallel programming model and its associated programming environment, designed to address these issues.
On the viability of component frameworks for high performance distributed computing: a case study
Proceedings 11th IEEE International Symposium on High Performance Distributed Computing
Software infrastructures that support metacomputing are evolving from traditional monolithic, platform-specific systems to component and service-based frameworks. In this paper we demonstrate that contrary to popular belief, such modular software systems are capable of delivering good to excellent performance, support legacy as well as new application programming paradigms, and deliver enhanced functionality. The Harness system, a software backplane enabling reconfigurable distributed concurrent computing is used to emulate the PVM programming environment. Numerical kernel benchmarks show that application performance results using the emulator and native versions are within a few percent of each other. Coupled with the ability to leverage pre-existing and specialized modules, our experiences suggest that service-oriented computational grids may be constructed rapidly and effectively via such component-based architectural frameworks that deliver full functionality without compromising efficiency.
On Collective Properties in Distributed Component Frameworks for HPC Applications
sbc.org.br
We describe work in progress to develop a component-based framework for interoperability among high-performance distributed and parallel applications. Due to the use of the new concept of linked binding, distinguishing features of the framework proposed are its ability to run on top of different middleware simultaneously and to support the integration several models of parallel computation.
login.cca-forum.org
The computer science community has claimed for parallel programming languages and models with a higher level of abstraction and modularity, without performance penalties, that could be used in conjunction with advanced software engineering techniques, and that are suitable to deal with large-scale programs. This paper presents the # component model for parallel programming, intended to meet these issues.
Abstract. 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.
The CCA component model for high-performance scientific computing
Concurrency and Computation Practice and Experience
The Common Component Architecture (CCA) is a component model for high-performance computing, developed by a grass-roots effort of computational scientists. Although the CCA is usable with CORBA-like distributed-object components, its main purpose is to set forth a component model for high-performance, parallel computing. Traditional component models are not well suited for performance and massive parallelism. We outline the design pattern for the CCA component model, discuss our strategy for language interoperability, describe the development tools we provide, and walk through an illustrative example using these tools. Performance and scalability, which are distinguishing features of CCA components, affect choices throughout design and implementation. Copyright © 2005 John Wiley & Sons, Ltd.