Υλοποίηση κατασκευής δέντρου επιθεμάτων σε Hadoop MapReduce

Σχετικά έγγραφα
ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον

Μαζικός Παραλληλισμός λ με Map - Reduce. Μοντέλο Θέματα υλοποίησης Παραδείγματα διαχείρισης δεδομένων

MapReduce Εισαγωγή. MapReduce. ηµήτρης Λεβεντέας

Ερώτημα 1. Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n.

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Λύση (από: Τσιαλιαμάνης Αναγνωστόπουλος Πέτρος) (α) Το trie του λεξιλογίου είναι

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Insert (P) : Προσθέτει ένα νέο πρότυπο P στο λεξικό D. Delete (P) : Διαγράφει το πρότυπο P από το λεξικό D

EPL660: Information Retrieval and Search Engines Lab 5

Πληροφοριακά Συστήματα Διοίκησης

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής

Πληροφοριακά Συστήματα Διοίκησης

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ

Μεταπτυχιακή Διπλωματική Εργασία Υπολογισμός ανάστροφων ερωτημάτων κατάταξης σε κατανεμημένο περιβάλλον

ΠΛΗ111. Ανοιξη Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

7η Σειρά Ασκήσεων. Μπορείτε, αν θέλετε, να χρησιμοποιήσετε τον τύπο string της ΗΡ Pascal και τις αντίστοιχες συναρτήσεις (κεφ 10.1 των σημειώσεων).

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

Επεξεργασία Ερωτήσεων

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ο Αλγόριθμος FP-Growth

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

EPL451: Data Mining on the Web Lab 3

Τεχνητή Νοημοσύνη. 3η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο

an:3 are:6 a:10

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Συμβολοσειρές. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Ανάλυση Συσχέτισης IΙ

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 14: Δέντρα IV - B-Δένδρα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Βάσεις Δεδομένων. Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία. Φροντιστήριο 7 o

EPL660: Information Retrieval and Search Engines Lab 5

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Επεξεργασία Ερωτήσεων

Δημιουργία Δυαδικών Δέντρων Αναζήτησης

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Advanced Data Indexing

Π Τ Υ Χ Ι Α Κ Η /ΔΙ Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α

Ουρά Προτεραιότητας: Heap

Διάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Πιθανοκρατικό μοντέλο

ΤΕΧΝΟΛΟΓΙΕΣ ΠΟΛΥΜΕΣΩΝ

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ακ. έτος , 9ο Εξάμηνο ΗΜ&ΜΥ Ν. Κοζύρης Εξαμηνιαία Εργασία. Εισαγωγή στο MapReduce και στις βάσεις NoSQL

σωροί ταξινόμηση σωρού οόροςheap σωρός (heap) συστοιχία Α για έναν σωρό μια δομή δεδομένων που πχ.

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Συστήματα Ανάκτησης Πληροφοριών ΗΥ-463

Αλγόριθμοι Ταξινόμησης Μέρος 4

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Το εσωτερικό ενός Σ Β

ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ. Κατηγοριοποίηση. Αριστείδης Γ. Βραχάτης, Dipl-Ing, M.Sc, PhD

Εργαστήριο 2: Πίνακες

Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Δοµές Δεδοµένων. 2η Διάλεξη Αλγόριθµοι Ένωσης-Εύρεσης (Union-Find) Ε. Μαρκάκης. Βασίζεται στις διαφάνειες των R. Sedgewick K.

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

ταξινόμηση σωρού Παύλος Εφραιμίδης Δομές Δεδομένων και

Information Retrieval

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Τεχνητή Νοημοσύνη. 16η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Α Β Γ static; printf("%c\n", putchar( A +1)+2); B DB BD. int i = 0; while (++i); printf("*");

Κεφ.11: Ευρετήρια και Κατακερματισμός

ΑΠΕΙΚΟΝΙΣΗ ΔΕΔΟΜΕΝΩΝ ΚΟΙΝΩΝΙΚΟΟΙΚΟΝΟΜΙΚΩΝ ΕΡΕΥΝΩΝ ΜΕΣΩ ΚΟΙΝΩΝΙΚΩΝ ΔΙΚΤΥΩΝ

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

Φροντιστήριο 4. Άσκηση 1. Λύση. Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY463 - Συστήµατα Ανάκτησης Πληροφοριών Εαρινό Εξάµηνο

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ταξινόµηση Mergesort Κεφάλαιο 8. Ε. Μαρκάκης Επίκουρος Καθηγητής

Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου / 18

EPL451: Data Mining on the Web Lab 1

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης

Κατανεμημένα Συστήματα Ασκήσεις.

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 5 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Ανάκτηση Πληροφορίας σε Νέφη Υπολογιστών

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία

alpha Language age (3/5) alpha Language Φροντιστήριο Syntax Directed Translation and

