Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Πολυεπεξεργαστές.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Advertisements

Αλγόριθμοι σχεδίασης βασικών 2D σχημάτων (ευθεία)
Indexing.
ΑΠΟΤΙΜΗΣΗ ΑΠΟΔΟΣΗΣ ΔΙΚΤΥΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΑΞΙΟΠΙΣΤΑ ΠΡΩΤΟΚΟΛΛΑ ΜΕΤΑΦΟΡΑΣ ΚΑΙ ΑΞΙΟΠΙΣΤΑ ΠΡΩΤΟΚΟΛΛΑ ΣΥΝΔΕΣΗΣ Ιωάννης Κόμνιος Μεταπτυχιακή Διατριβή Τμήμα.
Δομές Δεδομένων και Αλγόριθμοι
1 Δορυφορικό 2 ης ομάδας. 2 Είσαι στη μέση του μαθήματος και βλέπεις...  έναν μαθητή να βγαίνει από την αίθουσα διδασκαλίας,  δύο μαθητές να μιλούν.
Επιμέλεια: Τίκβα Χριστίνα
5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
Transactions & P2P Systems Διονύσης Αθανασόπουλος Βασίλης Φωτόπουλος.
ΨΗΦΙΑΚΗ ΜΝΗΜΗ (RAM – ROM).
Επιμορφωτής: Ονομ/νυμο Επιμορφωτή
Εισαγωγικές έννοιες πληροφορικής
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Pipelining – Βασικές αρχές.
Το υλικό του Υπολογιστή
Το υλικο του Υπολογιστη
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
ΚΕΦΑΛΑΙΟ 3 Το υλικό των υπολογιστών.
Οργάνωση και Αρχιτεκτονική Υπολογιστών Διάδρομοι Μεταφοράς Δεδομένων
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ. Ε
Εκτέλεση Αλγορίθμων σε ψευδογλώσσα
1 Shared Memory Multiprocessors Πολυεπεξεργαστές Μοιραζόμενης Μνήμης.
Συνάφεια Κρυφής (Λανθάνουσας) Μνήμης- -Συνέπεια Μνήμης
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Τρίτο Εξάμηνο: Έβδομο Καθηγητής:
Καλή και δημιουργική χρονιά.
Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη.
Page  1 Ο.Παλιάτσου Γαλλική Επανάσταση 1 ο Γυμνάσιο Φιλιππιάδας.
ΝΕΟ ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ Α’, Β’, & Γ’ ΓΥΜΝΑΣΙΟΥ ΟΜΑΔΑ ΕΡΓΑΣΙΑΣ Ανδρέας Σ. Ανδρέου (Αναπλ. Καθηγητής ΤΕΠΑΚ - Συντονιστής) Μάριος Μιλτιάδου, Μιχάλης Τορτούρης.
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Συστολικοί επεξεργαστές.
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Παράλληλη εκτέλεση βρόχων.
© GfK 2012 | Title of presentation | DD. Month
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Συστήματα Μνήμης – Βασικές Αρχές Cache.
Γραφήματα & Επίπεδα Γραφήματα
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
Αποκεντρωμένη Διοίκηση Μακεδονίας Θράκης ∆ιαχείριση έργων επίβλεψης µε σύγχρονα µέσα και επικοινωνία C2G, B2G, G2G Γενική Δ/νση Εσωτερικής Λειτουργίας.
Η επιρροή του χώρου εργασίας των σχολικών τάξεων στη μάθηση
Βάσεις Δεδομένων II Διαχείριση Δοσοληψιών Πάνος Βασιλειάδης Σεπτέμβρης 2002
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
1 Content Addressable Network Λίλλης Κώστας Καλλιμάνης Νικόλαος Αγάθος Σπυρίδων – Δημήτριος Σταθοπούλου Ευγενία Γεωργούλας Κώστας.
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
Ο ΗΛΕΚΤΡΟΝΙΚΟΣ ΥΠΟΛΟΓΙΣΤΗΣ
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Κεφάλαιο 19 Τεχνικές Ανάκαμψης Βάσεων Δεδομένων (Recovery)
© Θέματα Φεβρουαρίου © Θέμα 1ο (30%): Έστω η παρακάτω ακολουθία εντολών που χρησιμοποιείται για την αντιγραφή.
Lists– Λίστες 1. Αυτό-αναφορικές δομές Τα μέλη μίας δομής μπορεί να είναι οποιουδήποτε τύπου, ακόμα και δείκτες σε δομές του ίδιου τύπου. Χρησιμοποιώντας.
Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Διαχείριση Συναλλαγών Πάνος Βασιλειάδης Μάρτιος 2014
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
Βάσεις Δεδομένων II Ενότητα 7: Ταυτοχρονισμός Γεωργία Γκαράνη
ΜΑΘΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗ ΜΕΤΑΓΓΙΣΗ ΑΙΜΑΤΟΣ - ΑΙΜΟΔΟΣΙΑ
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
© Processor-Memory (DRAM) Διαφορά επίδοσης Performance
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Αρχιτεκτονική-ΙI Ενότητα 4 : Μνήμες Ιωάννης Έλληνας Τμήμα Η/ΥΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα.
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αρχιτεκτονική Η/Υ ΙΙ Ενότητα #2: Θέματα που αφορούν την Κρυφή Μνήμη (Cache) Νικόλαος Χ. Πετρέλλης Σχολή Τεχνολογικών.
Δυναμικός Κατακερματισμός
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Πολυεπεξεργαστές

Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 2  Απλοί στη σχεδίαση και στον προγραμματισμό  Απλό δίκτυο (bus)  Δε μπορούμε να έχουμε πολλούς επεξεργαστές (συνήθως Ν < 16)  Το bus αποτελεί “bottleneck” καθώς όλη η επικοινωνία διεξάγεται μέσα από αυτό

