29
DYP L ogo.jpeg A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPU Prof.Pramod Deshmukh Yogesh Lokare Ajay Katware Pankaj Patil 1-3 Department of Computer Science D.Y Patil School of Engineering Academy Savitribai Phule Pune University. National Conference on Advance Computing(NCAC), 2015 Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015) A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPU National Conference on Advance Computing(N / 16

A survey on massively Parallelism for indexing multidimensional datasets on the GPU

Embed Size (px)

Citation preview

Page 1: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

A Survey on Massively Parallelism for IndexingMultidimensional Datasets on the GPU

Prof.Pramod Deshmukh Yogesh Lokare Ajay Katware PankajPatil

1−3Department of Computer ScienceD.Y Patil School of Engineering Academy

Savitribai Phule Pune University.

National Conference on Advance Computing(NCAC), 2015

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 1

/ 16

Page 2: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Outline

1 Introduction

2 Literature Survey

3 Tree Traversal AlgorithmsParallel R-TreesMassively Parallel Three Phase ScanMassively Parallel Hilbert R-treeMassively Parallel Restart Scanning

4 Conclusion

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 2

/ 16

Page 3: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Introduction

GP-GPUThe General Purpose computing on Graphics ProcessingUnit(GP-GPU) has emerged as a new cost effective parallelcomputing paradigm in High Performance Computing research thatenables large amount of data to be processed in parallel. .

CUDACUDA(Computer Unified Device Architecture) allows programmers torun parallel algorithm on GPU’s Stream Processor(SMP).

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 3

/ 16

Page 4: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Introduction

GP-GPUThe General Purpose computing on Graphics ProcessingUnit(GP-GPU) has emerged as a new cost effective parallelcomputing paradigm in High Performance Computing research thatenables large amount of data to be processed in parallel. .

CUDACUDA(Computer Unified Device Architecture) allows programmers torun parallel algorithm on GPU’s Stream Processor(SMP).

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 3

/ 16

Page 5: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Introduction

Parallel Multi-Dimensional IndexingMulti-dimensional indexing structures have played an important rolein accelerating the access to subsets of large datasets.EX)R-tree,R*-tree.

Multidimensional Range QueryRetrieves data that overlaps given range of values.Ex) SELECT temperatureFROM datasetWHERE latitude BETWEEN 20 AND 30AND longitude BETWEEN 50 AND 60

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 4

/ 16

Page 6: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Introduction

Parallel Multi-Dimensional IndexingMulti-dimensional indexing structures have played an important rolein accelerating the access to subsets of large datasets.EX)R-tree,R*-tree.

Multidimensional Range QueryRetrieves data that overlaps given range of values.Ex) SELECT temperatureFROM datasetWHERE latitude BETWEEN 20 AND 30AND longitude BETWEEN 50 AND 60

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 4

/ 16

Page 7: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Literature survey

Author Name of Paper Publication Year Description

J. Kim Exploiting Massive Parallelism IEEE Transaction on MPRSWon-KiJeong for Indexing Multi-dimensional Parallel and Aug-15 MPHR

and Beomseok Nam Dataset on GPU distributed systems

Jinwoong Kim Parallel Multi-Dimensional Journal on Breaded parallel andBeomseok Nam range query processing Parallel and 2013 data parallel

with R-trees on GPU distrib. computing tree traversal

L.Luo,M.D.Wong Parallel implementation of 17th Asia South 2012 Parallel R-Trees,and L.Leong R-Trees on the GPU pacific Des.Autom.Conf SIMD tech. in

efficient binary tree search

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 5

/ 16

Page 8: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Agenda

1 Introduction

2 Literature Survey

3 Tree Traversal AlgorithmsParallel R-TreesMassively Parallel Three Phase ScanMassively Parallel Hilbert R-treeMassively Parallel Restart Scanning

4 Conclusion

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 6

/ 16

Page 9: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Tree Traversal Algorithms

Parallel R-trees(Parallel Recursive Trees)

The R-tree is a data structure for organizing and queryingmultidimensional non-uniform, overlapping data.

Each R-tree node contains a certain number of index entries, each ofwhich consists of a minimum bounding rectangle (MBR) and pointer toa spatial object if it is a leaf node, or a pointer to its child node if it isa non-leaf node.

Drawback of R-trees: R-trees are not well suited for the GPU becauseof their irregular memory access patterns and recursive backtrackingfunctions calls.

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 7

/ 16

Page 10: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Tree Traversal Algorithms

Parallel R-trees(Parallel Recursive Trees)

The R-tree is a data structure for organizing and queryingmultidimensional non-uniform, overlapping data.Each R-tree node contains a certain number of index entries, each ofwhich consists of a minimum bounding rectangle (MBR) and pointer toa spatial object if it is a leaf node, or a pointer to its child node if it isa non-leaf node.

