P ARALLEL S KYLINE Q UERIES Foto Afrati Paraschos Koutris Dan Suciu Jeffrey Ullman University of Washington.

Slides:



Advertisements
Similar presentations
1+eps-Approximate Sparse Recovery Eric Price MIT David Woodruff IBM Almaden.
Advertisements

Multiple Processor Systems
A D ICHOTOMY ON T HE C OMPLEXITY OF C ONSISTENT Q UERY A NSWERING FOR A TOMS W ITH S IMPLE K EYS Paris Koutris Dan Suciu University of Washington.
Load Balancing Parallel Applications on Heterogeneous Platforms.
CAN 1.Distributed Hash Tables a)DHT recap b)Uses c)Example – CAN.
Scalable and Dynamic Quorum Systems Moni Naor & Udi Wieder The Weizmann Institute of Science.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 6 Instructor: Haifeng YU.
Scalable Content-Addressable Network Lintao Liu
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Parallel Sorting Sathish Vadhiyar. Sorting  Sorting n keys over p processors  Sort and move the keys to the appropriate processor so that every key.
Gossip and its application Presented by Anna Kaplun.
1 Parallel Parentheses Matching Plus Some Applications.
CSCI-455/552 Introduction to High Performance Computing Lecture 11.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph G=(V,E), |V|=n, |E|=m, any set of nodes that are not adjacent.
CWI PNA2, Reading Seminar, Presented by Yoni Nazarathy EURANDOM and the Dept. of Mechanical Engineering, TU/e Eindhoven September 17, 2009 An Assortment.
Lecture 7-2 : Distributed Algorithms for Sorting Courtesy : Michael J. Quinn, Parallel Programming in C with MPI and OpenMP (chapter 14)
PRAM (Parallel Random Access Machine)
Parallel Strategies Partitioning consists of the following steps –Divide the problem into parts –Compute each part separately –Merge the results Divide.
Parametric Throughput Analysis of Synchronous Data Flow Graphs
A COURSE ON PROBABILISTIC DATABASES Dan Suciu University of Washington June, 2014Probabilistic Databases - Dan Suciu 1.
S KEW IN P ARALLEL Q UERY P ROCESSING Paraschos Koutris Paul Beame Dan Suciu University of Washington PODS 2014.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph, any set of nodes that are not adjacent.
Reference: Message Passing Fundamentals.
1 Lecture 8 Architecture Independent (MPI) Algorithm Design Parallel Computing Fall 2007.
1 Lecture 11 Sorting Parallel Computing Fall 2008.
Parallel Algorithms for Relational Operations. Many processors...and disks There is a collection of processors. –Often the number of processors p is large,
CSCI 4440 / 8446 Parallel Computing Three Sorting Algorithms.
1 A Scalable Content- Addressable Network S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Shenker Proceedings of ACM SIGCOMM ’01 Sections: 3.5 & 3.7.
CS 584. Sorting n One of the most common operations n Definition: –Arrange an unordered collection of elements into a monotonically increasing or decreasing.
Clustering with Bregman Divergences Arindam Banerjee, Srujana Merugu, Inderjit S. Dhillon, Joydeep Ghosh Presented by Rohit Gupta CSci 8980: Machine Learning.
Chapter 5 Parallel Join 5.1Join Operations 5.2Serial Join Algorithms 5.3Parallel Join Algorithms 5.4Cost Models 5.5Parallel Join Optimization 5.6Summary.
RAM and Parallel RAM (PRAM). Why models? What is a machine model? – A abstraction describes the operation of a machine. – Allowing to associate a value.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
Parallel Programming in C with MPI and OpenMP
C OMMUNICATION S TEPS F OR P ARALLEL Q UERY P ROCESSING Paraschos Koutris Paul Beame Dan Suciu University of Washington PODS 2013.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
A D ICHOTOMY ON T HE C OMPLEXITY OF C ONSISTENT Q UERY A NSWERING FOR A TOMS W ITH S IMPLE K EYS Paris Koutris Dan Suciu University of Washington.
1 Introduction to Parallel Computing. 2 Multiprocessor Architectures Message-Passing Architectures –Separate address space for each processor. –Processors.
MIT Consistent Hashing: Load Balancing in a Changing World David Karger, Eric Lehman, Tom Leighton, Matt Levine, Daniel Lewin, Rina Panigrahy.
Time Parallel Simulations II ATM Multiplexers and G/G/1 Queues.
Preference elicitation Communicational Burden by Nisan, Segal, Lahaie and Parkes October 27th, 2004 Jella Pfeiffer.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
A NSWERING C ONJUNCTIVE Q UERIES W ITH I NEQUALITIES Paris Koutris 1 Tova Milo 2 Sudeepa Roy 1 Dan Suciu 1 ICDT University of Washington 2 Tel Aviv.
© 2006 Pearson Addison-Wesley. All rights reserved13 B-1 Chapter 13 (continued) Advanced Implementation of Tables.
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph G=(V,E), |V|=n, |E|=m, any set of nodes that are not adjacent.
RAM, PRAM, and LogP models
Bulk Synchronous Processing (BSP) Model Course: CSC 8350 Instructor: Dr. Sushil Prasad Presented by: Chris Moultrie.
Frank Dehnewww.dehne.net Parallel Data Cube Data Mining OLAP (On-line analytical processing) cube / group-by operator in SQL.
Lecture 15- Parallel Databases (continued) Advanced Databases Masood Niazi Torshiz Islamic Azad University- Mashhad Branch
Ihab Mohammed and Safaa Alwajidi. Introduction Hash tables are dictionary structure that store objects with keys and provide very fast access. Hash table.
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
From Theory to Practice: Efficient Join Query Processing in a Parallel Database System Shumo Chu, Magdalena Balazinska and Dan Suciu Database Group, CSE,
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
SysRép / 2.5A. SchiperEté The consensus problem.
HYPERCUBE ALGORITHMS-1
Parallel Evaluation of Conjunctive Queries Paraschos Koutris and Dan Suciu University of Washington PODS 2011, Athens.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
1 Distributed Vertex Coloring. 2 Vertex Coloring: each vertex is assigned a color.
CSCI-455/552 Introduction to High Performance Computing Lecture 21.
Parallel Computation of Skyline Queries COSC6490A Fall 2007 Slawomir Kmiec.
1 Parallel Datacube Construction: Algorithms, Theoretical Analysis, and Experimental Evaluation Ruoming Jin Ge Yang Gagan Agrawal The Ohio State University.
BAHIR DAR UNIVERSITY Institute of technology Faculty of Computing Department of information technology Msc program Distributed Database Article Review.
Efficient Join Query Evaluation in a Parallel Database System
Maximal Independent Set
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Minwise Hashing and Efficient Search
EEC 688/788 Secure and Dependable Computing
Presentation transcript:

