Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/13506
Title: Mapping, Characterization And Acceleration Of Apache Spark Applications
Authors: Σταμέλος Ιωάννης
Σούντρης Δημήτριος
Keywords: apache spark
big data analytics
fpga accelerators
machine learning
embedded systems
ανάλυση μεγάλων δεδομένων
μηχανική εκμάθηση
ενσωματωμένα συστήματα
Issue Date: 24-Jul-2017
Abstract: Τα τελευταία χρόνια, αναδυόμενες εφαρμογές ιστού όπως η ανάλυση μεγάλων δεδομένων, έχουν αυξήσει σε σημαντικό βαθμό το φόρτο εργασίας των κέντρων δεδομένων. Το 2015, η συνολική κίνηση στο δίκτυο των κέντρων δεδομένων ήταν περίπου 4,7 Exabytes και εκτιμάται ότι μέχρι τα τέλη του 2018 θα ξεπεράσει τα 8,5 Exabytes. Οι αυξανόμενες απαιτήσεις όσον αφορά την απόδοση των συστημάτων, οδήγησαν τις εταιρείες στο να χαράξουν νέα μονοπάτια. Ως εκ τούτου, άρχισαν να εμφανίζονται στα κέντρα δεδομένων συστήματα ετερογενών αρχιτεκτονικών που διαθέτουν ενσωματωμένους επεξεργαστές και επιταχυντές επαναπρογραμματιζόμενης λογικής (FPGAs). Με αυτόν τον τρόπο, ο φόρτος εργασίας μπορεί να διαμοιραστεί και μέρος αυτού να αποφορτωθεί σε FPGAs ή σε ενσωματωμένους επεξεργαστές.Για το σκοπό αυτό, αρχικά θα εγκαταστήσουμε το Apache Spark, ένα πρόγραμμα γενικού σκοπού, ανθεκτικό σε σφάλματα (δικτύου κλπ.), και ευρέως χρησιμοποιούμενο στον χώρο της ανάλυσης μεγάλων δεδομένων, σε τρία ενσωματωμένα συστήματα: το Raspberry Pi 3, το DragonBoard 410c και το PYNQ-Z1. Θα παρουσιάσουμε όλα τα βήματα αυτής της διαδικασίας καθώς και όλες τις απαραίτητες ρυθμίσεις στις οποίες προβήκαμε.Στη συνέχεια, θα δημιουργήσουμε ένα σύμπλεγμα συστημάτων ετερογενούς αρχιτεκτονικής, το οποίο θα αποτελείται από τέσσερεις PYNQ-Z1 κόμβους και έναν βασισμένο στην Intel αρχιτεκτονική. Θα αναδείξουμε όλα τα απαραίτητα βήματα και τις ρυθμίσεις για την εγκατάσταση του Spark στο συγκεκριμένο σύμπλεγμα, ενώ στη συνέχεια θα παρουσιαστεί ένα προτεινόμενο σχήμα, ώστε οι εφαρμογές του Spark να κάνουν χρήση επιταχυντών υλικού, καθώς και ένα σύνολο βιβλιοθηκών που θα αποκρύπτουν τη χαμηλού επιπέδου επικοινωνία με τον επιταχυντή.Στο τελευταίο κομμάτι της διπλωματικής εργασίας, αρχικά θα διερευνήσουμε τις δυνατότητες των ενσωματωμένων συστημάτων που χρησιμοποιήσαμε, λαμβάνοντας μετρήσεις για το χρόνο εκτέλεσης ενός συνόλου αλγορίθμων για επεξεργασία γράφων (graph processing) και μηχανικής εκμάθησης (machine learning), ενώ στη συνέχεια θα γίνει περαιτέρω σύγκριση της απόδοσης και της ενεργειακής αποδοτικότητας κάθε συστήματος με έναν «ισχυρό», από άποψη απόδοσης, εξυπηρετητή. Τέλος, το προτεινόμενο σχήμα για την χρήση επιταχυντών υλικού, θα αξιολογηθεί χρησιμοποιώντας μια εφαρμογή που ανήκει στους machine learning αλγόριθμους και πιο συγκεκριμένα σε ένα σενάριο χρήσης του αλγόριθμου λογιστικής παλινδρόμισης (logistic regression). Η συνολική αξιολόγηση δείχνει ότι γενικά ο χρόνος εκτέλεσης στα ενσωματωμένα συστήμάτα είναι 6,2 έως 13 φορές υψηλότερος σε σύγκριση με έναν τυπικό εξυπηρετητή κέντρου δεδομένων. Ωστόσο, φαίνεται να έχουν περίπου 2 - 3,5 φορές καλύτερη ενεργειακή απόδοση. Επιπλέον, το προτεινόμενο σχήμα για τη χρήση των επιταχυντών υλικού στο Spark, δείχνει ότι το PYNQ-Z1, που βασίζεται στο ετερογενές ZYNQ MPSoC, μπορεί να επιτύχει μέχρι και 2 φορές καλύτερο χρόνο εκτέλεσης σε σύγκριση με ένα σύστημα Xeon και 18 φορές καλύτερη ενεργειακή απόδοση. Ειδικά για ενσωματωμένες εφαρμογές, το προτεινόμενο σχήμα μπορεί να επιτύχει έως και 36 φορές καλύτερο χρόνο εκτέλεσης σε σύγκριση με τα αποτελέσματα από την εκτέλεση σε ενσωματωμένους επεξεργαστές χαμηλής ισχύος (όπως οι επεξεργαστές ARM) και 29 φορές χαμηλότερη κατανάλωση ενέργειας.
URI: http://artemis-new.cslab.ece.ntua.gr:8080/jspui/handle/123456789/13506
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File SizeFormat 
DT2017-0164.pdf8.84 MBAdobe PDFView/Open


Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.