Σχεδίαση hardware Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 3  Απαραίτητη η χρήση cache. Μειώνει την κυκλοφορία μεταξύ επεξεργαστών και μνήμης  Πρόβλημα: διαχείριση και συγχρονισμός πολλαπλών cache  Συνέπεια πολλαπλών cache  (cache coherence problem)

Το πρόβλημα της συνέπειας πολλαπλών cache Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 4  Πολλαπλές κόπιες των ιδίων δεδομένων σε δαφορετικές cache και στην κύρια μνήμη  Πώς συγχρονίζονται οι cache μεταξύ τους;  Πώς και πότε ενημερώνεται η κύρια μνήμη;  Πώς ξέρουμε ότι αυτό που διαβάσαμε από την cache είναι σωστό;

Η cache στον μονο-επεξεργαστή Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 5  Cache = κρυφή, γρήγορη μνήμη αλλά μικρή σε μέγεθος. Συνήθως δε χωράει όλο το πρόγραμμα και όλα τα δεδομένα  Ο επεξεργαστής συμβουλεύεται την cache πρώτα και αν δεν βρει εκεί το δεδομένο τότε η cache καλεί την κύρια μνήμη

Λειτουργία της cache Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 6 CPU cache bus Μνήμη

Λειτουργία της cache (2) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 7  Η cache φυλάσσει ζεύγη. Το κάθε μπλοκ μπορεί να είναι 128 ή 256 ή 512 bytes, κλπ  Βασίζεται στην αρχή της τοπικότητας των κλήσεων: « Αν η εντολή k προσπέλασε τη θέση μνήμης X τότε η εντολή k+1 κατά πάσα πιθανότητα θα προσπελάσει κάποια θέση γειτονική στο Χ.»

