P ARALLEL O RTHOGONAL R ANGE S EARCHING Project Presentation by Savitha Parur Venkitachalam.

Slides:



Advertisements
Similar presentations
Introduction to Algorithms
Advertisements

Lecture outline Nearest-neighbor search in low dimensions
Nearest Neighbor Search
INTERVAL TREE & SEGMENTATION TREE
Parallel Algorithms in Computational Geometry
Augmenting Data Structures Advanced Algorithms & Data Structures Lecture Theme 07 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
COSC 6114 Prof. Andy Mirzaian. References: [M. de Berge et al] chapter 5 Applications: Data Base GIS, Graphics: crop-&-zoom, windowing.
Multidimensional Indexing
Searching on Multi-Dimensional Data
Orthogonal Range Searching Computational Geometry, WS 2006/07 Lecture 13 – Part II Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für.
Multimedia Indexing and Retrieval Kowshik Shashank Project Advisor: Dr. C.V. Jawahar.
Spatial Indexing I Point Access Methods. PAMs Point Access Methods Multidimensional Hashing: Grid File Exponential growth of the directory Hierarchical.
Orthogonal Range Searching 3Computational Geometry Prof. Dr. Th. Ottmann 1 Orthogonal Range Searching 1.Linear Range Search : 1-dim Range Trees 2.2-dimensional.
Orthogonal Range Searching-1Computational Geometry Prof. Dr. Th. Ottmann 1 Orthogonal Range Searching 1.Linear Range Search : 1-dim Range Trees 2.2-dimensional.
Computational Geometry, WS 2007/08 Lecture 15 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für Angewandte Wissenschaften.
Lecture 5: Orthogonal Range Searching Computational Geometry Prof. Dr. Th. Ottmann 1 Orthogonal Range Searching 1.Linear Range Search : 1-dim Range Trees.
Orthogonal Range Searching Computational Geometry, WS 2006/07 Lecture 13 – Part III Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für.
Lars Arge1, Mark de Berg2, Herman Haverkort3 and Ke Yi1
Orthogonal Range Searching Computational Geometry, WS 2006/07 Lecture 13 - Part I Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für.
Advanced Topics in Algorithms and Data Structures Page 1 An overview of lecture 3 A simple parallel algorithm for computing parallel prefix. A parallel.
O RTHOGONAL R ANGE S EARCHING الهه اسلامی فروردین 92, 1.
Chapter 9 contd. Binary Search Trees Anshuman Razdan Div of Computing Studies
AALG, lecture 11, © Simonas Šaltenis, Range Searching in 2D Main goals of the lecture: to understand and to be able to analyze the kd-trees and.
FLANN Fast Library for Approximate Nearest Neighbors
Orthogonal Range Searching I Range Trees. Range Searching S = set of geometric objects Q = query object Report/Count objects in S that intersect Q Query.
1 Geometric Intersection Determining if there are intersections between graphical objects Finding all intersecting pairs Brute Force Algorithm Plane Sweep.
UNC Chapel Hill M. C. Lin Orthogonal Range Searching Reading: Chapter 5 of the Textbook Driving Applications –Querying a Database Related Application –Crystal.
Private Content Based Image Retrieval Shashank J, Kowshik P, Kannan Srinathan and C.V. Jawahar Is it possible for an image database to respond accurately.
Indexing for Multidimensional Data An Introduction.
14/13/15 CMPS 3130/6130 Computational Geometry Spring 2015 Windowing Carola Wenk CMPS 3130/6130 Computational Geometry.
B-trees and kd-trees Piotr Indyk (slides partially by Lars Arge from Duke U)
Mehdi Mohammadi March Western Michigan University Department of Computer Science CS Advanced Data Structure.
Multi-dimensional Search Trees
PRESENTED BY – GAURANGI TILAK SHASHANK AGARWAL Collision Detection.
2IL50 Data Structures Fall 2015 Lecture 9: Range Searching.
Orthogonal Range Search
Lecture 2: External Memory Indexing Structures CS6931 Database Seminar.
Preview  Graph  Tree Binary Tree Binary Search Tree Binary Search Tree Property Binary Search Tree functions  In-order walk  Pre-order walk  Post-order.
Computational Geometry Piyush Kumar (Lecture 5: Range Searching) Welcome to CIS5930.
Multi-dimensional Search Trees CS302 Data Structures Modified from Dr George Bebis.
Spatial Indexing Techniques Introduction to Spatial Computing CSE 5ISC Some slides adapted from Spatial Databases: A Tour by Shashi Shekhar Prentice Hall.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2015.
CSE554Contouring IISlide 1 CSE 554 Lecture 3: Contouring II Fall 2011.
CMPS 3130/6130 Computational Geometry Spring 2015
Lecture 15 Computational Geometry Geometry sweeping Geometric preliminaries Some basics geometry algorithms.
Lecture 7: Searching a Tree Neil Ghani University of Strathclyde.
UNC Chapel Hill M. C. Lin Geometric Data Structures Reading: Chapter 10 of the Textbook Driving Applications –Windowing Queries Related Application –Query.
School of Computing Clemson University Fall, 2012
CSE 554 Lecture 5: Contouring (faster)
Geometric Data Structures
Recursive Objects (Part 4)
Multidimensional Access Structures
CMPS 3130/6130 Computational Geometry Spring 2017
Binary search tree. Removing a node
CISC220 Fall 2009 James Atlas Lecture 13: Binary Trees.
Chapter 10.1 Binary Search Trees
CSE 5311 Advanced Algorithms
CMPS 3130/6130 Computational Geometry Spring 2017
KD Tree A binary search tree where every node is a
Advanced Topics in Data Management
Orthogonal Range Searching and Kd-Trees
CPSC 531: System Modeling and Simulation
Lecture 26 Multiway Search Trees Chapter 11 of textbook
Reporting (1-D) Given a set of points S on the line, preprocess them to build structure that allows efficient queries of the from: Given an interval I=[x1,x2]
Orthogonal Range Searching Querying a Database
B-Tree.
CMPS 3130/6130 Computational Geometry Spring 2017
Shape-based Registration
CMPS 3130/6130 Computational Geometry Spring 2017
Data Mining CSCI 307, Spring 2019 Lecture 23
Presentation transcript:

