Συνοχή της κρυφής μνήμης

Μια κρυφή μνήμη μπορεί να χρησιμοποιηθεί για να βελτιώσει την απόδοση της πρόσβασης σε έναν συγκεκριμένο πόρο. Όταν υπάρχουν πολλές τέτοιες κρυφές μνήμες για τον ίδιο πόρο, όπως φαίνεται στην εικόνα, αυτό μπορεί να οδηγήσει σε προβλήματα. Η συνοχή της κρυφής μνήμης ή η συνοχή της κρυφής μνήμης αναφέρεται σε διάφορους τρόπους για να διασφαλιστεί ότι όλες οι κρυφές μνήμες του πόρου έχουν τα ίδια δεδομένα και ότι τα δεδομένα στις κρυφές μνήμες έχουν νόημα (που ονομάζεται ακεραιότητα δεδομένων). Η συνοχή της κρυφής μνήμης είναι μια ειδική περίπτωση της συνοχής της μνήμης.

Μπορεί να υπάρξουν προβλήματα εάν υπάρχουν πολλές κρυφές μνήμες ενός κοινού πόρου μνήμης, καθώς τα δεδομένα στην κρυφή μνήμη μπορεί να μην έχουν πλέον νόημα ή μία κρυφή μνήμη μπορεί να μην έχει πλέον τα ίδια δεδομένα με τις άλλες. Μια συνηθισμένη περίπτωση όπου εμφανίζεται το πρόβλημα είναι η κρυφή μνήμη των CPUs σε ένα σύστημα πολυεπεξεργασίας. Όπως φαίνεται στο σχήμα, αν ο πάνω πελάτης έχει αντίγραφο ενός μπλοκ μνήμης από προηγούμενη ανάγνωση και ο κάτω πελάτης αλλάξει αυτό το μπλοκ μνήμης, ο πάνω πελάτης μπορεί να μείνει με μια άκυρη κρυφή μνήμη,χωρίς να το γνωρίζει. Η συνοχή της κρυφής μνήμης υπάρχει για να διαχειρίζεται τέτοιες συγκρούσεις και να διατηρεί τη συνοχή μεταξύ της κρυφής μνήμης και της μνήμης.

Πολλαπλές κρυφές μνήμες κοινόχρηστου πόρουZoom
Πολλαπλές κρυφές μνήμες κοινόχρηστου πόρου

Ορισμός

Η συνοχή ορίζει τη συμπεριφορά των αναγνώσεων και των εγγραφών στην ίδια θέση μνήμης. Οι κρυφές μνήμες είναι συνεκτικές, εάν πληρούνται όλες οι ακόλουθες προϋποθέσεις:

  1. Όταν ένας επεξεργαστής P διαβάζει μια θέση X, αφού γράψει στη θέση αυτή, ο P πρέπει να λάβει την τιμή που έγραψε, εάν κανένας άλλος επεξεργαστής δεν έγραψε άλλη τιμή στη θέση αυτή. Αυτό ισχύει και για συστήματα μονοεπεξεργαστών, σημαίνει ότι η μνήμη είναι σε θέση να κρατήσει μια τιμή που έχει γραφτεί.
  2. Ας υποθέσουμε ότι υπάρχουν δύο επεξεργαστές, ο P 1και ο P2, και ο P1 έγραψε μια τιμή X1, και στη συνέχεια, ο P2 έγραψε μια τιμή X2, αν ο P 1διαβάσει την τιμή, πρέπει να πάρει την τιμή που έγραψε ο P2, X2, και όχι την τιμή που έγραψε ο ίδιος, X1, αν δεν υπάρχουν άλλες εγγραφές μεταξύ των δύο. Αυτό σημαίνει ότι η άποψη της μνήμης είναι συνεκτική. Αν οι επεξεργαστές μπορούν να διαβάσουν την ίδια παλιά τιμή μετά την εγγραφή που έκανε ο P2, η μνήμη δεν θα ήταν συνεκτική.
  3. Μπορεί να γίνει μόνο μία εγγραφή σε μια συγκεκριμένη θέση της μνήμης κάθε φορά. Εάν υπάρχουν πολλές εγγραφές, πρέπει να πραγματοποιούνται η μία μετά την άλλη. Με άλλα λόγια, εάν η θέση X λάβει δύο διαφορετικές τιμές A και B, με αυτή τη σειρά, από δύο οποιουσδήποτε επεξεργαστές, οι επεξεργαστές δεν μπορούν ποτέ να διαβάσουν τη θέση X ως B και στη συνέχεια να τη διαβάσουν ως A. Η θέση X πρέπει να δει τις τιμές A και B με αυτή τη σειρά.

Οι συνθήκες αυτές ορίζονται με την υπόθεση ότι οι λειτουργίες ανάγνωσης και εγγραφής πραγματοποιούνται στιγμιαία. Ωστόσο, αυτό δεν συμβαίνει στο υλικό των υπολογιστών λόγω της καθυστέρησης της μνήμης και άλλων πτυχών της αρχιτεκτονικής. Μια εγγραφή από τον επεξεργαστή Χ μπορεί να μην γίνει αντιληπτή από μια ανάγνωση από τον επεξεργαστή Υ, εάν η ανάγνωση γίνει σε πολύ μικρό χρονικό διάστημα μετά την εγγραφή. Το μοντέλο συνέπειας μνήμης ορίζει πότε μια γραπτή τιμή πρέπει να φαίνεται από μια επόμενη εντολή ανάγνωσης που γίνεται από τους άλλους επεξεργαστές.

