Exchange offs in Elite Numerical Library Outline

Trade offs in high performance numerical library design l.jpg
1 / 47
1063 days ago, 344 views
PowerPoint PPT Presentation
Steve Benson, Jorge Mor , Jason Sarich. CCA/CCTTSS associates ... [Steve Jobs] Reuse, through expense amortization, permits. completely tried code. profoundly ...

Presentation Transcript

Slide 1

Exchange offs in High-Performance Numerical Library Design Lois Curfman McInnes Mathematics and Computer Science Division Argonne National Laboratory The Conference on High Speed Computing April 22-25, 2002 Salishan Lodge, Gleneden Beach, Oregon

Slide 2

Outline Motivation Complex, multi-material science, multi-scale applications Distributed, multi-level memory pecking orders High-Performance Scientific Components What are segments? Basic Component Architecture (CCA) Center for Component Technology for Terascale Simulation Software (CCTTSS) Parallel Components for PDEs and Optimization Approach Performance Ongoing Challenges

Slide 3

Collaborators Co-engineers of PETSc Satish Balay, Kris Buschelman, Bill Gropp, Dinesh Kaushik, Matt Knepley, Barry Smith, Hong Zhang Co-designers of TAO Steve Benson, Jorge Mor é, Jason Sarich CCA/CCTTSS teammates Include ANL, Indiana Univ., LANL, LLNL, ORNL, PNNL, SNL, Univ. of Utah, and so on. Driven by Rob Armstrong (SNL) Special on account of L. Freitag and B. Norris

Slide 4

Acknowledgments U.S. Bureau of Energy – Office of Science Core subsidizing in the MCS Division of Argonne through the Mathematical, Information, and Computational Science (MICS) program Advanced Computational Testing and Simulation (ACTS) toolbox Scientific Discovery through Advanced Computing (SciDAC) program National Science Foundation Multi-Model Multi-Domain Computational Methods in Aerodynamics and Acoustics

Slide 5

Diagnostics Steering Visualization Algebraic Solvers Motivating Scientific Applications Physics Adaptive Solution Optimization Meshes Derivative Computation Discretization Molecular structures Astrophysics Data Redistribution Parallel I/O Aerodynamics Fusion

Slide 6

CPUs SMP Cache Main Memory Main Memory Interconnect Target Architectures Systems have an inexorably profound memory progressive system Time to reference principle memory 100's of cycles ... and so forth

Slide 7

Challenges Community Perspective Life-cycle expenses of uses are expanding Require the consolidated utilization of programming created by various gatherings Difficult to influence master information and advances in subfields Difficult to acquire convenient execution Individual Scientist Perspective Too much vitality concentrated on excessively numerous subtle elements Little time to consider displaying, material science, arithmetic Fear of awful execution without custom code Even when code reuse is conceivable, it is very troublesome Our Perspective How to oversee intricacy? Numerical programming instruments that cooperate New calculations (e.g., intuitive/dynamic methods, calculation structure) Multi-show, multi-material science reenactments

Slide 8

Outline Motivation Complex, multi-material science, multi-scale applications Distributed, multi-level memory pecking orders High-Performance Scientific Components What are segments? Normal Component Architecture (CCA) Center for Component Technology for Terascale Simulation Software (CCTTSS) Parallel Components for PDEs and Optimization Approach Performance Ongoing Challenges

Slide 9

Why Use Components? X Hero developer delivering single-reason, solid, firmly coupled parallel codes Promote programming reuse "The best programming is code you don't need to compose." [Steve Jobs] Reuse, through cost amortization, permits completely tried code exceedingly advanced code engineer group specialization Also reuse of abilities, practice, and plan [Thanks to Craig Rasmussen (LANL) for the base of this slide.]

Slide 10

What are contrasts amongst articles and segments? More comparable than various Object: a product discovery Component: protest + OO strategies are valuable for building singular parts by generally little groups; segment innovations encourage sharing of code created by various gatherings by tending to issues in Language interoperability Via interface definition dialect (IDL) Well-characterized theoretical interfaces Enable "fitting and-play" Dynamic composability Components can find data about their surroundings (e.g., interface disclosure) from structure and associated segments Can without much of a stretch change over from a question introduction to a segment introduction Automatic devices can help with transformation (progressing work by C. Rasmussen and M. Sottile, LANL) For more information: C. Szyperski, Component Software: Beyond Object-Oriented Programming , ACM Press, New York, 1998

Slide 11

