Εισαγωγή Θέματα H/W. Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης. Κατανεμημένα Συστήματα (Ε) Εισαγωγή: Θέματα H/W 1

Σχετικά έγγραφα
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών

Πολυπύρηνοι επεξεργαστές Multicore processors

Εικονική Μνήμη (Virtual Μemory)

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο

Τεχνολογίες Κύριας Μνήμης

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

Δίκτυα Υπολογιστών I

Διάρθρωση. Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης. Διάρθρωση. Δίκτυο Υπολογιστών: ένας απλός ορισμός. Ευάγγελος Παπαπέτρου

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

Δίκτυα Διασύνδεσης. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων

Οργάνωση Υπολογιστών (ΙI)

Εικονική Μνήμη (Virtual Μemory)

Συνάφεια Κρυφής Μνήµης σε Επεκτάσιµα Μηχανήµατα

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

EM 361: Παράλληλοι Υπολογισμοί

Δίκτυα Υπολογιστών I

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Υ- 07 Παράλληλα Συστήματα Συνέπεια και συνοχή μνήμης

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Λύσεις Παλιών Θεµάτων. Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης

5. Παράλληλα Συστήματα: Εισαγωγή

Λειτουργικά Συστήματα (ΗΥ321)

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Αρχιτεκτονική υπολογιστών

Παράλληλος προγραμματισμός: παράλληλες λ υπολογιστικές πλατφόρμες και ανάλυση προγραμμάτων

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

Συστήµατα Πολλών Επεξεργαστών

Μεταγωγείς πακέτων (packet switches)

Υ- 01 Αρχιτεκτονική Υπολογιστών Πολυεπεξεργαστές

Αρχιτεκτονική Υπολογιστών

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης Εργαστηριακές Ασκήσεις

Εφαρµογές Υπολογιστών Βασίλης Μπλιάµπλιας Γεωργία Τσούτσου Γιώργος Συνάπαλος

Το υλικό του υπολογιστή

Διασυνδετικοί Δίαυλοι. Τι διασυνδέει ένας δίαυλος; Μεταφορά δεδομένων. Διασύνδεση Εισόδου-Εξόδου. Μ.Στεφανιδάκης

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

Αρχιτεκτονική Υπολογιστών

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Τοπικά Δίκτυα. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων.

Μετρικές & Επιδόσεις. Κεφάλαιο V

Εισαγωγή στην πληροφορική

Αρχιτεκτονική Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Υ- 07 Παράλληλα Συστήματα Συνοχή κρυφής μνήμης με σύστημα καταλόγων

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Αρχιτεκτονική υπολογιστών

Δίκτυα διασύνδεσης. Συστήματα Παράλληλης Επεξεργασίας

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

Δίκτυα Διασύνδεσης. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Β τάξη. ΕΝΟΤΗΤΑ 1 Κεφάλαιο 2: Το εσωτερικό του Υπολογιστή. Εικόνα 2.1: Η Κεντρική Μονάδα.

Διασύνδεση Εισόδου-Εξόδου

Δομή Ηλεκτρονικού υπολογιστή

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις:

Διαφορές single-processor αρχιτεκτονικών και SoCs

Εισαγωγή στην Πληροφορική

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

Οργάνωση Υπολογιστών (IΙI)

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ

Βασίλειος Κοντογιάννης ΠΕ19

Οργάνωση Υπολογιστών

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής Password: edi

Δίκτυα Διασύνδεσης. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων

Αρχιτεκτονική Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΤΟΥ

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

Δίκτυα Διασύνδεσης. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής Password: edi

Αρχιτεκτονική υπολογιστών

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Λιβανός Γιώργος Εξάμηνο 2017Β

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ

Transcript:

Εισαγωγή Θέματα H/W Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Εισαγωγή: Θέματα H/W 1

Θέματα Hardware Τα ΚΣ αποτελούνται από πολλαπλά CPUs ιαφορετικοί τρόποι σύνδεσης και επικοινωνίας μεταξύ τους Γενικά, θεωρούμε ότι το σύστημα αποτελείται από μία συλλογή ανεξάρτητων υπολογιστών Σε αυτή την εισαγωγική ενότητα θα εξετάσουμε γενικά τα συστήματα πολλών επεξεργαστών έτσι ώστε να δούμε τις ομοιότητες και τις διαφορές μεταξύ τους Εισαγωγή: Θέματα H/W 2

