CCA Common Component Architecture CCA Forum Tutorial Working Group A Look at More Complex.

Slides:



Advertisements
Similar presentations
CCA Common Component Architecture CCA Forum Tutorial Working Group A Look at More Complex.
Advertisements

Parallel Computation of the 2D Laminar Axisymmetric Coflow Nonpremixed Flames Qingan Andy Zhang PhD Candidate Department of Mechanical and Industrial Engineering.
1 A Common Application Platform (CAP) for SURAgrid -Mahantesh Halappanavar, John-Paul Robinson, Enis Afgane, Mary Fran Yafchalk and Purushotham Bangalore.
Katsuyo Thornton*, R. Edwin García✝, Larry Aagesen*
OpenFOAM on a GPU-based Heterogeneous Cluster
Reference: Message Passing Fundamentals.
I/O Analysis and Optimization for an AMR Cosmology Simulation Jianwei LiWei-keng Liao Alok ChoudharyValerie Taylor ECE Department Northwestern University.
AstroBEAR Finite volume hyperbolic PDE solver Discretizes and solves equations of the form Solves hydrodynamic and MHD equations Written in Fortran, with.
Parallel Mesh Refinement with Optimal Load Balancing Jean-Francois Remacle, Joseph E. Flaherty and Mark. S. Shephard Scientific Computation Research Center.
Network and Grid Computing –Modeling, Algorithms, and Software Mo Mu Joint work with Xiao Hong Zhu, Falcon Siu.
Introduction to Scientific Computing Doug Sondak Boston University Scientific Computing and Visualization.
E. WES BETHEL (LBNL), CHRIS JOHNSON (UTAH), KEN JOY (UC DAVIS), SEAN AHERN (ORNL), VALERIO PASCUCCI (LLNL), JONATHAN COHEN (LLNL), MARK DUCHAINEAU.
Introduction to Scientific Computing on Linux Clusters Doug Sondak Linux Clusters and Tiled Display Walls July 30 – August 1, 2002.
Chapter 13 Finite Difference Methods: Outline Solving ordinary and partial differential equations Finite difference methods (FDM) vs Finite Element Methods.
MCE 561 Computational Methods in Solid Mechanics
1 Web Based Interface for Numerical Simulations of Nonlinear Evolution Equations Ryan N. Foster & Thiab Taha Department of Computer Science The University.
Center for Component Technology for Terascale Simulation Software (aka Common Component Architecture) (aka CCA) Rob Armstrong & the CCA Working Group Sandia.
Loads Balanced with CQoS Nicole Lemaster, Damian Rouson, Jaideep Ray Sandia National Laboratories Sponsor: DOE CCA Meeting – January 22, 2009.
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.
LLNL-PRES-XXXXXX This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344.
CCA Common Component Architecture Manoj Krishnan Pacific Northwest National Laboratory MCMD Programming and Implementation Issues.
Unified Parallel C at LBNL/UCB UPC AMR Status Report Michael Welcome LBL - FTG.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
ANS 1998 Winter Meeting DOE 2000 Numerics Capabilities 1 Barry Smith Argonne National Laboratory DOE 2000 Numerics Capability
Programming Models & Runtime Systems Breakout Report MICS PI Meeting, June 27, 2002.
ParCFD Parallel computation of pollutant dispersion in industrial sites Julien Montagnier Marc Buffat David Guibert.
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
Approaching the Challenge of Grid- Enabling Applications Kieran Nolan May 15 th, 2008.
Efficient Integration of Large Stiff Systems of ODEs Using Exponential Integrators M. Tokman, M. Tokman, University of California, Merced 2 hrs 1.5 hrs.
Components for Beam Dynamics Douglas R. Dechow, Tech-X Lois Curfman McInnes, ANL Boyana Norris, ANL With thanks to the Common Component Architecture (CCA)
Center for Component Technology for Terascale Simulation Software CCA is about: Enhancing Programmer Productivity without sacrificing performance. Supporting.
Supercomputing ‘99 Parallelization of a Dynamic Unstructured Application using Three Leading Paradigms Leonid Oliker NERSC Lawrence Berkeley National Laboratory.
Presented by An Overview of the Common Component Architecture (CCA) The CCA Forum and the Center for Technology for Advanced Scientific Component Software.
ACES WorkshopJun-031 ACcESS Software System & High Level Modelling Languages by
1 1 What does Performance Across the Software Stack mean?  High level view: Providing performance for physics simulations meaningful to applications 
CCA Common Component Architecture CCA Forum Tutorial Working Group A Look at More Complex.
Parallel Solution of the Poisson Problem Using MPI
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.
Domain Decomposition in High-Level Parallelizaton of PDE codes Xing Cai University of Oslo.
Lecture 3 : Performance of Parallel Programs Courtesy : MIT Prof. Amarasinghe and Dr. Rabbah’s course note.
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.
An Evaluation of Partitioners for Parallel SAMR Applications Sumir Chandra & Manish Parashar ECE Dept., Rutgers University Submitted to: Euro-Par 2001.
Presented by Adaptive Hybrid Mesh Refinement for Multiphysics Applications Ahmed Khamayseh and Valmor de Almeida Computer Science and Mathematics Division.
TR&D 2: NUMERICAL TOOLS FOR MODELING IN CELL BIOLOGY Software development: Jim Schaff Fei Gao Frank Morgan Math & Physics: Boris Slepchenko Diana Resasco.
117 December 2001Pacific Northwest National Laboratory Component-Based Software for High-Performance Computing: An Introduction to the Common Component.
CCA Common Component Architecture Distributed Array Component based on Global Arrays Manoj Krishnan, Jarek Nieplocha High Performance Computing Group Pacific.
Extreme Computing’05 Parallel Graph Algorithms: Architectural Demands of Pathological Applications Bruce Hendrickson Jonathan Berry Keith Underwood Sandia.
CCA Common Component Architecture CCA Forum Tutorial Working Group Common Component Architecture.
1 Rocket Science using Charm++ at CSAR Orion Sky Lawlor 2003/10/21.
On the Performance of PC Clusters in Solving Partial Differential Equations Xing Cai Åsmund Ødegård Department of Informatics University of Oslo Norway.
C OMPUTATIONAL R ESEARCH D IVISION 1 Defining Software Requirements for Scientific Computing Phillip Colella Applied Numerical Algorithms Group Lawrence.
Center for Component Technology for Terascale Simulation Software (CCTTSS) 110 April 2002CCA Forum, Townsend, TN CCA Status, Code Walkthroughs, and Demonstrations.
A Parallel Hierarchical Solver for the Poisson Equation Seung Lee Deparment of Mechanical Engineering
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,
CCA Common Component Architecture CCA Forum Tutorial Working Group Common Component Architecture.
Higher Order Runge-Kutta Methods for Fluid Mechanics Problems Abhishek Mishra Graduate Student, Aerospace Engineering Course Presentation MATH 6646.
Hybrid Parallel Implementation of The DG Method Advanced Computing Department/ CAAM 03/03/2016 N. Chaabane, B. Riviere, H. Calandra, M. Sekachev, S. Hamlaoui.
Department of Computer Science, Johns Hopkins University Lecture 7 Finding Concurrency EN /420 Instructor: Randal Burns 26 February 2014.
Simbios Simbios ™ The National Center for Physics-Based Simulation of Biological Structures at Stanford SimTK Framework CCA for Physics Based Simulation.
Application of Design Patterns to Geometric Decompositions V. Balaji, Thomas L. Clune, Robert W. Numrich and Brice T. Womack.
Xing Cai University of Oslo
Programming Models for SimMillennium
GENERAL VIEW OF KRATOS MULTIPHYSICS
Ph.D. Thesis Numerical Solution of PDEs and Their Object-oriented Parallel Implementations Xing Cai October 26, 1998.
Presentation transcript:

