Lawrence Livermore National Laboratory (LLNL)
Korea Advanced Institute of Science and Technology (KAIST)

OpenRACM: Random-Accessible Compressed Meshes


With the exponential growth in size of geometric data, it is becoming increasingly important to make effective use of multilevel caches, limited disk storage, and bandwidth. In this direction, data compression has been widely studied. However, most of prior techcniques mainly focus on high compression ratio since they are targeting for sequential transmission or archival of data.

OpenRACM is a library to compute random-accessible compressed meshes and provide general mesh access API for triangle meshes. OpenRACM can drastically reduce the disk requirement and can be used for many applications. Moreover, OpenRACM can even improve the performance of runtime applications.

OpenRACM constructs random-accessble compressed triangle meshes, which can be used for runtime applications without decompressing the whole mesh. Moreover, OpenRACM library provides a general mesh access API. Through the API, user can tranparently access the compressed meshes without application-level data management. OpenRACM compresses an input mesh in the order that triangles appear in the mesh. Although OpenRACM does not require any specific a layout of an input mesh, cache-oblivious mesh layouts is the particular choice for the input mesh layout, since cache-oblivious mesh layouts show the best performance for I/O performance, compression ratio, cache utilization, and runtime performance of applications.

Please refer to the documentation for details regarding the API and the contents of the distribution.

OpenRAM has following features:
  • Random access: The compressed meshes by OpenRACM can be accessed in a random-order by the provided mesh access API.
  • Connectivity queires: OpenRACM supports general mesh access queires including incidency/adjacency queries. Therefore, the compressed meshes can be used for various applications without decompressing the whole compressed mesh.
  • Lower disk requirement: OpenRACM also achieves high compression ratio. For example, we observed up to 20:1 compression ratio for massive triangle meshes.
  • Improved performance: By reducing disk requirement, high I/O performance, and high cache-utilization, OpenRACM can even improve the performance of applications. Particularly, we experienced up to 6 times performance improvement on tested benchmarks including iso-contouring and layout re-computations.

System Requirements

  • OS: Microsoft Windows or Linux