Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Δανάη Κούτρα Eργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Εθνικό Μετσόβιο Πολυτεχνείο
Θέματα Σκοπός της διπλωματικής Θεωρητικό υπόβαθρο Στοιχεία Βιολογίας MapReduce - Hadoop Σχετικές Εργασίες Υλοποιήσεις Πειράματα Βελτιώσεις 2
Σκοπός της διπλωματικής Μελέτη του προβλήματος προσεγγιστικού ταιριάσματος ακολουθιών και επίλυση με τεχνικές MapReduce 3
Θέματα Σκοπός της διπλωματικής Θεωρητικό υπόβαθρο Στοιχεία Βιολογίας MapReduce - Hadoop Σχετικές Εργασίες Υλοποιήσεις Πειράματα Βελτιώσεις 4
Μελέτη του DNA Γιατί είναι σημαντική η μελέτη του DNA; φορέας της γενετικής πληροφορίας Λειτουργίες των οργανισμών Φαινότυπος του ατόμου Προδιάθεση για ασθένειες σύγκριση ακολουθιών Γνώσεις για δομή και λειτουργίες άγνωστης ακολουθίας Εύρεση κοινών απογόνων Με ποιο τρόπο γίνεται στην πληροφορική? 5
Γιατί δεν αρκεί το GREP; Πειραματικά λάθη: Ανακρίβεια ακολουθιοποίησης DNA (διαδικασία μετατροπής των βιολογικών δεδομένων σε ψηφιακά στο εργαστήριο) Μεταλλάξεις στο γενετικό υλικό Προσεγγιστικό ταίριασμα ακολουθιών 6
Προσεγγιστικό ταίριασμα ακολουθιών αλφάβητο Σ, Σ =σ Σ={A, C, G, T} ακολουθία αναφοράς (reference sequence ή text) T = t t...t 12 n ακολουθία-πρότυπο (pattern ή query) P = p p...p 1 2 m συντακτική Ημι-τοπικό n >> m απόσταση ταίριασμα (semi-local k: ο μέγιστο επιτρεπτό όριο λαθών alignment) συνάρτηση απόστασης d(): Σ* x Σ* πρότυπο R ακολουθία αναφοράς 7
Νέες τάσεις Ακολουθιοποιητές νέας γενιάς 2008: ακολουθιοποίηση του DNA του Watson σε 4 μήνες Projects Personal Genome Project: στόχος η ακολουθιοποίηση του DNA κάθε ατόμου με κόστος < $1,000 Απαιτούνται νέες μέθοδοι - αποθήκευσης, - διαχείρισης & - επεξεργασίας βιολογικών δεδομένων κατανομή σε πολλούς επεξεργαστές 8
Θέματα Σκοπός της διπλωματικής Θεωρητικό υπόβαθρο Στοιχεία Βιολογίας MapReduce - Hadoop Σχετικές Εργασίες Υλοποιήσεις Πειράματα Βελτιώσεις 9
MapReduce Προγραμματιστικό μοντέλο για κατανεμημένη εκτέλεση προγραμμάτων Εκτέλεση προγραμμάτων σε cluster με μηχανήματα που είναι προσβάσιμα από τον περισσότερο κόσμο (commodity hardware) Χειρισμός τεράστιου όγκου δεδομένων (πολλά GBs ή TΒs) Βασίζεται σε ιδέες του συναρτησιακού προγραμματισμού H πιο διαδεδομένη open-source υλοποίηση είναι το Hadoop 10
Προγραμματισμός στο MapReduce Σε όλα τα στάδια λειτουργεί με ζεύγη κλειδιού/τιμής 2 βασικές συναρτήσεις: map και reduce Κάποιες φορές και combine μεταξύ των map και reduce Είσοδος: Σύνολο κλειδιών με τις τιμές τους (ον. αρχείου, περιεχόμενα) Συνάρτηση χρήστη MAP (kr, vr) (λέξη, 134) Κάθε (k,v) αντιστοιχίζεται σε 1 σύνολο ενδιάμεσων ζευγών (λέξη, 1) Ταξινόμηση των ζευγών με βάση το κλειδί Συνάρτηση χρήστη REDUCE Λίστα με ενδιάμεσες τιμές για κάθε κλειδί (k, [v1,..., vn]) (λέξη, [1,1,...,1]) 11
master Hadoop - HDFS σύστημα αρχείων του Hadoop αρχιτεκτονική master/slave Distributed Cache Παλμός: τρόπος αναγνώρισης της αποτυχίας του slave slave 12
Θέματα Σκοπός της διπλωματικής Θεωρητικό υπόβαθρο Στοιχεία Βιολογίας MapReduce - Hadoop Σχετικές Εργασίες Υλοποιήσεις Πειράματα Βελτιώσεις 13
Σχετικές εργασίες Έχουν παραλληλοποιηθεί στο MapReduce προσεγγιστικοί αλγόριθμοι της οικογένειας BLAST BLAST Γρήγορος Εντοπίζει τα σημαντικότερα ταιριάσματα Δεν εγγυάται την εύρεση των βέλτιστων ταιριασμάτων Βρίσκει τοπικά ταιριάσματα ΑΛΛΑ υπάρχουν βιολογικές εφαρμογές που χρειάζονται όλα τα ημι-τοπικά ταιριάσματα 14
Θέματα Σκοπός της διπλωματικής Θεωρητικό υπόβαθρο Στοιχεία Βιολογίας MapReduce - Hadoop Σχετικές Εργασίες Υλοποιήσεις Πειράματα Βελτιώσεις 15
Το πρόβλημα που επιλύουμε Πολλά πρότυπα Στο HDFS Στη Distributed Cache 16
Αλγόριθμος δυναμικού προγραμματισμού Τύποι: Ευριστική cutoff Ακολουθία αναφοράς Ακολουθίαπρότυπο θέσεις ταιριασμάτων για k=2 17
Υλοποίηση MapReduce του δυναμικού προγραμματισμού 18
Αλγόριθμος του Fredriksson Πολλαπλό ταίριασμα ακολουθιών ομοιότητα προτύπων απόρριψη παραθύρων που αποκλείεται να περιέχουν ταιριάσματα και εύρεση ταιριασμάτων, πχ. με δυναμικό προγραμματισμό, στα παράθυρα που δεν απορρίφθηκαν Μειονέκτημα: εξάρτηση της επίδοσης από έναν παράγοντα, το μήκος των l-grams που χρησιμοποιεί στην προεπεξεργασία του l=? l+1=? 19
Υλοποίηση MapReduce του αλγορίθμου του Fredriksson 20
Αλγόριθμος Φιλτραρίσματος στο MapReduce 1ος κύκλος: φιλτράρισμα Ακριβές ταίριασμα: γρήγορο 2ος κύκλος: Fredriksson Παρατήρηση για να υπάρχει ταίριασμα: - πρότυπο P - κείμενο Τ - όριο λαθών k Αν χωρίσουμε το πρότυπο σε k+1 τμήματα, θα πρέπει ένα τουλάχιστον τμήμα να υπάρχει ακριβώς στο κείμενο. 21
Θέματα Σκοπός της διπλωματικής Θεωρητικό υπόβαθρο Στοιχεία Βιολογίας MapReduce Hadoop Υλοποιήσεις Πειράματα Σχετικές Εργασίες Σύνοψη 22
Πειράματα Δημιουργία και χρήση ιδιωτικού Hadoop cluster στο πανεπιστήμιο Πελοποννήσου Δεδομένα εισόδου GenBank Ακολουθίες αναφοράς: χρωμοσώματα του Homo Sapiens Πρότυπα: τμήματα των ακολουθιών αναφοράς Αλγόριθμος δυναμικού προγραμματισμού: 7-8 φορές πιο αργός από τον αλγόριθμο φιλτραρίσματος Χρήση του βέλτιστου l για τον αλγόριθμο Fredriksson 23
Μεταβλητό μέγεθος εισόδου -100 πρότυπα με μήκος 100 χαρ. - k=5 24
Μεταβλητός αριθμός προτύπων - 2GB είσοδος - πρότυπα με μήκος 100 χαρ. - k=5 25
Μεταβλητό μήκος προτύπων - 2GB είσοδος - 100 πρότυπα μήκους m - k=5%*m 26
Μεταβλητός λόγος λαθών α=k/m - 1GB είσοδος - 100 πρότυπα με μήκος 100 χαρ. - k=α*100 27
Μεταβλητός αριθμός κόμβων - 1GB είσοδος - 100 πρότυπα με μήκος 100 χαρ. - k=5 28
Σύνοψη συμπερασμάτων Ο αλγόριθμος Φιλτραρίσματος είναι καλύτερος για: Μεγάλο πλήθος προτύπων Μπορεί να Μεγάλο μήκος προτύπων ανταπεξέλθει Μικρό λόγο λαθών α<10% στις νέες απαιτήσεις Πρακτικές τιμές Ο αλγόριθμος του Fredriksson είναι καλύτερος για: μικρό πλήθος προτύπων Μεγαλύτερο λόγο λαθών α<50% Και οι δύο αλγόριθμοι Επεκτείνονται καλά με την αύξηση του αριθμού των κόμβων 29
Θέματα Σκοπός της διπλωματικής Θεωρητικό υπόβαθρο Στοιχεία Βιολογίας MapReduce - Hadoop Σχετικές Εργασίες Υλοποιήσεις Πειράματα Βελτιώσεις 30
Προτεινόμενες βελτιώσεις στον αλγόριθμο φιλτραρίσματος Επιτάχυνση του 1ου κύκλου MR με χρήση αλγορίθμου πολλαπλών ακριβών ταιριασμάτων (MESM) Χρήση του MapReduce Online, παραλλαγή του Hadoop που επιτρέπει την ταυτόχρονη εκτέλεση κύκλων MapReduce Χρήση της κλάσης ChainMapper που επιτρέπει το σχήμα [Μap+ / Reduce] πολλές συναρτήσεις map στην ίδια εργασία αποδοτικότερος χειρισμός των I/O 31
Wiki 32
Ευχαριστίες Καθηγητή κ. Τίμο Σελλή Υποψήφιο διδάκτορα Θανάση Βεργούλη Ερευνητή του κέντρου Αθηνά Θοδωρή Δαλαμάγκα Τμήμα Eπιστήμης και Τεχνολογίας Υπολογιστών του Πανεπιστημίου Πελοποννήσου και ιδιαίτερα τον Επίκουρο Καθηγητή κ. Σπύρο Σκιαδόπουλο 33
Ερωτήσεις?? 34