cca
play

CCA Common Component Architecture Advances Computational Science - PowerPoint PPT Presentation

How the CCA Common Component Architecture Advances Computational Science Gary Kumfert with David E Bernholdt, Thomas Epperly, James Kohl, Lois Curfman McInnes, Steven Parker, and Jaideep Ray UCRL-PRES-222508 This work was performed under the


  1. How the CCA Common Component Architecture Advances Computational Science Gary Kumfert with David E Bernholdt, Thomas Epperly, James Kohl, Lois Curfman McInnes, Steven Parker, and Jaideep Ray UCRL-PRES-222508 This work was performed under the auspices of the U.S. Department of Energy by the University of California, Lawrence Livermore National Laboratory under Contract No. W-7405-Eng-48. UCRL-200005-PRES CCA

  2. This talk is a survey of how CCA is used in science Outline: � Components are important because… � 25 examples of CCA impact on science � How CCA will lead future of scientific software technology (next 5 years) CCA

  3. Human Beings Do Not Scale We write imperfect 10 8 software Practical Program Complexity (C SLOC) 10 7 upper bound …but we are 10 6 Components driven to write 10 5 more of it. 10 4 Object-Oriented 10 3 Structured Programming 10 2 10 1 Compilers 10 0 Assemblers 10 -1 10 -2 1945 1955 1965 1975 1985 1995 2005 CCA Date

  4. In Industry, All Enterprise Software is Component Software 10 8 Invented for codes Program Complexity (C SLOC) 10 7 where complexity 10 6 exceeds the Components comprehension of a 10 5 single human mind 10 4 Object-Oriented OOP falls down because OOP falls down because 10 3 1. Assumes a single language 1. Assumes a single language Loose coupling and 10 2 2. Implementation details 2. Implementation details robust interfaces pollute the interfaces 10 1 pollute the interfaces are effective in 10 0 greater range, Components add Components add including single 10 -1 1. Code generation (language wrappers 1. Code generation (language wrappers teams & stronger interfaces) 10 -2 & stronger interfaces) 2. Additional runtime services to 1945 1955 1965 1975 1985 1995 2005 2. Additional runtime services to support dynamicism & loose coupling support dynamicism & loose coupling CCA Date

  5. Code Reuse is NOT the Reason for Components Real reasons are robust interfaces & loose coupling, which can be used to great effect… � Corporate/For Profit � Time to Market � Science/Research � Maintaining Correctness in the Face of Change CCA

  6. CCA Delivers Component Technology to Scientific Computing � SIDL – Interface Language � Babel – Reads SIDL, Generates wrapper code in C, C++, Fortran, Java, & Python � CCA Specification – Defines a component, an interface (“port”) and how they interact with frameworks (written in SIDL) � CCA Frameworks � Implement the CCA specification & provide services to components � Examples: CCaffiene, Uintah, XCAT CCA

  7. CCA’s Impact is as Diverse as the Applications in HPC 25 examples grouped roughly into six categories of impact/use 1. CCA in single codes for extra flexibility 2. CCA to combine incompatible codes 3. CCA to develop community standards (& deliver interchangeable codes) 4. CCA a la carte: Using parts of CCA tech. 5. CCA to bridge frameworks 6. CCA’s impact on competing technologies CCA

  8. 1. CCA in single codes for increased flexibility Application Project POC Combustion CFRFS Jaideep Ray, Sandia Chemistry NWChem & Theresa Windus, PNNL Global Arrays Subsurface PSE Compiler Jans Prins, UNC Chapel Hill Transport Geomagnetics – Shujia Zhou, NASA Goddard Performance TAU Sameer Shende, U Oregon Monitoring Sparse Linear Sparsekit-CCA Masha Sosonkina, Ames Lab Algebra CCA

  9. Example: CCA in Combustion OH concentration in advective- � Novel high order (4 th & diffusive-reactive simulation using 6 th ) discretization for 4 th order Runge-Kutta-Chebyshev SAMR integrator on 4 levels of AMR � Developed an extended stability R-K-C integrator for ADR on SAMR � 5 refereed science papers � 8 refereed software papers � Quantitative study on how components affected their code Figure courtesy of Jaideep Ray, SNL CCA

  10. 2. CCA to combine previously incompatible codes Application Project POC Quantum MPQC & Curtis Janssen, Sandia Chemistry NWChem Theresa Windus, PNNL Nuclear Power M. Diaz, U. Malaga, Spain Plant Training Sim Fusion DFC Nanbor Wang, Tech-X Corp. Radio Astronomy eMiriad Athol Kemball, UIUC CCA

  11. Example: Quantum Chemistry Better instruments for scientific inquiry by integrating best-in-class software packages Figure courtesy of Curtis Janssen and Joe Kenny, SNL CCA

  12. 3. CCA to Develop Community Standards Application Project POC Meshing TSTT Lori Diachin, LLNL Solvers TOPS Barry Smith, Argonne … and Applications using these interfaces Cell Biology VMCS Harold Trease, PNNL (using TSTT) Accelerator Beam Beam-SBIR Douglas Dechow, Tech-X Corp. Dynamics (will use TOPS) Chemistry GAMESS-CCA Masha Sosonkina, Ames Lab (NWChem&MPQC) CCA

  13. 4. CCA a la carte: using parts of CCA technology Application Project POC Ccaffeine Classic Combustion CFRFS Jaideep Ray, Sandia (C++ only) Electron Effects CMEE Peter Stoltz, Tech-X Corp. Material Science PSI David Jefferson, LLNL Computer-Assisted CASC Dan Quinlan, LLNL Source Refactoring Fusion FMCFM Johann Carlsson, Tech-X Corp. Solvers Hypre Jeff Painter, LLNL CCA

  14. Strain on Shock-Driven Metal Cylinder Courtesy, Nathan Barton, LLNL. CCA Multiscale Continuum Only

  15. Vision: The Petascale computer as ensemble of SPMD jobs Fine Scale Response Compute Farm = Process High-D = MPI_COMM_WORLD Data Cache = Babel RMI Adaptive Response Sampler Master Coupler PSI Overlord Not shown: All processes can RMI Overlord & Overlord has Ale3d table of all rank 0 processes. PSI PSI Daemons Daemons CCA 0 1 2 3 4 5 6 7 8 9 10 n ProcessorID

  16. 5. CCA to connect frameworks Framework Comment POC SCIRun2 Meta-Component Steve Parker, Utah Bridging Legion-CCA Extended Babel to Michael J. Lewis, Generate Legion Binghamton University MOCCA Personal Grid Vaiday Sunderam, Environments Georgia Tech (Part of Harness) CCA

  17. 6. CCA’s impact on competing technologies Application Project POC Climate ESMF Nancy Collins, NCAR Astrophysics TSI Doug Swesty, SUNY Stony Brook “I have become a complete convert to the “I have become a complete convert to the idea of component-oriented design and it is idea of component-oriented design and it is now foremost in my mind when it comes to now foremost in my mind when it comes to software architecture planning.” software architecture planning.” -- Doug Swesty, SUNY Stony Brook -- Doug Swesty, SUNY Stony Brook “ Gary, there are a b’jillion references to CCA at “ Gary, there are a b’jillion references to CCA at this HPDC/Compframe workshop… These are all this HPDC/Compframe workshop… These are all Europeans we haven’t met before. ” Europeans we haven’t met before. ” -- Rob Armstrong, Paris, last week -- Rob Armstrong, Paris, last week CCA

  18. Future Directions of CCA: “Adaptivity” � Computational Quality of Service (CQoS) � Tradeoffs: performance, accuracy, robustness � Motivated by: Accelerators, Combustion, Quantum Chemistry, Fusion,… � In collaboration with: PERC, TSTT, TOPS � Hybrid Computing � Driven by: multi-core/hybrid-core arch. � Interface Semantics � Dynamic enforcement of semantic errors CCA

  19. Conclusion � Components are serious technology for building large scale codes � CCA accomplishments include: � delivered technology uniquely applicable for HPC � Demonstrated broad impact across multiple application domains � Demonstrated technical leadership within our own CS discipline � Vision: build a component ecosystem DoE � Researchers spend more time in the 10% of their code that is of scientific interest � Share the other 90% necessary for completeness CCA

  20. Common Component Architecture www.cca-forum.org Thank You CCA CCA

Recommend


More recommend