Δομές Δεδομένων και Αλγόριθμοι

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Quicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Υπολογιστικά Νέφη. Ενότητα 12: MapReduce. Άγγελος Μιχάλας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Βασικές Έννοιες Θεωρίας Γραφημάτων

Αλγόριθµοι και Πολυπλοκότητα

Κεφάλαιο 5 ο : Αλγόριθµοι Σύγκρισης Ακολουθιών Βιολογικών εδοµένων

Transcript:

κατασκευής δέντρου επιθεμάτων σε Hadoop MapReduce Αλέξανδρος Κωνσταντινάκης - Κάρμης Εργαστήριο Βάσεων Δεδομένων - Εθνικό Μετσόβιο Πολυτεχνείο 12 Ιουλίου 2010

Βιολογικό Υλικό Εισαγωγή Βιολογικό Υλικό Δέντρα επιθεμάτων Τεχνικές κατασκευής Αλγόριθμος του Ukkonen Αλγόριθμος Trellis Hadoop MapReduce

Δέντρα επιθεμάτων Εισαγωγή Βιολογικό Υλικό Δέντρα επιθεμάτων Τεχνικές κατασκευής Αλγόριθμος του Ukkonen Αλγόριθμος Trellis Hadoop MapReduce Η συμβολοσειρά BANANA, τα επιθέματα της σε αντιστοίχιση με τις θέσεις που εμφανίζονται και το αντίστοιχο δέντρο επιθεμάτων

Τεχνικές κατασκευής Εισαγωγή Βιολογικό Υλικό Δέντρα επιθεμάτων Τεχνικές κατασκευής Αλγόριθμος του Ukkonen Αλγόριθμος Trellis Hadoop MapReduce

Αλγόριθμος του Ukkonen Εισαγωγή Βιολογικό Υλικό Δέντρα επιθεμάτων Τεχνικές κατασκευής Αλγόριθμος του Ukkonen Αλγόριθμος Trellis Hadoop MapReduce n φάσεις, μία για κάθε χαρακτήρα της εισόδου j επεκτάσεις, μία για κάθε επίθεμα του δέντρου βασικός αλγόριθμος: O(n 3 ) χρόνος, O(n 2 ) χώρος έξυπνες τεχνικές δίνουν O(n) χρόνο και χώρο

Αλγόριθμος Trellis Εισαγωγή Βιολογικό Υλικό Δέντρα επιθεμάτων Τεχνικές κατασκευής Αλγόριθμος του Ukkonen Αλγόριθμος Trellis Hadoop MapReduce p συχνότητα < t? τελική λίστα p p για έλεγχο AAAA Ναι AAAA AAAC Όχι AAAC{A,C,G,T} AAAG... AAAT...... AAAAA AAAAC AAAAG AAAAT...

Αλγόριθμος Trellis Εισαγωγή Βιολογικό Υλικό Δέντρα επιθεμάτων Τεχνικές κατασκευής Αλγόριθμος του Ukkonen Αλγόριθμος Trellis Hadoop MapReduce Το t διασφαλίζει ότι ένα δέντρο επιθεμάτων με t φύλλα χωράει σίγουρα στη μνήμη.

Hadoop MapReduce Εισαγωγή Βιολογικό Υλικό Δέντρα επιθεμάτων Τεχνικές κατασκευής Αλγόριθμος του Ukkonen Αλγόριθμος Trellis Hadoop MapReduce Το MapReduce είναι Turing Complete. Map :: (key1, value1) list(key2, value2) Reduce :: (key2, list(value2)) list(value3)

Hadoop MapReduce Εισαγωγή Βιολογικό Υλικό Δέντρα επιθεμάτων Τεχνικές κατασκευής Αλγόριθμος του Ukkonen Αλγόριθμος Trellis αρχεία εισόδου split 1 split 2 split 3 split 4 Hadoop MapReduce mapper 1 mapper 2 mapper 3 mapper 4 map(κλειδί1,τιμή1) map(κλειδί1,τιμή1) map(κλειδί2,τιμή2) map(κλειδί2,τιμή2)...... write to disk map(κλειδί1,τιμή1) map(κλειδί1,τιμή1) map(κλειδί2,τιμή2) map(κλειδί2,τιμή2)...... write to disk remote read remote read reducer 1 reducer 2 reduce(κλειδί1,[τιμή1,τιμή2,...]) reduce(κλειδί2,[τιμή1,τιμή2,...]) reduce(κλειδί3,[τιμή1,τιμή2,...]) reduce(κλειδί4,[τιμή1,τιμή2,...]) αρχείο εξόδου 1 αρχείο εξόδου 2

Αρχική Ιδέα Αρχική Ιδέα Κατασκευή προθεματικών υποδέντρων Συγχώνευση υποδέντρων σε δέντρα split 1 split 2... split m mapper 1 mapper 2 mapper m p1 p2 pj p1 p2 pj p1 p2 pj Η φάση map του προγράμματος, η είσοδος χωρίζεται σε κομμάτια και από το κάθε κομμάτι παράγονται υποδέντρα, ένα για κάθε πρόθεμα.

