Random-Accessible Compressed Triangle Meshes Sung-eui Yoon Korea Advanced Institute of Sci. and Tech. (KAIST) Peter Lindstrom Lawrence Livermore National.

Slides:



Advertisements
Similar presentations
Multilevel Streaming for Out-of-Core Surface Reconstruction
Advertisements

Difference Engine: Harnessing Memory Redundancy in Virtual Machines by Diwaker Gupta et al. presented by Jonathan Berkhahn.
Distributed Approximate Spectral Clustering for Large- Scale Datasets FEI GAO, WAEL ABD-ALMAGEED, MOHAMED HEFEEDA PRESENTED BY : BITA KAZEMI ZAHRANI 1.
File Systems.
Memory-Efficient Sliding Window Progressive Meshes Pavlo Turchyn University of Jyvaskyla.
Distributed Breadth-First Search with 2-D Partitioning Edmond Chow, Keith Henderson, Andy Yoo Lawrence Livermore National Laboratory LLNL Technical report.
Mesh Layouts for Block-Based Caches Sung-Eui Yoon Peter Lindstrom Lawrence Livermore National Laboratory.
VLSH: Voronoi-based Locality Sensitive Hashing Sung-eui Yoon Authors: Lin Loi, Jae-Pil Heo, Junghwan Lee, and Sung-Eui Yoon KAIST

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Cache-Oblivious Mesh Layouts Sung-Eui Yoon, Peter Lindstrom Valerio Pascucci, Dinesh Manocha 1: University.
Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.
Martin Isenburg University of North Carolina at Chapel Hill Triangle Fixer: Edge-based Connectivity Compression.
File System Implementation CSCI 444/544 Operating Systems Fall 2008.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Quick-VDR: Interactive View-Dependent Rendering of Massive Models Sung-Eui Yoon Brian Salomon Russell Gayle.
Surface Simplification & Edgebreaker Compression for 2D Cel Animations Vivek Kwatra & Jarek Rossignac GVU Center, College of Computing Georgia Institute.
Lossless Compression of Floating-Point Geometry Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Jack Snoeyink UNC Chapel Hill.
Compressing Polygon Mesh Connectivity
Streaming Compression of Triangle Meshes Martin Isenburg University of California at Berkeley Jack Snoeyink University of North Carolina at Chapel Hill.
Ray Tracing Dynamic Scenes using Selective Restructuring Sung-eui Yoon Sean Curtis Dinesh Manocha Univ. of North Carolina at Chapel Hill Lawrence Livermore.
R-LODs: Fast LOD-based Ray Tracing of Massive Models Sung-Eui Yoon Lawrence Livermore National Lab. Christian Lauterbach Dinesh Manocha Univ. of North.
Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity.
Martin Isenburg UC Berkeley Streaming Meshes Peter Lindstrom LLNL.
An Introduction to 3D Geometry Compression and Surface Simplification Connie Phong CSC/Math April 2007.
1 Presenter: Chien-Chih Chen Proceedings of the 2002 workshop on Memory system performance.
Out-of-Core Compression for Gigantic Polygon Meshes Martin IsenburgStefan Gumhold University of North CarolinaWSI/GRIS at Chapel Hill Universität Tübingen.
VPC3: A Fast and Effective Trace-Compression Algorithm Martin Burtscher.
Data Management Techniques Sung-Eui Yoon KAIST URL:
CHP - 9 File Structures. INTRODUCTION In some of the previous chapters, we have discussed representations of and operations on data structures. These.
X-Stream: Edge-Centric Graph Processing using Streaming Partitions
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
« Performance of Compressed Inverted List Caching in Search Engines » Proceedings of the International World Wide Web Conference Commitee, Beijing 2008)
So far we have covered … Basic visualization algorithms Parallel polygon rendering Occlusion culling They all indirectly or directly help understanding.
Bounds on the Geometric Mean of Arc Lengths for Bounded- Degree Planar Graphs M. K. Hasan Sung-eui Yoon Kyung-Yong Chwa KAIST, Republic of Korea.
Impact of Java Compressed Heap on Mobile/Wireless Communication Mayumi KATO and Chia-Tien Dan Lo (itcc’05) Department of Computer Science, University of.
Mesh Data Structure. Meshes Boundary edge: adjacent to 1 face Regular edge: adjacent to 2 faces Singular edge: adjacent to >2 faces Mesh: straight-line.
ICPP 2012 Indexing and Parallel Query Processing Support for Visualizing Climate Datasets Yu Su*, Gagan Agrawal*, Jonathan Woodring † *The Ohio State University.
Adaptive Multi-path Prediction for Error Resilient H.264 Coding Xiaosong Zhou, C.-C. Jay Kuo University of Southern California Multimedia Signal Processing.
RACBVHs: Random-Accessible Compressed Bounding Volume Hierarchies Tae-Joon Kim Bochang Moon Duksu Kim Sung-Eui Yoon KAIST (Korea Advanced Institute of.
Performance Prediction for Random Write Reductions: A Case Study in Modelling Shared Memory Programs Ruoming Jin Gagan Agrawal Department of Computer and.
Interactive Visualization of Exceptionally Complex Industrial CAD Datasets Andreas Dietrich Ingo Wald Philipp Slusallek Computer Graphics Group Saarland.
The Simigle Image Search Engine Wei Dong
Saarland University, Germany B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes Sven Woop Gerd Marmitt Philipp Slusallek.
Click to edit Master title style HCCMeshes: Hierarchical-Culling oriented Compact Meshes Tae-Joon Kim 1, Yongyoung Byun 1, Yongjin Kim 2, Bochang Moon.
Fast BVH Construction on GPUs (Eurographics 2009) Park, Soonchan KAIST (Korea Advanced Institute of Science and Technology)
CPSC 404, Laks V.S. Lakshmanan1 External Sorting Chapter 13: Ramakrishnan & Gherke and Chapter 2.3: Garcia-Molina et al.
CS 153 Design of Operating Systems Spring 2015 Lecture 21: File Systems.
Spectral Compression of Mesh Geometry (Karni and Gotsman 2000) Presenter: Eric Lorimer.
An Efficient Linear Time Triple Patterning Solver Haitong Tian Hongbo Zhang Zigang Xiao Martin D.F. Wong ASP-DAC’15.
1 Outline Previous work on geometric and solid modeling Multiresolution models based on tetrahedral meshes for volume data analysis Current work on non-manifold.
Compiler and Runtime Support for Enabling Generalized Reduction Computations on Heterogeneous Parallel Configurations Vignesh Ravi, Wenjing Ma, David Chiu.
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.
Massive Semantic Web data compression with MapReduce Jacopo Urbani, Jason Maassen, Henri Bal Vrije Universiteit, Amsterdam HPDC ( High Performance Distributed.
Solid Modeling 2002 A Multi-resolution Topological Representation for Non-manifold Meshes Leila De Floriani, Paola Magillo, Enrico Puppo, Davide Sobrero.
Compact, Fast and Robust Grids for Ray Tracing Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday, June 25th.
Compact, Fast and Robust Grids for Ray Tracing
Riccardo Fellegara University of Genova Genova, Italy
Ohio State University Department of Computer Science and Engineering Servicing Range Queries on Multidimensional Datasets with Partial Replicas Li Weng,
Lawrence Livermore National Laboratory 1 Science & Technology Principal Directorate - Computation Directorate Scalable Fault Tolerance for Petascale Systems.
Graph Indexing From managing and mining graph data.
Efficient Ray Tracing of Compressed Point Clouds Erik Hubo Tom Mertens Tom Haber Philippe Bekaert Expertise Centre for Digital Media Hasselt University.
LIOProf: Exposing Lustre File System Behavior for I/O Middleware
Using Deduplicating Storage for Efficient Disk Image Deployment Xing Lin, Mike Hibler, Eric Eide, Robert Ricci University of Utah.
A Multiphase Approach to Efficient Surface Simplification Michael Garland Eric Shaffer University of Illinois at Urbana–Champaign Michael Garland Eric.
CSCE 990: Advanced Distributed Systems
Hybrid Ray Tracing of Massive Models
Cache-Efficient Layouts of BVHs and Meshes
Authors: Guanghan Ning, Zhi Zhang, Xiaobo Ren, Haohong Wang,
Degree-aware Hybrid Graph Traversal on FPGA-HMC Platform
Efficient Document Analytics on Compressed Data: Method, Challenges, Algorithms, Insights Feng Zhang †⋄, Jidong Zhai ⋄, Xipeng Shen #, Onur Mutlu ⋆, Wenguang.
Wavelet-based Compression of 3D Mesh Sequences
Presentation transcript:

Random-Accessible Compressed Triangle Meshes Sung-eui Yoon Korea Advanced Institute of Sci. and Tech. (KAIST) Peter Lindstrom Lawrence Livermore National Laboratory

2 Challenges ● Massive models ● Takes high disk/memory spaces ● Long data access time and low I/O performance ST. Matthew model (372M triangles) Boeing 777 model (470M triangles)

3 Goal ● Provide a compact mesh representation of a massive model for various applications ● Supports random access ● Provides various mesh access including connectivity (adjacency and incidence) queries ● Possibly, improves the performance of applications

4 Existing Mesh Representations ● Uncompressed indexed file format (e.g., ply or obj files) ● Provides random access for various applications ● But, does not support connectivity (adjacency and incidence) queries ● Require large data space (e.g., 3GB for 100M triangles) ● Have low I/O performance

5 External Mesh Representations ● Provides random and connectivity queries ● [Silva et al. 02, Cignoni et al. 03, Isenburg and Gumhold 03] ● But, takes more disk space and higher data access time

6 Cache-Coherent Mesh Layouts ● Store a mesh in a layout that closely matches runtime access patterns of applications [Yoon et al. 05 and 06] ● Reduces the number of cache misses during random accesses ● Achieve high I/O performance ● But, still require lots of space (e.g., 3GB for 100M triangles)

7 Mesh Compression ● Apply compression techniques to reduce the data size [Alliez and Gotsman 05] ● Mainly focus on efficient transmission or archival of data ● Limited to sequential accesses ● Impose one particular data layout maximizing the compression ratio ● Can lead to poor I/O performance

8 Compression Methods Supporting Random Accesses ● Quite common in video & audio encoding ● E.g., MPEG video ● [Choe et al. 04, Kim et al. 06] ● Support random accesses ● Target rendering applications Do not support general mesh access queries Also, unclear on I/O performance

9 Main Contributions ● Propose novel order-preserving compression method and runtime data access framework ● Serves as an compact out-of-core data access framework ● Provide random access and various mesh access queries ● Achieve high compression ratio and high I/O performance for massive models

10 Outline ● Overview ● Compression at preprocessing ● Runtime data access framework ● Results

11 Outline ● Overview ● Compression at preprocessing ● Runtime data access framework ● Results

12 Overview – Compression at Preprocessing ● Decompose the mesh into spatially coherent clusters ● Efficiently performed by decomposing an original layout ● Compress each cluster separately while preserving the mesh layout ● Each cluster serves as an access point Input mesh Clusters

13 Overview – Runtime Data Access Framework ● Decompress the cluster containing a data required by an application ● Dynamically construct connectivity information ● Provide correct connectivity information for the requested data even with partially loaded data TC Clusters Input mesh

14 Outline ● Overview ● Compression at preprocessing ● Runtime data access framework ● Results

15 Order-Preserving Cluster-Based Compression ● Built on top of streaming mesh compression [Isenburg et al. 05] ● Cluster has: ● Fixed number of consecutive triangles in the layout (e.g., 4k triangles) ● Vertices introduced by those triangles ● Our method encodes an triangle layout of the mesh ● Also, encodes cluster information (e.g., neighboring clusters)

16 Order-Preserving Cluster-Based Compression T0T0 T1T1 T2T2 T3T3 V0V0 V1V1 V2V2 V3V3 V4V4 V5V5 Cluster 1 Cluster 0 V0V0 V1V1 V2V2 T0T0 V3V3 T1T1 Cluster 1 V4V4 T2T2 V5V5 T3T3

17 Original Mesh Layout ● Defines clusters ● Layout should provide spatially coherent clusters Cache-oblivious mesh layout [Yoon et al. 05, Yoon and Lindstrom 06 Breadth-first layout Runtime access pattern

18 Outline ● Overview ● Compression at preprocessing ● Runtime mesh access framework ● Results

19 Runtime Mesh Access Framework ● First identify a cluster containing the requested data ● Slow since clusters have arbitrary elements ● Pages ● Have power-of-two elements & clusters overlapping with the page ● Requires only a few bit operations to find the cluster T id Clusters Pages T id C id Input mesh Clusters P id

20 In-Core Mesh Representation ● Similar to the corner tables [Rossignac 01, Joy et al. 03] ● Supports connectivity queries T0T0 T1T1 V0V0 V1V1 V2V2 V3V3 All the pointers associated with V 1 Compactly represented in the corner table

21 On-Demand Connectivity Construction V0V0 V1V1 V2V2 ● Dynamically construct the corner information as we load clusters Unloaded

22 On-Demand Connectivity Construction V0V0 V1V1 V2V2 ● Dynamically construct the corner information as we load clusters Unloaded Loaded Load clusters referencing the cluster

23 On-Demand Connectivity Construction V0V0 V1V1 V2V2 ● Dynamically construct the corner information as we load clusters Loaded

24 On-Demand Connectivity Construction V0V0 V1V1 V2V2 ● Construct the corner information as we load clusters ● Provide correct connectivity information with partially loaded data Loaded

25 Outline ● Overview ● Compression at preprocessing ● Runtime data access framework ● Results

26 Compression Results Puget Sound (134M tri.) RMI- Isosurface (102M tri.) St. Matthew (128M tri.) - 15% overhead over streaming compressor [Isenburg et al. 05], due to encoding cluster-related information - 50% overhead over [Touma and Gotsman 98] Compression, bits per vertex (bpv) Com- pression ratio 21:1 16:1 20:1

27 Runtime Benchmarks ● Iso-contouring ● Accesses sub-sets of the mesh ● Mesh re-ordering ● Accesses the whole mesh Require mesh traversal in a random order

28 Performance in Iso-Contouring ● Puget sound, 134M tri ● Uses the cache-oblivious mesh layout ● 178MB for the compressed mesh (21:1 compression ratio) ● 2.4 overall runtime performance improvement over using the uncompressed mesh Extracted iso-contour

29 Mesh Re-Ordering ● Re-order vertices and triangles of the mesh ● Achieve up to 6.4 times performance improvement over using un-compressed meshes

30 Performance Improvement ● Mainly due to higher I/O performance ● Reduce disk I/O time by using compression ● Use CPU power to efficiently decompress the data

31 Conclusions ● Novel order-preserving compression and runtime data access framework ● Provide random accesses and connectivity queries without decompressing the whole mesh ● Serve as an out-of-core data access framework ● Support a wide variety of applications ● Achieve up to 20:1 compression ratio ● Achieve high I/O performance and, thus, able to observe up to 6:1 performance improvement Source codes are available as OpenRACM

32 Acknowledgements ● Martin Isenburg ● Anonymous reviewers ● Members of KAIST theory of computation lab. and LLNL data analysis ● Funding sources ● Lawrence Livermore National Lab. ● KAIST seed grant

33 Any Questions? ● Thank you!

34 Benefits ● Provide random accesses and connectivity queries ● Without decompressing the whole mesh ● High I/O performance ● Preserve a cache-coherent layout ● Achieve high cache utilization T id C id Input mesh Clusters

35 Encoding Vertex Indices ● Provides three layers of compression contexts ● 1) three vertices of a previous triangle ● 2) active vertices in the current cluster ● 3) vertices in the neighboring clusters: two indices (cluster index, local index)

36 Mesh API ● GetVertex (…) ● GetTriangle (…) ● GetCorner (…) ● GetNextVertexCorner (…) ● GetNextTriangleCorner (…), etc Build more complex mesh access functions from the API

37 Ongoing and Future Work ● Efficiently handle modifications to the mesh ● Further optimize for parallel data access ● Extend it to hierarchies and apply to ray tracing and collision detection