CCA Common Component Architecture CCA Forum Tutorial Working Group A Look at More Complex Component-Based Applications

CCA Common Component Architecture Compaq 2 Component model for high performance computing Components –C++ objects with a functionality –Ports : Provides and uses –Compiled into shared libraries Framework –Loads and instantiates components –Connects uses and provides ports –Driven by a script or GUI

CCA Common Component Architecture Compaq 3 A CCA code

CCA Common Component Architecture Compaq 4 CCA model for high performance computing Requirements –High single cpu performance –Need parallelism, NOT distributed computing –SPMD quite sufficient, RMI not needed. –No parallel computing prescription/model No one-size-fits-all Translates to : –Light-weight framework –Onus on the component writer.

CCA Common Component Architecture Compaq 5 Component model for high performance computing Solution : –Identical frameworks with identical components and connection on P processors. –Comp. A on proc Q can call methods on Comp. B also on proc Q. –Comp. A s of all P procs communicate via MPI. –No RMI – Comp. A on proc Q DOES NOT interact with Comp. B on proc N. –No parallel comp. Model – the component does what’s right. –2 such frameworks – Sandia, Utah.

CCA Common Component Architecture Compaq 6 Pictorial example

CCA Common Component Architecture Compaq 7 Summary A lightweight component model for high performance computing. A restriction on parallel communication –Comm. Only between a cohort of components. No RMI – no dist. computing. Components with a physics / chemistry / numerical algo functionalities. Standardized interfaces – Ports. That’s the theory – does it work ?

