Συγκριτική αξιολόγηση απόδοσης υλοποίησης n-gram retrieval αλγορίθμου με χρήση αποδοτικών δομών δεδομένων και ανεστραμμένων ευρετηρίων σε τρεις διαφορετικές γλώσσες (Java, C++, Python) κάνοντας χρήση της εικονικής μηχανής GraalVM

Ο όγκος των δεδομένων αυξάνεται ραγδαία τα τελευταία χρόνια μιας και οι πηγές που τα παράγουν πολλαπλασιάζονται καθημερινά. Αυτές οι πηγές μπορεί να είναι ροές δεδομένων από αισθητήρες, δεδομένα παγκόσμιου ιστού, βιολογικά δεδομένα και άλλα. Στην τελευταία κατηγορία δεδομένων έχουμε μια ταχεία και α...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Κουτρόπουλος, Παναγιώτης
Άλλοι συγγραφείς: Koutropoulo,s Panagiotis
Γλώσσα:Greek
Έκδοση: 2022
Θέματα:
Διαθέσιμο Online:https://hdl.handle.net/10889/23573
Περιγραφή
Περίληψη:Ο όγκος των δεδομένων αυξάνεται ραγδαία τα τελευταία χρόνια μιας και οι πηγές που τα παράγουν πολλαπλασιάζονται καθημερινά. Αυτές οι πηγές μπορεί να είναι ροές δεδομένων από αισθητήρες, δεδομένα παγκόσμιου ιστού, βιολογικά δεδομένα και άλλα. Στην τελευταία κατηγορία δεδομένων έχουμε μια ταχεία και απότομη αύξηση δεδομένων λόγω του μείζονος ενδιαφέροντος όσον αφορά την κατανόηση του ανθρώπινου γονιδιώματος αλλά και την παραγωγή φαρμακευτικών προϊόντων έπειτα και από τα τελευταία ιατροφαρμακευτικά δεδομένα. Η αποδοτική αποθήκευση βιολογικών δεδομένων είναι κάτι που συνεχώς ερευνάται και παίζει σημαντικό ρόλο βρίσκοντας ολοένα και πιο δραστικούς τρόπους για την αποθήκευση αυτών [1-2]. Η ανάλυση όμως και ο χρόνος εκτέλεσης της αποθήκευσης αυτών των δεδομένων, στην εποχή της ταχείας αναπαράστασης της πληροφορίας, είναι εξίσου σημαντική. Ο χρόνος εκτέλεσης των πειραμάτων είναι κάτι που δεν είχε μελετηθεί στη συγκεκριμένη έρευνα [1-2] και σκοπεύουμε να δώσουμε ένα ευρύ φάσμα προκειμένου να γίνει κατανοητό ποιος είναι ο βέλτιστος τρόπος τόσο να τρέξουν όσο και να μεταγλωττιστούν τα προγράμματα αποθήκευσης αυτών των δεδομένων. Οι μεταγλωττιστές από την άλλη μεριά έχουν αναπτυχθεί τα τελευταία χρόνια προσπαθώντας να προσθέσουν ακόμα περισσότερες βελτιστοποιήσεις προκειμένου να επιταχύνουν την εκτέλεση προγραμμάτων αλλά και συστημάτων. Ένα από αυτά τα συστήματα είναι και το GraalVM [3], μια εικονική μηχανή γραμμένη σε Java η οποία μπορεί να μεταγλωττίσει πολλαπλές γλώσσες είτε είναι βασισμένες στο JVM μοντέλο είτε όχι. Ανάμεσα στις γλώσσες που μπορεί να μεταγλωττίσει η συγκεκριμένη μηχανή είναι όλες όσες είναι βασισμένες στο JVM (Java, Scala κλπ), Javascript, Python, C++ και άλλες. Στην παρούσα μεταπτυχιακή διπλωματική εργασία αναλύεται ο χρόνος εκτέλεσης των πειραμάτων του [1] με σκοπό να παρουσιαστεί μια συγκριτική μελέτη μεταξύ εφαρμογών σε διαφορετικές γλώσσες αλλά και σε διαφορετικά συστήματα μεταγλώττισης. Πιο συγκεκριμένα επιχειρούμε να αναπαράγουμε το σύστημα ισάξια σε τρεις διαφορετικές γλώσσες (Java, C++, Python) και στη συνέχεια να τρέξουμε την κάθε εφαρμογή στον τρέχον state-of-the-art μεταγλωττιστή της αλλά και στην εικονική μηχανή GraalVM [3]. Αυτό θα μας δώσει μια σφαιρική εικόνα όχι μόνο για τη γλώσσα με το καλύτερο χρόνο εκτέλεσης, κάτι που περιμένουμε να επιβεβαιωθεί και για το συγκεκριμένο σύστημα, αλλά και πως η εικονική μηχανή GraalVM μπορεί να ανταγωνιστεί ή να ξεπεράσει άλλους μεταγλωττιστές.