Θέματα Hardware Η συλλογή υπολογιστών κατατάσσεται σε δύο κατηγορίες Multiprocessors Έχουν κοινή μνήμη (shared memory) π.χ. πολλαπλοί επεξεργαστές σε μια πλακέτα με μοιραζόμενη μνήμη Οποιαδήποτε αλλαγή στη μνήμη από ένα CPU επηρεάζει άμεσα το τι είναι διαθέσιμο και στα υπόλοιπα CPUs Εάν π.χ. ένα CPU γράψει μία τιμή Χ σε μία θέση μνήμης Υ, τότε οποιοδήποτε άλλο CPU διαβάσει τη θέση μνήμης Υ θα πάρει την τιμή Χ Η CPU A γράφει 37 στη διεύθυνση 1000 Η CPU B διαβάζει από τη διεύθυνση 1000 και παίρνει 37 Εισαγωγή: Θέματα H/W 3

Θέματα Hardware Η συλλογή υπολογιστών κατατάσσεται σε δύο κατηγορίες Multicomputers Παράδειγμα multicomputer είναι ένα σύνολο προσωπικών υπολογιστών που συνδεόνται μέσω ενός δικτύου εν έχουν κοινή μνήμη, αλλά κάθε υπολογιστής έχει ιδιωτική μνήμη (private memory) Οποιαδήποτε αλλαγή στη μνήμη ενός CPU δεν επηρεάζει άμεσα το τι είναι διαθέσιμο και στα υπόλοιπα CPUs Εάν π.χ. ένα CPU γράψει μία τιμή Χ σε μία θέση μνήμης Υ, τότε οποιοδήποτε άλλο CPU διαβάσει τη θέση μνήμης Υ (στην ιδιωτική του μνήμη) θα πάρει την τιμή Ζ Η CPU A γράφει 37 στη δική της διεύθυνση 1000 Η CPU B διαβάζει από τη δική της διεύθυνση 1000 και παίρνει οτιδήποτε τυχαίνει να βρίσκεται εκεί. εν επηρεάζεται από το τι έγραψε η άλλη CPU Εισαγωγή: Θέματα H/W 4

Θέματα Hardware Εισαγωγή στον τρόπο οργάνωσης των κατανεμημένων συστημάτων Πως διασυνδέονται Πως επικοινωνούν Memory Shared Private bus-based bus-based Shared Private switch-based switch-based Interconnection Εισαγωγή: Θέματα H/W 5

Θέματα Hardware 1.6 Different basic organizations of processors and memories in distributed computer systems Εισαγωγή: Θέματα H/W 6

Θέματα Hardware Κάθε κατηγορία, ανάλογα με την αρχιτεκτονική του δικτύου διασύνδεσης, χωρίζεται σε ιαύλου (Bus) Ένα κοινό μέσο (δίκτυο, backplane, bus, καλώδιο ή άλλο μέσο) συνδέει όλες τις μηχανές Π.χ. Καλωδιακή τηλεόραση (cable TV) Μεταγωγής (Switched) εν υπάρχει ένα και μοναδικό κοινό μέσο να συνδέει όλες τις μηχανές Υπάρχουν πολλαπλές συνδέσεις μεταξύ των μηχανών που ακολουθούν κάποιο πρότυπο (διαφορετικές διατάξεις) Στην εκάστοτε αρχιτεκτονική υπάρχουν ενδιάμεσα διακόπτες που δρομολογούν (λαμβάνουν μία ρητή απόφαση μεταγωγής) τα μηνύματα που μεταδίδονται προς την σωστή σύνδεση Π.χ. παγκόσμιο δημόσιο τηλεφωνικό σύστημα (public telephone system) Εισαγωγή: Θέματα H/W 7

Θέματα Hardware Επιπλέον διαχωρισμός στα ΚΣ (για multicomputers) Ομογενή (homogeneous) Χρησιμοποιείται παντού η ίδια τεχνολογία και στο συνδετικό δίκτυο και στο CPU και στην μνήμη Χρησιμοποιούνται συνήθως σαν παράλληλα συστήματα (parallel systems) που εργάζονται πάνω στο ίδιο πρόβλημα (όπως τα multiprocessors) Ανομοιογενή (heterogeneous) Ποικιλία από ανεξάρτητους υπολογιστές που συνδέονται με διαφορετικά ήδη δικτύων Π.χ. ένα ΚΣ είναι δυνατό να αποτελείται από ένα αριθμό Local Area Computer Networks συνδεδεμένα με FDDI ή με ATM δίκτυα Εισαγωγή: Θέματα H/W 8

