1 / 60

Αντρέας Κουκκουλλής Επιτροπή: Καθ. Απόστολος Δόλλας (Επιβλέπων) Καθ. Διονύσιος Πνευματικάτος

Πολυτεχνείο Κρήτης Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Διπλωματική Εργασία Μελέτη, σχεδίαση και υλοποίηση αλγορίθμου κατασκευής φυλογενετικών δέντρων σε πλατφόρμα βασισμένη σε αναδιατασσόμενη λογική. Αντρέας Κουκκουλλής Επιτροπή: Καθ. Απόστολος Δόλλας (Επιβλέπων)

deron
Télécharger la présentation

Αντρέας Κουκκουλλής Επιτροπή: Καθ. Απόστολος Δόλλας (Επιβλέπων) Καθ. Διονύσιος Πνευματικάτος

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. Πολυτεχνείο ΚρήτηςΤμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών ΥπολογιστώνΔιπλωματική ΕργασίαΜελέτη, σχεδίαση και υλοποίηση αλγορίθμου κατασκευής φυλογενετικών δέντρων σε πλατφόρμα βασισμένη σε αναδιατασσόμενη λογική Αντρέας Κουκκουλλής Επιτροπή: Καθ. Απόστολος Δόλλας (Επιβλέπων) Καθ. Διονύσιος Πνευματικάτος Αν. Καθ. Ιωάννης Παπαευσταθίου

  2. Περιεχόμενα • Εισαγωγή στην εξέλιξητων ειδών • RAxML • Impulse C και Convey • Υλοποίηση • Αποτελέσματα • Συμπεράσματα

  3. Κίνητρο • Ο υπολογισμός της μέγιστης πιθανοφάνειας είναι χρονοβόρος(>90% του συνολικού χρόνου εκτέλεσης). • Υλοποίηση σε πλατφόρμα αναδιατασσόμενης λογικής για να επιτύχουμε επιτάχυνση του υπολογισμού με την χρήση του εργαλείου Impulse C.

  4. Συνεισφορά εργασίας • Μελέτη RAxML και αλγοριθμική χρονική ανάλυση της Software υλοποίησης • Μελέτη και δοκιμή του εργαλείου Impulse C • Υλοποίηση και σχεδίαση της Μεθόδου Μέγιστης Πιθανοφάνειας με το Impulse C • Σύνδεση και εκτέλεση της υλοποίησης στην πλατφόρμα Convey

  5. Περιεχόμενα • Εισαγωγή στην εξέλιξη των ειδών • RAxML • Impulse C και Convey • Υλοποίηση • Αποτελέσματα • Συμπεράσματα

  6. Εξελικτική Βιολογία • Η διαδικασία με την οποία οι οργανισμοί έχουν εξελιχθεί εδώ και 4.5 δισ. χρόνια • Το δέντρο της ζωής

  7. Υπολογιστική Φυλογενετική • Εφαρμογή αλγορίθμων για φυλογενετικές αναλύσεις • Σύνθεση Φυλογενετικού δέντρου που παρουσιάζει την εξελικτική σχέση των ειδών

  8. Τι είναι τα φυλογενετικά δέντρα • Διάγραμμα που απεικονίζει τις γραμμές τις εξέλιξης των ειδών, οργανισμών ή γονιδίων από ένα κοινό πρόγονο.

  9. Τύποι φυλογενετικών δέντρων • Οι αριθμοί των πιθανών δέντρων υπολογίζονται από τους τύπους • Μόνο ένα δέντρο παρουσιάζει την πραγματική εξελικτική πορεία

  10. Μέθοδοι κατασκευής δέντρων • Παρουσία ή απουσία χαρακτηριστικών • Μέγιστη πιθανοφάνεια (Maximum likelihood) • maximum parsimony • Bayesian analysis • Κατηγορίες μητρών απόστασης • UPGMA • Fitch-Margoliash • neighbor joining

  11. Σχετικές εργασίες HW • N. Alachiotis: "Analysis, Design, and Implementation of the Phylogenetic Likelihood Function on Reconfigurable Logic", Technical University of Crete (2008) • N. Alachiotis, E. Sotiriades, A. Dollas, A. Stamatakis: "A Reconfigurable Architecture for the Phylogenetic Likelihood Function". FPL 2009, Prague, Czech Republic, September 2009 • N. Alachiotis: "Algorithms and Computer Architectures for Evolutionary Bioinformatics", Ph.D. thesis, TechnischeUniversitätMünchen, Germany, November 2012

  12. Σχετικές εργασίες SW • Exelixis lab • RAxML light • SSE3 version • AVX version • MPI version • Multithread version

  13. Διαφοροποιήσεις εργασιών

  14. Περιεχόμενα • Εισαγωγή στην εξέλιξη των ειδών • RAxML • Impulse C και Convey • Υλοποίηση • Αποτελέσματα • Συμπεράσματα

  15. Το πρόγραμμα RAxML • Random Accelerated Maximum Likelihood • Φυλογενετικός κώδικας • Μεγάλης κλίμακας φυλογενετικές αναλύσεις • Μέθοδος Μέγιστης Πιθανοφάνειας.

  16. Το πρόγραμμα RAxML • Αρχείο εισόδου με taxa • Προσπάθεια παραγωγής βέλτιστης τοπολογίας.

  17. Το πρόγραμμα RAxML • Βασικά μέρη του αλγορίθμου.

  18. Το πρόγραμμα RAxML • Αποτελέσματα εκτέλεσης • (Seal,(Whale,((Mouse,Rat),(Human,(Chicken,(Frog,(Carp,Loach)))))),Cow);

  19. Profiling • gprofκαι V-Τune • Ανάλυση πολλώνλειτουργιών • Σταθερό dataset εισόδου • 10 διαφορετικά πειράματα-εκτελέσεις

  20. Profiling Χρόνος sec Λειτουργίες

  21. Profiling • Στις περισσότερες χρήσεις/αλγόριθμους τα αποτελέσματα ήταν τα ίδια

  22. Συνάρτηση ενδιαφέροντος • Όπως έχουμε δει στο profiling η συνάρτηση που καταναλώνει το μεγαλύτερο ποσοστό του χρόνου είναι η newviewGTRGAMMA() • Υπολογίζει το βαθμός πιθανοφάνειας του δέντρου • Ο(n) – Ανάλογο του alignment pattern

  23. Profiling % χρόνου Λειτουργίες

  24. Profiling Χρόνος sec Λειτουργίες

  25. Περιεχόμενα • Εισαγωγή στην εξέλιξη των ειδών • RAxML • Impulse C και Convey • Υλοποίηση • Αποτελέσματα • Συμπεράσματα

  26. CoDeveloper Impulse C

  27. Impulse C και Convey • Το εργαλείο παράγει αυτόματα το HW σε VHDL • Παράγει τo SWinterface • Παράγει όλα τα απαραίτητα αρχεία για την σύνδεση SW και HW

  28. Περιεχόμενα • Εισαγωγή στην εξέλιξη • RAxML • Impulse C και Convey • Υλοποίηση • Αποτελέσματα • Συμπεράσματα

  29. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας CPU Convey CPU

  30. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Η συνάρτηση αποτελείται από τρία cases. Σε κάθε κλήση εκτελείτε μόνο το ένα.

  31. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Δέχεται pointers σαν ορίσματα • Μεταφορά στο HW μέσω της μνήμης

  32. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • 2 Διαδικασίες • Μνήμη • 2 stream εισόδου/ 1 stream εξόδου

  33. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Δημιουργήθηκε η SW συνάρτηση, για να στέλνει τα δεδομένα στο HW και να λαμβάνει τα αποτελέσματα. ProducerConsumer

  34. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Ξαναγράφτηκε το κομμάτι που θέλουμε να υλοποιήσουμε σε HW με την γλώσσα Impulse C. ProducerConsumer

  35. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Η μνήμη μεταφέρει τα δεδομένα στο HW και δέχεται τα αποτελέσματα πίσω • Shared μνήμη ProducerConsumer

  36. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Επικοινωνία μεταξύ διαδικασιώνμέσω streams ProducerConsumer

  37. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Εγγραφή μνήμης από SW • Ανάγνωση μνήμης από HW • Υπολογισμός Πιθανοφάνειας • Εγγραφή μνήμης από HW • Ανάγνωση μνήμης από SW Write mem/SW Read mem/HW Execute/HW Write mem/HW Read mem/SW

  38. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Πρώτη υλοποίηση-Επιβεβαίωση Ορθής λειτουργίας • Για συγκεκριμένο αρχείο εισόδου • Ορθά αποτελέσματα Simulation, παραγωγή HDL κώδικα και απαραίτητων αρχείων για την εκτέλεση στο Convey. • Εκτέλεση στο Convey με σωστά αποτελέσματα.

  39. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Σύνδεση με το RAxML • Αλλαγή Makefile • Link αρχείων Impulse C • Το SW interface δεν χρειάζεται να αλλάξει αν αλλάξει η υλοποίηση, εκτός αν αλλάξει ο τρόπος εγγραφής και ανάγνωσης της μνήμης.

  40. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Δεύτερη υλοποίηση-Αποτύπωση ολόκληρου του RAxML • Προσθήκη pipeline και loop unroll • Χρήση 100% μνήμης • Παραμετροποίηση για να δέχεται διάφορα αρχεία εισόδου

  41. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Αλλαγή στον τρόπο που διαβάζονται τα δεδομένα από την μνήμη

  42. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Δεύτερη υλοποίηση • Λάθος αποτελέσματα στην εκτέλεση στο Convey • Μείωση απόδοσης λόγω pipeline και loop unrolling • Λάθος διαχείριση μνήμης • Κακό mapping

  43. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Δεύτερη υλοποίηση – Βελτιώσεις • Μείωση της μνήμης • Περιορισμός του pipeline και unroll • Προσθήκη επιπλέων registers για μείωση των προβλημάτων συγχρονισμού

  44. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Με την σχεδίαση αυτή έχει λυθεί το πρόβλημα χρονισμού που παρουσιάστηκε στην αρχή, αλλά το μέγεθος του αρχείου εισόδου περιορίζεται λόγο του περιορισμού της διαθέσιμης μνήμης (BRAM).

  45. Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας • Αντί να κάνουμε μια κλήση στο HW με όλα τα δεδομένα, κάνουμε δύο κλήσεις με τα μισά δεδομένα στην κάθε μια. • Αλλαγή μόνο στο SW, δεν αλλάζει η υλοποίηση. • Περισσότερες κλήσεις HW

  46. Περιεχόμενα • Εισαγωγή στην εξέλιξη των ειδών • RAxML • Impulse C και Convey • Υλοποίηση • Αποτελέσματα • Συμπεράσματα

  47. Αποτελέσματα • Πόροιστο Convey • Clock’s frequency rate 150 MHz

  48. Αποτελέσματα • Ο υπολογισμός του χρόνου που απαιτείται για την εκτέλεση της συνάρτησης έγινε συνυπολογίζοντας τον χρόνο του I/O • Σύγκριση με την SW Εκτέλεση σε Core 2 Duo στα 2 GHz με 4 GB RAM

  49. Αποτελέσματα Speed down Αλγόριθμος

  50. Αποτελέσματα • Μεγάλος αριθμός δεδομένων εισόδου-εξόδου • Το Impulse C απαιτεί πολλές κλήσεις στον συνεπεξεργάστη (streams, memory ..) • Δεν υπάρχει παραλληλισμός !!

More Related