Περίληψη |
Με την συνεχή εξέλιξη εφαρμογών υψηλής επίδοσης, αυξάνεται ραγδαία και η ανάγκη
τους για περισσότερη μνήμη. Ως αποτέλεσμα, γίνεται όλο πιο επιτακτική η απαίτηση για
περισσότερη μνήμη στους υπολογιστικούς κόμβους ίδιας συστάδας που εκτελούν τις
παραπάνω εφαρμογές. Ωστόσο, ένας μεμονωμένος υπολογιστικός κόμβος έχει όρια ως
προς τη χωρητικότητα μνήμης που μπορεί να διαθέτει. Τυπικά, με την εκτέλεση
πολλαπλών εφαρμογών οι οποίες διαφέρουν σε υπολογιστικές και χωρικές απαιτήσεις,
δημιουργείται μεταβαλλόμενο φορτίο εργασίας μεταξύ των υπολογιστικών κόμβων.
Επομένως, κάποιοι από αυτούς τους κόμβους χρησιμοποιούν το μεγαλύτερο ποσοστό
μνήμης τους ενώ κάποιοι άλλοι έχουν ανεκμετάλλευτη χωρητικότητα μνήμης η οποία θα
μπορούσε δυνητικά να χρησιμοποιηθεί από εκείνους με μεγαλύτερο φορτίο μνήμης.
Συνεπώς η έννοια της διαχείρισης απομακρυσμένης μνήμης, είναι αντικείμενο έρευνας
για πολλούς οργανισμούς, οι οποίοι έχουν υλοποιήσει ποικίλες τεχνικές για ανάγνωση
και εγγραφή δεδομένων σε απομακρυσμένη μνήμη. Παρόλο που η χρήση
απομακρυσμένης μνήμης πρακτικά αυξάνει την συνολικά διαθέσιμη μνήμη ενός
υπολογιστικού κόμβου, η πρόσβαση σε απομακρυσμένα δεδομένα μπορεί να μειώσει
δραματικά την απόδοση μιας εφαρμογής, εξαιτίας της μεταφοράς αυτών των
δεδομένων μέσω της ενδοσύνδεσης δικτύου της συστάδας. Επιπλέον, οι διεπαφές
εφαρμογών λογισμικού που υλοποιούνται για να δώσουν πρόσβαση σε απομακρυσμένη
μνήμη, αρχικά μπορεί να είναι περίπλοκες ως προς τη χρήση τους, και έπειτα η ευθύνη
για την δέσμευση απομακρυσμένης μνήμης και την προτεραιότητα σε αυτήν μεταξύ των
εφαρμογών, ανάγεται στις ίδιες τις εφαρμογές, παρόλο που έχει αρκετή πολυπλοκότητα,
ειδικά όταν ένας μεγάλος αριθμός εφαρμογών εκτελείται ταυτόχρονα στον ίδιο
υπολογιστικό κόμβο.
Σε αυτή τη μεταπτυχιακή εργασία, παρουσιάζουμε το σύστημα μετανάστευσης σελίδων
(PMS), το οποίο επιβλέπει την χρήση κύριας μνήμης των υπολογιστικών κόμβων σε μία
συστάδα, και μετακινεί δεδομένα αραιής πρόσβασης μιας διεργασίας, από την μνήμη
ενός υπολογιστικού κόμβου με αυξημένο φορτίο μνήμης, σε ελεύθερη μνήμη ενός
απομακρυσμένου υπολογιστικού κόμβου της ίδιας συστάδας με χαμηλό φορτίο μνήμης.
Τα βασικά χαρακτηριστικά του PMS είναι η διάφανη μεταφορά LRU σελίδων μιας
διεργασίας σε απομακρυσμένη μνήμη ενώ παράλληλα χρησιμοποιείται ένας αλγόριθμος
δικαιοσύνης για την επιλογή σελίδων μνήμης μεταξύ πολλών διεργασιών που
εκτελούνται στον ίδιο υπολογιστικό κόμβο. Επιπλέον, η απομακρυσμένη μνήμη
χαρτογραφείται στον τοπικό κόμβο από το λειτουργικό σύστημα και άρα τα
απομακρυσμένα δεδομένα μπορούν να βρίσκονται στην κρυφή μνήμη. Για την ακρίβεια,
μια ανάγνωση και/ή εγγραφή στην απομακρυσμένη μνήμη συμβαίνει όταν έχουμε
αστοχία στην κρυφή μνήμη. Αυτή η δυνατότητα αυξάνει την απόδοση μιας διεργασίας
όταν δεν υπάρχουν πολλές αστοχίες, λόγω της μείωσης μεταφοράς δεδομένων στο
δίκτυο. Τέλος, Το σύστημα επιτρέπει την επιστροφή σελίδων μνήμης τοπικά όταν
ελευθερωθεί μνήμη στον κόμβο, ή αυξηθεί η συχνότητα πρόσβασης σε αυτές τις σελίδες.
Αξιολογούμε το PMS εκτελώντας εφαρμογές οι οποίες επικεντρώνεται στην προσπέλαση
μεγάλου όγκου δεδομένων από τη μνήμη. Χρησιμοποιούμε εφαρμογές που κάνουν
σειριακή προσπέλαση σε συνεχόμενες θέσεις μνήμης σε πίνακες της τάξης του 1
Gigabyte και έτσι βγάζουμε συχνά δεδομένα από την κρυφή μνήμη με αποτέλεσμα την
συνεχή μεταφορά δεδομένων μέσω δικτύου. Με αυτόν τον τρόπο μπορούμε να
μετρήσουμε την μείωση απόδοσης της εφαρμογής λόγω της προσπέλασης σε
απομακρυσμένη μνήμη στη χειρότερη περίπτωση. Επίσης εκτελούμε εφαρμογές που
έχουν αυξημένη χωρική τοπικότητα στην κρυφή μνήμη, και έτσι δείχνουμε ότι το
ποσοστό απόδοσης της εφαρμογής αυξάνεται λόγω της μειωμένης πρόσβασης στην
απομακρυσμένη μνήμη. Τέλος, παρατηρούμε την συμπεριφορά και απόδοση σε
πραγματικές εφαρμογές υψηλής επίδοσης, χρησιμοποιώντας το PMS
|