Όλα τα CPUs έχουν άμεση πρόσβαση στην κοινή μνήμη Για να είναι αποδοτικός ο (κατα)μερισμός της κύριας μνήμης, οι επεξεργαστές και η μνήμη πρέπει να συνδέονται μέσω ενός δικτύου ή μίας λεωφόρου πολύ υψηλής ταχύτητας και να βρίσκονται πολύ κοντά μεταξύ τους, αν γίνεται στο ίδιο κουτί, για ελαχιστοποίηση των καθυστερήσεων Bus based Ένας αριθμός CPUs συνδέονται μεταξύ τους καθώς και με τη μνήμη μέσω ενός κοινού μέσου Το bus αποτελεί bottleneck καθώς όλη η επικοινωνία διεξάγεται μέσα από αυτό Εισαγωγή: Θέματα H/W 9

Οι πολυεπεξεργαστές είναι πολύ χρήσιμοι για εφαρμογές οι οποίες μπορούν να διασπαστούν εύκολα σε παράλληλες διεργασίες ή για να εκτελούν χρέη εξυπηρετητών Στην πράξη αποδεικνύεται ότι είναι δύσκολο να αυξήσουμε πολύ το πλήθος των επεξεργαστών χωρίς να αντιμετωπίσουμε προβλήματα επίδοσης, τα οποία απαιτούν εξειδικευμένο υλισμικό για την επίλυσή τους, πράγμα που ανεβάζει το κόστος τους Μιας και στα συστήματα πολυεπεξεργαστών οι μηχανές δεν είναι ανεξάρτητες δεν κατατάσσονται στα κατανεμημένα συστήματα σύμφωνα με τον παραπάνω ορισμό Εισαγωγή: Θέματα H/W 10

Όλα τα CPUs έχουν άμεση πρόσβαση στην κοινή μνήμη Συνεκτική μνήμη (Coherent memory) Όταν το CPU Α γράψει μία συγκεκριμένη θέση μνήμης και κατόπιν το CPU Β διαβάσει την ίδια θέση μνήμης, τότε θα διαβάσει τη νέα τιμή Με μόλις 4 ή 5 CPUs το Bus υπερφορτώνεται και η απόδοση μειώνεται δραστικά Μία λύση είναι να προστεθεί μία μνήμη Cache μεταξύ του CPU και του Bus Cache = κρυφή, γρήγορη μνήμη αλλά μικρή σε μέγεθος Περιέχει τις πιο πρόσφατες λέξεις που προσπελάστηκαν. Συνήθως δε χωράει όλο το πρόγραμμα και όλα τα δεδομένα Ο επεξεργαστής συμβουλεύεται την cache πρώτα και αν δεν βρει εκεί το δεδομένο τότε η cache καλεί την κύρια μνήμη Βασίζεται στην αρχή της τοπικότητας των κλήσεων:«αν η εντολή k προσπέλασε τη θέση μνήμης X τότε η εντολή k+1 κατά πάσα πιθανότητα θα προσπελάσει κάποια θέση γειτονική στο Χ.» Εισαγωγή: Θέματα H/W 11

Cache memory Η μνήμη Cache προσφέρει τη λύση με το να συγκρατεί έναν αριθμό θέσεων μνήμης (συνήθως αυτές που έχουν ζητηθεί πρόσφατα) Κάθε αίτηση μνήμης ελέγχει πρώτα το Cache Εάν η ζητούμενη θέση μνήμης είανι στο Cache τότε το αίτημα δεν μεταδίδεται στο Bus Εάν το Cache είναι αρκετά μεγάλο τότε η πιθανότητα επιτυχίας (hit rate) θα είναι σημαντική, η κυκλοφορία στο Bus περιορίζεται σημαντικά και κατά συνέπεια το σύστημα θα μπορεί να έχει περισσότερα CPUs Κοινά μεγέθη για Cache είναι 512KB έως 1MB τα οποία δίνουν hit rate 90% ή περισσότερο Εισαγωγή: Θέματα H/W 12

