Post on 26-Dec-2015
CoreWall Prototype
Presented by Arun Rao@ EVL’s Tech Meeting
8/25/04
Background What is a “core”?
Background Received training as a core lab
technician Made to understand “the process”
Sensor scans on whole cores Splitting cores Imaging cores Sensor scans on split cores Initial Core Description (ICD)
Machinery & Data
So what’s the problem? Line Scan Images of Cores are
“big” 50 MB on average 10 pixels/mm resolution
Scientists desire to look at images and data right next to each other
Solution? Use available libraries for loading
different image formats Draw over multiple screens using a
multi-headed video card Try a couple ideas to get a starting
point Keep a notebook in hand for
random thoughts!!!!
Prototype 1 Done by drawing pixels every
frame Results: Slow!!
Prototype 2 Take a textured polygon approach
to drawing images Has advantages over drawing pixels
every frame Has drawbacks
Textured Polygon Rendering of Images Textures stored in local video memory
Often in Least Recently Used paging system Can be compressed and decompressed by
video card hardware Texture Quadtree
For dynamic allocation textures (actually not yet implemented)
Acts as a multi-resolution control to be able to make better use of available memory
Problems? Multiheaded cards are on the PCI bus
Paging textures to video cards can be slow Code is far from optimized causing pointless
cache misses for texture usage/lookup “Too many” OpenGL contexts
4 OpenGL contexts on a single machine Extra time chewed up by context switching
User Interface? Needed a way to bring in tables,
graphs and images easily Needed a way to organize tables,
images, graphs One way suitable for testing slight
differences in rendering approaches One way suitable for
controlling/modifying data based on user events
Features Finished For Florida Natural organization of core data and
images Ability to:
Load multiple images of different core sections Load multiple sets of data tables Create and display graphs of data relative to a
core section Move whole groups of cores Move individual core sections and have the
graphs move with them It can make coffee too!
The Future Incorporate rendering technique
into next JuxtaView Use LambdaRAM and Optistore (or
similar types of services) Obtain experimental data for variable
controls (e.g. texture dimensions) Lots of late nights
Cheers