Next              Up                Back               Contents

Επόμενο:3.7 Περίληψη Πάνω: Κεφάλαιο 3ο : Αρχιτεκτονική συστημάτων διαμοιραζόμενης μνήμης. Πίσω:3.5 Η Επίδραση του Αλγορίθμου


 

3.6 Θερμά Σημεία Μνήμης (Memory Hot Spots)

 

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

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

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

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

 


     Next              Up                Back               Contents

Επόμενο:3.7 Περίληψη Πάνω: Κεφάλαιο 3ο : Αρχιτεκτονική συστημάτων διαμοιραζόμενης μνήμης. Πίσω:3.5 Η Επίδραση του Αλγορίθμου