CS133 Computational Geometry Computational Geometry on Big Data 1
Big Geometric Data Geotagged Satellite Imagery Check ins Tweets Billions of check ins More than 17 PB Billions of tweets Millions more every day 2
MapReduce Map Reduce Map Reduce Map Reduce Map Reduce Input Big Data Split Input Shuffle Output 3
CG Algorithms on big data Utilize divide and conquer algorithms 1. Partition the input across machines 2. (Optional) prune partitions that do not contribute to answer 3. Apply the algorithm locally in each partition 4. Combine the partial answers to compute the final result
Examples Convex hull algorithm Closest pair Farthest pair Voronoi diagram/Delaunay triangulation 5
Data Partitioning 6
Spatial Partitioning 7
Skyline (Maximal Vectors) Select all non-dominated points Input Output 𝑦 1 , 𝑧 1 ≻ 𝑦 2 , 𝑧 2 ⟺ 𝑦 1 ≥ 𝑦 2 ∧ 𝑧 1 ≥ 𝑧 2 8
Skyline in MapReduce Non-spatial partitioning Spatial partitioning Partition Pruning Local skyline Global skyline
Skyline Pruning 𝑞 1 𝑞 1 𝑞 3 𝑞 2 𝑞 2 Partition domination rules 𝑞 1 . 𝑦𝑛𝑗𝑜, 𝑞 1 . 𝑧𝑛𝑗𝑜 ≻ 𝑞 2 . 𝑦𝑛𝑏𝑦, 𝑞 2 . 𝑧𝑛𝑏𝑦 𝑞 1 . 𝑦𝑛𝑗𝑜, 𝑞 1 . 𝑧𝑛𝑏𝑦 ≻ 𝑞 3 . 𝑦𝑛𝑏𝑦, 𝑞 3 . 𝑧𝑛𝑏𝑦 𝑞 1 . 𝑦𝑛𝑏𝑦, 𝑞 1 . 𝑧𝑛𝑗𝑜 ≻ 𝑞 2 . 𝑦𝑛𝑏𝑦, 𝑞 2 . 𝑧𝑛𝑏𝑦 10
Convex Hull 11
Convex Hull in MapReduce Non-spatial partitioning Spatial partitioning Partition Pruning Local hull Global hull
Pruning The intersection of the four skyline pruning rules with all directions 13
Closest Pair Find the pair of points that have the shortest Euclidean distance Input Output
Closest Pair in MapReduce Non-spatial partitioning Spatial partitioning Partition Local closest pair Global closest pair
Farthest Pair Find the pair of points that have the largest Euclidean distance Input Output
Farthest Pair in MapReduce Non-spatial partitioning Spatial partitioning Partition Pruning Local farthest pair Global farthest pair
Voronoi Diagram Partitioning Local VD Pruning Vertical Merge Pruning Horizontal Merge Final output
Voronoi Diagram Pruning 19
Conclusion Computational geometry algorithms can be parallelized Both non-spatial and spatial partitioning can be used Spatial partitioning enables some pruning techniques This method applies to several computational geometry algorithms
Recommend
More recommend