260 likes | 388 Vues
Visualization of engineering computations in LitGRID and G ridTechno projects. Arnas Ka čeniauskas Laboratory of Parallel Computing arnka @fm.vgtu.lt. Projects. GridTechno (2007-2009): HTP project supported by Lithuanian State Science and Studies Foundation.
E N D
Visualization of engineering computations in LitGRID and GridTechnoprojects Arnas Kačeniauskas Laboratory of Parallel Computingarnka@fm.vgtu.lt
Projects • GridTechno (2007-2009): • HTP project supported by Lithuanian State Science and Studies Foundation. • Visualization of Engineering Applications in GRID environment. • LitGrid (2007-2011): • National program supported by Ministry of Education and Science. • GRID Visualization System. • BalticGrid-II (2008-2010): • FP7 project. • Visualization Tools.
Pilot Applications • Poly-dispersed particle systems (DEM): • Particle technology, laser technology, fracture mechanics. • Available visualization tools based on VTK and Matlab. • Needs feature extraction (crack propagation in micro-mechanics). • No inherent connections (1D connections for 3D domain can be computed in DEM software)! • 3D cells are needed for interpolation?! • Coupled CFD problems (FEM): • Available visualization tool based on OpenDX. • Requires basic visualization functionality. • Current implementation loads all time steps into RAM at the same time, therefore, it needs a lot of computer memory. • Porous media applications (FDM or FVM): • Available visualization tool based on Matlab. • Can not visualize results from multiple domains obtained from parallel computations.
Particle Systems Poly-dispersed particles colored by radius (VTK)
CFD: Sluice Gate Problem Pressure and velocity field visualized by OpenDX
Flow in Porous Media • Oil filter manufactured by IBS Filtran. 4 processors 1 processsor
User Groups • Visualization is driven by user needs. • Strongly dependent on application, • Dependent on data form, dataset size and its location, • Dependent on hardware resources, • Knowledge level of users is very important! • Experienced users (few): • Has work experience with commercial software, • Might have their own visualization tools, • Need powerful software for large datasets, • Need extended functionality, • Might need some level of freedom. • Beginners (many): • Lack of basic knowledge on visualization. • Need easy, well designed interface for their application.
DataSet1 DataSet2 Source1 Source2 Filter1 Filter2 Filter2 Filter3 Mapper1 Mapper2 Renderer1 Renderer2 User Groups • Visualization Pipelines: • Suitable for strictly defined tasks. • Can be very specialized (adopted to particular application). • Easy to use (suitable for beginners). • Quite easy to develop. • Good basis for visualization tools. • Each application needs development efforts!
Mapper1 Renderer1 Filter1 DataSet1 Universal Source Filter2 Filter4 Mapper2 Renderer2 Filter3 Mapper3 User Groups • Visualization Networks. • Can be made very universal. • Users should have basic knowledge on visualization. • More difficult to develop. • Good basis for visualization system. • New applications might not need additional development! DataSet2
Decision • Develop universal visualization system with basic functionality: • Suitable for experienced and unexperienced users in general, • Any new user can learn it. • Develop several visualisation tools with particular functionality: • Necessary for small number of experienced users that need extended functionality, • Universality can be sacrificed in order to get required efficiency. • Develop several visualisation tools with particular user interface: • Suitable for small number of users that need simplified user interface, • Universality can be sacrificed in order to get required simplicity (limiten number of choices).
Data location in GRID • Network-oriented Visualization: • Data is not located in user PC. • UI (User Interface): • Suitable for small datasets, • Easy, because do not need any special GRID visualization software, • User connects to UI by using protocol suitable for graphics. • SE (Storage Element): • Suitable for large datasets. • Transfer the whole file (data set) if it is not too large. • Transfer a part of the dataset (needs special software)! • WN (Working Nodes): • Computational steering in GRID presents challenge. • Needs interaction between job submission/monitoring and data transfer/visualization.
Distributed Visualization System • Platform: • Java EE 5 platform. • Server: • SVE implemented as service, • Service container (application server) run on UI (usual access to GRID resources). • Client: • Run on user PC, • Java application is more reliable than Java applet.
Distributed Visualization System • Data: • NetCDF(NetworkCommonDataFormat), • HDF5 (Hierarchical Data Format). • Geometry: • VRML, • X3D. • SVE or CVE: • VTKthe best choice for developers, • OpenDX or other MVE. • GUI: • Java Swing, • Viewer: • Xj3D, • VTK based, • Other …
Data Filtering Prepared Data Mapping Geometry Rendering Image Distributed Visualization System Network
Distributed Visualization System • Server sendsgeometry to client: • Sufficient interactivity on aclient: • Rotation, translation, scaling. • Suitable for datasets of medium size: • VRML/X3D file is transferred. • Advantages: • Load is distributed between client and server, • Data remains in the server, • Modest Network bandwidth, • Easy to use and not very difficult to develop. • Disadvantages: • Enough powerful server is required.
WSDL Interface WSDL Compiler Service Server Server Skeleton Client Stub Client SOAP HTTP JAX-WS Runtime e-Service Implementation • Implementation of WEB service: • Java EE 5.0 platform, • Service container/Application server GlassFish v2,
e-Service Implementation • Integrated in Netbeans 6.0 IDE : • WEB service designer, • WEB service tester, • Example including 3 public methods and parameters, • Easy implementation.
e-Service Implementation • WEB service implementation: • In Java EE 5 platform, JAX-WS 2.1 (Java API for XML Web Services) has replacedJAX-RPC API (earlier J2EE platform). WEB services based on XML documents replaced RPC. • JAXB binds XML documens to Java objects during runtime, • Supports Spring 2.0 framework. • Large, zipped X3D file transfer: • Can be performed by using scp (jsch-0.1.37.jar) instead of SOAP over HTTP. • Visualization services in GRID would need: • Stateful resources, • Dynamic and transient nature of services, • Client notification about changes in a service. • OGSA and WSRF standards: • Implemented in Globus Toolkit. • How to implement WSRF in gLite based GRID?
Visualization System • Meniu by Java Swing: • Reading selected datasets from HDF5 file, • Time dependent and time independent data.
Visualization System • Filters window: • ExtractGeometry/ExtracyPolyData filters, • Other filters.
Visualization System • Mappers window: • Glyphs for scalars, • Color Mapping.
Implemented Functionality • Data processing (Filtering): • Extracts the defined part of geometry (vtkExtractGeometry). • Removes some points considering scalar field values (vtkThresholdPoints). • Process vector fields (vtkVectorNorm, vtkExtractVectorComponents). • Creates connections (vtkDelaunay3D, vtkDelaunay2D). • Cuts geometry (vtkCutter). • Visualization (Mapping): • Positions (vtkGlyph3D,vtkIdFilter, vtkLabeledDataMapper). • Connections (vtkExtractEdges, vtkTubeFilter). • Outline (vtkOutlineFilter). • Scalars by isosurfaces (vtkContourFilter, vtkContourGrid) • Scalars by glyphs (vtkGlyph3D) • Vectors by glyphs (vtkGlyph3D) • Color Mapping (vtkScalarsToColors, vtkLookupTable)
Implemented Functionality • Positions and Numbers: • vtkGlyph3D, • vtkLabeledDataMapper. • Positions and Connections: • vtkGlyph3D, • vtkTubeFilter.
Implemented Functionality • Positions and Isosurfaces: • Velocity magnitude, • vtkContourGrid. • Particles: • Colored by radius, • vtkGlyph3D.
Viewer • Xj3D Browser • Supports VRML and X3D, • Fails to draw VTK scalar bars! • Fails to import several vtkRenderers rendering in one window! • Difficult to implement custom interactivity. • VTK importers: • Does not support X3D! • Does not support vertex colors !!! • Easy to implement VTK widgets in remote environment. • Cassandra VTK viewer: • Inherits all VTK problems ...
Future Plans • Performance tests(2008): • Implementing other VTK classes/functionality, • HDF5 read/write speed for different dataset models, • VRML/X3D transfer options and protocols, • Reliable viewer and interactivity. • Powerful GRID visualization (2008-2009): • SE. Transferring part of the dataset (data file). • WN. Computational steering. • Visualization of large data (2009-2010): • Data streaming, • Distributed parallel processing, • Software ray-casting, sort-last rendering.