P ARALLEL O RTHOGONAL R ANGE S EARCHING Project Presentation by Savitha Parur Venkitachalam

O RTHOGONAL R ANGE S EARCHING - REVIEW Input : a) Given a set of point P ={p 1, p 2,…..p n } in the d- dimensional space with coordinate axes (x 1, x 2 …x d ) b) A query range Output: Report all the points that lie within the d-range Project focuses on 2D Range searching

P REPROCESSING Process the data and store it in a KD tree KD tree is a binary tree in which every node is a K-dimensional point

B UILD KD T REE - P SEUDOCODE Input The set of data D The current depth of the tree which will be zero initially Output Root of the KD tree storing the set of data Buildkdtree (D, depth) If (D has only one point) then return this point else if (depth is even) Split D into two subsets through the median of X coordinates i.e. with a vertical line else Split D into two subsets through the median of Y coordinates i.e. with a horizontal line. Create a node with the median value and whose children are defined as Left_child  Buildkdtree(D 1, depth+1) Right_child  Buildkdtree(D 2, depth+1) Return node

R ANGE SEARCHING IN KD TREE Input: 1) A node of the KD tree 2) Input Query range Searchkdtree (node N, Range R) { If (N is a leaf) Report the value at N if it falls in the range. Else Consider the left subtree. If (left subtree is fully contained in the R) Report the left subtree Else if (left subtree intersects R) Searchkdtree(leftsubtree, R) Consider the right subtree. If (right subtree is fully contained in the R) Report the right subtree Else if (right subtree intersects R) Searchkdtree(rightsubtree, R) }

P ARALLEL A LGORITHM Data Distribution In the real world, databases exists in different processors For simulating the scenario, initially server has all the data Server scatters the data among the processors

P ARALLEL A LGORITHM

Range searching Server sends the query range to all the processors Processors search their local KD tree for the data in the range Processors report the results to the server Server takes the union of the results and reports it to the user

C OMPLEXITY – R ANGE S EARCHING Range searching in KD trees has a complexity of O ( dn 1 − 1/ d + k ), k is the total number of points included in the search, n is the total number of points and d is the dimensions Parallel range search will have a complexity of O( d(n/p) 1 − 1 d + k ) + communication time

R ESULTS - P ERFORMANCE #pTimespeed up

R ESULTS Time taken for varying load and varying #processors Range - size/2 Sizes

T ASKS PENDING Research on the scope of multi threading with in each processor Read Input data from a file to measure performance accurately Check for any redundant data structures or unwanted copying of data that may affect performance Writing the output to a file Testing for accuracy on a data with predictable ranges More testing with varying ranges

R EFERENCES Parallel Computational Geometry – Aggarwal. A; O'Dunlaing. C; Yap.C Parallel Processing and Applied Mathematics: 5th International Conference, PPAM 2003, Czestochowa, Poland, September 7-10, Revised Paper Computational Geometry - Algorithms and Applications - Mark de Berg, TU Eindhoven, Otfried Cheong, KAIST,Marc van Kreveld, Mark Overmars

Q UESTIONS