Κεφάλαιο ΙΙΙ Β. Δημακόπουλος

Σχετικά έγγραφα
Πολυεπεξεργαστές Κατανεμημένης Μνήμης. Κεφάλαιο ΙΙΙ

Πολυεπεξεργαστές Κατανεμημένης Μνήμης. Κεφάλαιο 3

3/12/2013 Συστήματα κατανεμημένης μνήμης (Ι) Β. Δημακόπουλος

Υ07 Παράλληλα Συστήματα /4/2016 Συστήματα κατανεμημένης μνήμης (Ι)

Υ07 Παράλληλα Συστήματα /4/2016 Συστήματα κατανεμημένης μνήμης (ΙΙ)

Οργάνωση Κατανεμημένης Μνήμης

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

Δίκτυα Διασύνδεσης

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

Δίκτυα Διασύνδεσης

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

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

30/4/2012 Συστήματα κατανεμημένης μνήμης και ο προγραμματισμός τους (Ι) Β. Δημακόπουλος

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

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

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

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

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

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

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

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing):

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

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

Μεταγωγή (Switching)

Δρομολόγηση (Routing)

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

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

Δίκτυα ΙΙ. Κεφάλαιο 7

Δίκτυα Ευρείας Ζώνης

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Δροµολόγηση (Routing)

Εισαγωγή στην Επιστήμη των Υπολογιστών

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems

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

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

Ethernet Ethernet ΙΕΕΕ CSMA/CD

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1

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

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Ο πυρήνας του δικτύου. Κ. Βασιλάκης

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Μάθημα 3: Τοπολογίες Δικτύων

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Ο πυρήνας του δικτύου. Κ. Βασιλάκης

8 η ιάλεξη: σε δίκτυα δεδομένων

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

Αυτόνομα Συστήματα (ΑΣ)

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

Κεφάλαιο 12. Πρότυπα. Ανακεφαλαίωση Ερωτήσεις

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Άσκηση 1. (σημειώστε πως 1KB = 2 10 bytes, 1Mbps = 10 6 bits/sec).

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

Γράφοι: κατευθυνόμενοι και μη

ΚΕΦΑΛΑΙΟ 3: Τοπολογίες Δικτύων Εισαγωγή

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

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

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

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

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ

Στοιχεία Θεωρίας Γράφων (Graph Theory)

ΔΙΚΤΥΑ (15-17) Π. Φουληράς

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

HY-335 : Δίκτυα Υπολογιστών

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

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

Επαναληπτικές Ασκήσεις Μαθήματος

Τίτλος Μαθήματος: Θεωρία Γραφημάτων. Ενότητα: Εισαγωγή σε βασικές έννοιες. Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος. Τμήμα: Μαθηματικών

Κατανεμημένα Συστήματα Ι

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. 2 η Γραπτή Εργασία ΠΛΗ 23 Ακαδημαϊκό Έτος (Τόμος Α, Κεφάλαια 1-3) Ημερομηνία Παράδοσης 27/01/2013.

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών

Διασύνδεση τοπικών δικτύων

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

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

Θεωρία Γραφημάτων 1η Διάλεξη

3η Σειρά Γραπτών Ασκήσεων

Αλγόριθμοι και Πολυπλοκότητα

3η Σειρά Γραπτών Ασκήσεων

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

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Εισαγωγή. Λύση: Λύση:

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

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα

1. Περιγράψετε τον πιο σημαντικό ρόλο του κάθε επιπέδου της TCP/IP στοίβας (δίνοντας και το όνομα του).

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

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Δίκτυα Μεταγωγής & Τεχνικές Μεταγωγής Σε Δίκτυα Ευρείας Περιοχής

Transcript:

Πολυεπεξεργαστές Κατανεμημένης Μνήμης Κεφάλαιο ΙΙΙ Β. Δημακόπουλος

Πολυεπεξεργαστές κατανεμημένης μνήμης Ανεξάρτητοι επεξεργαστές, ο καθένας με την ιδιωτική του μνήμη (κόμβος = CPU + μνήμη) P 1 P 2 P Ν ΔΙΚΤΥΟ ΔΙΑΣΥΝΔΕΣΗΣ ΕΠΕΞΕΡΓΑΣΤΩΝ Δίκτυο διασύνδεσης επεξεργαστών (interconnection network) δίαυλος δίκτυο διακοπτών point-to-point, στατικό, άμεσο δίκτυο (0,0) (0,1) (0,2) (0,3) (1,0) (1,1) (1,2) (1,3) 2

Massively Parallel Processors (MPPs) 3

Βασική οργάνωση Επικοινωνία επεξεργαστών μέσω ανταλλαγής μηνυμάτων, επάνω από το δίκτυο διασύνδεσης Ο διαδρομητής (router) συνδέει τον κόμβο με το δίκτυο Κανάλια από προς γείτονες / τοπική μνήμη Μνήμη P 1 P 2 P Ν Διαδρομητής CPU ΔΙΚΤΥΟ ΔΙΑΣΥΝΔΕΣΗΣ ΕΠΕΞΕΡΓΑΣΤΩΝ ΠΡΟΣ ΔΙΚΤΥΟ ΑΠΟ ΔΙΚΤΥΟ 4

Τυπική δομή διαδρομητή ΑΠΟ/ΠΡΟΣ ΓΕΙΤΟΝΙΚΟΥΣ ΚΟΜΒΟΥΣ ΑΠΟ/ΠΡΟΣ ΤΟΠΙΚΟ ΚΟΜΒΟ Β Β Β 55 crossbar Β Β ΑΠΟ/ΠΡΟΣ ΓΕΙΤΟΝΙΚΟΥΣ ΚΟΜΒΟΥΣ 5

Πολυϋπολογιστές Λόγω του ότι κάθε κόμβος είναι ουσιαστικά ένας (σχεδόν) ολοκληρωμένος και αυτόνομος υπολογιστής, οι ΠΚΜ είναι γνωστοί και ως πολυϋπολογιστές (multicomputers) Η οργάνωση μοιάζει με δίκτυο υπολογιστων Διαφορές: ταχύτητα τοπολογία λειτουργικό σύστημα... 6

