140 likes | 162 Views
Design, implement, and assimilate new data products efficiently with over 15K daily images and 1GB data files. Maintain changing grids, file formats, and resource constraints through algebraic optimization for data independence.
E N D
Data Product Suite • Problem: • Design, Implementation, and Assimilation of new data products is expensive. • Constraints: • Efficiency • 15K+ daily images, 1GB+ data files • Maintainability • changing grids: quad cells • changing file formats: removed null values • changing resource constraints: new machines Algebraic Optimization Data Independence
Data Independence We want: • Different algorithms, each dependent on data characteristics. • Changes to data characteristics mean changes to recipe • Logical equivalences are obscured… vtkExtractGeometry vtkThreshold vtkExtractGrid vtkExtractVOI vtkThresholdPoints VTK:
cross restrict cross restrict Exposing Equivalences for Algebraic Optimization result(A) A: • result(B) = result(A), but cost(B) < cost(A) • Implies ‘Cross’ and ‘Restrict’ should be commutative • Difficult to determine which library routines, if any, have this property (“Documentational Semantics”) result(B) B:
3D Data Products F G H(x,y,b) r(z>b) r(region) b(s) V(z) F r(x,y) H(x,y,b) r(z>b) b(s) r(z) V(z)
Horizontal Slice F H H(x,y,b) r(z>b) slice b(s) V(z) r(z>b) b(s) apply H(x,y,b) <depth>
Vertical Slice F H(x,y,b) r(z>b) search b(s) V(z) P V P P P V
Vertical Slice H(x,y,b) search b(s) first P V(z) H(x,y,b) search b(s) interp P V(z) r(x,y) H(x,y,b) r(z>b) b(s) interp r(z) V(z) search P V(z)
Plume Volume F H(x,y,b) r(region) r(z>b) b(s) V(z) r(salt<26) area merge sum H(x,y,b) r(ocean) apply(*) length Time dependent V(z)
Another Optimization A=B r(salt<26) A merge C r(ocean) B A merge r(salt<26) r(ocean) C B A merge r(salt<26) C r(ocean) B B’
Software APIs API
Data Independence We want: Custom: makeSmallGrid() vtkExtractGeometry vtkExtractStructuredGrid vtkExtractThreshold vtkExtractGrid vtkExtractVOI vtkThresholdPoints0 VTK: