Distributed Interactive Computing Environment http www arl hpc
Distributed Interactive Computing Environment http: //www. arl. hpc. mil/Sci. Vis/dice
Challenge : Stovepiped Applications Platforms HPC Codes CFD Code 1 CSM Code 1 CCM Code 2 CCM Code 1 Preprocessing Runtime Analysis Tools Postprocessing
Additional Challenges • Code Setup can be Difficult • Enormous Amounts of Data • Heterogeneous Environment • Security
Distributed Interactive Computing Environment Graphical User Interface and Runtime Visualization Common Distributed Data Model and Format High Performance Computing Resource User’s Workstation
Fully Integrated FMD GUI
Fully Integrated Zns. Flow GUI
Fully Integrated CTH GUI
What is DICE ? A Distributed Computing Environment Composed of Configurable Mega-Components • Heterogeneous DSM * • Data Organization • Graphical User Interface • Visualization User-Ready Computing Environments Customized for Specific Technology Areas
Network Distributed Global Memory Clients Vector. Put Vector. Get Put Get 0 Barrier Semaphore 10 M 30 M 50 M Servers Process Local Address Space System Shared Memory Disk File Physical Data Storage
Light Data Heavy Data • 3 D Structured Mesh • X, Y, Z Values • 300 x 200 x 300 • Material Volume Fractions • Number of Materials • Cell Temperatures • Material Names • Total Residual Mass
User Application Scripting and Graphical User Interface Tools Visual Generators Plots Planes Surfaces High Performance Computing Code DICE Object Directory Object Oriented Support for Data Model, XML, . . . Hierarchical Data Format ( HDF 5 ) Data Format : Number Type, Data Space. . . Network Distributed Global Memory ( NDGM ) with GSSAPI Shared Memory Facility TCP/IP Sockets Operating System Distributed Resources Visualization Toolkit (vtk) Open. GL Mesa File I/O Process Control
DICE Data Model and Format Convenience Layer Structured Data Unstructured Data Groups DICE Object Directory Object Oriented Support for Data Model, XML, . . . Hierarchical Data Format ( HDF 5 ) Data Format : Number Type, Data Space. . . File. System Serial and Parallel Global Access to Secondary Storage ( Globus - GASS ) Distributed Buffer of Bytes Network Distributed Global Memory with GSSAPI Other. . .
Hierarchical Data Format Version 5 Group Attribute Data. Set • Host Independent Data Format • Access via API only • Physical Storage thru Drivers • Includes Data Compression • Includes Sub. Selections Not Allowed Group Data. Set Attribute Data. Set
e. Xtensible Markup Language • Similar to HTML Format • Human Readable • Pervasive on the WEB • Strict Hierarchy with No Inheritance < Parent Name=“Top”> • Many Parsing Tools Already Exist < Child Name=“Left”> Character Data for Left < /Child > Parent <Child Name=“Right” > Character Data for Right < /Child > Child Character Data for Left Character Data for Right < /Parent > Parse XML Document Object Model In-Memory Data Structures Serialize
N 3 5 3 1 4 1 2 N 3 Polyline 4 4 5 3 4 N 2 Polyvertex 4 1 2 2 1 Triangle Quadrilateral 3 1 2 Polygon 6 5 5 3 4 1 3 1 Tetrahedron 2 Pyramid 8 2 3 4 2 Wedge 1 7 5 6 3 4 1 Hexahedron 2 j i j k 2 DSMesh DICE Object Directory Base Topologies i 3 DSMesh
<Topology Type=“Tetrahedra” Num. Elements=“ 3”> Light Data </Topology> <Geometry> <Topology Type=“ 3 DSmesh” <Vertices> Dimensions=“ 10 20 30”> <Index Location=“XML” Type=“List”> </Topology> 1000 1001 21000 …… <Geometry> </Index> <Points Type=“XYZ” Location=“HDF” > NDGM: File 1. h 5: /Grid 1/Geometry/My. Points <Region Type=“Slab” Location=“XML” > 1 2 10 2 3 20 3 4 30 </Region> </Points> </Vertices> </Geometry> </Points> </Geometry> 100 x 200 x 300 HPC Code HDF 5 NDGM GASS MPI-I/O . .
Complexity of Model Defined in Light Data Domain Grid XML Grid Attribute Topology 100 Hexahedra HPC Code Geometry XYZPoints. h 5 HDF 5 File Attribute NDGM: Pressure. h 5 NDGM: Temperature. h 5 HDF 5 NDGM HPC Code I/O is Natural and Efficient GASS
XML Contains Parameters for Variable Substitution Domain Grid XML Grid Parameter Time. Step = 0 to 99 Topology 100 Hexahedra HPC Code Geometry XYZPoints. h 5 HDF 5 Attribute NDGM: &Time. Step; /Pressure. h 5 HDF 5 for Time. Step 0 HDF 5 for Time. Step 1 HDF 5 for Time. Step 2
Parallel / Distributed Entities Post-Processing Tools Pre-Processing Tools HPC Codes Runtime Tools Convenience Layer e. Xtensible Markup Language ( XML ) Hierarchical Data Format Verision 5 ( HDF 5 ) Distributed Data Hub
DICE Data Reader for En. Sight Data Reader uses DICE Object Directory API En. Sight DICE Object Directory
DICE Visualization using vtk HDF 5 File HDF 5 NDGM Visualization “Subnet” DICE Object Directory GASS Source Filter Polygons
Adding Performance Friendly Functionality System Programming Language C C++ Fortran 77 Fortran 90 etc. Compiled Object SWIG Tcl Wrapper Perl Wrapper Python Wrapper Java Wrapper } New Scripting Command via Dynamically Loadable Library
C++ Dice. Float 64 Array My. Data, New. Data; Dice. Int 64 Array My. Index; My. Data. Set. Number. Of. Elements( 10000 ); Allocate 10, 000 Doubles My. Data. Generate(0. 0, . 9999 ); Set Individual Values My. Index. Set. Number. Of. Elements( 100 ); My. Index. Generate( 0, 99 ); My. Index *= 2; Array Operation +, -, *, / New. Data = My. Data[ My. Index ]; Array Indexing Scripting ( Tcl, Perl, etc. ) Dice. HDF H 5 Object Oriented Scripting Interface H 5 Object Open NDGM: File. Name. h 5: /Data. Set. Name Open HDF 5 File, Query Number Type and Shape Dice. Memory. Object Set. Array [ Dice. Float 32 Array ] Request Automatic Conversion to Float 32 H 5 Object Read [ Memory. Object cget -this ] Memory. Object has Number Type and Shape set New. Data [ Memory. Object Get. Array ] Dice. Expr $New. Data[ where( $New. Data >. 5 ) ] =. 5 Clip Values to. 5
DICE Web Interface Under Construction DICE on HPC Resource using Off Screen Rendering SSL Kerberos kinit • Every URL Request is Intercepted to Verify Session Id • DICE Runs as a User Process • HTML FORMS result in Tcl Procedure Invocation • Graphics Updated via Server-Push ( Netscape only ) or Client-Pull • Intended for Limited Interfaces from Remote ( Slow Connection ) or Graphically Challenged Client Machines.
MPI Finite Element Visualization Data Mining Steering Coupling HDF 5 NDGM MPI Finite Volume
“Gently Coupling” Codes from Separate Disciplines Distributed Data Hub Finite Volume Structural Mechanics Global Monitor Small Scale Analysis Injection Flow Analysis Runtime Visualization
COTS, GOTS and “Semi-Automatic” Visualization DICE and the HPC Environment X / Open. GL DICE User Interface XML and Http ( SSL + Kerberos ) DICE Server ( User Process ) DICE Object Directory XML, HDF 5 I/O One or More Cooperating HPC Codes
- Slides: 27