Περίληψη: | Οι τεχνολογίες κατανεμημένου υπολογισμού, όπως τα δίκτυα πλέγματος και οι υποδομές Νέφους, έχουν διαμορφώσει πλέον ένα καινούργιο περιβάλλον σχετικά με τον τρόπο που εκτελούνται οι εργασίες των χρηστών, αποθηκεύονται τα δεδομένα και γενικότερα χρησιμοποιούνται οι εφαρμογές. Τα δίκτυα πλέγματος αποτέλεσαν το επίκεντρο της σχετικής ερευνητικής δραστηριότητας για μεγάλο χρονικό διάστημα, με βασικό στόχο τη δημιουργία υποδομών για την εκτέλεση ερευνητικών εφαρμογών με πολύ υψηλές υπολογιστικές και αποθηκευτικές απαιτήσεις. Ωστόσο είναι πλέον προφανές ότι υπάρχει μια στροφή προς τις υποδομές Νέφους που προσφέρουν υπηρεσίες κατανεμημένου υπολογισμού και αποθήκευσης μέσω πλήρως διαχειρίσιμων πόρων. Η συγκεκριμένη μετάβαση έχει ως αποτέλεσμα μια μετατόπιση από το μοντέλο των πολλών και ισχυρών πόρων που βρίσκονται κατανεμημένοι σε διάφορες περιοχές του κόσμου (όπως στα δίκτυα πλέγματος) προς σχετικά λιγότερα αλλά πολύ μεγαλύτερα ως προς το μέγεθος κέντρα δεδομένων τα οποία αποτελούνται από χιλιάδες υπολογιστικούς πόρους οι οποίοι φιλοξενούν ακόμη περισσότερες εικονικές μηχανές.
Η έρευνα που διεξάγαμε ακολούθησε αυτή την αλλαγή, μελετώντας αλγοριθμικά θέματα για δίκτυα πλέγματος και υποδομές Νεφών και αναπτύσσοντας μια σειρά από εργαλεία και εφαρμογές που διαχειρίζονται, παρακολουθούν και αξιοποιούν τους πόρους που προσφέρουν οι συγκεκριμένες υποδομές.
Αρχικά, μελετούμε τα ζητήματα που προκύπτουν κατά την υλοποίηση αλγορίθμων χρονοπρογραμματισμού, που είχαν προηγουμένως μελετηθεί σε περιβάλλοντα προσομοίωσης, σε ένα πραγματικό σύστημα ενδιάμεσου λογισμικού για δίκτυα πλέγματος, και συγκεκριμένα το gLite. Το πρώτο ζήτημα που αντιμετωπίσαμε είναι το γεγονός ότι οι πληροφορίες που παρέχει το ενδιάμεσο λογισμικό gLite στους αλγορίθμους χρονοπρογραμματισμού δεν είναι πάντα έγκυρες, γεγονός που επηρεάζει την αποδοσή τους. Για την αντιμετώπιση του προβλήματος αναπτύξαμε ένα εσωτερικό, στο χρονοπρογραμματιστή, μηχανισμό που καταγράφει τις αποφάσεις του σχετικά με ποιές εργασίες ανατέθηκαν σε ποιούς υπολογιστικούς πόρους και λειτουργεί συµπληρωµατικά µε την υπηρεσία πληροφοριών του gLite. Επιπλέον, εξετάζουμε το ζήτημα του δίκαιου διαμοιρασμού της υπολογιστικής χωρητικότητας ενός πόρου στις εργασίες που έχουν ανατεθεί σε αυτόν. Για το σκοπό αυτό, επεκτείνουμε το ενδιάμεσο λογισμικό gLite ώστε να περιλαμβάνει ένα νέο μηχανισμό που μέσω της αξιοποίησης της τεχνολογίας εικονικοποίησης επιτρέπει τον ταυτόχρονο διαμοιρασμό της υπολογιστικής χωρητικότητας ενός κόμβου σε πολλές εργασίες.
Στην συνέχεια εξατάζουμε το πρόβλημα της συνδυασμένης μεταφοράς πολλαπλών εικονικών μηχανών σε σύγχρονες υπολογιστικές υποδομές. Πιο συγκεκριμένα, προτείνουμε μια μεθοδολογία που στοχεύει στην καλύτερη χρησιμοποίηση των διαθέσιμων υπολογιστικών και δικτυακών πόρων, λαμβάνοντας υπόψη στις αποφάσεις σχετικά με τη συνδυασμένη μεταφορά εικονικών μηχανών τις αλληλεξαρτήσεις που δημιουργούνται από την επικοινωνία τους. Η προτεινόμενη μεθοδολογία χρησιμοποιεί την προσέγγιση πολλαπλών κριτηρίων για την επιλογή των εικονικών μηχανών που θα μετακινηθούν, αναθέτοντας διαφορετικά βάρη στα διάφορα κριτήρια ενδιαφέροντος. Επιπλέον, επιλέγει τους υπολογιστικούς κόμβους όπου οι μετακινούμενες εικονικές μηχανές θα φιλοξενηθούν, λαμβάνοντας υπόψη τον τρόπο με τον οποίο οι μετακινήσεις επηρεάζουν τις λογικές (ή εικονικές) τοπολογίες που σχηματίζονται από την επικοινωνία τους και αντιμετωπίζοντας τη συγκεκριμένη επιλογή ως ένα πρόβλημα αναδιάρθρωσης λογικών τοπολογιών. Η αξιολόγηση επιβεβαίωσε τη δυνατότητα της μεθοδολογίας να επιλύει, μέσω των κατάλληλων μετακινήσεων, ένα σημαντικό αριθμό προβλημάτων που οφείλονται σε ελλείψεις υπολογιστικών ή επικοινωνιακών πόρων, ελαχιστοποιώντας παράλληλα τον αριθμό των μετακινήσεων και την προκαλούμενη επιβάρυνση του δικτύου.
Το επόμενο θέμα που εξετάζουμε αφορά το πρόβλημα της ανάλυσης δεδομένων επικοινωνίας μεταξύ εικονικών μηχανών οι οποίες φιλοξενούνται σε ένα κέντρο δεδομένων. Προτείνουμε και αξιολογούμε, μέσω της ανάλυσης δεδομένων από ένα πραγματικό κέντρο δεδομένων, την εφαρμογή μετρικών και τεχνικών από τη θεωρία ανάλυσης κοινωνικών δικτύων για τον προσδιορισμό σημαντικών εικονικών μηχανών, για παράδειγμα εικονικές μηχανές οι οποίες απαιτούν περισσότερο εύρος ζώνης σε σχέση με άλλες, και ομάδων εικονικών μηχανών που συσχετίζονται με κάποιο τρόπο μεταξύ τους. Μέσω της συγκεκριμένης προσέγγισης έχουμε τη δυνατότητα να εξάγουμε σημαντικές πληροφορίες οι οποίες μπορούν να αξιοποιηθούν για τη λήψη καλύτερων αποφάσεων σχετικά με τη διαχείριση του πολύ μεγάλου πλήθους των εικονικών μηχανών που φιλοξενούνται στα σύγχρονα κέντρα δεδομένων.
Στη συνέχεια προσδιορίζουμε τρόπους με τους οποίους οι πληροφορίες παρακολούθησης που συλλέγονται από τη λειτουργία μιας δημόσιας υποδομής Υπολογιστικού Νέφους, και ιδίως από την υπηρεσία Amazon Web Services (AWS), μπορούν να χρησιμοποιηθούν με ένα αποδοτικό τρόπο προκειμένου να εξάγουμε πολύτιμες πληροφορίες, που μπορούν να αξιοποιηθούν από τους τελικούς χρήστες για την αποτελεσματικότερη διαχείριση των εικονικών πόρων τους. Πιο συγκεκριμένα, παρουσιάζουμε το σχεδιασμό και την υλοποίηση ενός εργαλείου ανοιχτού κώδικα, του SuMo, στο όποιο έχουμε υλοποίησει όλη την απαραίτητη λειτουργικότητα για τη συλλογή και ανάλυση δεδομένων παρακολούθησης από την υπηρεσία AWS. Επιπλέον, προτείνουμε ένα μηχανισμό για τη βελτιστοποίηση του κόστους και της αξιοποίησης (Cost and Utilization Optimization - CUO) των εικονικών υπολογιστικών πόρων της υπηρεσίας AWS. Ο μηχανισμός CUO χρησιμοποιεί πληροφορίες (πλήθος, ακριβή χαρακτηριστικά, ποσοστό αξιοποίησης) για τους διαθέσιμους εικονικούς πόρους ενός χρήστη και προτείνει ένα νέο (βέλτιστο) σύνολο πόρων που θα μπορούσαν να χρησιμοποιηθούν για την αποδοτικότερη εξυπηρέτηση του ίδιου φορτίου εργασίας με μειωμένο κόστος.
Τέλος, παρουσιάζουμε την υλοποίηση ενός ολοκληρωμένου εργαλείου, που ονομάζουμε Mantis, για το σχεδιασμό και τη λειτουργία των μελλοντικών ευέλικτων (flex-grid) οπτικών δικτύων που υποστηρίζει επιπλέον οπτικά δίκτυα σταθερού πλέγματος τόσο μοναδικού ρυθμού μετάδοσης όσο και πολλαπλών ρυθμών μετάδοσης. Οι χρήστες έχουν τη δυνατότητα να καθορίζουν δικτυακές τοπολογίες, απαιτήσεις κίνησης, παραμέτρους για το κόστος απόκτησης και λειτουργίας των δικτυακών συσκευών, ενώ επιπλέον έχουν πρόσβαση σε αρκετούς αλγορίθμους για το σχεδιασμό, λειτουργία και αξιολόγηση διαφόρων οπτικών δικτύων. Το εργαλείο έχει σχεδιαστεί ώστε να μπορεί να λειτουργεί είτε ως υπηρεσία (Software as a Service) είτε ως κλασσική εφαρμογή (Desktop Application). Λειτουργώντας ως υπηρεσία παρέχει κλιμάκωση με βάση τις απαιτήσεις των χρηστών, αξιοποιώντας τα πλεονεκτήματα των υποδομών Υπολογιστικού Νέφους, εκτελώντας γρήγορα και αποτελεσματικά τις εργασίες των χρηστών. Για τη λειτουργία αυτή, μπορεί να χρησιμοποιεί τόσο δημόσιες υποδομές Υπολογιστικού Νέφους όπως η υπηρεσία Amazon Web Services (AWS) και η υπηρεσία της ΕΔΕΤ (~okeanos), όσο και ιδιωτικές που βασίζονται στο OpenStack. Επιπλέον, η αρθρωτή αρχιτεκτονική και η υλοποίηση των διαφόρων λειτουργικών τμημάτων επιτρέπουν την εύκολη επέκταση του εργαλείου ώστε να υποστηρίζει μελλοντικά περισσότερες υποδομές Υπολογιστικού Νέφους.
|