P ARALLEL S KYLINE Q UERIES Foto Afrati Paraschos Koutris Dan Suciu Jeffrey Ullman University of Washington

W HAT IS T HE S KYLINE ? A d-dimensional set R A point x dominates x’ if forall k: x(k) ≤ x’(k) The skyline of R are all non-dominated points of R domination 2 skyline

C ONTRIBUTIONS We design algorithms for Skyline Queries based on two parallel models: – MP: perfect load balancing [Koutris, Suciu ‘11] – GMP: weaker load balancing [Afrati, Ullman ’10] We present 3 algorithms with theoretical guarantees for: – # synchronization steps – load balance 3

P REVIOUS A PPROACHES Several efficient algorithms for skyline queries exist in the literature Parallel algorithms use various partitionings: – Grid-based partitioning [WZFZAA ’06] – Random partitioning [CRZ ’07] – Angle-based space partitioning [VDK ’08] – Hyperplane projections [KYZ ’11] Previous approaches typically require a logarithmic number of communication steps: our algorithms achieve 1 or 2 steps 4

M ASSIVELY P ARALLEL M ODELS P servers: R partitioned into R 1,R 2,…, R P n = |R| The algorithm alternates between communication and computation steps MP model: each node holds O(n/P) data GMP model: each node holds O(P ε * n/P) where 0 ≤ ε < 1 – ε = 0 : GMP = MP – ε = 1 : GMP = sequential computation in one node 5

A N E XAMPLE How do we compute set intersection in one step in the MP model? Hash each value x (from R or S) to a server Communication Phase send tuple R(x) to send tuple S(x) to Computation Phase output a tuple only if it occurs twice Intersection Q(x):-R(x),S(x) 6

T HE B ROADCAST S TEP In addition to regular communication steps, we allow broadcast steps: the data exchanged is independent of n Known results: Q(x,y)=R(x),S(x,y) can be computed in 1 MP step iff a broadcast step is allowed [Koutris, Suciu ‘11] Q(x,y)=R(x),S(x,y),T(y) can not be computed in 1 MP step [Koutris, Suciu ‘11], but can be in 1 GMP step with ε=1/2 [Afrati, Ullman ‘10] 7

Broadcast Grid-based partitioning into cells Pre-processing the cells to compute the relaxed skyline Communication Careful distribution of the cells (with their data) to the servers Computation: Local computation of the skyline at each server O UTLINE OF OUR A PPROACH 8

