Αλγόριθμοι εξισορρόπησης φόρτου σε p2p συστήματα και μετρικές απόδοσης
Θεοφάνης-Αριστοφάνης Μιχαήλ · Νημερτής · 2014
Πρόσφατα η ιντερνετική κοινότητα έστρεψε την προσοχή και το ενδιαφέρον της στα peer-to-peer συστήματα, όπου οι χρήστες προσφέρουν τους πόρους τους (αποθηκευτικό χώρο, υπολογιστικό χρόνο) και περιεχόμενο (αρχεία) στην διάθεση της κοινότητας. Οι χρήστες θεωρούνται ίσοι μεταξύ τους και ο καθένας συμμετέχει με διπλό ρόλο, τόσο σαν πελάτης, όσο και σαν εξυπηρετητής. Με αυτό τον τρόπο δημιουργούνται κοινότητες με αποκεντρωμένο έλεγχο, ευελιξία, σταθερότητα, κλιμάκωση, ανωνυμία κι αντοχή στην λογοκρισία. Ενώ όμως οι δυνατότητες αυτών των συστημάτων είναι ποικίλες, την μεγαλύτερη αποδοχή έχουν γνωρίσει τα συστήματα ανταλλαγής αρχείων όπως το Napster, Kazaa, Gnutella, eDonkey, BitTorrent. Το ενδιαφέρον των ερευνητών δεν έχει περιοριστεί μόνο στην ανταλλαγή δεδομένων μιας και η ανοιχτή φύση των peer-to-peer συστημάτων προσφέρει πολύ περισσότερες προκλήσεις. Ένα ενδιαφέρον πεδίο έρευνας είναι αυτό των τεχνικών εξισορρόπησης φόρτου. Η έρευνα που διεξάγεται μπορεί να χωριστεί σε δύο κατηγορίες. Στην μια κατηγορία μπορούμε να εντάξουμε τεχνικές για την καλύτερη κατανομή των αντικειμένων στον χώρο ονομάτων για βελτιστοποιήσεις στην απόδοση της δρομολόγησης και αναζήτησης [Pastry, Tapestry, Chord]. Στην δεύτερη μπορούμε να εντάξουμε τεχνικές για την κατανομή αντιγράφων των αντικειμένων στους κόμβους του δικτύου, για βελτιστοποίηση του ρυθμού εξυπηρέτησης των χρηστών και της ποιότητας υπηρεσίας που τους προσφέρει το σύστημα, η οποία μπορεί άμεσα να συσχετιστεί με την διαθεσιμότητα. Ενώ η δεύτερη κατηγορία μπορούμε να πούμε ότι φαίνεται να είναι πιο ενδιαφέρουσα από την σκοπιά του τελικού χρήστη, η έρευνα στον τομέα αυτό δεν φαίνεται να λαμβάνει υπόψη της έναν ρεαλιστικό υπολογισμό του κόστους εφαρμογής των προτεινομένων τεχνικών. Έτσι κάποιες εργασίες δεν υπολογίζουν καθόλου το κόστος δημιουργίας αντιγράφων, ενώ κάποιες άλλες το θεωρούν σταθερό και ανεξάρτητο από το μέγεθος των αντικειμένων και τη σύνδεση των δυο κόμβων μεταξύ των οποίων γίνεται η επικοινωνία. Κάποιες λιγότερο ή περισσότερο προχωρούν λίγο παραπέρα και ορίζουν το κόστος να είναι ανάλογο του απαιτούμενου αποθηκευτικού χώρου. Η διαφορά με την παρούσα εργασία είναι ότι δεν εμπεριέχουν την έννοια της εξισορρόπησης του φόρτου των κόμβων μεταξύ τους. Σε αυτή την εργασία προσπαθήσαμε να καθορίσουμε ένα σύνολο μετρικών απόδοσης μέσα από ένα πλαίσιο εργασίας για έναν όσο το δυνατόν περισσότερο ρεαλιστικό τρόπο υπολογισμού τους. Για να το πετύχουμε αυτό, καταρχήν σχεδιάσαμε ένα p2p σύστημα διαμοίρασης αρχείων με αρχιτεκτονική που βασίζεται στην οργάνωση των κόμβων σε ομάδες, ενώ στη συνέχεια ορίζοντας την έννοια του φόρτου υλοποιήσαμε τεχνικές για την εξισορρόπησή του. Για την αξιολόγηση των τεχνικών, ορίστηκε ένα σύνολο μετρικών οι οποίες καταγράφουν την απόδοση του συστήματος τόσο από την οπτική γωνία του συστήματος (επιθυμητή η δίκαιη κατανομή του φόρτου και η βέλτιστη χρήση των πόρων όπως κυρίως η διαθέσιμη χωρητικότητα των συνδέσεων των κόμβων μεταξύ τους), όσο κι από την οπτική γωνία του χρήστη (καλύτερη «ποιότητα υπηρεσίας» με το ελάχιστο δυνατό κόστος). Η πειραματική αξιολόγηση των τεχνικών έγινε μέσα σε ένα περιβάλλον προσομοίωσης, το οποίο υλοποιήθηκε από μηδενική βάση, έπειτα από μια μελέτη παρόμοιων συστημάτων. Τα κύρια χαρακτηριστικά του περιβάλλοντος αυτού είναι α) η επεκτασιμότητα κι ευχρηστία του, β) απλή και ρεαλιστική βάση προσομοίωσης, γ) ύπαρξη πληθώρας παραμέτρων της προσομοίωσης που δίνονται σαν είσοδος από τον χρήστη και δ) δυνατότητα προσομοίωσης μεγάλου μεγέθους συστημάτων.