1 / 32

Efficient Processing of k Nearest Neighbor Joins using MapReduce

Efficient Processing of k Nearest Neighbor Joins using MapReduce. Aristotle University of Thessaloniki Computer Science Department MSc . Advanced Data Indexing John Koumarelas , koumarel@csd.auth.gr. Περιεχόμενα. Εισαγωγή Προαπαιτούμενα Επισκόπηση του KNN join με MapReduce

shandi
Download Presentation

Efficient Processing of k Nearest Neighbor Joins using MapReduce

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Efficient Processing of k Nearest Neighbor Joins using MapReduce Aristotle University of Thessaloniki Computer Science Department MSc. Advanced Data Indexing John Koumarelas, koumarel@csd.auth.gr

  2. Περιεχόμενα • Εισαγωγή • Προαπαιτούμενα • Επισκόπηση του KNN join με MapReduce • Διαχείριση του KNN join με MapReduce • Ελαχιστοποίηση αντιγράφων του S • Πειραματικά αποτελέσματα

  3. Εισαγωγή [1/5] • Σύνολα δεδομένων R και S • Εύρεση kNNαπό το σύνολο S ∀ στοιχείο r του R • Συνδυασμός kNN query & join operation • Μεγάλος όγκος δεδομένων • Κεντρικοποιημένες μέθοδοι, μη αποδοτικές • Συνοπτικά • Mappers: ομαδοποιούν τα στοιχεία σε ομάδες (partitions) • Reducers: πραγματοποιούν join σε κάθε ομάδα στοιχείων ξεχωριστά

  4. Εισαγωγή [2/5] • Μεταφορά των δεδομένων ακριβή • Ανάγκη για pruning rules • Eλαχιστοποίησητου αριθμού των αντιγράφων (από το σύνολο S) • Ελαττώνουν τόσο το κόστος της μεταφοράς όσο και των υπολογισμών • Ο αλγόριθμος συνολικά βρίσκει exact λύσεις όχι προσεγγιστικές.

  5. Εισαγωγή [3/5] • Χρησιμότητασε Data mining& Analytic applications: • π.χ. K-means, k-medoids clustering & outlier detection • Μεγάλο το κόστος • Naive μέθοδος • ∀στοιχείο του R διαβάζουμε όλα τα στοιχεία του S και κρατάμε τις κοντινότερες k αποστάσεις O(|R| * |S|) • Οι προηγούμενες ερευνητικές δουλειές εστιασμένες σε: • Σχεδιασμό τεχνικών ευρετηρίασης για αποφυγή ανάγνωσης όλου του dataset και pruning υπολογισμών απόστασης • Κυρίως σε κεντρικοποιημένη λογική  Το σύστημα κάποτε θα καταρρεύσει με την συνεχόμενη αύξηση του όγκου των δεδομένων (ειδικά με δεδομένα πολλών διαστάσεων) • Κόστος υπολογισμού αποστάσεων & κατάρα της διαστασιμότητας  μείωση της ικανότητας pruning των indexes

  6. Εισαγωγή [4/5] • MapReduce • Χρησιμοποιείται τόσο στη βιομηχανία όσο και στην έρευνα • Simple, flexible, fault tolerant and scalable • Τρέχουσες τεχνικές δυστυχώς δεν μπορούν να εφαρμοστούν στο MapReduceεύκολα • B+-tree & R-tree, δύσκολη προσαρμογή σε αυτό το παράλληλο και κατανεμημένο περιβάλλον

  7. Εισαγωγή[5/5] • Γενική ιδέα • Σπάμε το σύνολο R σε κομμάτια Ri και αντιστοιχίζουμε τα στοιχεία του R σε αυτά τα κομμάτια (κάθε κομμάτι: 1 pivot στοιχείο) • ∀Riσχηματίζουμε ένα σύνολο Si, με το οποίο θα κάνουμε join • Το σύνολο Siπρέπει να περιέχει τους γείτονες όλων των στοιχείων του Riοπότε οδηγούμαστε σε replicated data το οποίο αυξάνει το κόστος

  8. Προαπαιτούμενα - kNN join • Απόσταση: ΕυκλείδιαL2 • n-dimensional metric space D • Definition 2kNN join

  9. Προαπαιτούμενα –MapReduce Framework • Key-value pairs • Map: • Input: key-value pair • Output: intermediate key-value pairs • Reduce: • Input: key-[values] • Output: key-value  result • Hadoop & HDFS (Yahoo!  Apache Software Foundation) • Namenode  Datanode • Jobtracker  Tasktracker

  10. Προαπαιτούμενα –Voronoi Diagram based Partitioning [1/3] • Δοθέντος ενός dataset O • Επιλογή M στοιχείων (τα οποία μπορεί να μην ανήκουν στο O) ως στοιχεία pivots • Χωρισμός των στοιχείων του O σε M κομμάτια, όπου κάθε στοιχείο ανατίθεται στο κοντινότερό του pivot • PiO: σύνολο στοιχείων από το O που βρίσκονται πιο κοντά στο pivot pi

  11. Προαπαιτούμενα –Voronoi Diagram based Partitioning [2/3] • U(PiO): max distance from pivot pi to the objects of PiO • L(PiO): min distance from pivot pi to the objects of PiO • Definition 3Range Selection • Dataset O, object q, distance threshold θ • Find all objects (Ō) of O, such that ∀o ∈Ō, |q, o| ≤ θ • Theorem 1 • d(o,HP(pi,pj))

  12. Προαπαιτούμενα –Voronoi Diagram based Partitioning [3/3] • Corollary 1 [pruning] • Give a partition PiO and PiO≠ PqO, if we can derivce d(q,HP(pq,pi)) > θ, then ∀o ϵPiO, |q,o| > θ. • Theorem 2 [pruning] • Given a partition PiO,∀o ϵPiO, the necessary condition that |q,o| ≤ θ is:

  13. Επισκόπιση του KNN join με MapReduce [1/2] • Βασική στρατηγική • Το R χωρίζεται σε ξεχωριστά υποσύνολα, π.χ., R = , όπου Ri = 0, i ≠ j. • Κάθε υποσύνολοRiδιανέμεται σε έναν reducer. Χωρίς κανέναν κανόνα pruning, όλο το σύνολο S πρέπει να σταλθεί σε κάθε reducer για να ενωθεί με το Ri. • Μεγάλο κόστος για shuffle και του υπολογισμού των αποστάσεων στους reducers. • 1 φάση MapReduce. • Κόστος: • H-BRJ εναλλακτικό πλαίσιο • Χωρισμός R και S σε χωριστά υποσύνολα. • Έτσι • Χρειάζεται άλλη μια φάση για ένωση αποτελεσμάτων • Κόστος: 1η + 2η

  14. Επισκόπιση του KNN join με MapReduce [2/2] • Μια καλύτερη στρατηγική για την μείωση του κόστους • R χωρισμός σε N χωριστά υποσύνολα • Για κάθε υποσύνολο Ri, εύρεση ενός υποσυνόλου Siώστε να ισχύει: και • Στέλνουμε μόνο το υποσύνολο Siστο Ri. • Για να εγγυηθούμε την ορθότητα, θα πρέπει το Siνα περιέχει τους kNNγια όλα τα r ∈Ri, KNN(r,S) Si. • SiSjμπορεί να μην είναι κενό σύνολο… Κάποια s πρέπει να είναι replicated • Shuffling cost: |R| + a*|S| • a: average number of replicas of an object in S • Μείωση του a  μείωση κόστους: shuffling + υπολογισμού αποστάσεων • Συνοπτικά • Εύρεση καλού διαχωρισμού του R • Εύρεση του ελαχίστου υποσυνόλου Siγια κάθε Ri R

  15. Διαχείριση του KNN join με MapReduce • (όχι MR φάση – στο masternode) Προεπεξεργασία των δεδομένων, για εύρεση pivots • (1η φάση MR) Εύρεση κοντινότερου pivot για κάθε στοιχείο σε R S και αποθήκευση απόστασης στοιχείου με pivot. • Αποτέλεσμα του map phase, ένας διαχωρισμός στο R (~ και στο S) με βάση ένα διάγραμμα Voronoiαπό τα pivots. • & αποθήκευση στατιστικών για κάθε Ri(από τους reducers). • (2η φάση MR) Δοθέντων των Riεύρεση των Si, βασισμένοι στα στατιστικά της 1ης φάσης. Οι reducers πραγματοποιούν το kNN join μεταξύ των Riκαι Si.

  16. Διαχείριση του KNN join με MapReduce – Data preprocessing Εύρεση pivots • Random Selection • T τυχαία υποσύνολα στοιχείων • Για κάθε υποσύνολο υπολογισμός sum αποστάσεων μεταξύ όλων των στοιχείων • Υποσύνολο με το μεγαλύτερο sum αποστάσεων, επιλογή των στοιχείων για pivots • Farthest Selection • Επαναληπτικά • Επιλογή sample από το R (μιας και το R μπορεί να είναι πολύ μεγάλο για να χωράει στη RAMmaster node) • Επιλογή τυχαίου 1ου στοιχείου ως pivot • Επιλογή του στοιχείου που απέχει περισσότερο από το 1οpivot. • Στην i-οστή επανάληψη θέλουμε το στοιχείο που μεγιστοποιεί το άθροισμα των αποστάσεων από όλα τα i-1 έπιλεγμέναpivots • K-means Selection • Εφαρμόζουμε τον κλασικό αλγόριθμο k-means • Τα κέντρα των clusters που παράγονται αποτελούν τα pivots

  17. Διαχείριση του KNN join με MapReduce

  18. Διαχείριση του KNN join με MapReduce – 1η φάση MR • Φόρτωση των pivots στη RAM (των mappers) • // setup() in hadoop • Για κάθε στοιχείο o από το input, υπολογισμός αποστάσεων με όλα τα στοιχεία pivot pi P και συσχετισμός στοιχείου με αυτό τοκοντινότερο pivot • Κρατούνται στατιστικά summary table TRκαι TS • Με αυτά υπολογίζονται distance bounds και γίνεται το pruning

  19. Διαχείριση του KNN join με MapReduce – 2ηφάση MR [1/3] • Στόχος των mappers είναι να βρούνε τα Siπου αντιστοιχούνε σε κάθε Ri • Ανάγκη για καθορισμό thresholds με βάση τα οποία θα γίνεται pruning • Απόσταση k-οστού γείτονα

  20. Διαχείριση του KNN join με MapReduce – 2η φάση MR [2/3]

  21. Διαχείριση του KNN join με MapReduce – 2η φάση MR [3/3]

  22. Ελαχιστοποίηση αντιγράφων του S [1/3] • Απαιτείται η μεγιστοποίηση του LB(PjS, PiR) και η ελαχιστοποίηση του |s, pj|. • Αυτό επιτυγχάνεται με την αύξηση των partitions (pivots) • Με αυτό τον τρόπο όμως δυσκολεύει ο τρόπος χειρισμού των partitions… Εισαγωγή των groups (ομαδοποίηση των partitions σε groups) • Cost Model

  23. Ελαχιστοποίηση αντιγράφων του S [2/3] Grouping Strategies • Geometric Grouping • Βασίζεται στην λογική ότι μακρινά partitions έχουν λίγες πιθανότητες να έχουν τους ίδιους kNN ομαδοποιεί κοντινά partitions

  24. Ελαχιστοποίηση αντιγράφων του S [3/3] • Greedy grouping • RP(S,Gi) στοιχεία του Si • Στόχος η ελαχιστοποίηση του: • Σύμφωνα με το θεώρημα 6 • Ωστόσο είναι αρκετά ακριβό να υπολογίσουμε το πιο partition ελαχιστοποιεί την παραπάνω ποσότητα…Γιατί χρειάζεται να υπολογίσουμε τον αριθμό των νέων στοιχείων από το S που πρέπει να προστεθούν στο Si • Έτσι: αν • Βάζουμε όλα τα στοιχεία του • Οπότε:

  25. Πειραματικά αποτελέσματα [1/7] • Approaches • H-BRJ: R-tree • PGBJ: partitioning & grouping • PBJ: partitioning • Datasets • Forest FCoverType (Forest) • This is a real dataset that predicts forest cover type from cartographic variables. There are 580K objects, each with 54 attributes (10 integer,44 binary). We use 10 integer attributes in the experiments. • Expanded Forest FCoverType • Παραγωγή νέων (συνθετικών) αποτελεσμάτων για να μεγαλώσει το μέγεθος του συνόλου δεδομένων • we first compute the frequenciesof values in each dimension, and sort values in the ascendingorder of their frequencies • for each object o in the originaldataset, we create a new object ō, where in each dimensionDi , ō[i] is ranked next to o[i] in the sorted list • OpenStreetMap(OSM) • this is a real map datasetcontaining the location and description of objects. We extract 10 million records from this dataset, where each recordconsists of 2 real values (longitude and latitude) and a description with variable length.

  26. Πειραματικά αποτελέσματα[2/7] • Μετρική: • Distance computation selectivity (computation selectivity) pivot grouping • RGE: random selection + geometric grouping • FGE: farthest selection + geometric grouping • KGE: k-means selection + geometric grouping • RGR: random selection + greedy grouping • FGR: farthest selection + greedy grouping • KGR: k-means selection + greedy grouping

  27. Πειραματικά αποτελέσματα[3/7] • Farthest selection: outliers are always selected as pivots • πχ. Με 2000 pivots το μέγιστο μέγεθος partition είναι 1.130.768, που είναι το 1/5 του συνολικού μεγέθους του dataset. • Οπότε με πιο πολλά partitions & pivots το πρόβλημα αντιμετωπίζεται… Ωστόσο τα πολλά pivots σημαίνουν και ότι θα πρέπει να γίνουν πολλοί υπολογισμοί μεταξύ r και pivots, οπότε πρέπει να βρεθεί μια χρυσή τομή… FGE & FGR δεν έχουμε χρόνους γιατί λόγω της παρατήρησης αυτής οι εκτελέσεις αργούσανε πάρα πολύ

  28. Πειραματικά αποτελέσματα [4/7]

  29. Πειραματικά αποτελέσματα [5/7]

  30. Πειραματικά αποτελέσματα [6/7]

  31. Πειραματικά αποτελέσματα [7/7]

  32. Ευχαριστώ για την προσοχή σας! 

More Related