CCA Data Object Contributors Ben Allan, Rob Armstrong, David Bernholdt, Robert Clay, Lori Freitag, Jim Kohl, Ray Loy, Manish Parashar, Craig Rasmussen,

Slides:



Advertisements
Similar presentations
Three-Step Database Design
Advertisements

Chapter 10: Designing Databases
1 Building Models. 2 Objectives Introduce simple data structures for building polygonal models ­Vertex lists ­Edge lists OpenGL vertex arrays.
1 Enviromatics Spatial database systems Spatial database systems Вонр. проф. д-р Александар Маркоски Технички факултет – Битола 2008 год.
Image Indexing and Retrieval using Moment Invariants Imran Ahmad School of Computer Science University of Windsor – Canada.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
File Management Chapter 12. File Management A file is a named entity used to save results from a program or provide data to a program. Access control.
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
1 Networking through Linux Partha Sarathi Dasgupta MIS Group Indian Institute of Management Calcutta.
Parallel Simulations of Fracture and Fragmentation I. Arias, J. Knap and M. Ortiz California Institute of Technology Figure 1. The tractions at each side.
Software Version Control SubVersion software version control system WebSVN graphical interface o View version history logs o Browse directory structure.
CSE351/ IT351 Modeling And Simulation Choosing a Mesh Model Dr. Jim Holten.
CSE351/ IT351 Modeling and Simulation
Chapter 3 2D AND 3D SPATIAL DATA REPRESENTATIONS 김 정 준.
File Management.
1 I/O Management in Representative Operating Systems.
Chapter 1 An Overview of Database Management. 1-2 Topics in this Chapter What is a Database System? What is a Database? Why Database? Data Independence.
C o n f i d e n t i a l Developed By Nitendra NextHome Subject Name: Data Structure Using C Title: Overview of Data Structure.
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
Status of netCDF-3, netCDF-4, and CF Conventions Russ Rew Community Standards for Unstructured Grids Workshop, Boulder
1 ATPESC 2014 Vijay Mahadevan Tutorial Session for Scalable Interfaces for Geometry and Mesh based Applications (SIGMA) FASTMath SciDAC Institute.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
ParFUM Parallel Mesh Adaptivity Nilesh Choudhury, Terry Wilmarth Parallel Programming Lab Computer Science Department University of Illinois, Urbana Champaign.
Introduction to Data Structures. Definition Data structure is representation of the logical relationship existing between individual elements of data.
1 Data Structures for Scientific Computing Orion Sky Lawlor charm.cs.uiuc.edu 2003/12/17.
HDF5 A new file format & software for high performance scientific data management.
CCA Common Component Architecture CCA Forum Tutorial Working Group Welcome to the Common.
So far we have covered … Basic visualization algorithms Parallel polygon rendering Occlusion culling They all indirectly or directly help understanding.
CCA Common Component Architecture CCA Forum Tutorial Working Group Welcome to the Common.
Discontinuous Galerkin Methods and Strand Mesh Generation
1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.
Discontinuous Galerkin Methods for Solving Euler Equations Andrey Andreyev Advisor: James Baeder Mid.
The Vesta Parallel File System Peter F. Corbett Dror G. Feithlson.
Data Structures & GeoDatabase. Introduction You have been using GDBs from nearly the start of the course Why? Because I think that most of the time you.
Mark Marron 1, Deepak Kapur 2, Manuel Hermenegildo 1 1 Imdea-Software (Spain) 2 University of New Mexico 1.
Presented by An Overview of the Common Component Architecture (CCA) The CCA Forum and the Center for Technology for Advanced Scientific Component Software.
Representation. Objectives Introduce concepts such as dimension and basis Introduce coordinate systems for representing vectors spaces and frames for.
The TSTT Data Model and Interface Lori Freitag. Use TSTT interfaces directly in applications to allow plug-and-play experimentation Discretization Library.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
CCA Common Component Architecture CCA Forum Tutorial Working Group CCA Status and Plans.
ORNLKohl/ Mux and MxN: A Revelation… (a.k.a. “Collective” is Dead? :-o) James Arthur Kohl David E. Bernholdt Oak Ridge National Laboratory Thursday,
STK (Sierra Toolkit) Update Trilinos User Group meetings, 2014 R&A: SAND PE Sandia National Laboratories is a multi-program laboratory operated.
Benjamin Post Cole Kelleher.  Availability  Data must maintain a specified level of availability to the users  Performance  Database requests must.
Ghost Elements. Ghost Elements: Overview Most FEM programs communicates via shared nodes, using FEM_Update_field Most FEM programs communicates via shared.
Progress on Component-Based Subsurface Simulation I: Smooth Particle Hydrodynamics Bruce Palmer Pacific Northwest National Laboratory Richland, WA.
Lecture 10 Page 1 CS 111 Summer 2013 File Systems Control Structures A file is a named collection of information Primary roles of file system: – To store.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
Solid Modeling 2002 A Multi-resolution Topological Representation for Non-manifold Meshes Leila De Floriani, Paola Magillo, Enrico Puppo, Davide Sobrero.
Data Design and Implementation. Definitions Atomic or primitive type A data type whose elements are single, non-decomposable data items Composite type.
Mark Marron 1, Deepak Kapur 2, Manuel Hermenegildo 1 1 Imdea-Software (Spain) 2 University of New Mexico 1.
1 Data Structures for Scientific Computing Orion Sky Lawlor /04/14.
1 Rocket Science using Charm++ at CSAR Orion Sky Lawlor 2003/10/21.
Motivation: dynamic apps Rocket center applications: –exhibit irregular structure, dynamic behavior, and need adaptive control strategies. Geometries are.
CCA (unstructured) Mesh & Data Manager (aka Central Data Object) Component Abstractions - prelim thoughts & status - CCA Working Group Meeting Gatlinburg,
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,
2D AFEAPI Overview Goals, Design Space Filling Curves Code Structure
Module 11: File Structure
INTRODUCTION TO GEOGRAPHICAL INFORMATION SYSTEM
Physical Data Model – step-by-step instructions and template
In-situ Visualization using VisIt
Geographical Information Systems
File System Structure How do I organize a disk into a file system?
Physical Structure of GDB
So far we have covered … Basic visualization algorithms
GENERAL VIEW OF KRATOS MULTIPHYSICS
Angel: Interactive Computer Graphics5E © Addison-Wesley 2009
Database Design Hacettepe University
Presentation transcript:

