POOMA 2.4 Progress and Plans Scott Haney, Mark Mitchell, James Crotinger, Jeffrey Oldham, and Stephen Smith October 22, 2001 Los Alamos National Laboratory.

Slides:



Advertisements
Similar presentations
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Advertisements

Los Alamos National Laboratory 1 POOMA 2.1 Timothy J. Williams Advanced Computing Laboratory ACL Seminar LANL September 28, 1999.
Current Progress on the CCA Groundwater Modeling Framework Bruce Palmer, Yilin Fang, Vidhya Gurumoorthi, Computational Sciences and Mathematics Division.
TUPEC057 Advances With Merlin – A Beam Tracking Code J. Molson, R.J. Barlow, H.L. Owen, A. Toader MERLIN is a.
Alternative Software Life Cycle Models By Edward R. Corner vol. 2, chapter 8, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Parallelizing stencil computations Based on slides from David Culler, Jim Demmel, Bob Lucas, Horst Simon, Kathy Yelick, et al., UCB CS267.
The CEGIS Online Bibliography Holly K. Caro In late May of 2009, the Center of Excellence for Geospatial Information Science (CEGIS) decided to consolidate.
Revisiting a slide from the syllabus: CS 525 will cover Parallel and distributed computing architectures – Shared memory processors – Distributed memory.
ARCS Data Analysis Software An overview of the ARCS software management plan Michael Aivazis California Institute of Technology ARCS Baseline Review March.
Graph Analysis with High Performance Computing by Bruce Hendrickson and Jonathan W. Berry Sandria National Laboratories Published in the March/April 2008.
VisIt Software Engineering Infrastructure and Release Process LLNL-PRES Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
Java for High Performance Computing Jordi Garcia Almiñana 14 de Octubre de 1998 de la era post-internet.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Fundamentals of Information Systems, Second Edition
CODING Research Data Management. Research Data Management Coding When writing software or analytical code it is important that others and your future.
Executive Overview. PLEASE READ (hidden slide) To deliver this presentation effectively, you need to be familiar with Windows Server 2008 R2 management.
Hossein Bastan Isfahan University of Technology 1/23.
Chapter 7 Software Engineering Objectives Understand the software life cycle. Describe the development process models.. Understand the concept of modularity.
“SEMI-AUTOMATED PARALLELISM USING STAR-P " “SEMI-AUTOMATED PARALLELISM USING STAR-P " Dana Schaa 1, David Kaeli 1 and Alan Edelman 2 2 Interactive Supercomputing.
1 Developing Native Device for MPJ Express Advisor: Dr. Aamir Shafi Co-advisor: Ms Samin Khaliq.
Chapter 2 The process Process, Methods, and Tools
German National Research Center for Information Technology Research Institute for Computer Architecture and Software Technology German National Research.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
SPACE TELESCOPE SCIENCE INSTITUTE Operated for NASA by AURA COS Pipeline Language(s) We plan to develop CALCOS using Python and C Another programming language?
Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado.
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
AN EXTENDED OPENMP TARGETING ON THE HYBRID ARCHITECTURE OF SMP-CLUSTER Author : Y. Zhao 、 C. Hu 、 S. Wang 、 S. Zhang Source : Proceedings of the 2nd IASTED.
Support for Debugging Automatically Parallelized Programs Robert Hood Gabriele Jost CSC/MRJ Technology Solutions NASA.
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
Crossing The Line: Distributed Computing Across Network and Filesystem Boundaries.
More on “The Huddersfield Method” A lightweight, pattern-driven method based on SSM, Domain Driven Design and Naked Objects.
CSE 219 Computer Science III Program Design Principles.
CESM/ESMF Progress Report Mariana Vertenstein NCAR Earth System Laboratory CESM Software Engineering Group (CSEG) NCAR is sponsored by the National Science.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
I Power Higher Computing Software Development The Software Development Process.
© 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.
Alternative ProcessorsHPC User Forum Panel1 HPC User Forum Alternative Processor Panel Results 2008.
Abstract The Center for Remote Sensing of Ice Sheets (CReSIS) has collected hundreds of terabytes of radar depth sounder data over the Greenland and Antarctic.
_______________________________________________________________CMAQ Libraries and Utilities ___________________________________________________Community.
Advanced Simulation and Computing (ASC) Academic Strategic Alliances Program (ASAP) Center at The University of Chicago The Center for Astrophysical Thermonuclear.
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
BalticGrid-II Project The Second BalticGrid-II All-Hands Meeting, Riga, May, Joint Research Activity Enhanced Application Services on Sustainable.
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Earth System Modeling Framework Python Interface (ESMP) October 2011 Ryan O’Kuinghttons Robert Oehmke Cecelia DeLuca.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Fortress Aaron Becker Abhinav Bhatele Hassan Jafri 2 May 2006.
1 Service Creation, Advertisement and Discovery Including caCORE SDK and ISO21090 William Stephens Operations Manager caGrid Knowledge Center February.
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice HP Business Process Testing What’s.
Progress on Component-Based Subsurface Simulation I: Smooth Particle Hydrodynamics Bruce Palmer Pacific Northwest National Laboratory Richland, WA.
Parallelization Strategies Laxmikant Kale. Overview OpenMP Strategies Need for adaptive strategies –Object migration based dynamic load balancing –Minimal.
Introduction to OOP CPS235: Introduction.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
C OMPUTATIONAL R ESEARCH D IVISION 1 Defining Software Requirements for Scientific Computing Phillip Colella Applied Numerical Algorithms Group Lawrence.
CAD CAM. 2 and 3 Dimensional CAD: Using 2-dimensional CAD software, designers can create accurate, scaled drawings of parts and assemblies for designs.
Parasoft : Improving Productivity in IT Organizations David McCaw.
Northwest Arkansas.Net User Group Jay Smith Tyson Foods, Inc. Unit Testing nUnit, nUnitAsp, nUnitForms.
T Iteration Demo LicenseChecker I2 Iteration
PERFORMANCE OF THE OPENMP AND MPI IMPLEMENTATIONS ON ULTRASPARC SYSTEM Abstract Programmers and developers interested in utilizing parallel programming.
Software Engineering Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
1 CASE Computer Aided Software Engineering. 2 What is CASE ? A good workshop for any craftsperson has three primary characteristics 1.A collection of.
MASS Java Documentation, Verification, and Testing
Parallel Objects: Virtualization & In-Process Components
Programming Models for SimMillennium
Bringing more value out of automation testing
Parallel Programming in C with MPI and OpenMP
Presentation transcript:

POOMA 2.4 Progress and Plans Scott Haney, Mark Mitchell, James Crotinger, Jeffrey Oldham, and Stephen Smith October 22, 2001 Los Alamos National Laboratory

POOMA: Parallel Object-Oriented Methods and Applications A high-performance C++ toolkit supporting rapid application development in computational physics areas of interest to the Blanca Project: Multi-material hydrodynamics. Neutron transport. An open source template library. Designed to run on platforms ranging from PCs to the largest parallel supercomputers in the world. Designed to allow computer science experimentation while maintaining a powerful and stable computational physics API.

POOMA 2 Started in late A complete re-design and re-write of POOMA R1: Better abstractions. Better encapsulation. More flexible and extensible. Better software engineering. Better performance. Approximately 25 person-years of effort to date. POOMA 2.4 level of effort is 2.25 FTE. First usage by Blanca in early 2001.

POOMA 2.4 Project Goals Finish work on a new discrete field abstraction. [DONE] Add features to achieve parity with POOMA R1 capabilities and to satisfy Blanca requirements. [DONE] Write some non-trivial example/benchmarking codes. [In progress] Optimize run time and compile time performance. [In progress] Provide technical support to Blanca developers. [Continuing] Bring code base to production quality. Release POOMA 2.4 at the end of February 2002.

A New Field Abstraction Centering spokeCentering(FaceType, Continuous); // Set up centering points {...} Field f(numMaterials, spokeCentering, layout, mesh); Fields support multiple materials and arbitrary cell/face/edge/vertex centerings that may be continuous or discontinuous.

Better C++ Modeling of Computational Physics Abstractions q = dot( replicate(K, cellToSpoke), replicate(gradP, medianCellToSpoke) ), replicate(outwardNormals(mesh), faceToSpoke) );

Other Accomplishments Implemented “relations” that codify the notion of independent and dependent fields and perform lazy evaluation of dependent fields. Added capability to read and write POOMA R1 “DiscField” files along with new support for sharing files between SGI and Compaq machines. Added ability to easily export and import Field data to/from Fortran subroutines. Placed source under QMTest automatic testing harness; started regression testing. Developed Caramana Hydro and Stratigraphic Flow example codes. Fixed a (VERY) few bugs. Made particles classes compatible with the new multi-material field. Instrumented POOMA for TAU profiling; started performance measurement and optimization.

Support for Flexibility and Extensibility Data representations: Brick, Compressible-brick, Remote, Multi-patch, Analytic Layouts: Uniform, Grid, Tile, Sparse Tile Variable # of internal/external guard layers Meshes: Uniform, Non-uniform, Lagrangian Boundary Conditions: Implemented as relations Constant, Reflective, Periodic Partitioners: Uniform, Grid, Tile, Bisection Evaluation: Lazy Possibly out of order Parallelism: None MPI Shared memory Multi-threaded (SMARTS) Users can extend all of these!

Better Software Engineering POOMA 2 is ANSI/ISO Standard C++; POOMA R1 is not. POOMA 2 is implemented with better low-level abstractions; thus, it easier and faster to implement complex pieces of the framework, as well as complex user code. POOMA 2 has more comments and more error checking. The POOMA R1 versions of these are more complex than the numbers indicate as they involve explicit message passing.

Performance Our initial performance measurements indicate: POOMA 2 kernels are currently about 15% slower than C; we understand the reason and believe we can reduce this difference to zero. POOMA 2 already generally performs and scales better than POOMA R1 in tests of a simple 2D diffusion kernel. Speed-up can be as much as 50%. tests ranged from processors patch sizes ranged from 40K to 2.5M cells/patch with 1-9 patches per processor Our work to date has emphasized abstractions and correctness.

POOMA 2.4 Path to February 2002 Release Performance optimization: Speed up iterate generation by caching iterates, intersections, and guard cell fills and localizing intersection calculations. Improve iterate scheduling by removing some serialization in guard cell fills. Examine benefits of consolidating messages and eliminating message copies. Examine optimizing stencils without guard layers and/or implementing “on demand” guard layers. Optimize iterate performance to reduce field abstraction penalty and obtain C performance Improve compile times by supporting preinstantiation and removing template dependencies. Test and document prior to release.

Future Work Implement multi-block fields (locally structured, but globally unstructured). Design and implement support for implicit methods. Prototype unstructured implementations. Continue run time and compile time optimization. Develop users guide and reference manual. Build community.

Risk Mitigation Technical risk POOMA 2 uses abstraction, encapsulation, flexibility to manage complexity and employs good software engineering. POOMA should be one of multiple approaches. Tool risk POOMA is ANSI/ISO standard C++, non-proprietary, and fully open source. Personnel and performance risk Proximation and CodeSourcery are paid to be responsive. Can easily attract and quickly hire high-quality C++ experts for project. Funding risk Other interested parties can share cost of POOMA development. Project lifetime risk Open source projects like POOMA can attract significant community support: community helps ensure continuity.