CCA Common Component Architecture Compaq 8 Problem categories Decomposition of simulation codes –How ? Along physics ? Numerics ? –Math model provides a hint ? –What granularity ? –Interfaces Libraries –Interfaces Nested containers –I.e. framework enhancements ?

CCA Common Component Architecture Compaq 9 Decomposition of simulation codes 2 different physics simulations Component reuse Parallel, scalable, good single CPU performance A formalism for decomposing a big code into –Subsystem –Components. –Common underlying mathematical structure Dirty secrets / restrictions / flexibility.

CCA Common Component Architecture Compaq 10 Guidelines regarding apps Hydrodynamics P.D.E Spatial derivatives –Finite differences, finite volumes Timescales Length scales

CCA Common Component Architecture Compaq 11 Solution strategy Timescales –Explicit integration of slow ones –Implicit integration of fast ones Strang-splitting

CCA Common Component Architecture Compaq 12 Solution strategy (cont’d) Wide spectrum of length scales –Adaptive mesh refinement –Structured axis-aligned patches –GrACE. Start with a uniform coarse mesh –Identify regions needing refinement, collate into rectangular patches –Impose finer mesh in patches –Recurse; mesh hierarchy.

CCA Common Component Architecture Compaq 13 A mesh hierarchy

CCA Common Component Architecture Compaq 14 App 1. A reaction-diffusion system. A coarse approx. to a flame. H 2 -Air mixture; ignition via 3 hot-spots 9-species, 19 reactions, stiff chemistry 1cm X 1cm domain, 100x100 coarse mesh, finest mesh = 12.5 micron. Timescales : O(10ns) to O(10 microseconds)

CCA Common Component Architecture Compaq 15 App. 1 - the code

CCA Common Component Architecture Compaq 16 So, how much is new code ? The mesh – GrACE Stiff-integrator – CVODE, LLNL ChemicalRates – old Sandia F77 subroutines Diff. Coeffs – based on DRFM – old Sandia F77 library The rest –We coded – me and the gang.

CCA Common Component Architecture Compaq 17 Evolution

CCA Common Component Architecture Compaq 18 Details H 2 O 2 mass fraction profiles.

CCA Common Component Architecture Compaq 19 App. 2 shock-hydrodynamics Shock hydrodynamics Finite volume method (Godunov)

CCA Common Component Architecture Compaq 20 Interesting features Shock & interface are sharp discontinuities Need refinement Shock deposits vorticity – a governing quantity for turbulence, mixing, … Insufficient refinement – under predict vorticity, slower mixing/turbulence.

CCA Common Component Architecture Compaq 21 App 2. The code

CCA Common Component Architecture Compaq 22 Evolution

CCA Common Component Architecture Compaq 23 Convergence