CCA Data Object Contributors Ben Allan, Rob Armstrong, David Bernholdt, Robert Clay, Lori Freitag, Jim Kohl, Ray Loy, Manish Parashar, Craig Rasmussen, Andrew Siegel, Jaideep Ray, Lee Taylor

Working Group Meetings n SC00 (11/5/00) n First set of discussions n Created preliminary definitions n Identified issues relevant CCA n Set a schedule of meetings n Access Grid Meeting (11/30/00) n Review of SC00 meeting n ANL prototype for an unstructured discontinuous Galerkin application (L. Freitag) n Chicago FLASH center mesh database for block structured AMR calculations (A. Siegel) n Pre-CCA Meeting (12/6/00) (Afternoon) n TeraScale interfaces for unstructured finite element calculations (R. Clay) n Interfaces for raw data, arrays, fields (C. Rasmussen) n Grace’s interfaces for block structured AMR calculations (J. Ray)

Working Group Meetings (cont) n Pre-CCA Meeting (12/6/00) (Evening into the night) n Group discussion of “The Big Picture” n Data Managers, Raw Data, Arrays, Fields, Meshes n Subgroup discussions until the wee hours n CCA Meeting (12/7/00) n Presentation of the dicussions to date n Looking for feedback on preliminary design ideas n Overview: L. Freitag n Raw Data and Arrays: B. Allan n Unstructured Meshes and Fields: R. Clay n Disclaimer n These are initial thoughts that are only partially complete in some cases n Everything presented is open for discussion

SC00 Definitions n Field: a scalar, vector, or strided combination of scalars and vectors defined with respect to a geometric extent n e.g. Pressure defined on mesh vertices n FieldSet: a collection of fields n e.g. a hydro field set containing pressure, velocity and energy fields n FieldSets can contain other instances of FieldSets n e.g. an application FieldSet containing a hydro field set and a chemical species FieldSet n Mesh: a discrete representation of a spatial domain n collection of uniquely identifiable vertices, edges, faces, and cells n relationship among entities given by hierarchical and connectivity information n Meshes can contain other instances of Meshes

Issues Relevant to CCA (as discussed at SC00) Structured and Unstructured Meshes n There are differences in how structured and unstructured meshes store and use their data n Structured grids commonly use n-dimensional arrays n Unstructured grids may use n-dimensional arrays but also commonly use linked lists n Allocation and access patterns can be quite different so different interfaces are required for performance n Interfaces defined by CCA should not dictate how the data be stored, particularly data does not need to be allocated as a single memory block n Only minimal sets of interfaces should be required - extensions can be supported for performance, etc.

Parallel Implementation Issues n Decompositions must be able to be determined dynamically n most thought this functionality should be decoupled from the mesh/field data object n A partitioned mesh must have two capabilities n it should be able to serialize itself n it should be able to update ghost nodes n Interfaces for parallel meshes must support n update of ghost cells n parallel I/O to files n perhaps done using a string-based option in the interface n underlying implementations such as collect first then write or write then serialize should be identifiable in the API