Πολυεπεξεργαστές Κατανεμημένης Μνήμης Η τοπολογία του δικτύου διασύνδεσης Β. Δημακόπουλος

Τοπολογία Διάταξη των κόμβων στον χώρο και συνδεσμολογία μεταξύ τους Γράφοι ως φυσική αναπαράσταση του δικτύου κόμβοι = κορυφές συνδέσεις = ακμές Αναδρομή στην ορολογία και τις ιδιότητες των γράφων 8

Ορολογία και ιδιότητες των γράφων v 1 v 2 v 4 v 3 Σύνολο κορυφών και σύνολο ακμών: G = (V,E) μη κατευθυνόμενοι Αν e = vu Ε, τότε οι v, u είναι γειτονικές (neighbors, adjacent) Η ακμή είναι προσκείμενη (incident) στις κορυφές Αν η v έχει d(v) γείτονες, τότε έχει βαθμό d(v) Αν όλες οι κορυφές έχουν τον ίδιο βαθμό d, τότε d-regular (τακτικός) Δ(G), δ(g): μέγιστος, ελάχιστος βαθμός 9

Ορολογία και ιδιότητες των γράφων v 1 v 2 v 4 v 3 Περίπατος (walk) ακολουθία γειτονικών κορυφών (π.χ. από v1 στη v4: v1, v2, v3, v2, v1, v4) ίχνος (trail) περίπατος χωρίς επαναλαμβανόμενες ακμές (π.χ. v1, v2, v3, v1, v4) μονοπάτι (path) ίχνος χωρίς επαναλαμβανόμενες κορυφές (π.χ. v1, v2, v3, v4) Συνδεδεμένοι γράφοι Κύκλος, Hamiltonicity 10

Αποστάσεις Μήκος μονοπατιού ο αριθμός ακμών που περιέχει v 1 v 2 v 4 v 3 Απόσταση dist(v,u) το μικρότερο μήκος από όλα τα μονοπάτια v-u. Κορυφή u εκκεντρική ως προς την v: dist(v,u) = max w {v, w} οπότε εκκεντρικότητα e(v) = dist(v,u) Διάμετρος = η μεγαλύτερη εκκεντρικότητα, D(G) (diameter) Ακτίνα = η μικρότερη εκκεντρικότητα, R(G) (radius) 11

Υπογράφοι v 1 v 2 v 1 v 1 v 2 Υπογράφοι (subgraphs) v 4 v 3 v 4 H v 3 v 4 H v 3 Επικαλυπτικοί υπογράφοι (spanning) Προκύπτων υπογράφος (induced) 12

Δέντρα Δέντρα (trees) όχι κύκλοι μοναδικά μονοπάτια συνδεδεμένα, n κόμβοι, n 1 ακμές ρίζα γονέας της v v παιδιά της v φύλλο υποδέντρο της v 13

Κατευθυνόμενοι γράφοι (digraphs) Οι ακμές έχουν κατεύθυνση και άρα vu uv out-degree (d + ), in-degree (d - ) balanced τακτικοί τα άλλα όπως στους μη κατευθυνόμενους ασθενώς / ισχυρά συνδεδεμένοι 14

Άλλα χαρακτηριστικά των γράφων vertex-disjoint paths (ξένα ως προς τις κορυφές) edge-disjoint paths (ξένα ως προς τις ακμές) vertex connectivity, κ(g) (συνδεσμικότητα κορυφών) edge connectivity, λ(g) (συνδεσμικότητα ακμών) Bisection width: ο ελάχιστος αριθμός ακμών που πρέπει να αφαιρεθούν για να χωριστεί ο γράφος σε δύο ίσα (±1 κορυφή) μέρη. Μέση απόσταση (mean distance): μ(g) dist(v, u) v,u N(N 1) 15

Τι θέλουμε από έναν γράφο Το δίκτυο διασύνδεσης θα πρέπει να μεταφέρει όσο το δυνατόν περισσότερα μηνύματα, όσο το δυνατόν γρηγορότερα με ελάχιστο κόστος και μέγιστη αξιοπιστία. Αυτά είναι αλληλοσυγκρουόμενα, όμως. Μικρή διάμετρος, μικρή μέση απόσταση μικρή καθυστέρηση σε packet-switching, μικρή contention σε wormhole switching Μικρός και σταθερός βαθμός απλοί και οικονομικοί routers, μικρότερη και σταθερή καλωδίωση Χαμηλότερη connectivity, μεγαλύτερες αποστάσεις Στην ΚΑΛΥΤΕΡΗ περίπτωση έχουν λογαριθμική διάμετρο 16

και άλλα που θέλουμε Μεγάλο bisection width Ταχύτητα για αλγορίθμους με μεγάλο συλλογικό επικοινωνιακό φόρτο Δυσκολία στην υλοποίηση (π.χ. στο VLSI πολλά καλώδια και διασταυρώσεις) Υψηλό connectivity Ταχύτητα (πολλαπλά μονοπάτια) και αξιοπιστία (fault tolerance) Μεγάλος βαθμός κορυφών Συμμετρία Απλότητα στο σχεδιασμό, δυνατότητα ανάπτυξης απλών και γρήγορων επικοινωνιακών αλγορίθμων, ευκολία στην ανάλυση Εύκολη ενσωμάτωση άλλων γράφων και σε άλλους γράφους Πολλοί καλοί αλγόριθμοι δουλεύουν σε συγκεκριμένη τοπολογία Εφαρμογή αλγορίθμων αυτούσιων σε άλλη τοπολογία 17

Πολυεπεξεργαστές Κατανεμημένης Μνήμης Μερικοί βασικοί γράφοι Β. Δημακόπουλος

Πλήρης γράφος (complete graph) Όλες οι κορυφές συνδέονται με όλες Ο Κ Ν έχει Ν κορυφές Ν(Ν-1)/2 ακμές (Ν-1)-regular D(Κ Ν ) = 1 κ(κ Ν ) = Ν-1 Εμπεριέχει όλους τους γράφους με Ν κορυφές Πρακτικός μόνο για μικρό Ν 19