Cache memory Το πρόβλημα όμως που προκύπτει είναι ότι η μνήμη δεν είναι πλέον συνεκτική (incoherent memory) Όταν ένα CPU αλλάξει την τιμή μίας θέσης μνήμης στο δικό της Cache τότε ένα άλλο CPU στο δικό του Cache θα βλέπει την παλιά και όχι την νέα τιμή Ένα τέτοιο σύστημα είναι δύσκολο να προγραμματιστεί Πολλαπλές κόπιες των ιδίων δεδομένων σε δαφορετικές cache και στην κύρια μνήμη Πώς συγχρονίζονται οι cache μεταξύ τους; Πώς και πότε ενημερώνεται η κύρια μνήμη; Πώς ξέρουμε ότι αυτό που διαβάσαμε από την cache είναι σωστό; Εισαγωγή: Θέματα H/W 13

Cache memory Η λειτουργία της cache μπορεί να αντιμετωπίσει 4 δυνατές περιπτώσεις: 1. Επιτυχία ανάγνωσης (Read-hit) 2. Αποτυχία ανάγνωσης (Read-miss) 3. Επιτυχία εγγραφής (Write-hit) 4. Αποτυχία εγγραφής (Write-miss) Εισαγωγή: Θέματα H/W 14

Cache memory Read-hit: Ο επεξεργαστής ζητάει να διαβάσει το δεδομένο, D, και αυτό βρίσκεται στην cache Τότε απλά ο επεξεργαστής διαβάζει το D από την cache και δεν απασχολεί καθόλου την κύρια μνήμη Είναι η ιδανική περίπτωση Εισαγωγή: Θέματα H/W 15

Cache memory Read-miss: Ο επεξεργαστής ζητάει να διαβάσει το δεδομένο, D, και αυτό δεν βρίσκεται στην cache Η cache φέρνει το block B που περιέχει το D από τη μνήμη και ο επεξεργαστής διαβάζει το D από την cache Ελπίζουμε ότι αμέσως επόμενες κλήσεις του επεξεργαστή θα εξυπηρετηθούν από το ίδιο block B οπότε δε θα χρειαστεί να προσπελάσουμε τη μνήμη Αν η cache είναι γεμάτη θα πρέπει να αντικατασταθεί ένα παλιό block με το καινούργιο που θα έρθει Μπορούμε για παράδειγμα να διώξουμε το block που χρησιμοποιήθηκε πιο παλιά (μέθοδος Least Recently Used) ή να διώξουμε κάποιο τυχαίο block Εισαγωγή: Θέματα H/W 16

Cache memory Write-hit: Ο επεξεργαστής ζητάει να γράψει το δεδομένο, D, και αυτό βρίσκεται στην cache Τότε η cache έχει 2 επιλογές: Να γράψει ο επεξεργαστής το D μόνο στην cache και όχι στη μνήμη (μέθοδος write-back) Πρόβλημα συγχρονισμού cache-μνήμης Απαραίτητη η σημείωση ότι το block B, που περιέχει το D, είναι πλέον «βρώμικο». Σημειώνεται θέτοντας: dirty-bit = 1 Μόνο αν το block αντικατασταθεί (πχ. εξ αιτίας μιας αποτυχίας εγγραφής) τότε πρέπει να γραφτεί στην κύρια μνήμη πριν αντικατασταθεί Εισαγωγή: Θέματα H/W 17

Cache memory Να γράψει ο επεξεργαστής το D και στην cache και στη μνήμη (μέθοδος write-through) Κανένα πρόβλημα συγχρονισμού cache-μνήμης Η cache και η μνήμη είναι πάντα σε συμφωνία Το write-through καταργεί τις οφέλειες της cache στις εγγραφές, αφού σε κάθε εγγραφή καλείται η κύρια μνήμη Ωστόσο, οι εγγραφές σπανιότερες από τις αναγνώσεις (10% προς 90%) Write-back (έχει κυριαρχήσει) ταχύτερο από write-through Εισαγωγή: Θέματα H/W 18

Cache memory Write-miss: Ο επεξεργαστής ζητάει να γράψει το δεδομένο, D, και αυτό δεν βρίσκεται στην cache Τότε η cache έχει 2 επιλογές: Να φέρει το block B, που περιέχει το D, από τη μνήμη στην cache και ο επεξεργαστής να γράψει στην cache και όχι στη μνήμη (μέθοδος write-allocate) Συνδυάζεται με write-back Να γράψει ο επεξεργαστής το D μόνο στη μνήμη (μέθοδος no-writeallocate) Συνδυάζεται με write-though Εισαγωγή: Θέματα H/W 19

