Table of Contents
Common Component Architecture for High-Performance Computing
What’s the problem?
PPT Slide
The Common Component Architecture Requirements
The problem with existing Component Architectures
Who are we?
CCA Active Participants *
Scientific IDL provides OO interoperability to C, C++, Java, Python, Fortran 77/90
No plan for world domination...
What have we come up with?
Port model hooks up an interface from one component to another
Ports preserve the high-performance of direct connections plus versatility of distributed object systems
Generalized ports and the provides/uses design pattern for coupling components
Where are we going?
BoneYard
An IDL compiler automatically generates “glue” code for supported languages
Ports can be used to characterize potential links to other components
CCA is a component architecture that does not dictate frameworks or runtime
Where are we? Details of the CCA specification ...
Programmer can create a new Port by tying methods to a Port
Conclusions
SPMD view ...
What is a software framework and components
Characteristics of Component Arch’s
Language interoperability is a critical first step towards software interoperability
CCA Ports employ a Uses/Provides design pattern for connections
Where we are going ...
Command-line applet that implements the specification
By definition components are software modules that are composable...
ESI is a multi-lab effort writing an equation- solver component specification
Equation Solver Interface (ESI) group is defining interfaces for solvers
The goal of CCA group is enable applications constructed entirely of components
gPorts connect component interfaces in a data-flow-like way
Where we are now ...
Where we are going ...
Conclusion
Programmer can create a new Port by tying methods to a port
CCA Plans: A Big Picture
IDL specification for the SMG structured multigrid preconditioner from hypre
Common Component Architecture Working Group
What we are doing
Who we are
The goal of CCA group is enable applications constructed entirely of components
Where we are now ...
Scientific IDL provides OO interoperability to C, C++, Java, Python, Fortran 77/90
CCA Ports employ a Uses/Provides design pattern for connections
Where we are going ...
CCA Active Participants *
gPort model hooks up an interface from one component to another
User applications can now invoke hypre routines from both C and Fortran 77
|