Περίληψη: | Η υποδομή υπολογιστικού νέφους (cloud computing) αποτελεί μια νέα αναπτυσσόμενη τεχνολογία στον τομέα της πληροφορικής κατά την οποία η υπολογιστική ισχύς και η αποθήκευση δεδομένων μεταφέρεται από τον υπολογιστή γραφείου και τους φορητούς υπολογιστές σε μεγάλα κέντρα δεδομένων. Η ανάπτυξη του υπολογιστικού νέφους είναι πλέον εφικτή χάρη στην αυξανόμενη δυνατότητα πρόσβασης στο διαδίκτυο, τη μείωση του κόστους αποθήκευσης δεδομένων καθώς τη συνεχή βελτίωση του διαδικτυακού λογισμικού. Οι χρήστες έχουν τη δυνατότητα να προσαρμόσουν τις υπηρεσίες δυναμικά, ανά πάσα στιγμή, ώστε να καλύπτονται οι εκάστοτε ανάγκες, ενώ οι πάροχοι μπορούν να επεκτείνουν δυναμικά την υποδομή των μηχανημάτων με μεγαλύτερη ευκολία και χωρίς τη δημιουργία προβλημάτων.
Επίσης, τα συνεχώς αυξανόμενα σε πλήθος δεδομένα τα οποία παράγονται από διάφορες πηγές, όπως είναι το διαδίκτυο και τα επιστημονικά πειράματα, έχουν δημιουργήσει μία τεράστια ποσότητα πολύπλοκων και διάχυτων ψηφιακών πληροφοριών. Η εξαγωγή χρήσιμων πληροφοριών από ψηφιακά δεδομένα μεγάλου όγκου απαιτεί έξυπνες και εύκολα επεκτάσιμες υπηρεσίες επεξεργασίας.
Τα τελευταία χρόνια έχουν γίνει αρκετές προσπάθειες να οριστούν πλαίσια για την επίλυση του προβλήματος της παράλληλης εκτέλεσης διεργασιών πάνω σε cloud. Έχουν προταθεί διάφορες αρχιτεκτονικές και αλγόριθμοι των οποίων σκοπός είναι η καλύτερη διαχείριση των υπολογιστικών πόρων του cloud.
Έχοντας γνώση της θεωρίας και μετά από μελέτη των υλοποιημένων εφαρμογών, σχετικών με τη διαχείριση πολύπλοκων υλοποιήσεων επιστημονικής ανάλυσης δεδομένων, η παρούσα μεταπτυχιακή εργασία έχει ως σκοπό την παρουσίαση και την εκτενή ανάλυση ενός καινοτόμου αλγόριθμου χρονοπρογραμματισμού επιστημονικών διεργασιών στο υπολογιστικό νέφος. Αυτός ο αλγόριθμος είναι βασισμένος σε ένα σύστημα βαθμολόγησης των εργασιών που βρίσκονται ανά πάσα χρονική στιγμή στην ουρά. Κάθε εργασία λαμβάνει ένα σύνολο από credits, τα οποία είναι ανάλογα του μεγέθους των υπολογιστικών απαιτήσεων της, τα οποία ελαττώνονται με την πάροδο του χρόνου. Προτεραιότητα δίνεται πάντοτε στις εργασίες με την μικρότερη βαθμολογία. Χαρακτηριστικό της προτεινόμενης προσέγγισης είναι ότι δεν απαιτείται η a-priori γνώση του χρόνου εκτέλεσης της κάθε εργασίας, καθιστώντας τον ιδανικό για περιβάλλοντα που εκτελούν νέες και διαφορετικού τύπου αναλύσεις, όπως στα ερευνητικά εργαστήρια.
Ο προτεινόμενος αυτός credit based αλγόριθμος έχει ως στόχο την βελτιστοποίηση ως προς το μέσο χρόνο αναμονής των επιστημονικών υπολογιστικών διεργασιών στην ουρά. Επιπλέον όμως γίνεται προσπάθεια ώστε να μεγιστοποιηθεί η χρήση των διαθέσιμων πόρων του υπολογιστικού συστήματος ανά πάσα χρονική στιγμή.
Πιο αναλυτικά η διπλωματική εργασία επικεντρώνεται στην υλοποίηση μίας εφαρμογής η οποία:
1) παρέχει στον χρήστη τη δυνατότητα να εισάγει και να ξεκινά μια σύνθετη ανάλυση δεδομένων,
2) αναλύει την απόδοση διαφόρων αλγορίθμων χρονοπρογραμματισμού με την χρήση μετρικών απόδοσης,
3) υπολογίζει τους απαιτούμενους υπολογιστικούς πόρους και υλοποιεί τον χρονοπρογραμματισμό εκτέλεσης του αιτούμενου συνόλου εργασιών.
με τελικό στόχο να παρέχει μικρότερους χρόνους εξυπηρέτησης εκτελέσεων υπολογιστικών διαδικασιών ανάλυσης δεδομένων και επίλυσης επιστημονικών προβλημάτων.
Τα αποτελέσματα που προέκυψαν από την πειραματική διαδικασία είναι αρκετά ικανοποιητικά. Ο προτεινόμενος credit based αλγόριθμος επιτυγχάνει 2 έως 6 φορές μικρότερο μέσο χρόνο απόκρισης από τον ευρέως χρησιμοποιούμενο FCFS. Παράλληλα παρουσιάζει λίγο χειρότερη απόδοση από άλλους θεωρητικούς αλγόριθμους χρονοπρογραμματισμού (EASY (Ahuva, 2001), AMBF (Bing, 2013), CMBF (Bing, 2013) ), οι οποίοι όμως έχουν πολύ υψηλότερη πολυπλοκότητα και δεν είναι πρακτικά εφαρμόσιμοι, για ποικίλους λόγους, στα σημερινά cloud computing συστήματα.
|