Interfaces n Level 0: (Required) n Data Representations n Currently in the form of Raw Data, Arrays, Fields and Meshes, n Each must accommodate different data types n Data I/O n Should be able to define and access subsets of data n Should be able to define, access, and use subsets of meshes n Data Management n Level 1: (Desired but not Required) n “Update” of ghost nodes n Should this be level 0? (Rob thinks so) n Should this be at the decomposition level or at the data level n Collective operations over fields such as max, min, sup, etc n Mesh modification APIs (adaptation, smoothing, flipping) n Redistribution (is this the mxn problem?)

Level 0 Interfaces n Raw Data Port n Set of smart pointers containing name, location, pointer, size, type, strides describing a strip of memory n collection of 1D buffers each of which can have a different type n Modeled on unix IOvecs n Low level and general n can therefore be used as a handle for moving data efficiently n Considered to be local only n Array Port n chunk of memory arranged topologically (1d,2d,3d) n contains name, dimension, shape n should be able to return subsets of raw data n can be SPMD

Level 0 Interfaces n Fields and Meshes n Fields are defined on mesh extents n Fields have a math type (scalar, vector, quaternions,…) n Fields can be implemented as Arrays n Meshes can be structured or unstructured n Both require nodes with coordinate information and dimension information n Unstructured additionally required elements with connectivity information n Fields and meshes are inherently related (one is no good without the other) n SPMD

Level 0 Interfaces n DataManager n Container for named meshes, fields, arrays and raw data n names must be unique n Job is to marshal data (e.g. to disk or to components needing data) n Data access is via string name n Components that operate on data interact with the DataManager to obtain the data n Multiple managers can be wired to a component n Implies a registry to prevent name conflict DM1 DM2 Raw Data Array Structured Mesh Unstructured Mesh CFD FFT MxN VIZ T

Design Procedure To list anticipated operations in the data interface design and to test it against existing applications and mesh field data implementations DISCUSSION?

OLD STUFF

Relationships n CCAArrays contain raw data n extension of raw data in that it contains dmenions and is decomposable n Data Managers can contain fields and meshes, cca arrays and raw data n raw data must be associated with a named entity to be served up by a data manager n Getting subregions of raw data rquired knowing what object the raw data lives on (how else can you define the subregion)

Interface Ideas from ANL: Background n Existing mesh management package: SUMAA3d n Targeted at Finite Element Applications n Handles n Mesh Infrastructure Management n Mesh Modifications (adaptation, coarsening, smoothing, flipping) n Uses URB partitioning (tightly coupled to mesh data structures) n Only simple geometry and boundary definition n Primary data structures are linked lists of elements, edges, or vertices n User Data can be user-defined via subroutine callbacks; accessed on entity by entity basis n Attempting to define interfaces that decouple a discontinuous Galerkin application from SUMAA3d data structures

Design Philosophy n Interfaces are defined in small groups of related functionality n Atomic operations required n Additional interfaces for performance or specialized operations n The required interface set must be small to encourage adoption by mesh management tool providers n Not all interfaces need be implemented by all mesh management packages n Defined interfaces for Vertices, Edges, and Elements n Some geometric and topological information n Simple data I/O that assumed type double n By no means complete - prototype only for testing performance n Original goal is to minimize changes to SUMAA3d

General Mesh Methods Class MeshComponent { MeshComponent(); ~MeshComponent(); int setOption(char *, int); // also for float, double, char int getOption(char *, int *); // also for float, double, char int publishOptions(); int setNumberofVertexUnknowns(int); // also Edge, Element int createMesh(); int intializeUserData(); int getNumberOfVertices(int *); // also Edge, Element int getMeshVertexList(VertexList *); // also Edge, Element }

Vertex Methods Class Vertex { Vertex(); ~Vertex(); int getID(int *); int getVertexCoordinates(double **); int getUserData(VertexUserData *); int setUserData(VertexUserData); int getNextVertex(); }

Edge Methods Class Edge { Edge(); ~Edge(); int getID(int *); int getVertices(Vertex **); int getElements(Element **); int getUserData(EdgeUserData *); int setUserData(EdgeUserData); int getNextEdge(Edge *); }

Element Methods Classs Element { Element(); ~Element(); int getID(int *); int getVertices(Vertex **); int getUserData(ElementData *); int setUserData(ElementData); int getNextElement(Element *); }

ElementData Methods Class ElementData { ElementData(); ~ElementData(); int getNumData(int *); int setNumData(int); int getData(double **); int setData(double *); int getData(int num, int *index, double **data); int setData(int num, int *index, double *data); } EdgeData and VertexData are similiar

ElementList Methods Class ElementList { ElementList(); ~ElementList(); int append(Element); int prepend(Element); int delete(Element); } VertexList and EdgeList are similar