Αρχική Ιδέα Αρχική Ιδέα Κατασκευή προθεματικών υποδέντρων Συγχώνευση υποδέντρων σε δέντρα p1 p1 p1 p2 p2 p2 pj pj pj reducer 1 reducer 2 reducer j p1 p2 pj Η φάση reduce του προγράμματος, τα υποδέντρα με το ίδιο πρόθεμα ενώνονται σε προθεματικά δέντρα.

Απλός αλγόριθμος Αρχική Ιδέα Κατασκευή προθεματικών υποδέντρων Συγχώνευση υποδέντρων σε δέντρα

Aλγόριθμος Ukkonen Αρχική Ιδέα Κατασκευή προθεματικών υποδέντρων Συγχώνευση υποδέντρων σε δέντρα

Συγχώνευση υποδέντρων σε δέντρα Αρχική Ιδέα Κατασκευή προθεματικών υποδέντρων Συγχώνευση υποδέντρων σε δέντρα MAIN TMP AACGT AACGT GA TAA... GA TAG... A... A... T... Τρεις περιπτώσεις για τη συνάρτηση συγχώνευσης μεταξύ κύριου και προσωρινού δέντρου. Η φάση συγχώνευσης απαιτεί όλη την ακολουθία εισόδου φορτωμένη στη μνήμη!

Υπολογισμός Προθεμάτων Αρχική Ιδέα Κατασκευή προθεματικών υποδέντρων Συγχώνευση υποδέντρων σε δέντρα Εξάρτηση δεδομένων

Σύστημα μετρήσεων Σύστημα μετρήσεων Απόδοση για μικρές εισόδους Απόδοση για μεγάλες εισόδους Απόδοση Trellis Απόδοση για πλήθος κόμβων Αύξηση απόδοσης λόγω παράλληλης επεξεργασίας Μείωση απόδοσης λόγω αρχικής μεταφοράς δεδομένων και ενδιάμεσης φάσης Shuffle # splits είσοδος map απαιτήσεις μνήμης tmap # splits ενδιάμεσα δεδομένα # ενδιάμεσων εγγραφών t reduce = t total =?

Απόδοση για μικρές εισόδους Υπόβαθρο ολικός χρόνος - απλός αλγόριθμος 2500 Σύστημα μετρήσεων 2000 Απόδοση για μικρές εισόδους Απόδοση για μεγάλες εισόδους Απόδοση Trellis χρόνος (s) 1500 1000 1 Task/Node 2 Tasks/Node 4 Tasks/Node 8 Tasks/Node Απόδοση για πλήθος n Tasks κόμβων 500 0 128 256 512 είσοδος (MB) ολικός χρόνος - αλγόριθμος Ukkonen 1800 1600 1400 1200 χρόνος (s) 1000 800 n/2 Tasks n Tasks 2n Tasks 600 400 200 0 128 256 512 είσοδος (MB)

Σύστημα μετρήσεων Απόδοση για μικρές εισόδους Απόδοση για μεγάλες εισόδους Απόδοση Trellis Απόδοση για πλήθος κόμβων χρόνος (s) 60000 50000 40000 30000 20000 Απόδοση για μεγάλες εισόδους συνολικός χρόνος απλός ukkonen 10000 0 0 1024 2048 3072 4096 5120 6144 7168 8192 είσοδος (MB) χρόνος map 50000 40000 χρόνος (s) 30000 20000 απλός ukkonen 10000 0 0 1024 2048 3072 4096 5120 6144 7168 8192 είσοδος (MB)

Απόδοση Trellis Σύστημα μετρήσεων Απόδοση για μικρές εισόδους Απόδοση για μεγάλες εισόδους Απόδοση Trellis Απόδοση για πλήθος κόμβων

Απόδοση για πλήθος κόμβων Σύστημα μετρήσεων Απόδοση για μικρές εισόδους Απόδοση για μεγάλες εισόδους Απόδοση Trellis Απόδοση για πλήθος κόμβων χρόνος (s) 8000 7000 6000 5000 4000 3000 2000 1000 0 6000 απλός αλγόριθμος 3 6 9 12 πλήθος κόμβων αλγόριθμος Ukkonen 128MB 256MB 512MB 1024MB 5000 χρόνος (s) 4000 3000 2000 128MB 256MB 512MB 1024MB 1000 0 3 6 9 12 πλήθος κόμβων

Η διαδικασία του χωρισμού των δέντρων επιθεμάτων σε προθεματικά δέντρα ακυρώνει τους συνδέσμους επιθέματος. Το Trellis τους ανακτά σε ένα επιπλέον στάδιο, προαιρετικά. Για να ανακτηθούν οι σύνδεσμοι επιθέματος πρέπει τοπικά να υπάρχουν όλα τα άλλα προθεματικά δέντρα.

Ερωτήσεις;