Ανάλυση και σύγκριση της επίδοσης TLB πολλαπλών σύγχρονων αρχιτεκτονικών x86-64 για σύγχρονες και απαιτητικές σε μνήμη εφαρμογές
Διπλωματική Εργασία


Περιγραφή

Εισαγωγή

Η εικονική μνήμη (virtual memory) αποτελεί ένα επίπεδο αφαιρετικότητας (abstraction layer) ανάμεσα (α) στην ”απεριόριστα” μεγάλη εικονική μνήμη, την οποία ”βλέπουν” και νομίζουν πως χρησιμοποιούν οι διεργασίες και (β) την περιορισμένη φυσική μνήμη (physical memory) του υπολογιστικού συστήματος, την οποία το λειτουργικό σύστημα διαχειρίζεται και αναθέτει στις τρέχουσες διεργασίες. Συνεπώς, κατά την εκτέλεση κάθε εντολής μνήμης από τον επεξεργαστή απαιτείται μια μετάφραση διεύθυνσης (address translation) από την εικονική μνήμη στην φυσική μνήμη. Οι επεξεργαστές υποστηρίζουν την μετάφραση διευθύνσεων που απαιτεί η εικονική μνήμη μέσω του Translation Lookaside Buffer (TLB). Ο TLB είναι μία μικρή εξειδικευμένη κρυφή μνήμη, υλοποιημένη στο υλικό (hardware), όπου αποθηκεύονται οι πιο πρόσφατες μεταφράσεις διευθύνσεων. Ο επεξεργαστής προσπελάζει τον TLB κατά την εκτέλεση κάθε εντολής μνήμης. Στην περίπτωση που βρεθεί η ζητούμενη μετάφραση διέυθυνσης (TLB hit), ο TLB επιστρέφει στον επεξεργαστή την ζητούμενη φυσική διεύθυνση και ο επεξεργαστής εν συνεχεία προσπελάζει την ιεραρχία της μνήμης για να διαβάσει/γράψει τα ζητούμενα δεδομένα. Στην περίπτωση όμως που δεν βρεθεί η ζητούμενη μετάφραση διέυθυνσης (TLB miss), η εκτέλεση της εντολής μνήμης καθυστερεί μέχρι να ανακτηθεί η ζητούμενη μετάφραση διεύθυνσης. Συνεπώς, η επίδοση του TLB επηρεάζει την συνολική επίδοση ενός υπολογιστικού συστήματος, και ζητούμενο για την βελτίωση της επίδοσης του TLB είναι η μεγιστοποίση των επιτυχημένων προσπελάσεων (TLB hits).

Σκοπός

Εξαιτίας της επίδρασης της επίδοσης του TLB στην συνολική επίδοση του υπολογιστικού συστήματος, οι κατασκευαστές μικροεπεξεργαστών έχουν αυξήσει το μέγεθος του TLB ούτως ώστε οι διαθέσιμες μεταφράσεις διευθύνσεων να είναι περισσότερες και συνεπώς η πιθανότητα των επιτυχημένων ΤLB προσπελάσεων να είναι μεγαλύτερη. Χαρακτηριστικό παράδειγμα αυτής της προσέγγισης αποτελεί η Intel, η οποία έχει αυξήσει σημαντικά το μέγεθος του TLB κατά την εξέλιξη των τριών πιο πρόσφατων αρχιτεκτονικών x86-64 της, δηλαδή SandyBridge, Haswell, και Broadwell. Στόχος αυτής της διπλωματικής εργασίας είναι η αξιολόγηση και η ανάλυση της επίδοσης του TLB για τις τρεις πιο πρόσφατες αρχιτεκτονικές x86-64 της Intel. Θα δημιουργηθούν και θα χρησιμοποιηθούν μικρομετροπρογράμματα (micro-benchmarks) ώστε να κατανοηθούν οι λεπτομέρειες της μικροαρχιτεκτονικής του TLB για κάθε μοντέλο. Η αξιολόγηση της επίδοσης θα πραγματοποιηθεί σε πραγματικά μηχανήματα χρησιμοποιώντας performance counters και δημιουργώντας μοντέλα επίδοσης. Τέλος, η επίδοση των μηχανισμών θα μελετηθεί εκτελώντας σύγχρονα μετροπρογράμματα (benchmarks) που είναι απαιτητικά σε μνήμη και τα οποία συνήθως επηρεάζονται περισσότερο από την επίδοση του TLB.

Επικοινωνία

  • Βασίλης Καρακώστας, vkarakos@cslab.ece.ntua.gr
  • Γεώργιος Γκούμας, goumas@cslab.ece.ntua.gr
  • Κωστής Νίκας, knikas@cslab.ece.ntua.gr