Drawback of R-trees: R-trees are not well suited for the GPU becauseof their irregular memory access patterns and recursive backtrackingfunctions calls.

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 7

/ 16

Page 11: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Tree Traversal Algorithms

Parallel R-trees(Parallel Recursive Trees)

The R-tree is a data structure for organizing and queryingmultidimensional non-uniform, overlapping data.Each R-tree node contains a certain number of index entries, each ofwhich consists of a minimum bounding rectangle (MBR) and pointer toa spatial object if it is a leaf node, or a pointer to its child node if it isa non-leaf node.

Drawback of R-trees: R-trees are not well suited for the GPU becauseof their irregular memory access patterns and recursive backtrackingfunctions calls.

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 7

/ 16

Page 12: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Tree Traversal Algorithms

Parallel R-trees(Parallel Recursive Trees)

The R-tree is a data structure for organizing and queryingmultidimensional non-uniform, overlapping data.Each R-tree node contains a certain number of index entries, each ofwhich consists of a minimum bounding rectangle (MBR) and pointer toa spatial object if it is a leaf node, or a pointer to its child node if it isa non-leaf node.

Drawback of R-trees: R-trees are not well suited for the GPU becauseof their irregular memory access patterns and recursive backtrackingfunctions calls.

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 7

/ 16

Page 13: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Agenda

1 Introduction

2 Literature Survey

3 Tree Traversal AlgorithmsParallel R-TreesMassively Parallel Three Phase ScanMassively Parallel Hilbert R-treeMassively Parallel Restart Scanning

4 Conclusion

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 8

/ 16

Page 14: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Tree Traversal Algorithms

MPTS(Massively Parallel 3 Phase Scan)

Leftmost search: -choose the leftmost child node no matter how manychild nodes overlap.

Rightmost Search: -choose the rightmost child node no matter howmany child nodes overlap.Parallel Scanning: -In between two leaf nodes,perform massivelyparallel scanning to filter out non-overlapping data elements.

Figure: MPTS R-tree search

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 9

/ 16

Page 15: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Tree Traversal Algorithms

MPTS(Massively Parallel 3 Phase Scan)

Leftmost search: -choose the leftmost child node no matter how manychild nodes overlap.Rightmost Search: -choose the rightmost child node no matter howmany child nodes overlap.

Parallel Scanning: -In between two leaf nodes,perform massivelyparallel scanning to filter out non-overlapping data elements.

Figure: MPTS R-tree search

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 9

/ 16

Page 16: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Tree Traversal Algorithms

MPTS(Massively Parallel 3 Phase Scan)

Leftmost search: -choose the leftmost child node no matter how manychild nodes overlap.Rightmost Search: -choose the rightmost child node no matter howmany child nodes overlap.Parallel Scanning: -In between two leaf nodes,perform massivelyparallel scanning to filter out non-overlapping data elements.

Figure: MPTS R-tree search

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 9

/ 16

Page 17: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Tree Traversal Algorithms

MPTS(Massively Parallel 3 Phase Scan)

Leftmost search: -choose the leftmost child node no matter how manychild nodes overlap.Rightmost Search: -choose the rightmost child node no matter howmany child nodes overlap.Parallel Scanning: -In between two leaf nodes,perform massivelyparallel scanning to filter out non-overlapping data elements.

Figure: MPTS R-tree searchProf.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 9

/ 16

Page 18: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Agenda

1 Introduction

2 Literature Survey

3 Tree Traversal AlgorithmsParallel R-TreesMassively Parallel Three Phase ScanMassively Parallel Hilbert R-treeMassively Parallel Restart Scanning

4 Conclusion

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 10

/ 16

Page 19: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Algorithm

MPHR(Massively Parallel Hilbert R-trees)

Drawbacks Of MPTS-MPTS reduces the number of leaf nodes to be accessed, but still itaccesses a large number of leaf nodes that do not have requested data.

To avoid drawbacks of MPTS we designed a variant of R-trees thatwork on the GPU without stack and does not access leaf nodes that donot have requested data called MPHR-Tree.

Hilbert curve is well known for it spatial clustering property.-Sort the data along with Hilbert curve.-The gap between leftmost leaf node and the rightmost leaf nodewould be reduced.-The number of visited nodes would decrease.

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 11

/ 16

Page 20: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Algorithm

MPHR(Massively Parallel Hilbert R-trees)

Drawbacks Of MPTS-MPTS reduces the number of leaf nodes to be accessed, but still itaccesses a large number of leaf nodes that do not have requested data.To avoid drawbacks of MPTS we designed a variant of R-trees that

work on the GPU without stack and does not access leaf nodes that donot have requested data called MPHR-Tree.

Hilbert curve is well known for it spatial clustering property.-Sort the data along with Hilbert curve.-The gap between leftmost leaf node and the rightmost leaf nodewould be reduced.-The number of visited nodes would decrease.

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 11