CCA History and Participants 1998: CCA Forum started Participation from scientists who were investigating balanced programming interfacing in the DOE ACTS Toolkit program Open to everybody keen on HPC segments See Active CCA Forum members incorporate ANL - Lori Freitag, Kate Keahey, Jay Larson, Lois McInnes, Boyana Norris Indiana Univ. - Randall Bramley, Dennis Gannon LANL - Craig Rasmussen, Matt Sotille LLNL - Scott Kohn, Gary Kumfert, Tom Epperly ORNL - David Bernholdt, Jim Kohl PNNL - Jarek Nieplocha, Theresa Windus SNL - Rob Armstrong, Ben Allan, Curt Janssen, Jaideep Ray Univ. of Utah - Steve Parker And others also … 2001: Center for Component Technology for Terascale Simulation Software (CCTTSS) established Support from the DOE SciDAC Initiative CCTTSS group is a subset of the CCA Forum Leader: Rob Armstrong (SNL) See

Slide 12

CCTTSS Multi-Pronged Approach CCTTSS Leader: Rob Armstrong (SNL) HPC segment determination and structure – organizer Scott Kohn (LLNL) Unified reference system usage focusing on both SPMD and disseminated situations Tools for dialect interoperability through a Scientific Interface Definition Language (SIDL) Suite of logical segments – facilitator Lois Curfman McInnes (ANL) Linear and nonlinear variable based math, improvement, work administration, logical information, representation, guiding, adaptation to non-critical failure, logical application areas, and so forth. Parallel information redistribution – facilitator Jim Kohl (ORNL) Model coupling, representation Applications combination – organizer David Bernholdt (ORNL) General effort to mainstream researchers Close criticism circle for clients/designers of CCA innovation Collaborate with atmosphere and science applications areas and in addition different gatherings

Slide 13

Requirements for a High-Performance Component Architecture Simple/Flexible to embrace to comprehend to utilize Support a sythesis instrument that does not block elite part communications Permit the SPMD worldview in segment shape Meant to live with and depend on other item segment structures to give administrations ... e.g., JavaBeans, CORBA, …

Slide 14

- 6 - 4 - 1 10 sec 10 1 Goals of the Common Component Architecture (CCA) Desire to fabricate logical applications by snaring together segments DOE Common Component Architecture (CCA) gives a system to interoperability of elite parts created by a wide range of gatherings in various dialects or structures. Existing segment engineering benchmarks, for example, CORBA, Java Beans, and COM don't give support to parallel parts. Dormancy between parts MPI CCA CORBA/Java

Slide 15

CCA Approach Component-Based Scientific Application CCA detail manages an essential arrangement of interfaces (and relating practices) that segments ought to actualize to be CCA agreeable. Ports characterize the association demonstrate for part collaborations Provides/Uses plan design Components are manipulatable in a structure. CCA particular doesn't direct systems or runtime environment. Make segments that are usable under an assortment of structures Provide a methods for finding interfaces Specifically prohibit how the parts are connected; that is the employment of a system Provide dialect free means for making segments (by means of SIDL) Discretization Engine PNNL LANL Ports ANL SNL Implicit Solve LLNL Link UU IU Visualization ORNL structure

Slide 16

B CCA Concept of SPMD Components MPI application utilizing CCA for collaboration between segments An and B inside a similar address space Adaptive work segment composed by user1 Proc1 Proc2 Proc3 and so on... MPI An A Direct Connection provided by system at order/runtime MPI Solver part composed by user2 Process

Slide 17

CCA Collective Port Modularizes Processor/Data Decomposition Combining past parallel segment with another parallel segment in an alternate structure compartment made out of work and solver segments parallel perception segment aggregate port interfacing M procs with N procs

Slide 18

CCA References Web destinations CCA Forum Center for Component Technology for Terascale Simulation Software (CCA SciDAC Center) Sample segment programming and applications Introductory paper R. Armstrong, D. Gannon, A. Geist, K. Keahey, S. Kohn, L. McInnes, S. Parker, and B. Smolinski, Toward a Common Component Architecture for High-Performance Scientific Computing , Proceedings of the High-Performance Distributed Computing Conference, pp. 115-124, 1999.

Slide 19

More CCA Papers B. Norris, S. Balay, S. Benson, L. Freitag, P. Hovland, L. McInnes, and B. Smith, Parallel Components for PDEs and Optimization: Some Issues and Experiences , preprint ANL/MCS-P932-0202, February 2002, Parallel Computing (to show up). B. Allan, R. Armstrong, A. Wolfe, J. Beam, D. Bernholdt, and J. Kohl, The CCA Core Specification in a Distributed Memory SPMD Framework , August 2001, Concurrency and Computation: Practice and Experience (to show up). T. Epperly, S. Kohn, and G. Kumfert. Part Technology for High-Performance Scientific Simulation Software, Proceedings of the International Federation for Information Processing's Working Conference on Software Architectures for Scientific Computing, 2000. S. Parker, A Component-based Architecture for Parallel Multi-Physics PDE Simulations , Proceedings of the 2002 International Conference on Computational Science (to show up)