Cache memory Απαραίτητος ο συγχρονισμός των δεδομένων όταν πολλές κόπιες του ιδίου δεδομένου φυλάσσονται σε διαφορετικές cache και στη μνήμη Χρόνος Συμβάν cache A cache B Μνήμη D 0 D=1 1 A read D D=1 D=1 2 B read D D=1 D=1 D=1 3 A write D=2 D=2 dirtybit=1 D=1 D=1 3* A write D=2 D=2 D=1 D=2 Με write-back Με write-through Εισαγωγή: Θέματα H/W 20

Πιο συγκεκριμένα, θα λέμε ότι ένα σύστημα μνήμης (και σ αυτό περιλαμβάνεται όλη η ιεραρχία της μνήμης) είναι συνεπές όταν συμβαίνουν τα εξής Το σύστημα μνήμης διατηρεί την σειρά των εντολών του προγράμματος. Αυτό σημαίνει ότι αν ένας επεξεργαστής ζητήσει να διαβάσει ένα δεδομένο X το οποίο ο ίδιος προηγουμένως είχε γράψει πρέπει να πάρει την τιμή που έγραψε, αν ενδιάμεσα κανένας άλλος επεξεργαστής δεν έχει πειράξει τη θέση μνήμης X. Οι επεξεργαστές επικοινωνούν γράφοντας σε θέσεις μνήμης οι οποίες διαβάζονται κατόπιν από άλλους επεξεργαστές. Αυτό σημαίνει ότι αν ένας επεξεργαστής Ε1 γράψει στη θέση μνήμης X, και ο επεξεργαστής Ε2 διαβάσει αργότερα από την ίδια θέση μνήμης θα λάβει την τιμή που έγραψε ο Ε1, αν φυσικά δεν έχει μεσολαβήσει άλλη εγγραφή στο X. ιαφορετικές εγγραφές στην ίδια θέση μνήμης εκτελούνται σειριακά και αυτή η σειρά φαίνεται η ίδια από όλους τους επεξεργαστές. Για παράδειγμα, έστω ότι ο επεξεργαστής Ε1 γράφει την τιμή 1 στη θέση μνήμης X και κατόπιν ο επεξεργαστής Ε2 γράφει την τιμή 2 στην ίδια θέση μνήμης. Τότε όλοι οι επεξεργαστές του συστήματος θα διαβάσουν την τελευταία τιμή (δηλαδή το 2) και δεν πρόκειται άλλοι επεξεργαστές να διαβάσουν το 2 και άλλοι το 1. Εισαγωγή: Θέματα H/W 21

Τα bus-based multiprocessors έχουν περιορισμένη επεκτασιμότητα (limited scalability) Ακόμη και με την χρήση cache Για την ομαλή λειτουργία όταν έχουμε πολλά CPUs (π.χ. πάνω από 256) χρειάζεται μία διαφορετική μέθοδος διασύνδεσης CPUs και μνήμης Μία λύση είναι να χωριστεί η μνήμη σε ανεξάρτητα κομμάτια και να δημιουργηθεί μία συνδεσμολόγία μεταξύ των CPUs και αυτών των τμημάτων μνήμης Εισαγωγή: Θέματα H/W 22

ιαπλεγματικός Μεταγωγέας (Crossbar switch) Η μνήμη χωρίζεται σε τομείς Όταν ένα CPU ζητά πρόσβαση σε ένα συγκεκριμένο τομέα μνήμης το κύκλωμα (μεταγωγέας διασταύρωσης - crosspoint switch) που τους συνδέει προσωρινά κλείνει προκειμένου να επιτραπεί η πρόσβαση Το πλεονέκτημα του crosspoint switch είναι ότι πολλά CPUs μπορούν να έχουν ταυτόχρονα πρόσβαση σε διαφορετικούς τομείς μνήμης Εάν ένα CPU όμως ζητήσει πρόσβαση σε τομέα μνήμης που ήδη χρησιμοποιείται τότε το 2 ο CPU θα πρέπει να περιμένει Για Ν CPUs και Ν μνήμες χρειάζονται Ν 2 crosspoint switches Άρα για μεγάλα Ν αυτή η τεχνική γίνεται απαγορευτική Εισαγωγή: Θέματα H/W 23

1.8 Εισαγωγή: Θέματα H/W 24