Γραμμικός γράφος (linear array) 0 1 Ν 1 Απλό μονοπάτι Ο P Ν έχει Ν κορυφές N-1 ακμές Μη τακτικός (βαθμοί 1 και 2) D(P Ν ) = Ν-1 κ(p Ν ) = 1 Μη πρακτικός μόνο για εξειδικευμένες αρχιτεκτονικές (π.χ. συστολικές διατάξεις) 20

Δακτύλιος (ring) 0 1 Ν 1 Απλός κύκλος Ο R Ν έχει Ν κορυφές N ακμές 2-regular, συμμετρικός D(R Ν ) = floor(n/2) κ(r Ν ) = 2 Μεγάλη διάμετρος, πολύ βασικός γράφος για κατασκευή άλλων τοπολογιών 21

Δομημένος και μεθοδικός σχεδιασμός Συνήθως θέλουμε να βρούμε κάποιο δίκτυο που πληροί κάποια κριτήρια, π.χ. να έχει συγκεκριμένο βαθμό ή συγκεκριμένη διάμετρο με συγκεκριμένο # κόμβων / ακμών Θέλουμε ένα μεθοδικό τρόπο να παράγουμε τέτοια δίκτυα (π.χ. ξεκινώντας από πιο απλά δίκτυα) Μερικές βασικές τεχνικές Γράφοι ακμών Η μέθοδος Cayley Καρτεσιανό γινόμενο 22

Πολυεπεξεργαστές Κατανεμημένης Μνήμης Καρτεσιανό γινόμενο Β. Δημακόπουλος

Καρτεσιανό γινόμενο G (V,E) G 1 G2 Gk G i (V,E i i ), i 1,2,,k Ο i-οστός γράφος ονομάζεται i-οστή διάσταση V V 1 V 2 V k (v 1,v 2,,v k ) v i V i Δηλαδή, οι κορυφές είναι το καρτεσιανό γινόμενο των κορυφών των επιμέρους γράφων και άρα έχουν ως ετικέτα / διεύθυνση μία k-άδα Το i-οστό στοιχείο της k-άδας είναι η i-οστή συντεταγμένη E (v 1,v 2,,v k )(u 1,u 2,,u k ) j: v j u j E j and i j: v i u i Δύο κορυφές είναι γειτονικές αν και μόνο αν έχουν τις αντίστοιχες συντεταγμένες τους ίσες, εκτός από μία και στη συγκεκριμένη διάσταση οι συντεταγμένες τους είναι γειτονικές (v j u j E(G j )) 24

Σε δύο διαστάσεις Ούτως ή άλλως, όλα τα γινόμενα μπορούν να θεωρηθούν ως γινόμενα 2 γράφων: G G G 1 G2 Gk 1Gk1 G' k1 1 G2 Gk G G (V,E) G 1 G 2 E (v V (v1,v2) 1,v 2 )(u 1,u 2 ) v 1 u 1 and v 2 u 2 E 2 OR v 2 u 2 and v 1 u 1 E 1 25

Παραδείγματα E (v 1,v 2 )(u 1,u 2 ) v 1 u 1 and v 2 u 2 E 2 OR v 2 u 2 and v 1 u 1 E 1 0 (a,0) (b,0) a b 1 (a,1) (b,1) 2 (a,2) (b,2) G 1 G 2 G 1 G 2 26

