I’m currently in a talk from a research at Korea Advanced Institute of Science and Technology (KAIST) who is talking about two algorithms for mesh cache management, and you might want to check them out. First is OpenCCL from UNC Chapel Hill:
We have designed a novel algorithm to compute cache-oblivious layouts of data elements to minimize the access time of applications on the layouts. Our algorithm only requires an input graph that represents runtime access patterns of an application on the data elements. Our algorithm probabilistically measures the expected number of cache misses of a layout and computes a cache-oblivious layout that minimizes the expected number of cache misses. Moreover, the cache-oblivious layout is not optimized for any particular cache, block sizes, or replacement policies; it is constructed to work well under any cache parameters.
The other is OpenRACM from LLNL and KAIST:
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.
Using these he’s shown compressing a 20GB dataset down to 1GB, small enough to fit into main memory, and some fantastic real-time raytracing visualizations of the St Matthew dataset.