Center for Component Technology for Terascale Simulation Software (aka Common Component Architecture) (aka CCA) Rob Armstrong & the CCA Working Group Sandia.

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
ASCR Data Science Centers Infrastructure Demonstration S. Canon, N. Desai, M. Ernst, K. Kleese-Van Dam, G. Shipman, B. Tierney.
Teaching Courses in Scientific Computing 30 September 2010 Roger Bielefeld Director, Advanced Research Computing.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 3 – Building.
Cracow Grid Workshop, November 5-6, 2001 Towards the CrossGrid Architecture Marian Bubak, Marek Garbacz, Maciej Malawski, and Katarzyna Zając.
Presented by Scalable Systems Software Project Al Geist Computer Science Research Group Computer Science and Mathematics Division Research supported by.
Problem-Solving Environments: The Next Level in Software Integration David W. Walker Cardiff University.
Thee-Framework for Education & Research The e-Framework for Education & Research an Overview TEN Competence, Jan 2007 Bill Olivier,
1 NERSC User Group Business Meeting, June 3, 2002 High Performance Computing Research Juan Meza Department Head High Performance Computing Research.
Unified Modeling (Part I) Overview of UML & Modeling
A Brief Introduction to the CSDMS Initiative Dr. Scott Peckham Chief Software Architect for CSDMS October 26, 2007 csdms.colorado.edu CUAHSI Fall 2007.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Commodity Grid (CoG) Kits Keith Jackson, Lawrence Berkeley National Laboratory Gregor von Laszewski, Argonne National Laboratory.
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.
Role of Deputy Director for Code Architecture and Strategy for Integration of Advanced Computing R&D Andrew Siegel FSP Deputy Director for Code Architecture.
An Introduction to the Common Component Architecture for the poster: A Study of the Common Component Architecture (CCA) Forum Software Daniel S. Katz,
International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based.
A Hybrid Decomposition Scheme for Building Scientific Workflows Wei Lu Indiana University.
Service-enabling Legacy Applications for the GENIE Project Sofia Panagiotidi, Jeremy Cohen, John Darlington, Marko Krznarić and Eleftheria Katsiri.
CoG Kit Overview Gregor von Laszewski Keith Jackson.
CCA Common Component Architecture CCA Forum Tutorial Working Group Components for Scientific.
CCA Common Component Architecture CCA Forum Tutorial Working Group Welcome to the Common.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Programming Models & Runtime Systems Breakout Report MICS PI Meeting, June 27, 2002.
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 Welcome to the Common.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
Crystal Ball Panel ORNL Heterogeneous Distributed Computing Research Al Geist ORNL March 6, 2003 SOS 7.
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)
High Energy and Nuclear Physics Collaborations and Links Stu Loken Berkeley Lab HENP Field Representative.
SAP Participants: Douglas Dechow, Tech-X Corporation Lois Curfman McInnes, Boyana Norris, ANL Physics Collaborators: James Amundson, Panagiotis Spentzouris,
Center for Component Technology for Terascale Simulation Software CCA is about: Enhancing Programmer Productivity without sacrificing performance. Supporting.
SCIRun and SPA integration status Steven G. Parker Ayla Khan Oscar Barney.
Pascucci-1 Valerio Pascucci Director, CEDMAV Professor, SCI Institute & School of Computing Laboratory Fellow, PNNL Massive Data Management, Analysis,
Presented by An Overview of the Common Component Architecture (CCA) The CCA Forum and the Center for Technology for Advanced Scientific Component Software.
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.
Scalable Systems Software for Terascale Computer Centers Coordinator: Al Geist Participating Organizations ORNL ANL LBNL.
ISERVOGrid Architecture Working Group Brisbane Australia June Geoffrey Fox Community Grids Lab Indiana University
CCA Common Component Architecture CCA Forum Tutorial Working Group CCA Status and Plans.
Cracow Grid Workshop, November 5-6, 2001 Concepts for implementing adaptive finite element codes for grid computing Krzysztof Banaś, Joanna Płażek Cracow.
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.
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.
CCA Common Component Architecture CCA Forum Tutorial Working Group An Overview of Components.
117 December 2001Pacific Northwest National Laboratory Component-Based Software for High-Performance Computing: An Introduction to the Common Component.
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 CCA Status, Code Walkthroughs, and Demonstrations.
Center for Component Technology for Terascale Simulation Software (CCTTSS) 110 April 2002CCA Forum, Townsend, TN This work has been sponsored by the Mathematics,
CCA Common Component Architecture CCA Forum Tutorial Working Group Common Component Architecture.
1/30/2003 Los Alamos National Laboratory1 A Migration Framework for Legacy Scientific Applications  Current tendency: monolithic architectures large,
Building PetaScale Applications and Tools on the TeraGrid Workshop December 11-12, 2007 Scott Lathrop and Sergiu Sanielevici.
CyberGIS Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
VisIt Project Overview
Scalable Systems Software for Terascale Computer Centers
Model-Driven Analysis Frameworks for Embedded Systems
HPC Modeling of the Power Grid
Tools for Composing and Deploying Grid Middleware Web Services
GENERAL VIEW OF KRATOS MULTIPHYSICS
Common Component Architecture (CCA)
Presentation transcript:

Center for Component Technology for Terascale Simulation Software (aka Common Component Architecture) (aka CCA) Rob Armstrong & the CCA Working Group Sandia National Labs