Μηχανισμοί συνοχής κρυφής μνήμης

  • Οι μηχανισμοί συνοχής που βασίζονται σε καταλόγους διατηρούν έναν κεντρικό κατάλογο των μπλοκ που έχουν αποθηκευτεί στην προσωρινή μνήμη.
  • Το Snooping είναι η διαδικασία κατά την οποία κάθε κρυφή μνήμη παρακολουθεί τις γραμμές διευθύνσεων για προσβάσεις σε θέσεις μνήμης που βρίσκονται στην κρυφή μνήμη της. Όταν παρατηρείται μια λειτουργία εγγραφής σε μια θέση για την οποία μια κρυφή μνήμη έχει αντίγραφο, ο ελεγκτής κρυφής μνήμης ακυρώνει το δικό του αντίγραφο της θέσης μνήμης που κατασκοπεύτηκε.
  • Το Snarfing είναι η περίπτωση όπου ένας ελεγκτής κρυφής μνήμης παρακολουθεί τόσο τη διεύθυνση όσο και τα δεδομένα σε μια προσπάθεια να ενημερώσει το δικό του αντίγραφο μιας θέσης μνήμης όταν ένας δεύτερος κύριος επεξεργαστής τροποποιεί μια θέση στην κύρια μνήμη.

Τα κατανεμημένα συστήματα κοινής μνήμης μιμούνται αυτούς τους μηχανισμούς, ώστε να μπορούν να διατηρούν τη συνέπεια μεταξύ των μπλοκ μνήμης σε χαλαρά συνδεδεμένα συστήματα.

Οι δύο πιο συνηθισμένοι τύποι συνοχής που συνήθως μελετώνται είναι η Snooping και η Directory-based. Καθένας έχει τα δικά του πλεονεκτήματα και μειονεκτήματα. Τα πρωτόκολλα Snooping τείνουν να είναι ταχύτερα, αν υπάρχει αρκετό εύρος ζώνης, καθώς όλες οι συναλλαγές είναι ένα αίτημα/απάντηση που βλέπουν όλοι οι επεξεργαστές. Το μειονέκτημα είναι ότι το snooping δεν είναι επεκτάσιμο. Κάθε αίτημα πρέπει να μεταδίδεται σε όλους τους κόμβους ενός συστήματος. Καθώς το σύστημα μεγαλώνει, το μέγεθος του (λογικού ή φυσικού) διαύλου και το εύρος ζώνης που παρέχει πρέπει να αυξάνεται. Οι κατάλογοι, από την άλλη πλευρά, τείνουν να έχουν μεγαλύτερη καθυστέρηση (με αίτηση/προώθηση/απάντηση 3 άλματα), αλλά χρησιμοποιούν πολύ μικρότερο εύρος ζώνης, δεδομένου ότι τα μηνύματα είναι από σημείο σε σημείο και δεν μεταδίδονται. Για το λόγο αυτό, πολλά από τα μεγαλύτερα συστήματα (>64 επεξεργαστές) χρησιμοποιούν αυτόν τον τύπο συνοχής κρυφής μνήμης.

Ερωτήσεις και απαντήσεις

Q: Τι είναι η συνοχή της κρυφής μνήμης cache;


A: Η συνοχή κρυφής μνήμης αναφέρεται στη διασφάλιση ότι όλες οι κρυφές μνήμες ενός πόρου έχουν τα ίδια δεδομένα και ότι τα δεδομένα στις κρυφές μνήμες είναι συνεπή (ακεραιότητα δεδομένων).

Ε: Ποιος είναι ο σκοπός της συνοχής της κρυφής μνήμης;


Α: Ο σκοπός της συνοχής κρυφής μνήμης είναι η διαχείριση συγκρούσεων μεταξύ πολλαπλών κρυφών μνήμης ενός κοινού πόρου μνήμης και η διατήρηση της συνοχής μεταξύ κρυφής μνήμης και μνήμης.

Ερ: Ποιες μπορεί να είναι οι συνέπειες της μη ύπαρξης συνοχής κρυφής μνήμης;


Α: Χωρίς συνοχή κρυφής μνήμης, τα δεδομένα στην κρυφή μνήμη μπορεί να μην έχουν πλέον νόημα ή μια κρυφή μνήμη μπορεί να μην έχει πλέον τα ίδια δεδομένα με τις άλλες, γεγονός που μπορεί να οδηγήσει σε ασυνέπειες και σφάλματα.

Ερ: Ποια είναι μια συνηθισμένη περίπτωση όπου εμφανίζονται προβλήματα με τη συνοχή της κρυφής μνήμης;


Α: Μια συνηθισμένη περίπτωση όπου εμφανίζονται προβλήματα με τη συνοχή της κρυφής μνήμης είναι η κρυφή μνήμη των CPU σε ένα σύστημα πολυεπεξεργασίας.

Ε: Πώς λειτουργεί η συνοχή της κρυφής μνήμης;


Α: Η συνοχή της κρυφής μνήμης λειτουργεί διασφαλίζοντας ότι όλες οι κρυφές μνήμες ενός πόρου έχουν τα ίδια δεδομένα και ότι τα δεδομένα στις κρυφές μνήμες είναι συνεπή μέσω διαφόρων μεθόδων.

Ερ: Τι σημαίνει συνοχή μνήμης;


Α: Η συνοχή μνήμης αναφέρεται στη συνοχή των δεδομένων σε έναν κοινόχρηστο πόρο μνήμης.

Ε: Πώς μπορεί η συνοχή της κρυφής μνήμης να βελτιώσει την απόδοση;


Α: Η συνοχή της κρυφής μνήμης μπορεί να βελτιώσει τις επιδόσεις επιτρέποντας ταχύτερη και αποτελεσματικότερη πρόσβαση σε έναν δεδομένο πόρο.

AlegsaOnline.com - 2020 / 2023 - License CC3