B UCKETIZING Partition R into M buckets across some dimension, such that each partition contains O(n/M) points Equivalently, compute (M+1) partition points: -∞ = b 0, b 1, …, b M = +∞ 9 Algorithm: Local: each server evenly partitions its data to M buckets Broadcast: servers exchange MxP partition points Local: each server picks every P-th value as partition point bucketize across dimension 1 bucketize across dimension 2 M=P or P 1/(d-1)

C ELLS A cell is an intersection of buckets from all dimensions Every point belongs in exactly one cell Every cell holds O(n/P) data (and not O(n/P d ) !!) 10 In each cell, we can keep only candidates for skyline points candidate rejected

Broadcast Grid-based partitioning into cells Pre-processing the cells to compute the relaxed skyline Communication Careful distribution of the cells (with their data) to the servers Computation: Local computation of the skyline at each server O UTLINE OF OUR A PPROACH 11

C ELLS We are interested in the non-empty cells Any cell that is strictly dominated by another does not contribute to the skyline 12 no points belong in the final skyline strict domination

R ELAXED S KYLINE OF C ELLS The relaxed skyline consists of the non-empty cells that are not strictly dominated by non-empty cells We focus on the relaxed skyline of non-empty cells 13 skyline relaxed skyline

O N R ELAXED S KYLINES To compute the skyline points of a cell B, we need to compare with cells that: belong in the relaxed skyline weakly dominate B (have one common coordinate) 14 cell B

Broadcast Grid-based partitioning into cells Pre-processing the cells to compute the relaxed skyline Communication Careful distribution of the cells (with their data) to the servers Computation: Local computation of the skyline at each server O UTLINE OF OUR A PPROACH 15

A N AÏVE A PPROACH Try the following: Partition into P buckets (M=P) Allocate cells in the relaxed skyline to servers + cells that weakly dominate them: O(n/P) data per cell Locally compute the skyline points This works if the relaxed skyline is small But the relaxed skyline can have as many as Ω(P d-1 ) cells for dimension d 16

A 1- STEP A LGORITHM Choose a coarser bucketization (<P buckets) This gives a weak load-balanced algorithm with maximum load of O( (n/P) P (d-2)/(d-1) ) ε = (d-2)/(d-1) (ε=0 implies GMP=MP) 17 Corollary. For d=2 dimensions, we obtain a perfectly load balanced algorithm for MP

A 2- STEP A LGORITHM Step 1: group the cells in the relaxed skyline by bucket for every dimension 18 Server 1 Server 2 Server 1Server 2 … …

A 2- STEP A LGORITHM For each bucket, compute the local skyline A point is a skyline point iff it is a local skyline point in every one of the d buckets Step 2: intersect the local skylines 19 This point is in the skyline of the y-bucket, but not the x-bucket x-bucket y-bucket

A 1-S TEP A LGORITHM FOR 3D 20 Key idea: to reject this point, we only need the minimum x-coordinate from cell B cell B

A 1-S TEP A LGORITHM FOR 3D The observation reduces the number of points that need to be communicated With smart partitioning, we can achieve perfect load- balance in 1 step However, the property holds only for 2 and 3 dimensions 21

C ONLUSION 3 algorithms for Skyline Queries: 2 step + perfect load balance 1 step + some replication 1 step + perfect load balance for d < 4 Open Questions Can we compute the skyline in 1 step with perfect load balance for >3 dimensions? A more general question: what classes of queries can we compute in the MP model with perfect or weaker load balance guarantees? 22

Thank you! 23

I NTERIOR C ELLS Two cells are co-linear if they share exactly two coordinates A cell i is interior if every colinear cell in S r (J) belongs in the same hyperplane as i. Else, it is a corner cell. Interior cells are easy to handle: we can send the whole plane to a single processor 24

C ORNER C ELLS We group the corner cells into lines Border cells are the minimal/maximal cells of each line Fact: lines meet only on border cells Grouping: each line is a group, a cell is assigned to the lexicographically first line it belongs to 25

Assigning the groups We have two ways to assign groups to servers The first is deterministic and greedily assigns a group to any server that is not overloaded (M=P) The second is randomized and sends each group randomly to some server (M = P log P) 26

About the MP model [KS11] A dichotomy result on Conjunctive Queries that can be computed in 1 step with perfect load balancing Easy Queries: – Q(x,y,z) :- R(x,y), S(y,z) – Q(x,y,z,) :- R(x), S(x,y), T(x,y,z) Hard Queries: – Q(x,y) :- R(x), S(x,y), T(y) – Q(x,y) :- R(x), S(x), T(y) 27