Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


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

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

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

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

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

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

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

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

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

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

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

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, Technische Universität München, Germany, November

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

13 Διαφοροποιήσεις εργασιών 13 Διπλωματική ΑλαχιώτηςΠαρούσα διπλωματική RAxML lightRAxML Συγκεκριμένη εκτέλεσηΌλες τις εκτελέσεις Virtex 5 V5SX240TConvey Αρχεία εισόδου με προκαθορισμένο αριθμό ειδών Όλα τα είδη αρχείων

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

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

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

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

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

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

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

21 Profiling  Στις περισσότερες χρήσεις/αλγόριθμους τα αποτελέσματα ήταν τα ίδια 21 ΑλγόριθμοςΣυνολικός Χρόνος Κρίσιμη Συνάρτηση % ΧρόνουΑριθμός Κλήσεων e7.4 secnewviewGTRGA MMA 92.3 %61392 t5868 secnewviewGTRGA MMA 75.6 % w2231 secnewviewGTRGA MMA %

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

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

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

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

26 CoDeveloper Impulse C 26

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

47 Αποτελέσματα  Πόροι στο Convey  Clock’s frequency rate 150 MHz 47 Logic Utilization UsedAvailableUtilization Convey Utilization xc5vlx330 Number of Slice Registers 43,757207,36021%5% Number of Slice LUTs 52,828207,36025%9% Number of Block RAM/FIFO % Number of DSP483s %95%95%

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

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

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

51 Αποτελέσματα  Για να μειωθεί το Speed down μπορεί να γίνει χρήση δύο FPGAs του Convey  Παράλληλες κλήσεις  Θεωρητικά θα είχαμε 51 Αλγόριθμος Speed down

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

53 Συμπεράσματα  Η σχεδίαση συστήματος υπολογισμού της μέγιστης πιθανοφάνειας φυλογενετικών δέντρων με την χρήση του εργαλείου Impulse C είναι λιγότερο αποδοτική από ένα συμβατικό υπολογιστή. 53

54 Συμπεράσματα  Πλεονεκτήματα χρήσης Impulse C ◦ Δουλεύει !! ◦ Απευθείας εφαρμογή στο Convey ◦ Ευκολία αλλαγής της σχεδίασης και παραγωγής HW ◦ Παραγωγή της ίδιας σχεδίασης για διαφορετικές πλατφόρμες ◦ Παραγωγή πρωτοτύπου πριν την σχεδίαση της εφαρμογής στο χέρι 54

55 Συμπεράσματα  Παραγωγικότητα ◦ Γρήγορη σχεδίαση ◦ Πολλές εκδόσεις ◦ Αναλογία Impulse C / Παραγόμενης VHDL = 1/20 ( γραμμές κώδικα) ◦ Σχέση χρόνου σχεδίασης Impulse C / VHDL = 1/4 (βιβλιογραφία) ◦ Σχέση χρόνου παραμετροποίησης 1/7 55

56 Συμπεράσματα  Μειονεκτήματα χρήσης Impulse C ◦ Δυσκολία χειρισμού εμφωλευμένων loop ◦ Δυσκολία χειρισμού pipeline ◦ Μεγάλη και αργή σχεδίαση για περίπλοκες εφαρμογές ◦ Δυσκολία αλλαγής του VHDL κώδικα χωρίς να επηρεαστεί η σωστή λειτουργία του 56

57 Μελλοντική εργασία  Η σχεδίαση που έχουμε μπορεί με μικρές παραμετροποιήσεις στο SW να έχουμε: ◦ Πολλά αντίγραφα που θα τρέχουν παράλληλα. Μια κλήση για n εκτελέσεις. ◦ Αξιοποίηση όλων των FPGA 57

58 Μελλοντική Εργασία RAxML  H σχεδίαση σε hardware και άλλων συναρτήσεων του προγράμματος.  Χρήση της συνάρτησης υπολογισμού maximum likelihood και σε άλλα παρεμφερή προγράμματα με το RAxML.  Παραμετροποίηση της σχεδίασης για τις άλλες εκδόσεις του RAxML (SSE3, MPI, AVX) 58

59 Μελλοντική δουλειά Impulse C  Μελέτη περισσότερων δυνατοτήτων του εργαλείου (state machines, registers, pipeline processes, more components.. )  Επανασχεδίαση εφαρμογών με Impulse C για σύγκριση απόδοσης.  Σύγκριση του εργαλείου με παρεμφερή εργαλεία. ◦ C-to-Verilog tool from ◦ ROCCC ◦ Catapult C from Mentor GraphicsMentor Graphics ◦ SystemC from Celoxica (defunct)Celoxica (defunct) 59

60 Ευχαριστώ για την προσοχή σας Ερωτήσεις ? 60


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

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google