Today: Single-purpose, monolithic, tightly-coupled parallel codes Currently DOE Apps Are: One-off, stove-pipe, few participants But Also: Scalable, and low latency Large & rich legacy investment Currently DOE Apps Are: One-off, stove-pipe, few participants But Also: Scalable, and low latency Large & rich legacy investment Goals Enable plug-and-play parallel simulations Establish component "marketplace" with applications partners Extend commodity component technology for HPC Goals Enable plug-and-play parallel simulations Establish component "marketplace" with applications partners Extend commodity component technology for HPC Challenges Practical parallel HPC component model Integrate legacy software investment Connection to Grid components Multi-language Challenges Practical parallel HPC component model Integrate legacy software investment Connection to Grid components Multi-language Common Component Architecture Participants: ANL Indiana Univ. LANL LLNL ORNL PNNL SNL Univ. of Utah Partners: Climate Modeling Quantum Chemistry Combustion Modeling CCA Component-Based Scientific Application Discretization Engine Implicit Solve Visualization Ports Link High Performance Component Framework Scientific Components “MxN” Parallel Data Redistribution Applications Integration Rob Component Technology for Terascale Simulation Software: Bringing Components to High Performance Computing

Common Component Architecture: what we do for you & to you Gain –Users: Choice of useful software for high-performance computing (HPC) In a near mix-and-match, plug-and-play fashion Independently developed code works together in parallel –Developers: Produce code that will find a wider audience With consequent fame and maintenance drudgery Use other people’s code and take credit for it Pain –Can’t continue develop software “unconstrained” –CCA Constraints: Provide the fences that make good neighbors Are small when wrapping well-designed legacy code Identify and disallow behaviors that produce incompatibility

21 st Century Application Discretization Algebraic Solvers Parallel I/O Grids Data Reduction Physics Modules Optimization Derivative Computation Collaboration Diagnostics Steering Visualization Adaptive Solution

Component - Encapsulated software object that provides a certain functionality or service and can be used in conjunction with other components to build applications A component consists of –an API (abstract interface) and –one or more component implementations –common behavior among these components CCA uses a peer component model - No particular component assumes it is “in charge” of the others. Allows the application developer to decide what is important. By definition components are independent software modules that are composable...

Existing Component Architecture Standards such as CORBA, Java Beans, and COM do not provide support for parallel components. DOE Common Component Architecture provides a mechanism for interoperability of high performance components developed by many different groups in different languages or frameworks. CCA Motivation Desire to build Science Applications by hooking together drag-N-drop components. sec CORBA/Java CCAMPI Latency between components

What have we developed? Metaphor from visual programming (e.g. AVS) –instead of data-flow ports are linked with interfaces –provides/uses design pattern Scripting support for applications –create Python applications out of components Scientific IDL spec. –provides language interoperability only - not part of the component arch. per se. –introspection.

Ports preserve the high-performance of direct connections plus the versatility of distributed object systems Allow directly connected interfaces: the next component is one function call away. Adapters will create network-distributed objects out of the same components without altering them.

CCA develops components & supporting code for direct use in apps Reference Framework –One unified framework –Parallel and grid aware MxN –Data re-decomposition components –Framework plug-ins Components and Applications –Various component prototypes service capabilities, discretization, mesh management, linear algebra, vizualization, etc. –Collaboration with other groups to define common interface suites E.g., scientific data interfaces (structured and unstructured) Details: AAAA BB BB MPI Proc1Proc2Proc3etc... Discretization Grids Physics Modules Optimization Derivative Computation

Collaborations with Other SciDAC Groups CCA does not pretend to be experts in all numerical algorithms, just to provide a standard way to exchange component capabilities. Medium of exchange: interfaces –Equation Solver Interface Forum (ESI) has made headway toward defining interfaces for linear algebra –Need experts in various areas to define sets of domain-specific abstract interfaces scientific application domains, applied math, visualization, etc. –e.g., compressible flow component –e.g., Newton-Krylov methods This means you!

CCA aids other centers with their component oriented applications CCA tutorials –Recent: PNNL (Dec 2001) & prior to CCA Forum meeting in Santa Fe (last week) –Planned: adjunct to future CCA Forum meetings (quarterly). –Materials to be placed on web: Direct interactions with application centers and other ISIC’s ( ). Example code: –Specification site has toy examples: –SC01 code is available Several heavy-weight applications. –Not toys, takes some work to build: –

Some Current Interactions between CCA and Other SciDAC Groups Chemistry/Combustion modeling –A Computational Facility for Reacting Flow Science (PI: H. Najm) - Develop a CCA-based software research “facility” for reacting flow science –Advanced Software for the Calculation of Thermochemistry, Kinetics, and Dynamics (PI: A. Wagner) – Develop component-based solutions for the coupling of electronic structure and kinetics software Collaborative Design and Development of the Community Climate System Model for Terascale Computers (PI: R. Malone) –Develop component-based software design methodologies and integrate the CCA with current componentization efforts within the climate community Terascale Optimal PDE Simulations ISIC (PI: D. Keyes) –Create suites of interoperable solvers and define common interfaces for PDE, eigenanalysis, and optimization components Terascale Simulation Tools and Technologies ISIC (PI: J. Glimm) –Create interoperable meshing and discretization technologies and define common interfaces for scientific data components Additional SciDAC interactions in progress (see forum.org/ccttss), and we are seeking new SciDAC collaborations also