CCA Common Component Architecture Compaq 24 Are components slow ? C++ compilers << Fortran compilers Virtual pointer lookup overhead when accessing a derived class via a pointer to base class Y’ = F ; [ I -  t/2 J ]  Y = H(Y n ) + G(Y m ) ; used Cvode to solve this system J & G evaluation requires a call to a component (Chemistry mockup)  t changed to make convergence harder – more J & G evaluation Results compared to plain C and cvode library

CCA Common Component Architecture Compaq 25 Components versus library tt G evaluations Component time (sec) Library time (sec)

CCA Common Component Architecture Compaq 26 Really so ? Difference in calling overhead Test : –F77 versus componens 500 MHz Pentium III Linux Gcc Function arg type f77Component Array 80 ns224ns Complex 75ns209ns Double complex 86ns241ns

CCA Common Component Architecture Compaq 27 Scalability Shock-hydro code No refinement 200 x 200 & 350 x 350 meshes Cplant cluster –400 MHz EV5 Alphas –1 Gb/s Myrinet Worst perf : 73 % scaling eff. For 200x200 on 48 procs

CCA Common Component Architecture Compaq 28 Summary Components, code Very different physics/numerics by replacing physics components Single cpu performance not harmed by componentization Scalability – no effect Flexible, parallel, etc. etc. … Success story …? – Not so fast …

CCA Common Component Architecture Compaq 29 Pros and cons Cons : –A set of components solve a PDE subject to a particular numerical scheme –Numerics decides the main subsystems of the component assembly Variation on the main theme is easy Too large a change and you have to recreate a big percentage of components Pros : –Physics components appear at the bottom of the hierarchy –Changing physics models is easy. –Note : Adding new physics, if requiring a brand-new numerical algorithm is NOT trivial. So what’s a better design to accommodate this ?

CCA Common Component Architecture Compaq 30 What else is up ? “libraries” ! –But as components, standard interfaces “Linear solver component” (interface!) –PetSc, Trilinos etc, etc Meshes : –Standard interfaces for discretizing domains (unstructured meshes) –Math operators on such meshes –Data objects to hold fields on such meshes Strange things … –Data de- and re-composition, visualization …

CCA Common Component Architecture Compaq 31 Libraries …. Linear algebra –PETSc, Trilinos, etc  components Optimization –TAO ODE & DAE Integrators –LSODE, Cvode Profiling & optimization (cache artists ?!?) –TAU Data redist + Viz –CUMULVS, using AVS, no less !

CCA Common Component Architecture Compaq 32 Time-Dependent PDE on an Unstructured Mesh IntegratorLSODE provides a second-order implicit time integrator, and FEMDiscretization provides a discretization. This application uses the DADFactory component to describe the parallel data layout so that the CumulsMxN data redistribution component can then collate the data from a multi-processor run to a single processor for runtime visualization. TSTT unstructured mesh prototype components with finite element discretizations. Black boxes: components Blue boxes: provides ports Gold boxes: uses ports

CCA Common Component Architecture Compaq 33 Heat Equation on an Adaptive Structured Mesh Solution of a two-dimensional heat equation on a square domain using a structured method. IntegratorLSODE provides a second-order implicit time integrator, and Model provides a discretization. The remaining components are essentially utilities that construct the global ODE system or adaptors that convert the patch-based data structures of the mesh to the globally distributed array structure used for runtime visualization.

CCA Common Component Architecture Compaq 34 Unconstrained Minimization Using a Structured Mesh Determine minimal surface area given boundary conditions using the TAOSolver optimization component. I.e., solve min f(x), where f: R  R. TAOSolver uses linear solver components that incorporate abstract interfaces under development by the DOE-wide Equation Solver Interface (ESI) working group. Underlying implementations are provided via the new ESI interfaces to parallel linear solvers within the PETSc (ANL) and Trilinos (SNL) libraries. n

CCA Common Component Architecture Compaq 35 Conclusions Progress.. –Libraries components : well ahead –Decomposing applications Slower, but harder job –Language interoperability Framework done Adoption by people on Knotty points –Interfaces and scientists …