Omega network Εναλλακτικός τρόπος διασύνδεσης που απαιτεί λιγότερους μεταγωγείς Οποιοδήποτε CPU έχει πρόσβαση σε οποιοδήποτε τομέα μνήμης Μειονέκτημα τα πολλαπλά επίπεδα συνδεσιμότητας μεταξύ CPUs και μνήμης Για να μην υπάρχουν καθυστερήσεις στη διασύνδεση το συνδετικό δίκτυο πρέπει να είναι πολύ γρήγορο και κατά συνέπεια ακριβό Στο παράδειγμα υπάρχει ένα δίκτυο με 2 x 2 κυκλώματα, όπου κάθε ένα έχει 2 εισόδους και 2 εξόδους και όπου κάθε κύκλωμα μπορεί να δρομολογήσει οποιαδήποτε είσοδο σε οποιαδήποτε έξοδο Εισαγωγή: Θέματα H/W 25

Ομοιόμορφη Προσπέλαση Μνήμης (Uniform Memory Access UMA) Όλοι οι επεξεργαστές έχουν ομοιόμορφη πρόσβαση σε όλες τις διευθύνσεις της μνήμης Πράγματι, για οποιαδήποτε διεύθυνση η διαδικασία προσπέλασης της μνήμης είναι ίδια: ο επεξεργαστής κάνει αίτηση στο bus για εγγραφή ή για ανάγνωση και αναμένει την ολοκλήρωση της εργασίας από τη μνήμη Γενικά, ο χρόνος απόκρισης θα είναι ο ίδιος άσχετα από την ακριβή διεύθυνση του δεδομένου Εισαγωγή: Θέματα H/W 26

Μη ομοιόμορφη πρόσβαση στη μνήμη (NUMA - Non Uniform Memory Access) για να μειωθεί περαιτέρω το κόστος διασύνδεσης Ιεραρχικό σύστημα Κάθε CPU έχει το δικό του τομέα μνήμης η σύνδεση με το οποίο είναι γρήγορη Η σύνδεση με τους υπόλοιπους τομείς μνήμης είναι πιο αργή Οι μηχανές NUMA έχουν καλύτερους μέσους χρόνους πρόσβασης σε σύγκριση με τα Omega networks Νέα πολυπλοκότητα Η τοποθέτηση προγραμμάτων και δεδομένων γίνεται ιδιαίτερα σημαντική προκειμένου το μεγαλύτερο μέρος της πρόσβαση να γίνεται στην τοπική μνήμη Εισαγωγή: Θέματα H/W 27

Multicomputers Τα συστήματα αυτά αποτελούνται από κοινούς σταθμούς εργασίας συνδεδεμένους μέσω δικτύου, με αποτέλεσμα να έχουν πολύ χαμηλό κόστος αφού δεν απαιτούν εξειδικευμένο υλισμικό Κάθε CPU έχει απευθείας πρόσβαση στη δική του μνήμη Το μόνο πρόβλημα σε αυτή την περίπτωση είναι πως τα CPU επικοινωνούν μεταξύ τους Στην CPU-to-CPU επικοινωνία η ποσότητα της πληροφορίας που διακινείται είναι τάξεις μεγέθους λιγότερη από ότι στην CPU-to-memory επικοινωνία Εισαγωγή: Θέματα H/W 28

Multicomputers Επεξ. 1 Επεξ. 2..... Επεξ. N cache 1 cache 2 Ι/Ο Ι/Ο Ι/Ο cache N Μ 1 Μ 2 Μ Ν ΔΙΚΤΥΟ Εισαγωγή: Θέματα H/W 29

Homogeneous Multicomputer Systems Ομογενή συστήματα multicomputer Αναφέρονται και σαν System Area Networks (SANs) Κατηγοριοποιούνται σε Bus based Συνδέονται με ένα κοινό δικτυακό μέσο (π.χ. Fast Ethernet 100 Mbps) Περιορισμένη επεκτασιμότητα Συστήματα με περισσότερους από 25-100 κόμβους έχουν περιορισμένη απόδοση (ο αριθμός κόμβων εξαρτάται από τον βαθμό επικοινωνίας που απαιτείται) Switch based Τα μηνύματα μεταξύ των CPUs δρομολογούνται μέσα απότο δίκτυο στον συγκεκριμένο παραλήπτη σε αντίθεση με τα Bus based συστήματα όπου όλα τα μηνύματα στέλνονται σε όλους τους παραλήπτες (broadcast) Τοπολογίες Mesh/Grid (πλέγμα) Hypercube (υπερκύβος) Εισαγωγή: Θέματα H/W 30