/ 16

Page 21: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Algorithm

MPHR(Massively Parallel Hilbert R-trees)

Drawbacks Of MPTS-MPTS reduces the number of leaf nodes to be accessed, but still itaccesses a large number of leaf nodes that do not have requested data.To avoid drawbacks of MPTS we designed a variant of R-trees that

work on the GPU without stack and does not access leaf nodes that donot have requested data called MPHR-Tree.

Hilbert curve is well known for it spatial clustering property.-Sort the data along with Hilbert curve.-The gap between leftmost leaf node and the rightmost leaf nodewould be reduced.-The number of visited nodes would decrease.

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 11

/ 16

Page 22: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Agenda

1 Introduction

2 Literature Survey

3 Tree Traversal AlgorithmsParallel R-TreesMassively Parallel Three Phase ScanMassively Parallel Hilbert R-treeMassively Parallel Restart Scanning

4 Conclusion

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 12

/ 16

Page 23: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Algorithm

MPRS(Massively Parallel Restart Scanning)

For a given range query, no matter how many MBRs of child nodesoverlap a given query range, our MPRS algorithm always selects theleftmost overlapping child node unless all its leaf nodes have beenalready visited.

Figure: MPRS with MPHR-tree structures

MPRS tree traversal algorithm:(i) uses a large number of GPU threads to process a single query in aSIMD fashion in order to improve the query execution time(ii) avoids warp-divergence by fetching only a single tree node in eachstep for a block of threads in a streaming multiprocessor(iii) avoids recursion or stack operations by restarting tree traversal andavoiding visiting previously visited tree nodes by tracking the largestleaf index of visited tree nodes(iv) and accesses mostly contiguous memory block by leaf nodescanning.

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 13

/ 16

Page 24: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Algorithm

MPRS(Massively Parallel Restart Scanning)

For a given range query, no matter how many MBRs of child nodesoverlap a given query range, our MPRS algorithm always selects theleftmost overlapping child node unless all its leaf nodes have beenalready visited.

Figure: MPRS with MPHR-tree structures

MPRS tree traversal algorithm:(i) uses a large number of GPU threads to process a single query in aSIMD fashion in order to improve the query execution time(ii) avoids warp-divergence by fetching only a single tree node in eachstep for a block of threads in a streaming multiprocessor(iii) avoids recursion or stack operations by restarting tree traversal andavoiding visiting previously visited tree nodes by tracking the largestleaf index of visited tree nodes(iv) and accesses mostly contiguous memory block by leaf nodescanning.

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 13

/ 16

Page 25: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Conclusion

This paper presents MPHR and MPRS algorithms improve theutilization of GPU architecture for range query processing, and avoidsthe irregular search path of transforming the tree traversal probleminto a sequence data processing problem.

MPRS algorithm offers traversing hierarchical tree structures withmostly contiguous memory access patterns without recursion.

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 14

/ 16

Page 26: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Conclusion

This paper presents MPHR and MPRS algorithms improve theutilization of GPU architecture for range query processing, and avoidsthe irregular search path of transforming the tree traversal probleminto a sequence data processing problem.

MPRS algorithm offers traversing hierarchical tree structures withmostly contiguous memory access patterns without recursion.

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 14

/ 16

Page 27: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

Conclusion

This paper presents MPHR and MPRS algorithms improve theutilization of GPU architecture for range query processing, and avoidsthe irregular search path of transforming the tree traversal probleminto a sequence data processing problem.

MPRS algorithm offers traversing hierarchical tree structures withmostly contiguous memory access patterns without recursion.

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 14

/ 16

Page 28: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

For Further Reading I

Jinwoong Kim,Won-ki Jeong, and Beomseok NamExploiting Massive Parallelism for Multi-Dimensional Datasets on theGPUIEEE Trans.Parallel Distrib.sys., Volume 26, Number 8, August-2015

Jinwoong,Beomseok NamParallel Multi-Dimensional Range Query ProcessingJr.Parallel Distributed system,2013.

L.Luo. Martin D.F.Wong,and Lance LeongParallel Implementation of R-trees on the GPU17th Asia and south Pacific Design AutomationConference(ASP-DAC,2012

NVIDIA CUDA[Online].Available:http//www.nvidia.com ,2014

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 15

/ 16

Page 29: A survey on massively Parallelism for indexing multidimensional datasets on the GPU

DYPLogo.jpeg

For Further Reading II

Antonim GuttmanR-trees:A dynamic index structure for spatial searching.ACM SIGMOD International Conferences on Management ofData,1984

Prof.Pramod Deshmukh, Yogesh Lokare, Ajay Katware, Pankaj Patil (NCAC, 2015)A Survey on Massively Parallelism for Indexing Multidimensional Datasets on the GPUNational Conference on Advance Computing(NCAC), 2015 16

/ 16