Αποδοτικές τεχνικές μεταφοράς και διαχείρισης δεδομένων σε κατανεμημένα συστήματα μεγάλης κλίμακας
Authors: Ζήσιμος Αντώνιος 
Published: September 2021

Τα τελευταία χρόνια, το Πλέγμα είναι από τα πλέον διαδεδομένα συστήματα τόσο στον ερευνητικό όσο και στο επιχειρηματικό τομέα. Το Πλέγμα είναι ένα κατανεμημένο σύστημα μεγάλης κλίμακας, στο οποίο μπορούν να συνυπάρξουν ένας τεράστιος αριθμός ανεξάρτητων και διαφορετικών υπολογιστικών και αποθηκευτικών πόρων, οι οποίοι ενοποιούνται σε μία υπηρεσιοστρεφή αρχιτεκτονική λογισμικού. Δεδομένου της γεωγραφικά κατανεμημένης φύσης και έκτασης του Πλέγματος, οι υπηρεσίες του θα πρέπει να είναι ικανές να αντεπεξέλθουν σε κλιμάκωση φορτίου αρκετά μεγάλη, ώστε το Πλέγμα να γίνει διαθέσιμο σε παγκόσμια κλίμακα και να απευθυνθεί σε κάθε χρήστη. Ένα από τα πιο κρίσιμα υποσυστήματα στο Πλέγμα, είναι το επίπεδο διαχείρισης δεδομένων. Για την αντιμετώπιση του προβλήματος του τεράστιου μεγέθους των δεδομένων,η κοινότητα ανάπτυξης του Πλέγματος, σχεδίασε την αρχιτεκτονική του Πλέγματος Δεδομένων με τρεις βασικές υπηρεσίες: (α) την Υπηρεσία Μεταφοράς Αρχείων (Data Transfer Service), επιφορτισμένη για την ανταλλαγή δεδομένων μεταξύ των κόμβων του Πλέγματος, (β) την Υπηρεσία Διαχείρισης Αντιγράφων (Replica Location Service), υπεύθυνη για την φύλαξη των φυσικών τοποθεσιών που είναι αποθηκευμένο κάθε αρχείο στο Πλέγμα, και (γ) της Υπηρεσίας Βελτιστοποίησης(Optimization Service), η οποία επιλέγει τις καλύτερες τοποθεσίες για κάθε ανταλλαγή δεδομένων και διαχειρίζεται τα αντίγραφα αρχείων βάσει το ιστορικό χρησιμοποίησης τους. Όμως, οι παραπάνω υπηρεσίες ακολουθούν κεντρικοποιημένη σχεδίαση, η οποία επιφέρει μειωμένες επιδόσεις και κεντρικά σημεία βλάβης. Οι κεντρικοποιημένες υπηρεσίες δεν μπορούν να κλιμακώσουν σε μεγάλο αριθμό ταυτόχρονων χρηστών, ούτε να διατηρήσουν ένα υψηλό αριθμό ανανέωσης σε ένα δυναμικό περιβάλλον όπως αυτό του Πλέγματος. Στην εργασία μας, παρουσιάζουμε μια καινοτόμο αρχιτεκτονική διαχείρισης δεδομένων, η οποία ενοποιεί την υπηρεσία αναζήτησης αντιγράφων και τους μηχανισμούς ανταλλαγής δεδομένων σε ένα πλήρως κατανεμημένο και προσαρμοστικό σύστημα. Η νέα αυτή αρχιτεκτονική αποτελείται από δύο μέρη τα οποία συνεργάζονται για την αποδοτική διαχείριση δεδομένων: (α) την Κατανεμημένη Υπηρεσία Διαχείρισης Αντιγράφων (DistributedReplica Location Service - DRLS) υπεύθυνη για την φύλαξη των φυσικών τοποθεσιών αποθήκευσης κάθε αρχείου και (β) το GridTorrent επιφορτισμένο με την διαχείριση των ανταλλαγών δεδομένων με αυτόματους μηχανισμούς βελτιστοποίησης. Το DRLS οργανώνει τους κόμβους του συστήματος με ένα Κατανεμημένο Πίνακα Κατακερματισμού (Distributed Hash Table - DHT)και διανέμει την πληροφορία σε όλους τους κόμβους. Το μοναδικό χαρακτηριστικό του DRLS είναι ότι εκτός από την αποκεντρικοποίηση της υπηρεσίας και την κλιμακωσιμότητα που της προσφέρει, υποστηρίζει εγγενώς την ανανέωση της πληροφορίας σε κάθε κόμβο που συμμετέχει στοDHT. Δεδομένου, ότι σε πολλές δυναμικές εφαρμογές τα δεδομένα αλλάζουν συνεχώς, το πρωτόκολλο στο οποίο βασίζεται το DRLS παρουσιάζει ανοχή σε Βυζαντινές συνθήκες σφαλμάτων και εγγυάται συνέπεια. Το GridTorrent είναι ένα πρωτόκολλο εμπνευσμένο από το BitTorrent, που εστιάζει στην βελτιστοποίηση της μεταφοράς δεδομένων σε πραγματικό χρόνο, χωρίς να παραβιάζονται οι αρχές ασφάλειας του Πλέγματος. Η συνεργατική φύση του πρωτοκόλλου, επιτρέπει τη διατήρηση χαμηλής απόκρισης και υψηλής χρησιμοποίησης του δικτύου, ακόμα και σε συνθήκες υψηλού φορτίου. Επιτρέπει μεταφορές δεδομένων από πολλαπλούς αποστολείς σε πολλαπλούς παραλήπτες και μεγιστοποιεί την απόδοση με την ανταλλαγή κομματιών του αρχείου μεταξύ όλων των συμμετεχόντων. Πολύ σημαντικό χαρακτηριστικό της προτεινόμενης αρχιτεκτονικής είναι ότι έχει σχεδιαστεί, ώστε να εκμεταλλευτεί υφιστάμενα και ευρέως χρησιμοποιούμενα πρότυπα στο χώρο του Πλέγματος, ώστε να διατηρεί την συμβατότητα με την υφιστάμενη αρχιτεκτονική και τις αντίστοιχες υλοποιήσεις. Τέλος, για την επαλήθευση των αποτελεσμάτων της εργασίας μας,έχει υλοποιηθεί ένα πρωτότυπο της αρχιτεκτονικής και έχουν γίνει αναλυτικά πειράματα του συστήματος τόσο σε περιβάλλοντα τοπικού δικτύου, όσο και σε περιβάλλοντα μεγάλης κλίμακας και υψηλής δυναμικότητας.