Μερικές ιδιότητες G 1 G2 G2 G1 ( G1 G2) G3 G1 (G2 G3) V V 1 V2 Vk v (v 1,v 2 d(v) dist e(v),...,v k ) k 1 ) d(v2) d(v k) d(v ) i i1 k 1 dist (v,u ) i i i i1 k 1 (v1) e2(v2) ek(vk) e (v ) i i i1 d(v v,u dist (v1,u1) dist k(vk,uk) e D(G) k i1 D(G i ) 27

Ομογενή δίκτυα Αν G1 G2 Gk τότε o H G G k 1 G2 Gk H είναι ομογενής (έχει όλες τις διαστάσεις τ0υ ίδιες). Μερικά συμπεράσματα: V D(G) k V H kd(h) Αν ο Η είναι n-regular, d(v) kn 28

Γνωστά δίκτυα ως καρτεσιανά γινόμενα Πλέγματα: γινόμενα γραμμικών γράφων (0,0) (0,1) (0,2) (0,Μ 1) (1,0) (1,1) (1,Μ 1) (Μ 1,Μ 1) Tori: γινόμενα δακτυλίων Πλέγμα ΜΜ Πλέγμα 432 (0,0) (Μ 1,Μ 1) Torus ΜΜ 29

Υπερκύβος Καρτεσιανό γινόμενο από γράφους 2 κόμβων K 2 = L 2 = R 2 = whatever 2 1/01 0 1 0/00 Δισδιάστατος κύβος (Q 2 ) 0/000 1/001 4/100 5/101 Μονοδιάστατος κύβος (Q 1 ) 2/10 3/11 2/010 3/011 6/110 7/111 Τρισδιάστατος κύβος Γενικευμένος υπερκύβος: γινόμενο πλήρων γράφων, K n K K 1 n2 nk 30

Συγκριτικός πίνακας Κόμβοι Βαθμός Διάμετρος Παραδείγματα συστημάτων Πλήρης γράφος N N 1 1 Γραμμικός γράφος N 1, 2 N 1 N /2 Δακτύλιος N 2 KSR 1 & 2 (ιεραρχικοί δακτύλιοι) d (n 1) i 1 i Πλέγμα N = n d n 1 d, d+1,, 2d Intel Paragon (ιεραρχικοί 16114) 2 i 1 i d Torus N = n d n 1 2d n / Cray T3E, MIT J Machine (3D torus) Υπερκύβος N = 2 d d = logn d = logn Intel ipsc 1/2, ncube/1-3, SGI Origin ) i 1 i d Γενικ. υπερκύβος N = n d n 1 (n 1 d 31

Πολυεπεξεργαστές Κατανεμημένης Μνήμης Υπερκύβος Β. Δημακόπουλος

Υπερκύβος Καρτεσιανό γινόμενο από P 2, R 2, K 2 Επίσης, είναι ιεραρχικά αναδρομικός (καρτεσιανό γινόμενο από μικρότερους κύβους) Q 1 K2, Q d Q d1 Q 1 Q k Q dk Άλλος, ισοδύναμος ορισμός: N = 2 d κόμβοι με ετικέτες d-ψήφιους δυαδικούς αριθμούς. Δύο κόμβοι γειτνιάζουν μόνο εφόσον οι ετικέτες τους διαφέρουν σε 1 bit. 1/01 0/00 0/000 1/001 4/100 5/101 Δισδιάστατος κύβος (Q 2 ) 3/11 3/011 7/111 2/10 2/010 6/110 Τρισδιάστατος κύβος 33

Κατασκευή από μικρότερο κύβο Δύο ίδια αντίγραφα Συνδέω τις κορυφές με ίδια ετικέτα Στον πρώτο βάζω το 0 μπροστά από κάθε ετικέτα, στο δεύτερο βάζω το 1. 1/01 (0)01 (1)01 0/00 (0)00 (1)00 Δισδιάστατος κύβος (Q 2 ) Α Β 3/11 (0)11 (1)11 2/10 (0)10 (1)10 Κατασκευή από δύο δισδιάστατους κύβους 34

Μερικές ιδιότητες Τακτικός, βαθμού d ( = log N) D(Q d ) = d Hamiltonian, vertex symmetric, edge symmetric Βέλτιστη συνδεσμικότητα (d) (τόσα παράλληλα μονοπάτια) Γενικώς, βέλτιστες είναι πάρα πολλές από τις ιδιότητές του, βέλτιστα συμπεριφέρονται πάρα πολλοί αλγόριθμοι. dist(v,u) = # bits που διαφέρουν τα v και u Ερώτηση: ποιος κόμβος απέχει πιο πολύ από τον x = x d 1 x 1 x 0? Απάντηση: Αφού ο μέγιστος # διαφορετικών bit είναι d, o y = x d 1 x 1 x 0. 35

Ελάχιστα μονοπάτια Σχηματίζονται «διορθώνοντας» τα bit ένα προς ένα Γνωρίζουμε ότι οι γειτονικοί κόμβοι διαφέρουν σε ακριβώς 1 bit Σε κάθε βήμα, ο τρέχον κόμβος επιλέγει έναν γείτονά του ώστε να διαφέρει σε ένα bit λιγότερο από αυτά του προορισμού Έτσι με κάθε βήμα «διορθώνεται» και 1 bit, μέχρι να καταλήξουμε τελικά στον προορισμό Διόρθωση του 1 ου bit (ακμή στην 1 η διάσταση) 1/001 5/101 0/000 4/100 Διόρθωση του 2 ου bit (ακμή στη 2 η διάσταση) 3/011 7/111 2/010 6/110 36

Κι άλλες ιδιότητες Ερώτηση: πόσοι κόμβοι είναι σε απόσταση k από τον κόμβο 0? Απάντηση: Ερώτηση: πόσα διαφορετικά μονοπάτια υπάρχουν μεταξύ δύο κόμβων; Απάντηση: d k Έστω ότι οι κόμβοι διαφέρουν σε k bits Αφού τα ελάχιστα μονοπάτια σχηματίζονται με διόρθωση αυτών των k bits, αρκεί να βρούμε με πόσους τρόπους μπορεί να γίνει η σειρά των διορθώσεων Προφανώς, με k! τρόπους (= # μεταθέσεων) 37

Μειονεκτήματα Δύο είναι τα βασικά: 1. Καλή, αλλά όχι και τέλεια διάμετρος, αλλά κυρίως: 2. Μεγάλος, μη σταθερός βαθμός 38

Πολυεπεξεργαστές Κατανεμημένης Μνήμης Αντιστοιχίσεις (ενσωματώσεις) Β. Δημακόπουλος

Γιατί; Διότι αν ένα δίκτυο Α εμπεριέχεται σε ένα άλλο Β, τότε το δεύτερο θα έχει, εκτός των άλλων, και τις ιδιότητες του πρώτου Επίσης, διότι πολλές φορές έχουμε σχεδιάσει έναν αλγόριθμο / πρόγραμμα για ένα δίκτυο Α (π.χ. υπάρχουν εξαιρετικοί αλγόριθμοι πολλαπλασιασμού πινάκων για tori) αλλά η παράλληλη μηχανή μας διαθέτει διασυνδετικό δίκτυο Β (π.χ. ο helios.cc.uoi.gr είναι υπερκύβος). 40

Ενσωμάτωση δακτυλίου σε ίσο γραμμικό γράφο 0 1 2 3 4 5 0 1 2 3 4 5 1 ος τρόπος 0 1 2 3 4 5 0 1 2 3 4 5 Η ακμή 0-5 στον δακτύλιο γίνεται μονοπάτι μήκους 5! 2 ος τρόπος 0 5 1 4 2 3 0 1 2 3 4 5 Όλες οι ακμές του δακτυλίου γίνονται το πολύ μονοπάτι μήκους 2 41

Αντιστοίχιση / ενσωμάτωση (embedding) Γράφος G (guest) να αντιστοιχιστεί / ενσωματωθεί σε γράφο H (host). Μετρικές για την ποιότητα της αντιστοίχισης αυτής: Expansion (επέκταση) = V(H) / V(G) Max / average load (φορτίο): number of guest nodes mapped into 1 host node Max / average dilation («διαστολή» ή «τέντωμα»): path length onto which 1 host edge is mapped Max / average congestion («συμφόρηση»): number of guest edges that, when mapped, pass through 1 host edge Ιδανικό: load = dilation = congestion = 1. Τότε ο είναι φιλοξενούμενος είναι υπογράφος του οικοδεσπότη 42

Με οικοδεσπότη των υπερκύβο Ο υπερκύβος μπορεί να προσομοιώσει ιδιαίτερα αποδοτικά σχεδόν όλα τα γνωστά δίκτυα (!) Βασική τεχνική για βασικούς φιλοξενούμενους: Binary Reflected Gray Code (BRGC, GC για συντομία) GC 1 = { 0, 1 } GC d 0GC d1,1gc R d1 π.χ. GC 2 = { 00, 01, 11, 10 }, GC 3 = {... } Κάθε στοιχείο της ακολουθίας διαφέρει από το προηγούμενο και το επόμενό του σε ακριβώς 1 bit. 43

Μερικός κώδικας Gray Με λιγότερα από 2 d στοιχεία. Έστω ότι GC d,λ είναι τα πρώτα λ στοιχεία του GC d Τότε, μερικός κώδικας Gray με k στοιχεία, είναι ο: PGC d,k 0GC d1,k /2,1GC R d1,k /2 Π.χ. έστω ότι θέλουμε τον PGC 3,6. GC 2 = { 00, 01, 11, 10 }, GC 2,3 = { 00, 01, 11 } PGC 3,6 = { 0 { 00, 01, 11 }, 1 { 11, 01, 00} } = { 000, 001, 011, 111, 101, 100 } 44

Path/Ring embedding Αν δακτύλιος με 2 d κόμβους, αντιστοιχίζουμε τον κόμβο i του δακτυλίου στον κόμβο GC(i) 1/001 5/101 G 3 (1) G 3 (6) 0/000 4/100 G 3 (0) G 3 (7) 3/011 7/111 G 3 (2) G 3 (5) 2/010 4/100 G 3 (3) G 3 (4) Αν έχει k κόμβους (k άρτιο), τότε αντιστοιχίζουμε τον κόμβο i του δακτυλίου στον κόμβο PGC(i) 1/001 5/101 G 3 (1) G 3 (6) Κόμβος στον R 6 0 1 2 3 4 5 Κόμβος στον Q 3 000 001 011 111 101 100 0/000 4/100 G 3 (0) G 3 (7) 3/011 7/111 G 3 (2) G 3 (5) 2/010 4/100 G 3 (3) G 3 (4) 45

Path/Ring embedding Γιατί δουλεύει; Διότι γειτονικοί κόμβοι στο δακτύλιο αντιστοιχίζονται σε γειτονικά στοιχεία του GC. Όμως, γειτονικά στοιχεία του GC διαφέρουν σε ακριβώς 1 bit. Επομένως, οι αντίστοιχοι κόμβοι στον υπερκύβο είναι επίσης γειτονικοί. 46

Mesh / torus embedding Είδαμε ότι Q d Q d Q Q 1 d2 dk ( d d1 d2 d k ) Με χρήση πολλαπλών κωδίκων Gray Π.χ. στο κύβο Q d, d = d 1 + d 2, αντιστοιχίζω torus d 2 d 2 2 1 Χρησιμοποιώ 2 κώδικες, GC d1 και GC d2 O κόμβος (i, j) αντιστοιχίζεται στον GC (i) GC d 2 d 1 (j) x (xaxa 1x1) y (y y y1) b b 1 x y (xaxa 1x1y y y1) b b1 47

Παράδειγμα (0,0) (0,1) (0,2) (0,3) 24 = 2 1 2 2, άρα 2 κώδικες: με 1 και 2 ψηφία (1,0) (1,1) (1,2) (1,3) G G 1 2 {00, 01, 11, 10} {0, 1}. (0, 0) 000 (0, 1) 001 (0, 2) 011 (0, 3) 010 (1, 0) 100 (1, 1) 101 (1, 2) 111 (1, 3) 110 1/001 5/101 G 2 (0) G 1 (1) G 2 (1) G 1 (1) 0/000 4/100 G 2 (0) G 1 (0) G 2 (1) G 1 (0) 3/011 7/111 G 2 (0) G 1 (2) G 2 (1) G 1 (2) 2/010 6/110 G 2 (0) G 1 (3) G 2 (1) G 1 (3) 48

Γενικά mesh / torus dk dk 1 Γενικά, ένα πλέγμα/torus 2 κωδίκων Gray. Ο κόμβος (i k,, i 1 ) στον 2 2 d 1 αντιστοιχίζεται μέσω k G (i ) G (i ) G (i1) d k d k1 d1 k k1 Ένα οποιοδήποτε πλέγμα lk lk 1 μέσω μερικών κωδίκων Gray, αρκεί l 1 αντιστοιχίζεται στον υπερκύβο log 2 l1 log 2 l2 log 2 l k d. 49

Πολυεπεξεργαστές Κατανεμημένης Μνήμης Άλλα χαρακτηριστικά του δικτύου Β. Δημακόπουλος

Ένα δίκτυο διασύνδεσης χαρακτηρίζεται από: Την τοπολογία του Ποίος κόμβος συνδέεται με ποιον Τη διαδρόμησή του (routing) Ποιο από όλα τα δυνατά μονοπάτια θα επιλεχθεί Τον έλεγχο ροής του (flow control) Πώς διανέμονται οι πόροι του δικτύου (κανάλια, buffers κλπ), τι συμβαίνει σε περίπτωση συγκρούσεων Τη μεταγωγή του (switching) Πώς μεταφέρεται εσωτερικά σε έναν διαδρομητή το μήνυμα από μία είσοδο σε μία έξοδό του 51

Πολυεπεξεργαστές Κατανεμημένης Μνήμης Κατηγορίες διαδρόμησης Β. Δημακόπουλος

Με βάση τις αποφάσεις διαδρόμησης (Ι) Πώς και πού παίρνονται οι αποφάσεις Κατανεμημένη (distributed routing) Σε κάθε router καθώς τον διασχίζει το μήνυμα Η επικεφαλίδα έχει μόνο την ταυτότητα του παραλήπτη / προορισμού Κάθε router απλά αποφασίζει σε ποιο κανάλι εξόδου θα προωθήσει το μήνυμα Ιδιαίτερα βολικό σε συμμετρικά δίκτυα (όλοι οι routers χρησιμοποιούν τον ίδιο αλγόριθμο) Πηγής (source routing) Η πηγή αποφασίζει όλο το μονοπάτι και το ενσωματώνει στην επικεφαλίδα του μηνύματος (συνήθως αναφέρεται ποιο κανάλι πρέπει να χρησιμοποιήσει κάθε ενδιάμεσος κόμβος) Κάθε ενδιάμεσος κόμβος μηχανικά το προωθεί στο κανάλι εξόδου που του λέει το μήνυμα και «αφαιρεί» τα bit που αναφέρονται σε αυτόν Αν οι routers έχουν k κανάλια εξόδου και το μονοπάτι είναι μήκους D, θα χρειαστούν Dlog 2 k bits για την κωδικοποίηση του μονοπατιού Ακόμα λιγότερα σε δίκτυα καρτεσιανού γινομένου, όπου μπορούμε να σημειώσουμε μόνο την αλλαγή διάστασης (μαζί με τη νέα κατεύθυνση) (streetsign routing) 53

Με βάση τις αποφάσεις διαδρόμησης (ΙΙ) Υβριδική / πολλαπλών φάσεων (hybrid/multiphase routing) Η πηγή προκαθορίζει μόνο μερικούς ενδιάμεσους κόμβους και όχι όλο το μονοπάτι Από ενδιάμεσο σε ενδιάμεσο κόμβο η διαδρόμηση γίνεται κατανεμημένα Π.χ. το randomized routing του Valiant (1 τυχαίος ενδιάμεσος κόμβος). Κεντρικοποιημένη (centralized routing) Κάποιος εξωτερικός ελεγκτής παίρνει τις αποφάσεις Έχει χρησιμοποιηθεί σε μηχανήματα SIMD και σε μερικά MINs 54

Με βάση την υλοποίηση του αλγορίθμου Δύο υλοποιήσεις: Αλγοριθμική Είτε σε hardware, είτε σε software υπάρχει κάποιος στοιχειώδης αλγόριθμος για τον σχηματισμό της διαδρομή (π.χ. e-cube, dimension-ordered routing). Είναι αναγκαστικά «δεμένη» με συγκεκριμένη τοπολογία. Αν ο router είναι γενικός, για να φτιαχτεί οποιαδήποτε τοπολογία, η αλγοριθμική διαδρόμηση είναι δύσκολη αν όχι αδύνατη. Στην περίπτωση της διαδρόμησης πηγής, μόνο η πηγή χρησιμοποιεί τον αλγόριθμο, φυσικά. Με πίνακα Κάθε κόμβος έχει πίνακα με τα κανάλια που πρέπει να χρησιμοποιήσει για κάθε δυνατό προορισμό Μεγάλο μέγεθος πίνακα = Θ(# κόμβων) Και ανάλογα αργή η αναζήτηση σε αυτόν Interval routing: για μείωση του πίνακα, κρατάμε ένα διάστημα διευθύνσεων ανά κανάλι εξόδου (δηλ. 2 αριθμούς) Ανοιχτό πρόβλημα για τις περισσότερες τοπολογίες Στην περίπτωση της διαδρόμησης πηγής, μόνο η πηγή χρειάζεται πίνακα, φυσικά. 55

Interval routing σε 2D mesh 56

Με βάση την προσαρμοστικότητα του αλγορίθμου Δηλαδή, αν χρησιμοποιείται κι άλλη πληροφορία εκτός της διεύθυνσης του προορισμού Σταθερή (απροσάρμοστη ) διαδρόμηση (deterministic) Διαλέγει πάντα το ίδιο μονοπάτι μεταξύ δύο κόμβων (συνήθως κάποιο ελάχιστο). Απλή, γρήγορη, η πιο συνηθισμένη στην πράξη Καλή για ομοιόμορφη κίνηση και για αξιόπιστα δίκτυα, αλλιώς όχι «Τυφλή» (oblivious) Χρησιμοποιεί για τις αποφάσεις της μόνο τη δ/νση προορισμού Περιλαμβάνει τη σταθερή διαδρόμηση Όμως μπορεί να ΜΗΝ είναι σταθερή, αλλά τυχαία. Πολλά εναλλακτικά μονοπάτια και αποφασίζει ποιο από όλα κάθε φορά Καλή εναλλακτική τεχνική αντί της προσαρμοζόμενης, για ομοιόμορφη κατανομή της κίνησης στο δίκτυο 57

Με βάση την προσαρμοστικότητα του αλγορίθμου (ΙΙ) Προσαρμοζόμενη (adaptive) Χρησιμοποιεί και πληροφορία από την κίνηση του δικτύου και την κατάσταση των καναλιών για να αποφασίσει τον επόμενο κόμβο προκειμένου να αποφύγει είτε την μεγάλη κίνηση είτε ελαττωματικούς κόμβους Είναι βασικά κατανεμημένη (δεν έχει πολύ νόημα για την περίπτωση της διαδρόμησης πηγής) Αποτελείται από δύο λειτουργίες: Routing function: επιστρέφει σύνολο πιθανών καναλιών εξόδου Selection function: επιλέγει ένα από όλα τα κανάλια Θεωρητικά έχει τις προϋποθέσεις για την καλύτερη δυνατή διαδρόμηση Θέλει προσοχή να αποφεύγονται deadlocks και άλλες συναφείς, καταστροφικές καταστάσεις Προφανώς απαιτεί πιο πολύπλοκο hardware 58

Με βάση το μήκος των μονοπατιών Πλησιάζουμε τον προορισμό; Ελάχιστη ή άπληστη (minimal / greedy / profitable) Με κάθε βήμα πλησιάζουμε περισσότερο στον προορισμό. Συνήθως με σταθερές και τυφλές διαδρομήσεις Μη ελάχιστη (non-minimal, non-greedy, misrouting) Σε κάποιο βήμα μπορεί να μην ακολουθήσουμε τη συντομότερη πορεία Σχεδόν πάντα σε προσαρμοζόμενες διαδρομήσεις Προκειμένου π.χ. να αποφύγουμε τη συντομότερη διαδρομή λόγω μεγάλης κίνησης Θέλει προσοχή να αποφεύγονται deadlocks και άλλες συναφείς (livelock), καταστροφικές καταστάσεις 59

Με βάση την πρόοδο της διαδρομής (μόνο adaptive) Το μονοπάτι μεγαλώνει; Προοδευτική (progressive) Το μονοπάτι μεγαλώνει σε κάθε βήμα (όχι απαραίτητα πλησιάζοντας στον προορισμό) Backtracking Το μονοπάτι μπορεί και να μικρύνει κάποια στιγμή Π.χ. αν συναντήσουμε κίνηση γυρνάμε πίσω και ακολουθούμε άλλη πορεία (άρα δεν μπορεί να είναι σταθερή) Δύσκολη (έως αδύνατη) σε wormhole, εύκολη σε circuit switching 60

Πολυεπεξεργαστές Κατανεμημένης Μνήμης Μεταγωγή (switching) Β. Δημακόπουλος

Μεταγωγή Πώς μεταφέρονται μηνύματα από ένα κανάλι εισόδου σε ένα κανάλι εξόδου στον ίδιο κόμβο. Μερικές τεχνικές μεταγωγής: Κυκλώματος (circuit switching) Πακέτου / μηνύματος / SAF (Store-and-Forward) Virtual Cut-Through (VCT) Wormhole Virtual channels Pipelined circuit switching 62

Μεταγωγή κυκλώματος Τρεις φάσεις: σχηματισμός (και δέσμευση) του μονοπατιού από το probe μεταφορά του μηνύματος αποδέσμευση του μονοπατιού Μήνυμα ACK 63

Μεταγωγή SAF Πακέτου / μηνύματος / SAF (Store-and-Forward) Το μήνυμα χωρίζεται σε πακέτα σταθερού μήκους Κάθε πακέτο προωθείται ανεξάρτητα. Οι κόμβοι (α) το λαμβάνουν και το αποθηκεύουν σε buffer και (β) το προωθούν στον επόμενο κόμβο 64

Μεταγωγή VCT Σαν το SAF αλλά: Αν το κανάλι εξόδου είναι ελεύθερο, καθώς λαμβάνονται τα bits της επικεφαλίδας, αποφασίζεται το κανάλι εξόδου και όλο το μήνυμα διοχετεύεται κατευθείαν εκεί (άρα ελάχιστη καθυστέρηση). Αν όχι, buffering όπως στο SAF. Ταχύτητα αν δεν υπάρξει εμπόδιο Όμως, δεν εξαλείφεται η ανάγκη για buffers που έχει και το SAF. 65

Μεταγωγή wormhole Ανάμεσα σε VCT και circuit switching. Το μήνυμα χωρίζεται σε ΠΟΛΥ μικρά πακέτα, τα flits (1-4 bytes). To πρώτο αποτελεί την επικεφαλίδα Η επικεφαλίδα προχωρά με VCT αλλά τα υπόλοιπα flits ακολουθούν (και δεσμεύουν) τους προηγούμενους κόμβους, χωρίς κενά, σαν σε pipeline. Αν η επικεφαλίδα μπλοκάρει κάπου, τα flits αποθηκεύονται εκεί που βρίσκονται (άρα πολύ μικροί buffers απαιτούνται). 66

Χρονισμός Κόμβος (α) μεταγωγή SAF v 0 v 1 v 2 επικεφαλίδα δεδομένα v 3 χρόνος Κόμβος Κόμβος header flit flit δεδομένων v 0 v 0 v 1 v 1 v 2 v 2 v 3 χρόνος v 3 χρόνος σχηματισμός κυκλώματος μεταφορά δεδομέων (β) μεταγωγή κυκλώματος (γ) μεταγωγή wormhole 67

Ας υποθέσουμε ότι Κάθε πακέτο αποτελείται από 1 flit επικεφαλίδας και M flits δεδομένων (σύνολο: Μ+1 flits) Το μήνυμα πρέπει να διανύσει μονοπάτι μήκους D για να φτάσει στον προορισμό του Δεν συναντάει κανένα εμπόδιο (δηλαδή αναμονή λόγω κατειλημμένων καναλιών) στον δρόμο του Κανάλια με συχνότητα B Hz, το κανάλι έχει πλάτος τόσες γραμμές όσα τα bits του flit (άρα μεταφέρει B flits / sec). Χρόνος για ένα flit να διασχίσει το κανάλι: t w = 1/B sec. Για να διασχιστεί ένας ενδιάμεσος κόμβος χρειάζεται χρόνος t r Περιλαμβάνει όλες τις καθυστερήσεις (buffering, πέρασμα από switch κλπ) για να περάσει από κανάλι εισόδου σε κανάλι εξόδου Υποθέτουμε για ευκολία ότι ο χρόνος για να πάρει αποφάσεις ο κόμβος (δηλ. να κάνει διαδρόμηση) είναι αμελητέος 68

Ο χρονισμός πιο αναλυτικά T circuit switching = D(t w +t r ) + Mt w Ο χρόνος για να σχηματιστεί το μονοπάτι από το probe Χρόνος για να μεταδοθεί το μήνυμα πάνω στο κύκλωμα T SAF = D(t w +t r )(M+1) = D(t w +t r ) + DM(t w +t r ) Μεταφορά ολόκληρου του μηνύματος από κόμβο σε κόμβο T VCT = T WR = D(t w +t r ) + Mt w Ο χρόνος για να φτάσει το header flit Tα άλλα flit ακολουθούν από πίσω και καταφθάνουν το ένα μετά το άλλο. Αν ο χρόνος να διασχισθεί ένας διαδρομητής (t r ) είναι μεγαλύτερος από τον χρόνο μετάδοσης στο κανάλι (t w ), τότε ο όρος πρέπει να είναι Mt r. 69

Σύγκριση Γενικά μπορούμε να πούμε ότι τα t w και t r είναι παρόμοιας τάξης μεγέθους. Αν τα θεωρήσουμε ίσα με 1 «χρονική μονάδα», τότε οι εκφράσεις μας απλοποιούνται ως εξής: T circuit switching = T VCT = T WR = Θ(D+M) T SAF = Θ(DM) Αν τα μηνύματα είναι μεγάλα (Μ >> D), τότε οι μεταγωγές κυκλώματος, VCT και wormhole εξαρτώνται σχεδόν αποκλειστικά από το M και άρα είναι ανεξάρτητες της απόσταστης (distance insensitive). Όλα αυτά, βέβαια, με την προϋπόθεση ότι δεν υπάρχουν συγκρούσεις / αναμονές στο μονοπάτι του μηνύματος. 70

Σύγκριση Το wormhole switching έχει επικρατήσει διότι Ταχύτητα ακόμα και σε δίκτυα μεγάλης διαμέτρου Ελάχιστο buffering Οπότε γίνεται δυνατή η υλοποίηση routers σε ανεξάρτητο chip και όχι μέσω της μνήμης του κόμβου High-speed (low latency) routers and networks Σε υψηλή κίνηση είναι ιδιαίτερα επιρρεπές σε deadlocks αφού δεσμεύσει πολλούς πόρους (κανάλια) στην πορεία του. Χρησιμοποιείται η τεχνική των εικονικών καναλιών (virtual channels). 71

Wormhole switching: virtual channels (εικονικά κανάλια) Συνήθως οι buffers στα κανάλια είναι ουρές FIFO Επομένως, αν το header flit μπλοκάρει, όλα τα προηγούμενα κανάλια δεσμεύονται (σαν το circuit switching) Κανένα άλλο μήνυμα δεν μπορεί να προχωρήσει Τεχνική για βελτίωση της κατάστασης: virtual channels Κάθε φυσικό κανάλι «υποδιαιρείται» σε πολλά εικονικά («λογικά») κανάλια. Τα εικονικά κανάλια πολυπλέκονται στο φυσικό κανάλι χρονικά Κάθε εικονικό κανάλι ορίζεται ουσιαστικά από ζεύγος buffers σε δύο γειτονικούς routers 2 εικονικά κανάλια στην μία κατεύθυνση 2 εικονικά κανάλια στην άλλη κατεύθυνση 72

Virtual channels Αν πολυπλέκονται χρονικά κ εικονικά κανάλια πάνω σε 1 φυσικό κανάλι Β bits/sec, είναι σαν να έχω κ διαφορετικά φυσικά κανάλια, το καθένα (Β/κ) bits/sec, δηλαδή πιο πολλά αλλά πιο αργά κανάλια. Αρχικά χρησιμοποιήθηκαν για το πρόβλημα του deadlock Όμως, μπορούν να βελτιώσουν και τις επιδόσεις μιας και πλέον το φυσικό κανάλι δεν δεσμεύεται εξ ολοκλήρου από κάποιο μπλοκαρισμένο μήνυμα Μπορούν έτσι να προχωρούν μαζί παραπάνω από ένα μηνύματα στο κανάλι 73

Virtual channels Εδώ, αν το Α είχε μπλοκάρει στον R2, θα περίμενε αναγκαστικά και το Β (άρα 2 μηνύματα σε αναμονή, ενώ τώρα κανένα) Επίσης, αν το Α ήταν τεράστιο, το Β θα περίμενε για πολύ ώρα ενώ τώρα όχι. Όμως σίγουρα χάνουμε σε ταχύτητα και επίσης αυξάνει και η πολυπλοκότητα του διαδρομητή Επομένως καλό είναι να μην είναι πολλά τα virtual channels 74

Πολυεπεξεργαστές Κατανεμημένης Μνήμης Κατανεμημένη κοινή μνήμη, NUMA και κλιμακώσιμα συστήματα Β. Δημακόπουλος

Κατανεμημένη κοινή μνήμη (DSM) Ανάγκη υποστήριξης κοινού χώρου διευθύνσεων: Ναι! Πιο προσιτός προγραμματισμός Μικρότερα συστήματα Γίνεται να υποστηρίξουμε κοινόχρηστη μνήμη πάνω από ένα σύστημα με κατανεμημένη μνήμη; DSM (distributed shared memory), τόσο μέσω λογισμικού (sdsm ή SVM αργό) όσο και μέσω υλικού. Hardware DSM: Ο επεξεργαστής του κόμβου απευθύνεται σε ενιαίο χώρο διευθύνσεων (νομίζει ότι έχει τεράστια μνήμη) Η μνήμη είναι όμως κατανεμημένη και κάθε κόμβος έχει απλά ένα τμήμα της Υπάρχει ελεγκτής που ξεχωρίζει τα τοπικά από απομακρυσμένα δεδομένα Τα τοπικά δίνονται κατευθείαν στην CPU Τα απομακρυσμένα έρχονται μέσω μηνυμάτων που αναλαμβάνει να στείλει (διαφανώς) ο ελεγκτής Άρα λογικά κοινή, φυσικά κατανεμημένη μνήμη 76

Πολυεπεξεργαστές NUMA Πλέον η προσπέλαση της μνήμης, που αντιλαμβάνεται ένας επεξεργαστής, δεν είναι πάντα ίδιας καθυστέρησης. Ανομοιόμορφη προσπέλαση μνήμης (NUMA Non-Uniform Memory Access) Π.χ. Cray T3D: 2 κύκλοι για τα τοπικά και περίπου 150 κύκλοι για τα απομακρυσμένα δεδομένα Συστήματα με 4 επεξεργαστές AMD Opteron 8347HE: περίπου 26% (32%) επιπλέον χρόνος για απομακρυσμένη ανάγνωση (εγγραφή). Ερώτηση: Μείωση χρόνου προσπέλασης??? Απάντηση: caches για τα απομακρυσμένα δεδομένα Όμως, πάλι: πρόβλημα συνοχής για τα κοινά δεδομένα! Λύσεις: Πρωτόκολλα συνοχής => cache-coherent NUMA (ccnuma) Αποφυγή προβλήματος. Π.χ. στον Cray T3D δεν υπήρχε πρωτόκολλο συνοχής. Απλά, στις caches δεν επιτρέπονταν κοινά δεδομένα 77

Ομαδοποιημένοι πολυεπεξεργαστές Clustered / scalable multiprocessors (κλιμακώσιμοι) Πολυεπεξεργαστές με κατανεμημένη μνήμη μόνο που κάθε κόμβος αποτελείται από ομάδα επεξεργαστών. Κάθε ομάδα είναι ένας μικρός συμμετρικός πολυεπεξεργαστής Το δίκτυο διασύνδεσης συνδέει τις ομάδες Το όλο σύστημα υποστηρίζει κατανεμημένη κοινή μνήμη Η λογική λύση για κλιμάκωση του διαύλου 78

Παράδειγμα: Sequent Numa-Q Δακτύλιος από Pentium Quads Intel Pentium Intel Pentium Intel Pentium Intel Pentium IQ-Link Μνήμη (ΔΑΚΤΥΛΙΟΣ) QUAD Πλέον απαιτούνται δύο πρωτόκολλα συνοχής: εσωτερικό (μέσα στην ομάδα) εξωτερικό (για τη συνοχή των ομάδων) Εσωτερικό: συνήθως πρωτόκολλο παρακολούθησης Εξωτερικό: συνήθως πρωτόκολλο καταλόγων (SCI στον Numa-Q) 79