Next              Up                Back                   Contents

Επόμενο:Αναφορές Πάνω: Κεφάλαιο 7o : Αρχιτεκτονική συστημάτων κατανεμημένης μνήμης Πίσω: 7.4 Απεικονίσεις πάνω στον Υπερκύβο


 

7.5 Περίληψη

 

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

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

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

Για την σύγκριση της χρήσης και της σχετικής απόδοσης αυτών των τοπολογιών λαμβάνονται υπόψη δύο σημαντικές λειτουργίες: η διάδοση και η συλλογή. Πρόκειται για πολύ καλούς τρόπους μέτρησης της συνολικής ποιότητας των τοπολογιών, γιατί είναι και οι δύο λειτουργίες γενικής εφαρμογής. Ο χρόνος εκτέλεσης που απαιτείται για τη συλλογή και τη διάδοση είναι ανάλογος προς τη διάμετρο της τοπολογίας.

Η τελευταία ενότητα του κεφαλαίου αναφέρεται στις τοπολογικές απεικονίσεις. Εδώ η τοπολογία του Υπερκύβου είναι ιδιαίτερα σημαντική γιατί επιτρέπει την προσαρμογή όλων των άλλων τοπολογιών που αναφέραμε. Αυτό σημαίνει ότι κάθε παράλληλο πρόγραμμα που εκτελείται σε ένα ορισμένο επίπεδο κάποιας από τις τοπολογίες μπορεί επίσης να εκτελεστεί και στον Υπερκύβο. Κάποιος μπορεί να πει ότι ο Υπερκύβος “περιέχει” όλες τις υπόλοιπες τοπολογίες και κάποιους επιπλέον συνδέσμους που βελτιώνουν κι άλλο την απόδοση. Οι απεικονίσεις του Υπερκύβου γίνονται με τη βοήθεια του κώδικα Gray, στον οποίο οι ένας αριθμός διαφέρει από τον επόμενο και τον προηγούμενο του κατά ένα bit.

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


     Next              Up                Back                   Contents

Επόμενο:Αναφορές Πάνω: Κεφάλαιο 7o : Αρχιτεκτονική συστημάτων κατανεμημένης μνήμης Πίσω: 7.4 Απεικονίσεις πάνω στον Υπερκύβο