ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΙΑΣΥΝ ΕΤΙΚΑ ΙΚΤΥΑ ΤµήµαΜηχ. Ηλεκτρονικών Υπολογιστών & Πληροφορικής Εργαστήριο Πληροφοριακών Συστηµάτων Υψηλών Επιδόσεων
ιασυνδετικά ίκτυα ( ) Γενικές Έννοιες Για την υλοποίηση ενός πολυεπεξεργαστικού (παράλληλου) υπολογιστικού συστήµατος είναι απαραίτητη η ύπαρξη διάταξης η ποία να επιτρέπει τη δυνατότητα επικοινωνίας µεταξύ των επεξεργαστικών στοιχείων του συστήµατος. Η διάταξη αυτή µπορεί να είναι είτε ένα ειδικό δίκτυο (network) είτε ένας δίαυλος (bus), που θα παρέχει τη δυνατότητα επικοινωνίας µεταξύ των επεξεργαστικών στοιχείων του συστήµατος. Εδώ θα ασχοληθούµε µε τα είδη και τη λειτουργία µόνο των διασυνδετικών δικτύων ( ) καιόχιτωνδιαύλωνεπικοινωνίας. Για την πληρότητα όµως αναφέρουµε ότι υπάρχουν τρεις τύποι διαύλων οι οποίοι είναι: processormemory buses, I/O buses και backplane buses. Στα πολυεπεξργαστικά σύστηµα ηεπιλογήµεταξύ και ιαύλου καθορίζει και την αρχιτεκτονική του υπολογιστικού συστήµατος. Τα παράλληλα υπολογιστικά συστήµατα που χρησιµοποιούν για την επικοινωνία µεταξύ των επεξεργαστών του συστήµατος υλοποιούν αρχιτεκτονικές κατανεµηµένης µνήµης, ενώ πολυεπεξεργασία συστήµατα µε διαύλους υλοποιούν αρχιτεκτονικές κοινής µνήµης. Υπάρχουν βέβαια και αρχιτεκτονικές που συνδυάζουν και διαύλους. 2
ιασυνδετικά ίκτυα ( ) Γενικές Έννοιες Η απόδοση των επεξεργαστικών συστηµάτων µε έναν επεξεργαστή βελτιώνεται κάθε χρόνο κατά 50% περίπου από το 1987 ( η πηγή που χρησιµοποιούµε περιέχει στοιχεία µέχρι το 1994). Η αύξηση αυτή της ισχύος των επεξεργαστών, επιτυγχάνεται µε την εργασία 30 µηχανικών για τρία χρόνια την δαπάνη $30 εκατ. για το σχεδιασµό των επεξεργαστών, άλλων $10 εκατ. για την παραγωγή τους και 50.000 ωρών προσοµοιώσεων σε συστήµατα των 20 MIPS. Η χωρητικότητα της µνήµης από την άλλη βελτιώνεται επίσης αλλά σε µεγαλύτερη διάρκεια χρόνου. Στατιστικά δίνουν µία βελτίωση της τάξης τετραπλασιασµού κάθε τέσσερα χρόνια. Η τελική τεχνολογία είναι τα διασυνδετικά δίκτυα (interconnection networks). Εδώ η βελτίωση έχει επιτευχθεί µε αργότερο ρυθµό και οφείλεται σε βελτιώσεις στο λογικό, βελτιώσεις στο πακετάρισµα (packaging) των παράλληλων συστηµάτων και τέλος στην αύξηση των γραµµών (φυσικό µέσο) που χρησιµοποιούνται στο. Για παράδειγµα το1986 η Intel στο ipsc είχε που εξυπηρετούσε 0.5MB/s ενώ το 1991 στην Delta 40MB/s 3
Τοπολογική ιάταξη ενός Ένα αποτελείται από αποστολείς, παραλήπτες, µονάδες εισόδου εξόδου και το φυσικό µέσο. ηλαδή το δίκτυο που διασυνδέει τις µονάδες αυτές. Ένα γενικό εννοιολογικό µοντέλο φαίνεται στο διπλανό σχήµα ΑΠΟΣΤΟΛΕΙΣ... E E...... Ε Ε... ΠΑΡΑΛΗΠΤΕΣ Αν ένα αποτελείται µόνο από µονάδες εισόδου και εξόδου καλείται µονόστηλο ή µονοτµηµατικό (singlestage). Αν µεταξύ των µονάδων εισόδου - εξόδου υπάρχουν και άλλες διατάξεις τότε έχουµε πολύστηλό ή πολυτµηµατικό (multistage) δίκτυο. E Γενικό Εννοιολογικό Μοντέλο Ε: Είσοδος - Έξοδος Ε 4
Μονόστηλα Μονοτµηµατικά Ένα µονόστηλο µε τις µονάδες εισόδου - εξόδου ενσωµατωµένες στους αποστολείς παραλήπτες, φαίνεται στην διπλανή εικόνα (α). Αποστολείς 0 Παραλήπτες 0 Σε ένα µονόστηλο δίκτυο η πληροφορία συνήθως κάνει πολλές διαδροµές µέσα σ αυτό, πριν φτάσει στον τελικό προορισµό της. Για παράδειγµα στο δίκτυο της διπλανής εικόνας για να µεταβιβαστεί πληροφορία από τον αποστολέα 0 στον παραλήπτη 3, η πληροφορία ακολουθεί την εξής διαδροµή. Από 0 σε 2, από 2 σε 2 και από 2 σε 3. 1 2 3 ιασυνδετικό ίκτυο 1 2 3 5
Πολύστηλα Πολυτµηµατικά Στο σχήµα δίνεται ένα τρίστηλο, µε τις τρεις στήλες συνδέσεων αριθµηµένες από τους παραλήπτες προς τους αποστολείς. Οι διατάξεις µεταξύ των στηλών είναι προγραµµατιζόµενοι διακόπτες (δ), εφοδιασµένοι µε την κατάλληλη λογική. Στην περίπτωση των πολύστηλων η πληροφορίας ακολουθεί µία πορεία µέσα από τους διακόπτες µέχρι να φτάσει στον προορισµό της. Αποστολείς δ δ δ δ δ δ δ δ 2 1 0 Παραλήπτες 6
Πολυτµηµατικά Οι διατάξεις των διακοπτών σε ένα απλουστεύουν την φυσική πολυπλοκότητα του δικτύου ενώ ταυτόχρονα παρέχουν την δυνατότητα πιο γρήγορης αποστολής/πρόσβασης ενός αποστολέα σε ένα παραλήπτη. Για παράδειγµα αν παρατηρήσουµε στα δύο προηγούµενα παραδείγµατα τους αγωγούς του µεταξύ των αποστολέων και παραληπτών, θα παρατηρήσουµε ότι ενώ το µονοτµηµατικό δίκτυο χρειάζεται 12 αγωγούς για τη σύνδεση τεσσάρων αποστολέων/παραληπτών στη συγκεκριµένη διάταξη, το πολυτµηµατικό δίκτυο για τη σύνδεση οκτώ αποστολέων/παραληπτών χρειάζεται µόνο οκτώ (8) αγωγούς δικτύου. y x z y y Ποιο από τα δύο δίκτυα του του παραδείγµατος µας είναι πιο αποδοτικό κατά τη γνώµη σαςκαι γιατί; 7
Καταστάσεις ιακοπτών Στο διπλανό σχήµα φαίνονται όλες οι δυνατές καταστάσεις που µπορούν να πάρουν οι διατάξεις των λογικών διακοπτών σε ένα. a b ευθεία a b a b b a διασταύρωση Η επιλογή της κατάστασης των διακοπτών ώστε να επιτευχθεί η επιθυµητή διαδροµή µεταξύ αποστολέα παραλήπτη, γίνεται από έναν αλγόριθµο διαδρόµησης ή ελέγχου του δικτύου. a a b a Πάνω εκποµπή a b b b Κάτω εκποµπή 8
ιαδρόµηση & Έλεγχος διακοπτικών λογικών µονάδων σε Υπάρχουν δύο τρόποι ελέγχου της λειτουργίας των διακοπτών ενός : Circuit Switching: Στην περίπτωση αυτή, πρώτα οι διακόπτες του τίθενται στις σωστές καταστάσεις για την εγκαθίδρυση της επικοινωνίας µεταξύ δύο στοιχείων του δικτύου, και παραµένουν στην κατάσταση αυτή µέχρι να δοθεί νέα εντολή αλλαγής κατάστασης. Ο τρόποςαυτός είναι καλός για την µεταφορά µεγάλων σετ δεδοµένων που χρησιµοποιούν την ίδια διαδροµή. Επιπλέον, µε τοντρόπο αυτό αποφεύγουµε τιςσυγκρούσειςµεταξύ διαφορετικών δεδοµένων γιατί όσο διαρκεί η επικοινωνία µεταξύ δύο µονάδων του συστήµατος το κύκλωµα χρησιµοποιείται µόνο από τις µονάδες αυτές. 9
ιαδρόµηση & Έλεγχος διακοπτικών λογικών µονάδων σε (συν.) Packet Switching: Είναι ο δεύτερος τρόπος διαδρόµησης σε ένα. Στην περίπτωση αυτή ένα πακέτο δεδοµένων αποστέλλεται από τον αποστολέα στον παραλήπτη και σε κάθε φάση όταν συναντά έναν λογικό διακόπτη θέτει το ίδιο, το πακέτο δηλαδή, την κατάσταση του διακόπτη στην θέση που θα του επιτρέψει να φτάσει στον παραλήπτη. Κατά την έξοδο του το πακέτο (από το διακόπτη) αφού εξασφαλίσει την επιθυµητή του πορεία (rooting) αποδεσµεύει το διακόπτη για να χρησιµοποιηθεί από το επόµενοπακέτοδεδοµένων. Ποία κατά τη γνώµη σας είναι τα πλεονεκτήµατα και τα µειονεκτήµατα των δύο τρόπων ελέγχου (Packet & Circuit Switching) των διακοπτών σε ένα ; 10
ιαµέριση ικτύων Σε ένα παράλληλο υπολογιστικό σύστηµα στο οποίο χρησιµοποιείται για την επικοινωνία µεταξύ των επεξεργαστικών του στοιχείων, πολύ σηµαντική είναι η δυνατότητα περιορισµού του υπολογισµού σε ένα υποσύνολο των επεξεργαστών του συστήµατος. Αυτό δεν είναι απαραίτητο µόνο κατά την διάρκεια επεξεργασίας στο σύστηµα µε στόχο την αποφυγή άσκοπου κατακερµατισµού του συστήµατος που θα έχει ως αποτέλεσµα την απώλεια υπολογιστικών πόρων, αλλά και για την δυνατότητα διαµέρισης του χωρίς όµως να χάνονται τα χαρακτηριστικά της αρχιτεκτονικής του συστήµατος. Με την τεχνική της διαµέρισης θα έχουµε την παραγωγή συστηµάτων µικρότερης κλίµακας (σε πλήθος επεξεργαστών) που µε την κατάλληλη χρήση του θα µπορούν να συνδεθούν και να αποτελέσουν ένα ενιαίο σύστηµα. ιατηρώντας ταυτόχρονα τα επιθυµητά χαρακτηριστικά της αρχιτεκτονικής. Για να είναι εφικτό λοιπόν κάτι τέτοιο θα πρέπει το να διαµερίζεται σε συµµετρικά υποσύνολα, τουιδίουακριβώςτύπουµε Ν/2 επεξεργαστές. 11
Μεταθέσεις Μεταξύ των αποστολέων και των παραληπτών ενός δικτύου όλες οι δυνατές συνδέσεις περιγράφονται από συναρτήσεις. r s = f(r), Ιδιαίτερο ενδιαφέρον παρουσιάζουν οι συναρτήσεις ένα προς ένα, δηλαδή οι µεταθέσεις δεικτών. Έτσι για παράδειγµα οι παρακάτω συµβολισµοί για την συνάρτηση f είναι ισοδύναµοι, στον τελευταίο δε η f συµβολίζεται ως µετάθεση. 0 0 f(0) = 1 1 1 f(1) = 3 0 1 2 3 2 2 f(2) = 2 f = 3 3 f(3) = 0 1 3 2 0 12
Μεταθέσεις Το γινόµενο µεταθέσεων επίσης µας είναι χρήσιµο γιατην κατανόηση λειτουργίας των. Έτσι αν g = 0 1 2 3 0 3 1 2 Τότε το γινόµενο των δύο µεταθέσεων fg θα είναι: fg = 0 1 2 3 1 0 3 2 Η µετάθεση αυτή προκύπτει από την διαδοχική Εφαρµογή πρώτα της g και µετά της f. 13
Μεταθέσεις Κύκλοι : είναι µεταθέσεις οπού χωρίς να διαφοροποιούνται µεταξύ τους αποστολείς και παραλήπτες, καταλήγουµε στον αρχικό δείκτη. Έτσι, ο συµβολισµός (0 1 3) σηµαίνει ότι ο 0 απεικονίζει στον 1, ο 1 στον 3 και ο 3 στο 0, ενώ τέλος οι υπόλοιποι δείκτες ενώ οι υπόλοιποι δείκτες απεικονίζονται στον εαυτό τους. 0 1 2 3 Η µετάθεση f =, είναι ισοδύναµη µε τοσυµβολισµό (0 1 3) 1 3 2 0 Ηπροηγούµενη µετάθεση g γράφεται και g = (1 3 2). Ενώ το γινόµενο fg γράφεται σαν fg = (0 1 3)(1 3 2) δηλαδή γινόµενο κύκλων fg = (0 1)(2 3). 14
Μεταθέσεις ανταλλαγής (exchange) ή συνδέσεις κύβου Για τον ορισµό τωνµεταθέσεων χρησιµοποιούµε καιτην δυαδικήαναπαράστασηδεικτώνb m-1 b 0, όπου πάντα m=logn και 0,,(Ν-1) είναι οι διαθέσιµοι δείκτες. Για τις µεταθέσεις ανταλλαγής (exchange), χρησιµοποιούµε εναλλακτικά τα σύµβολα ε και c. 15
Μεταθέσεις ανταλλαγής 000 000 000 000 000 000 001 001 001 001 001 001 010 010 010 010 010 010 011 011 011 011 011 011 100 101 110 100 101 110 100 101 110 100 101 110 100 101 110 100 101 110 111 111 111 111 111 ε m-1 = c m-1 ε 1 = c 1 ε 0 = c 0 111 Μεταθέσεις ανταλλαγής (συνδέσεις κύβου) για Ν=8 (m=3) 16
Αναµίξεις (Shuffle) Η τέλεια ανάµιξη (perfect shuffle) ορίζεται ως η κυκλική αριστερά µετακίνηση κατά ένα bit, δηλαδή σ(b m-1 b 0 ) = b m-2 b 0 b m-1 Όταν περιοριζόµαστε στα j+1 λιγότερο σηµαντικά bits έχουµε υπο-αναµίξεις σ (j) (b m-1 b j+1 b j b j-1 b 0 ) = b m-1 b j+1 b j-1 b 0 b j Άρα σ m-1 = σ, ενώ σ (0) = Ι είναι η ταυτοτική µετάθεση. Ο περιορισµός στα j+1 περισσότερο σηµαντικά bits δίνει τις υπεραναµίξεις σ (j) (b m-1 b m-j-1 b m-j-2 b 0 ) = b m-2 b m-j-1 b m-1 b m-j-2 b 0 Άρα σ (m-1) = σ, ενώ σ (0) = Ι 17
Αναµίξεις (Shuffle) 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 β=β (m-1) =β (m-1) β (2) β (2) Τέλεια ανάµιξη σ, υπο-ανάµιξη σ (2) και υπερ-ανάµιξη σ (2) για Ν=16 (m=4) 19
Μεταθέσεις πεταλούδας (butterfly) Πρόκειται για ανταλλαγή του πρώτου µε το τελευταίο bit: β(b m-1 b m-2... b 1 b 0 ) = β(b 0 b m-2... b 1 b m-1 ) Οπεριορισµός στα j+1 λιγότερο σηµαντικά bits δίνει τις υπο-πεταλούδες β (j) (b m-1... b j+1 b j b j-1... b 1 b 0 ) = b m-1... b j+1 b 0 b j-1... b 1 b 1 όπου β (m-1) = β καιβ (0) = Ι, ενώ ο περιορισµός στα j+1 περισσότερο σηµαντικά bits δίνει τις υπερπεταλούδες β (j) (b m-1 b m-2... b m-j b j b m-1-j b m-j-2... b 0 ) = b m-1-j b m-2... b m-j b j b m-1 b m-j-2... b 0, Οπότε β (m-1) = β καιβ (0) = Ι Μερικές πεταλούδες για Ν = 16 παρουσιάζονται στην επόµενη εικόνα. 20
Μεταθέσεις πεταλούδας (butterfly) 0000 0000 0000 0000 0001 0001 0001 0001 0010 0010 0010 0010 0011 0011 0011 0011 0100 0100 0100 0100 0101 0101 0101 0101 0110 0110 0110 0110 0111 0111 0111 0111 1000 1000 1000 1000 1001 1001 1001 1001 1010 1010 1010 1010 1011 1011 1011 1011 1100 1100 1100 1100 1101 1101 1101 1101 1110 1110 1110 1110 1111 1111 1111 1111 β=β β (2) (m-1) =β (m-1) β (2) Πεταλούδα β, υπερ-πεταλούδα β (2) και υπο-πεταλούδα β (2) για Ν=16 (m=4) 21
Μεταθέσεις αναστροφής (bit reversal) Η µετάθεση ορίζεται από την αναγραφή των bits µε αντίστροφη σειρά, δηλαδή ρ (b m-1 b m-2... b 1 b 0 ) = b 0 b 1 b m-2 b m-1 Όπως και προηγουµένως, ο περιορισµός στα j+1 λιγότερο ή περισσότερο σηµαντικά bits δίνει αντιστοίχως τις υπο-αναστροφές και υπερ-αναστροφές ρ (j) (b m-1... b j+1 b j b j-1... b 1 b 0 ) = b m-1... b j+1 b 0... b j-1 b j, ρ (j) (b m-1... b m-j b m-1-j b m-2-j... b 1 b 0 ) = b m-1-j b m-j... b m-1 b m-2-j... b 0, ενώ ισχύει ρ (j) = ρ (j) = ρ, ρ (0) = ρ (0) = I Στην επόµενη εικόνα απεικονίζονται µερικές µεταθέσεις αναστροφής των bits για N=16 22
Μεταθέσεις αναστροφής (bit reversal) 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 1110 1111 ρ = ρ (m-1) = ρ (m-1) ρ (2) ρ (2) 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 23
Μονόστηλα Από τα κυριότερα µονόστηλα είναι: ο υπερκύβος, το πλέγµα µετύλιγµα, το δίκτυο ανάµιξης ανταλλαγής και το ±2 i. 0 0 (α) ίκτυο υπερκύβου, Ν=8 (β) ίκτυο υπερκύβου µεσύµπτωση αποστολέων-παραληπτών, c i =ε i, i=0,1,2 c c2 2 c 1 c 1 1 1 2 2 3 3 4 4 5 5 6 6 0 c 0 1 2 3 4 5 6 7 c c c 0 c 0 0 1 7 7 c 2 c 2 (α) (β) 24
Μονόστηλα Ένα δίκτυο τύπου πλέγµατος µετύλιγµα γιαν=16 φαίνεται στην επόµενη εικόνα. Όπως είναι διακριτό και στην εικόνα, οι συνδέσεις µετοίδιογράµµα ενώνονται µετύλιγµα στοπίσωµέρος του επιπέδου. Γενικά για Ν = m 2 αυτός ο τύπος του δικτύου υλοποιεί τις συνδέσεις που ορίζονται από τις ακόλουθες συναρτήσεις. b c d a Π Α (k)=(k+m) mod N (Ανατολή) Π (k)=(k-m) mod N ( ύση) h 3 7 11 15 h Π Β (k)=(k+1) mod N (Βορράς) Π Ν (k)=(k-1) mod N (Νότος) g 2 6 10 14 g Ανατολή f 1 5 9 13 f e 0 4 8 12 e a b c d 25