Center for Component Technology for Terascale Simulation Software CCA is about: Enhancing Programmer Productivity without sacrificing performance. Supporting.

Slides:



Advertisements
Similar presentations
LEAD Portal: a TeraGrid Gateway and Application Service Architecture Marcus Christie and Suresh Marru Indiana University LEAD Project (
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Problem-Solving Environments: The Next Level in Software Integration David W. Walker Cardiff University.
Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000 DISSERTATION PROPOSAL A Software Framework for Collaborative.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
Iterative computation is a kernel function to many data mining and data analysis algorithms. Missing in current MapReduce frameworks is collective communication,
Center for Component Technology for Terascale Simulation Software (aka Common Component Architecture) (aka CCA) Rob Armstrong & the CCA Working Group Sandia.
The Design Discipline.
Center for Component Technology for Terascale Simulation Software 122 June 2002Workshop on Performance Optimization via High Level Languages and Libraries.
1 TOPS Solver Components Language-independent software components for the scalable solution of large linear and nonlinear algebraic systems arising from.
OpenAlea An OpenSource platform for plant modeling C. Pradal, S. Dufour-Kowalski, F. Boudon, C. Fournier, C. Godin.
An Introduction to the Common Component Architecture for the poster: A Study of the Common Component Architecture (CCA) Forum Software Daniel S. Katz,
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
Checkpoint & Restart for Distributed Components in XCAT3 Sriram Krishnan* Indiana University, San Diego Supercomputer Center & Dennis Gannon Indiana University.
A Hybrid Decomposition Scheme for Building Scientific Workflows Wei Lu Indiana University.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Company Overview for GDF Suez December 29, Enthought’s Business Enthought provides products and consulting services for scientific software solutions.
CCA Common Component Architecture Manoj Krishnan Pacific Northwest National Laboratory MCMD Programming and Implementation Issues.
Service-enabling Legacy Applications for the GENIE Project Sofia Panagiotidi, Jeremy Cohen, John Darlington, Marko Krznarić and Eleftheria Katsiri.
DEVS Namespace for Interoperable DEVS/SOA
Parallel Interactive Computing with PyTrilinos and IPython Bill Spotz, SNL (Brian Granger, Tech-X Corporation) November 8, 2007 Trilinos Users Group Meeting.
Model Coupling Environmental Library. Goals Develop a framework where geophysical models can be easily coupled together –Work across multiple platforms,
SIAM Computational Science and Engineering1 10 February Components for Scientific Computing: An Introduction David E. Bernholdt Computer Science.
CCA Common Component Architecture CCA Forum Tutorial Working Group Introduction to Components.
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
Components for Beam Dynamics Douglas R. Dechow, Tech-X Lois Curfman McInnes, ANL Boyana Norris, ANL With thanks to the Common Component Architecture (CCA)
SCIRun and SPA integration status Steven G. Parker Ayla Khan Oscar Barney.
Grid Architecture William E. Johnston Lawrence Berkeley National Lab and NASA Ames Research Center (These slides are available at grid.lbl.gov/~wej/Grids)
Presented by An Overview of the Common Component Architecture (CCA) The CCA Forum and the Center for Technology for Advanced Scientific Component Software.
Commodity Grid Kits Gregor von Laszewski (ANL), Keith Jackson (LBL) Many state-of-the-art scientific applications, such as climate modeling, astrophysics,
1 1 What does Performance Across the Software Stack mean?  High level view: Providing performance for physics simulations meaningful to applications 
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
A Software Framework for Distributed Services Michael M. McKerns and Michael A.G. Aivazis California Institute of Technology, Pasadena, CA Introduction.
Enabling Self-management of Component-based High-performance Scientific Applications Hua (Maria) Liu and Manish Parashar The Applied Software Systems Laboratory.
CCA Common Component Architecture CCA Forum Tutorial Working Group CCA Status and Plans.
Distributed Components for Integrating Large- Scale High Performance Computing Applications Nanbor Wang, Roopa Pundaleeka and Johan Carlsson
ProActive components and legacy code Matthieu MOREL.
Computational Science & Engineering meeting national needs Steven F. Ashby SIAG-CSE Chair March 24, 2003.
Connections to Other Packages The Cactus Team Albert Einstein Institute
1 1 Office of Science Jean-Luc Vay Accelerator Technology & Applied Physics Division Lawrence Berkeley National Laboratory HEP Software Foundation Workshop,
CCA Common Component Architecture CCA Forum Tutorial Working Group A Look at More Complex.
Toward interactive visualization in a distributed workflow Steven G. Parker Oscar Barney Ayla Khan Thiago Ize Steven G. Parker Oscar Barney Ayla Khan Thiago.
BioPSE NCRR SCIRun2 -THE PROJECT -OBJECTIVES -DEVELOPMENTS -TODAY -THE FUTURE.
J. Ray, S. Lefantzi and H. Najm Sandia National Labs, Livermore Using The Common Component Architecture to Design Simulation Codes.
Progress on Component-Based Subsurface Simulation I: Smooth Particle Hydrodynamics Bruce Palmer Pacific Northwest National Laboratory Richland, WA.
CCA Common Component Architecture CCA Forum Tutorial Working Group An Overview of Components.
CCA Common Component Architecture Insights from Quantum Chemistry Joseph P. Kenny Scalable Computing Research and Design Sandia National Laboratories Livermore,
ESMF,WRF and ROMS. Purposes Not a tutorial Not a tutorial Educational and conceptual Educational and conceptual Relation to our work Relation to our work.
CCA Common Component Architecture Distributed Array Component based on Global Arrays Manoj Krishnan, Jarek Nieplocha High Performance Computing Group Pacific.
1 ProActive GCM – CCA Interoperability Maciej Malawski, Ludovic Henrio, Matthieu Morel, Francoise Baude, Denis Caromel, Marian Bubak Institute of Computer.
CCA Common Component Architecture CCA Forum Tutorial Working Group Common Component Architecture.
OGCE Workflow and LEAD Overview Suresh Marru, Marlon Pierce September 2009.
Center for Component Technology for Terascale Simulation Software (CCTTSS) 110 April 2002CCA Forum, Townsend, TN CCA Status, Code Walkthroughs, and Demonstrations.
Toward a Distributed and Parallel High Performance Computing Environment Johan Carlsson and Nanbor Wang Tech-X Corporation Boulder,
CCA Common Component Architecture CCA Forum Tutorial Working Group Common Component Architecture.
Center for Component Technology for Terascale Simulation Software (CCTTSS) 110 April 2002CCA Forum, Townsend, TN This work has been sponsored by the Mathematics,
Workflow Management Concepts and Requirements For Scientific Applications.
CCA Common Component Architecture CCA Forum Tutorial Working Group Common Component Architecture.
Simbios Simbios ™ The National Center for Physics-Based Simulation of Biological Structures at Stanford SimTK Framework CCA for Physics Based Simulation.
VisIt Project Overview
Kai Li, Allen D. Malony, Sameer Shende, Robert Bell
Collaborations and Interactions with other Projects
Programming Models for SimMillennium
Recap: introduction to e-science
Tools for Composing and Deploying Grid Middleware Web Services
CS590L Distributed Component Architecture References: - Objects, components, and framenworks with UML, Ch A Component Based Services Architecture.
Common Component Architecture (CCA)
GGF10 Workflow Workshop Summary
Presentation transcript:

Center for Component Technology for Terascale Simulation Software CCA is about: Enhancing Programmer Productivity without sacrificing performance. Supporting multiple Programming Contexts: Local, parallel and distributed without imposing a specific model or environment on the user. Supporting multiple Programming languages: C, C++, Fortran, Fortran90, Java, Python Providing interchangeable data type standards: including multi-dimensional arrays and complex numbers. Enabling the reuse of Legacy Software: minimizing the effort required to incorporate existing software into a CCA environment. CCA Common Component Architecture P0P1P2P3 Components: Blue, Green, Red Framework: Gray C C++ f77 f90 Python Java C C++ f77 f90 Python Java Isoprene HF/6-311G(2df,2pd) parallel speedup in MPQC-based Applications. CCA does not adversely impact application performance. Builder Construct application using framework builder services f,g,HU i+1 sg,H User Input U i+1 f,g,H Build options GA PETSc U i+1 (Visualization) f energy u cartesian coordinates u internal coordinates g gradient in cartesians g gradient in internals H Hessian in cartesians H Hessian in internals s update in internals Linear Algebra Factory Solver u i+1 = u i + αs … Model Factory MPQC NWChem Linear Algebra Objects Coordinate Model perform transformations Model Object GUI Difficult problems require complex software solutions –Collaboration allows developers to focus on their area of expertise so functionality and quality of software are increased Components = Composition –A component is a unit of software deployment/reuse –Components interact through standard interfaces without restrictions on implementation (language, parallel model, etc.) –A component architecture specifies a framework for composition of units into applications –Application programming tasks are reduced to interaction with a framework interface – users construct custom applications from “off-the-shelf” components The Common Component Architecture (CCA) Forum provides a specification and software tools for the development of high- performance components Component-based software engineering CCaffeine framework snapshot. Components in SPMD/MPI simulations “ Direct-connect” single-component multiple-data model –Identical components loaded into each process Framework allows sharing of interfaces between components in the same process, overhead similar to virtual function call –Interprocess communication handled by standard parallel models, no component-imposed overhead Language interoperability with Babel Existing language interoperability approaches are insufficient –Pairwise solutions require a programmer to learn O(n 2 ) approaches to integrate packages in n different languages –No support for scientific data types Babel provides a unified approach to language interoperability Scientific data types (complex types, fully-featured arrays, etc.) and a Java-like object model are available in all supported languages –For example, Fortran implementations are exposed as classes in C++ Component-framework interaction in high- performance, parallel computing. CCA-Chemistry Project Evaluate component technology as an approach for high- performance software development, both within and outside the chemistry domain Provide feedback to CCA Forum and framework/tool developers Proof of concept: molecular structure optimization –Gain interoperability between chemistry packages –Incorporate and evaluate generic mathematics packages –What improvements are needed for good performance of generic mathematics routines in the chemistry domain? –Will state-of-the-art mathematics routines provide better performance than application specific routines written by chemistry package developers? Language interoperability before Babel. Language interoperability with Babel. SCIRun 2 - bridging component technologies. An example of a PDE solver that integrates SciRun, CORBA and VTK components. Figure 6. Schematic of component architecture for molecular structure optimization. CCA Frameworks: CCaffeine – SPMD with MPI components. The CCA gold standard SCIRun 2 – Multithreaded parallel distributed and multi-paradigm XCAT4 – Web Services and Grid computing with workflow Legion-CCA – Merge of the Legion Grid platform with CCA CCAIN – A lightweight framework for Fortran90 apps CCA Tools and Components: DCA – Coupling parallel apps running on different supercomputers Eclipse plugins -- Making interface design simple. The problem: compose a diverse set of applications running on a distributed set of resources into an adaptive event-driven workflow (NSF ITR LEAD Project) Each component is a web service that wraps an application. –Provides ports = web service ports –Uses ports = distributed events/notifications + redirected return values Control is Python script or BPEL. CCA in Grid Workflow for Weather Prediction CCA Component Libraries Components derived from ARMCI (one-sided messaging), CUMULVS (visualization and parallel data redistribution), CVODE (integrators), DRA (parallel I/O), Epetra (sparse linear solvers), Global Arrays (parallel programming), GrACE (structured adaptive meshes), netCDF and parallel netCDF (input/output), TAO (optimization), TAU (performance measurement), and TOPS (linear and nonlinear solvers). Web Services wrapped legacy applications (WRF, ARPS, ADAS (weather), ADaM (data mining), BLAST (genomics) SCIRun library and VTK (visualization)