Homogeneous Multicomputer Systems Hypercubes Σχηματίζει έναν κύβο Ν διαστάσεων Το Hypercube στο σχήμα είναι 4 διαστάσεων Είναι 2 απλοί κύβοι διασυνδεδεμένοι όπου κάθε ένας έχει 8 κορυφές και 12 ακμές Θεωρούμε ότι κάθε κορυφή αναπαριστά ένα CPU και κάθε ακμή την σύνδεση μεταξύ 2 CPUs Οι αντίστοιχες κορυφές των 2 κύβων είναι συνδεδεμένες Εισαγωγή: Θέματα H/W 31

Homogeneous Multicomputer Systems 1-9 a) Grid (κατάλληλα για 2-διάστατα προβλήματα) b) Hypercube Εισαγωγή: Θέματα H/W 32

Homogeneous Multicomputer Systems Συστήματα πολυ-υπολογιστών μεταγωγής Massively Parallel Processors (MPPs) Supercomputers αποτελούμενοι από χιλιάδες CPUs (όμοια με τα CPUs που υπάρχουν σε προσωπικούς υπολογιστές) Η διαφορά από άλλα συστήματα multicomputer έγκειται στην χρήση υψηλής απόδοσης, ειδικής σχεδίασης δικτύου διασύνδεσης Στόχοι του δικτύου διασύνδεσης είναι οι μικρές καθυστερήσεις, η μεταφορά μεγάλης ποσότητας δεδομένων και η αντοχή σε βλάβες Ο μεγάλος αριθμός CPUs καθιστά αναπόφευκτες τις περιοδικές βλάβες, όμως δεν είναι επιτρεπτό ένα χαλασμένο CPU να προκαλεί κατάρευση όλου του συστήματος Εισαγωγή: Θέματα H/W 33

Homogeneous Multicomputer Systems Συστήματα πολυ-υπολογιστών μεταγωγής Clusters of Workstations (COWs) Συλλογή από προσωπικούς υπολογιστές ιασυνδεδεμένοι με κλασσικές μεθόδους COWs και MPPs ουσιαστικά διαφέρουν στον τρόπο διασύνδεσης εν παίρνονται ιδιαίτερα μέτρα για την επιτευξη υψηλής απόδοσης ή την αποφυγή βλαβών Απλά και φτηνά συστήματα Εισαγωγή: Θέματα H/W 34

Heterogeneous Multicomputer Systems Τα περισσότερα ΚΣ σύστημα αποτελούνται από ανομοιογενείς multicomputers Οι υπολογιστές αυτοί διαφέρουν σε μεγάλο βαθμό όσο αφορά τον τύπο του CPU, το μέγεθος της μνήμης και την ταχύτητα επικοινωνίας Κάποιοι από αυτούς του υπολογιστές είναι δυνατό να είναι παράλληλα συστήματα υψηλής απόδοσης, όπως multiprocessors ή homogeneous multicomputers Το δίκτυο διασύνδεσης μπορεί και αυτό να είναι ανομοιογενές Εισαγωγή: Θέματα H/W 35

Heterogeneous Multicomputer Systems Στα ανομοιογενή συστήματα δεν υπάρχει μία εποπτική εικόνα του όλου συστήματος Μία εφαρμογή δεν είναι δυνατό να υποθέσει ότι θα εξυπηρετείται με την ίδια ποιότητα από διαφορετικά στοιχεία του ΚΣ Αυτή η διαφορά στην ποιότητα παροχής υπηρεσιών δεν είναι δυνατό να καμουφλαριστεί από το ΚΣ Η δημιουργία εφαρμογών για αυτά τα συστήματααπαιτεί εξελιγμένο λογισμικό Προκειμένου οι δημιουργοί εφαρμογών να μην απασχολούνται με τις λεπτομέριες του ΚΣ (π.χ. τύπος hardware, τρόπος διασύνδεσης, κλπ) ένα ΚΣ προσφέρει ένα επίπεδο λογισμικού το οποίο παρεμβάλλεται μεταξύ των εφαρμογών και των χαμηλού επιπέδου στοιχείων του ΚΣ Εισαγωγή: Θέματα H/W 36