Next              Up                Back                 Contents  

Επόμενο:3.1 Συστήματα βασιζόμενα σε διαύλους Πάνω: Περιεχόμενα Πίσω: Ασκήσεις


 

ΚΕΦΑΛΑΙΟ 3o : Αρχιτεκτονική συστημάτων διαμοιραζόμενης μνήμης.

 

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

Για να γραφτούν παράλληλα προγράμματα που να εκτελούνται σωστά σε μια δεδομένη αρχιτεκτονική συστήματος διαμοιραζόμενης μνήμης, ο προγραμματιστής πρέπει να είναι ενήμερος για το γενικό σχεδιασμό του συστήματος διασύνδεσης επεξεργαστή - μνήμης. Σε ορισμένα μηχανήματα, αυτό μπορεί να είναι ένα σύστημα βασισμένο σε διαύλους (bus-oriented), πιθανόν με κρυφές μνήμες. Σε άλλα συστήματα διαμοιραζόμενης μνήμης υπάρχουν πολλαπλά τμήματα μνήμης συνδεμένα στους επεξεργαστές με ένα δίκτυο μεταγωγής. Σε οποιαδήποτε αρχιτεκτονική συστήματος διαμοιραζόμενης μνήμης, υπάρχει πάντα η πιθανότητα προβλημάτων ανταγωνισμού πρόσβαση στη μνήμη, που μπορεί να υποβιβάσει σοβαρά την απόδοση του προγράμματος. Μερικές φορές ο ανταγωνισμός πρόσβασης στη μνήμη είναι σύμφυτος με την οργάνωση του προγράμματος, και μπορεί να εμφανίζεται σε οποιονδήποτε σύστημα διαμοιραζόμενης μνήμης. Σε άλλα παράλληλα προγράμματα, ο ανταγωνισμός πρόσβασης στη μνήμη μπορεί να εμφανιστεί μόνο με συγκεκριμένη αρχιτεκτονική του συστήματος διαμοιραζόμενης μνήμης.

Αυτό το κεφάλαιο εξετάζει μερικά από τα πιο σημαντικά θέματα της αρχιτεκτονικής συστημάτων διαμοιραζόμενης μνήμης που επηρεάζουν των ανταγωνισμό πρόσβασης στη μνήμη. Αποκτώντας μια γενική γνώση γι’ αυτά τα θέματα, ο προγραμματιστής θα είναι ικανός να εκτιμήσει συγκεκριμένα συστήματα διαμοιραζόμενης μνήμης όταν χρειαστεί. Το κεφάλαιο επικεντρώνεται στην άποψη του προγραμματιστή για την αρχιτεκτονική επεξεργαστή - μνήμης. Αυτά τα θέματα που επηρεάζουν την απόδοση του προγράμματος, θεωρούνται σημαντικής σπουδαιότητας για το πρόβλημα του ανταγωνισμού πρόσβασης στη μνήμη. Στο κεφάλαιο αυτό παρουσιάζονται μόνο τα συστήματα πολυεπεξεργαστών διαμοιραζόμενης μνήμης. Η εξέταση των συστημάτων κατανεμημένης μνήμης, του δεύτερου σημαντικού τύπου αρχιτεκτονικής παράλληλων συστημάτων, βρίσκεται στο κεφάλαιο 7.

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



     Next              Up                Back                 Contents  

Επόμενο:3.1 Συστήματα βασιζόμενα σε διαύλους Πάνω: Περιεχόμενα Πίσω: Ασκήσεις