Λειτουργία της cache (3) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 8 διεύθυνση 0 data block 0 διεύθυνση 1 data block 1 διεύθυνση 2 data block 2 διεύθυνση M data block M X Παράλληλη αναζήτηση Διεύθυνση δεδομένου που θέλω Το βρήκα? ΝΑΙ ( ε π ιτυχία ) ΟΧΙ ( α π οτυχία )

Λειτουργία της cache (4) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 9 Βασικές παράμετροι  Συχνότητα Επιτυχίας h (hit rate). Εξαρτάται από το μέγεθος της cache, από το μέγεθος του block, από τον αλγόριθμο αντικατάστασης, κα. Συνήθως h > 99%  Συχνότητα αποτυχίας (miss-rate) m = 100%  h  Μέγεθος cache. Συνήθως 0,5 - 1 Mb  Μέγεθος block. Συνήθως > 32 bytes  Οργάνωση cache (direct-mapped, fully associative, set associative)

Λειτουργία της cache (5) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 10 Η λειτουργία της cache μπορεί να αντιμετωπίσει 4 δυνατές περιπτώσεις: 1. Επιτυχία ανάγνωσης (Read-hit) 2. Αποτυχία ανάγνωσης (Read-miss) 3. Επιτυχία εγγραφής (Write-hit) 4. Αποτυχία εγγραφής (Write-miss)

Read-hit Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Read-hit: Ο επεξεργαστής ζητάει να διαβάσει το δεδομένο, D, και αυτό βρίσκεται στην cache.  Τότε απλά ο επεξεργαστής διαβάζει το D από την cache και δεν απασχολεί καθόλου την κύρια μνήμη

Read-miss Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Read-miss: Ο επεξεργαστής ζητάει να διαβάσει το δεδομένο, D, και αυτό δεν βρίσκεται στην cache.  Η cache φέρνει το block B που περιέχει το D από τη μνήμη και ο επεξεργαστής διαβάζει το D από την cache. Ελπίζουμε ότι αμέσως επόμενες κλήσεις του επεξεργαστή θα εξυπηρετηθούν από το ίδιο block B οπότε δε θα χρειαστεί να προσπελάσουμε τη μνήμη.

Write-hit Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Write-hit: Ο επεξεργαστής ζητάει να γράψει το δεδομένο, D, και αυτό βρίσκεται στην cache.  Τότε η cache έχει 2 επιλογές: α. Να γράψει ο επεξεργαστής το D μόνο στην cache και όχι στη μνήμη (μέθοδος write-back). Πρόβλημα συγχρονισμού cache-μνήμης. Απαραίτητη η σημείωση ότι το block B, που περιέχει το D, είναι πλέον «βρώμικο». Σημειώνεται θέτοντας: dirty_bit = 1 β. Να γράψει ο επεξεργαστής το D και στην cache και στη μνήμη (μέθοδος write-through). Κανένα πρόβλημα συγχρονισμού cache-μνήμης

Write-back ή Write-through; Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 14  Write-back ταχύτερο από write-through  Το write-through καταργεί τις οφέλειες της cache στις εγγραφές, αφού σε κάθε εγγραφή καλείται η κύρια μνήμη. Ωστόσο, οι εγγραφές σπανιότερες από τις αναγνώσεις (20% προς 80%)  Στο write-through η cache και η μνήμη είναι πάντα σε συμφωνία.  Το write-back έχει κυριαρχήσει

Write-miss Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας Write-miss: Ο επεξεργαστής ζητάει να γράψει το δεδομένο, D, και αυτό δεν βρίσκεται στην cache.  Τότε η cache έχει 2 επιλογές: α. Να φέρει το block B, που περιέχει το D, από τη μνήμη στην cache και ο επεξεργαστής να γράψει στην cache και όχι στη μνήμη (μέθοδος write-allocate). Συνδυάζεται με write-back. β. Να γράψει ο επεξεργαστής το D μόνο στη μνήμη (μέθοδος no-write-allocate). Συνδυάζεται με write- through.

