title: Design and Implementation of a cloud based FPGA accelerator for phylogeny reconstruction
title: Σχεδιασμός και υλοποίηση ενός FPGA επιταχυντή πάνω σε νέφος για ανασυγκρότηση φυλογενετικών σχέσεων

Creators: name: Μποκαλιδης Αναστασιος
Publisher: name: Technical University of Crete
Year: 2021

description: One of the most interesting challenges through the 21st century, that researchers
have to encounter is the rapid and continuous increase of data.
Many fields of science and technology face problems in the management and
processing of vast data. One of them is Biology. The process of phylogenetic
analysis of DNA, RNA, Protein, and other types of phylogenies, consumes a
lot of time which performs a non-linear increase while the volume of the data
for processing tends to increase. In addition, it is not only the time which is
of concern to the scientists but also, the computing systems which are needed
for this purpose. Not even personal computers can eliminate this problem,
but also high-performance computers are inadequate to face up vast data.
The first ones have CPUs that can not surpass a threshold in speed up and
parallelism and the second ones are used only for special studies and computations.
In this project, there is a study on a phylogenetic analysis algorithm,
RAxML, which is based on the maximum likelihood method. The purpose
of this project is to optimize by accelerating some functions of RAxML which
consume more than 80% of the total execution time and especially under
the processing of big data sets. So, the first step is to research the way that
RAxML behaves according to the input data and the second step is to design
and construct hardware accelerators required for optimal performance.
These accelerators are designed to be mapped and routed on FPGAs and
also on similar platforms of the Amazons’ cloud. Finally, there is a study and
comparison between the results coming from the initial algorithm and the results that come from the accelerators. Moreover, a theoretical model is introduced
which shows the optimal performance of the accelerators and how
it can affect the overall performance of the algorithm. 
description: Μιά απο τις πιο ενδιαφέρουσες προκλήσεις του 21ου αιώνα, που έχουν να αντιμετωπίσουν οι επιστήμονες είναι η ραγδαία και συνεχόμενη αύξηση των δεδομένων. Πολλοί τομείς της επιστήμης και της τεχνολογίας αντιμετωπίζουν προβλήματα στην διαχείρηση και την επεξεργασία των τεράστιων δεδομένων.  ́Ενας απο αυτούς τους είναι η Βιολογία. Η διαδικασία την φυλογεννετικής ανάλυσης των DNA, RNA, πρωτεϊνών και άλλων τύπων φυλεγέννεσης, καταναλώνει αρκετό χρόνο, η οποία μάλιστα παρουσιάζει και μια μη γραμμική αύξηση όσο αυξάνεται ο όγκος των δεδομένων χρήσης. Επιπλεόν δεν είναι μόνο ο χρόνος που απασχολεί τους επιστήμονες αλλά επίσης και τα υπολογιστικά συστήματα που χρειάζονται για τον παραπάνω σκοπό.  ́Οχι μόνο οι προσωπικοί υπολογίστες δεν μπορούν να εξαλείψουν το πρόβλημα, αλλά ακομή και οι υπερυπολογιστές μπορούν δεν μπορούν να καλύψουν τις ανάγκες μπροστά στον υπερόγκο δεδομένων. Οι πρώτοι έχουν επεξεργαστές οι οποίοι δεν μπορούν να ξεπεράσουν ένα κατώφλι επιτάχυνσης και παραλληλισμού των εφαρμογών που θέλουμε, και οι δεύτεροι χρησιμοποιούνται μόνο για ειδικές μελέτες και υπολογισμούς. Σε αυτή την εργασία, γίνεται μια μελέτη πάνω σε έναν αλγόριθμο φυλογεννετικής ανάλυσης, RAxML, ο οποίος βασίζεται πάνω στην μέθοδο της μέγιστης πιθανοφάνειας. Ο σκοπός αυτής της εργασίας είναι να βελτιώσουμε επιταχύνοντας κάποιες συναρτήσεις του RAxML, οι οποίες καταναλώνουν περισσότερο απο το 80% του συνολικού χρόνου εκτέλεσης και ειδικά όταν βρίσκονται υπό επεξεργασία μεγάλα αρχεία δεδομένων. Οπότε, πρώτο βήμα είναι να μελετήσουμε πως συμπεριφέρεται ο RAxML ανάλογα με τα δεδομένα εισόδου και ως δεύτερο βήμα να σχεδιάσουμε και να κατασκευάσουμε επιταχυντές όπου είναι απαραίτητοι για να βελτιώσουμε την απόδοση. Αυτοί οι επιταχυντές σχεδιάζονται ώστε να εγκατασταθούν πάνω σε FPGAs αλλά και σε αντίστοιχες πλατφόρμες νέφους της Amazon. Τέλος, γίνεται μελέτη και σύγκριση των αποτελεσμάτων του αρχικού αλγορίθμου με τους αντίστοιχους επιταχυντές μας και επίσης παρουσιάζεται ένα θεωρητικό μοντέλο για το πως θα ήταν η βέλτιστη συμπεριφορά των επιταχυντών μας και ποιά η βελτίωση που θα πρόσφεραν σε συνολικό επίπεδο στον αλγόριθμο.