Συνέπεια πολλαπλών cache cache-coherence Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 16  Απαραίτητος ο συγχρονισμός των δεδομένων όταν πολλές κόπιες του ιδίου δεδομένου φυλάσσονται σε διαφορετικές cache και στη μνήμη. ΧρόνοςΣυμβάνcache A cache B Μνήμη D 0 D=1 1 A read DD=1 2 B read DD=1 3 A write D=2D=2D=1 3* A write D=2D=2D=1D=2 Με write-back Με write-through

Συνέπεια συστήματος μνήμης Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 17 Ορισμός: ένα σύστημα μνήμης καλείται συνεπές αν  Το σύστημα μνήμης διατηρεί την σειρά των εντολών του προγράμματος.  Οι επεξεργαστές επικοινωνούν γράφοντας σε θέσεις μνήμης οι οποίες διαβάζονται κατόπιν από άλλους επεξεργαστές.  Διαφορετικές εγγραφές στην ίδια θέση μνήμης εκτελούνται σειριακά και αυτή η σειρά φαίνεται η ίδια από όλους τους επεξεργαστές.

Πρωτόκολλα συνέπειας Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 18  Μέθοδος κρυφοκοιτάγματος (snooping)  Απαιτεί την ύπαρξη bus --> εφαρμόζεται μόνο σε πολυ- επεξεργαστές  Μέθοδος βασισμένη σε κατάλογο (directory-based)  Λειτουργεί σε οποιοδήποτε δίκτυο --> εφαρμόζεται σε πολυ-επεξεργαστές και σε πολυ-υπολογιστές με λογικά κοινή μνήμη

Το πρωτόκολλο snooping Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 19  Βασική φιλοσοφία: όλες οι cache κρυφοκοιτάνε τις άλλες cache όταν κάνουν κάποια δραστηριότητα που μεταβάλει τα δεδομένα (εντολή write) είτε ζητούν δεδομένα από την κύρια μνήμη.  Μέσο κρυφοκοιτάγματος = το bus  Κάθε «επικίνδυνη» δραστηριότητα δημοσιοποιείται στο bus

Το πρωτόκολλο snooping (2) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 20  Υποθέτουμε χρήση write-back σε όλες τις cache Διαχείριση εγγραφών Ο επεξεργαστής i γράφει το D. Είτε με write-miss είτε με write-hit πρέπει να ενημερωθούν οι άλλες cache. Δύο επιλογές: 1. Οι άλλες cache ακυρώνουν τη δική τους κόπια του block B που περιέχει το D (write-invalidate) 2. Οι άλλες cache ενημερώνονται με τη νέα τιμή του D (write-update)

write-invalidate ή write-update; Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 21  Πλεονεκτήματα write-invalidate  Η ακύρωση του block B που περιέχει το D είναι γρηγορότερη από την ενημέρωση με τη σωστή τιμή  Πολλαπλές εγγραφές είτε στο D είτε στο block Β ακυρώνουν το block μια μόνο φορά  Πλεονεκτήματα write-update  Οι cache είναι πάντα ενημερωμένες με τη σωστή τιμή  Το write-invalidate είναι ταχύτερο και το προτιμάμε σε σχέση με το write-update

Το πρωτόκολλο snooping (3) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 22 Διαχείριση αποτυχίας ανάγνωσης  Ο επεξεργαστής i ζητάει να διαβάσει το D αλλά δεν το βρίσκει στην τοπική του cache. Η cache i βγάζει αίτηση ανάγνωσης στο bus με αποδέκτες (α) τις άλλες cache που κρυφοκοιτάνε και (β) την κύρια μνήμη.  Επειδή οι cache είναι ταχύτερες από την μνήμη, αν κάποια από αυτές έχει το D τότε το δίνει σταματώντας την προσπέλαση στη μνήμη.

Υλοποίηση snooping Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 23  Μηχανές Πεπερασμένων Καταστάσεων (Finite State Machines) = Γράφοι όπου η μετάβαση από ένα κόμβο (κατάσταση) σε έναν άλλο προκαλείται από συγκεκριμένη διέγερση (input) και προκαλεί συγκεκριμένες δράσεις (actions)  Κάθε block βρίσκεται σε μια από τρεις καταστάσεις: 1. Άκυρο/Δεν υπάρχει 2. Κοινό = Πιθανώς να υπάρχει και σε άλλη cache 3. Αποκλειστικό = Σίγουρα υπάρχει μόνο σε μένα

Υλοποίηση snooping (2) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 24  Κάθε cache εκτελεί δράσεις (actions) σύμφωνα με: (α) τις εντολές του τοπικού της επεξεργαστή (CPU) (β) τις δραστηριότητες που λαμβάνουν χώρα στο bus με πρωτοβουλία άλλων cache  Δύο Μηχανές Πεπερασμένων Καταστάσεων (ΜΠΚ). Μια για την τοπική CPU και μια για το BUS.

Υλοποίηση snooping (3) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 25 Άκυρο/Δεν υπάρχει ΚοινόΑποκλειστικό Μ.Π.Κ. λόγω τοπικής CPU read/Βγάζω αίτηση στο bus. Φέρνω το block στην cache read/Διαβάζω την cache write/Γράφω την cache write/Βγάζω αίτηση στο bus. Φέρνω το block στην cache write/Βγάζω τη διεύθυνση στο bus για να ακυρώσουν οι άλλες cache

Υλοποίηση snooping (4) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 26 Άκυρο/Δεν υπάρχει ΚοινόΑποκλειστικό Μ.Π.Κ. λόγω δραστηριότητας του BUS read write write/Δίνω το block στο bus read/Δίνω το block στο bus write/Δίνω το block στο bus

Πρωτόκολλο βασισμένο σε κατάλογο Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 27  Το snooping απαιτεί bus για κρυφοκοίταγμα. Τι γίνεται αν έχουμε άλλου τύπου δίκτυο σε ένα πολυυπολογιστή με κοινή κατανεμημένη μνήμη;  Λύση: μέθοδος directory-based  Όμοιο με snooping. Τρεις κατατάσεις: 1. Σε καμία cache (Uncached) 2. Κοινό (Shared) 3. Αποκλειστικό (Exclusive)

Πρωτόκολλο βασισμένο σε καταλογο (2) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 28  Ομοιότητα με snooping: Χρήση μηχανών πεπερασμένων καταστάσεων  Διαφορά με snooping: Για κάθε block στη μνήμη φυλάσσεται «κατάλογος» με τις cache που το έχουν  Κατάλογος = binary string (0=δεν το έχει, 1=το έχει). Πχ

Πρωτόκολλο βασισμένο σε καταλογο (3) Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 29  Όταν φορτώνεται κάποιο block, φορτώνεται μαζί και ο κατάλογός του. Έτσι ξέρουμε ανά πάσα στιγμή ποιος άλλος έχει το ίδιο block. Όταν γίνεται εγγραφή ή ανάγνωση ενημερώνονται οι άλλοι κάτοχοι των αντιγράφων.  Προβλήματα:  χρονοβόρο  σπατάλη μνήμης με διαχειριστική πληροφορία

Snooping ή Κατάλογος; Προηγμένες Αρχιτεκτονικές Η / Υ και Παράλληλα Συστήματα Κ. Διαμαντάρας 30  Snooping γρηγορότερο από κατάλογο  Κατάλογος μόνη επιλογή όταν το δίκτυο δεν είναι bus  Συμπέρασμα:  Όταν υπάρχει bus (πολυεπεξεργαστής) χρησιμοποιούμε snooping  Όταν υπάρχει οποιοδήποτε άλλο δίκτυο (πολυ- υπολογιστής με κοινή κατανεμημένη μνήμη) χρησιμοποιούμε κατάλογο.