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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αλγόριθμοι για Ασύρματα Δίκτυα. Θεωρία Γραφημάτων

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

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

u v 4 w G 2 G 1 u v w x y z 4

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

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

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

ΑΝΤΙΣΤΟΙΧΗΣΕΙΣ ΟΡΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙOΥΝΤΑΙ ΣΤΟΥΣ ΤΟΜΟΥΣ Α ΚΑΙ Β ΤΗΣ ΘΕ «ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ» Ένα γράφημα αποτελείται από ένα σύνολο 94.

Network Science. Θεωρεία Γραφηµάτων (2)

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

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

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

(elementary graph algorithms)

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 3.3: Δίκτυα. Επιστήμη ΗΥ Κεφ. 3.3 Καραμαούνας Πολύκαρπος

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

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

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

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

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

Παράλληλοι Υπολογισµοί (Μεταπτυχιακό)

Υ07. Διδάσκων: ΠΑΡΑΛΛΗΛΑ ΣΥΣΤΗΜΑΤΑ. Β. Δημακόπουλος.

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

9. Συστολικές Συστοιχίες Επεξεργαστών

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

5/3/2012. Εισαγωγή στα Παράλληλα Συστήµατα (Οργάνωση-Προγραµµατισµός) Β. Δημακόπουλος Α. Ευθυμίου

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

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

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

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

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

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

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP

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

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

βασικές έννοιες (τόμος Β)

ΣΧΕΔΙΑΣΜΟΣ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΩΝ ΓΙΑ ΥΨΗΛΗΣ ΑΠΟΔΟΣΗΣ ΚΑΙ ΑΠΟΔΟΤΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΣΥΣΤΗΜΑΤΩΝ ΣΕ ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ (SOC)

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks)

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

2 ) d i = 2e 28, i=1. a b c

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

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Αστικά δίκτυα και δίκτυα κορμού. Αλέξανδρος Σταυδάς Tέταρτος Κύκλος

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

ΕΥΑΓΓΕΛΟΣ Χ. ΖΙΟΥΛΑΣ

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

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

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

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Θεωρία και Αλγόριθμοι Γράφων

Διασύνδεση Εισόδου-Εξόδου

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

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

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

Διασυνδετικοί Δίαυλοι. Τι διασυνδέει ένας δίαυλος; Μεταφορά δεδομένων. Διασύνδεση Εισόδου-Εξόδου. Μ.Στεφανιδάκης

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

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

Transcript:

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

Κεντρική ιδέα Ανεξάρτητοι επεξεργαστές, ο καθένας με την ιδιωτική του μνήμη (κόμβος = CPU + μνήμη) 2

Massively Parallel Processors (MPPs) 3

Clusters Παντού! Συλλογή από διασυνδεδεμένους «κόμβους» Φτηνοί / ευρέως διαθέσιμοι επεξεργαστές (π.χ. Clusters από PCs) Ο μόνος τρόπος να φτιάξουμε «οικονομικούς» υπερ-υπολογιστές (πολλά Teraflops) Πολύ λίγοι έως πάρα πολλοί κόμβοι Sandia Laboratories RED STORM (Cray, 2004) 13000 AMD Opterons (basically PC nodes), 75 Terabytes of memory > 100 Teraflops (peak) Linux Κόστος: $90.000.000 Oak Ridge Laboratory TITAN (Cray, 2013) ~19000 κόμβοι, καθένας με 16πύρηνο Opteron + μία Nvidia Tesla, ~700 Terabytes of memory 27 Petaflops (peak) Linux Κόστος: $97.000.000 Tianhe-2 (top500 No. 1) National Supercomputing Center (China) 16000 κόμβοι, ο καθένας με 2 επεξεργαστές Xeon και 3 κάρτες Xeon Phi Σύνολο: 3.120.000 πυρήνες 34 PFlops ~ 18 MW + 6 MW για ψύξη Κόστος: ~ $390.000.000 4

Στο Τμήμα Στο τμήμα μας: Γενικότερο δίκτυο σταθμών εργασίας (100Mbps ethernet, αργό με πολύ κίνηση) Αυτόνομο cluster 16 κόμβοι, κάθε κόμβος 2 CPUS, κάθε CPU διπύρηνη (64 cores) gigabit Ethernet http://gatepc73.cs.uoi.gr:8880/ganglia/ 5

Manycore και NoCs Πάρα πολλοί πυρήνες Π.χ. Intel TeraScale I (80-cores), TeraScale II (SCC, 48-cores / 24 tiles see below) Mesh network (NoC) Intel Xeon Phi (up to 61 cores) Bidirectional Ring network 6

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

Πολυεπεξεργαστές κατανεμημένης μνήμης Ανεξάρτητοι επεξεργαστές, ο καθένας με την ιδιωτική του μνήμη (κόμβος = CPU + μνήμη) Δίκτυο διασύνδεσης επεξεργαστών (interconnection network) δίαυλος δίκτυο διακοπτών point-to-point, στατικό, άμεσο δίκτυο 8

Massively Parallel Processors (MPPs) 9

Βασική οργάνωση Επικοινωνία επεξεργαστών μέσω ανταλλαγής μηνυμάτων, επάνω από το δίκτυο διασύνδεσης Ο διαδρομητής (router) συνδέει τον κόμβο με το δίκτυο Κανάλια από προς γείτονες / τοπική μνήμη 10

Τυπική δομή διαδρομητή 11

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

Ένα δίκτυο διασύνδεσης χαρακτηρίζεται από: Την τοπολογία του Ποίος κόμβος συνδέεται με ποιον χωρική διάταξη Τη διαδρόμησή του (routing) Ποιο από όλα τα δυνατά μονοπάτια θα επιλεχθεί Πολλές επιλογές πολιτικών Τον έλεγχο ροής του (flow control) Πώς διανέμονται οι πόροι του δικτύου (κανάλια, buffers κλπ), τι συμβαίνει σε περίπτωση συγκρούσεων Αρχιτεκτονική του διαδρομητή Τη μεταγωγή του (switching) Πώς μεταφέρεται εσωτερικά σε έναν διαδρομητή το μήνυμα από μία είσοδο σε μία έξοδό του Κυκλώματος (circuit switching) Πακέτου / μηνύματος / SAF (Store-and-Forward) Virtual Cut-Through (VCT) Wormhole 13

Βιβλιογραφία Interconnection netwοrks: an engineering approach, Duato, Yalamanchili, Ni Principles and practices of interconnection networks, W. Dally, Towles Topological structure and analysis of interconnection networks, J. Xu 14

Η τοπολογία του δικτύου διασύνδεσης

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

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

Ορολογία και ιδιότητες των γράφων 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 18

Αποστάσεις Μήκος μονοπατιού ο αριθμός ακμών που περιέχει 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) 19

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

Άλλα χαρακτηριστικά των γράφων vertex-disjoint paths (ξένα ως προς τις κορυφές) edge-disjoint paths (ξένα ως προς τις ακμές) vertex connectivity, κ(g) (συνδεσμικότητα κορυφών) edge connectivity, λ(g) (συνδεσμικότητα ακμών) κ(g) λ(g) δ(g) 21

Τι θέλουμε από έναν δίκτυο διασύνδεσης Το δίκτυο διασύνδεσης θα πρέπει να μεταφέρει όσο το δυνατόν περισσότερα μηνύματα, όσο το δυνατόν γρηγορότερα με ελάχιστο κόστος και μέγιστη αξιοπιστία. Αυτά είναι αλληλοσυγκρουόμενα, όμως. Τοπολογία: Μικρή διάμετρος, μικρή μέση απόσταση μικρή καθυστέρηση σε packet-switching, μικρή contention σε wormhole switching Μικρός και σταθερός βαθμός απλοί και οικονομικοί routers, μικρότερη και σταθερή καλωδίωση, χαμηλότερη connectivity, μεγαλύτερες αποστάσεις Υψηλό connectivity Συμμετρία Εύκολη ενσωμάτωση άλλων γράφων και σε άλλους γράφους Διότι αν ένα δίκτυο Α εμπεριέχεται σε ένα άλλο Β, τότε το δεύτερο θα έχει, εκτός των άλλων, και τις ιδιότητες του πρώτου Διότι πολλές φορές έχουμε σχεδιάσει έναν αλγόριθμο για ένα δίκτυο Α (π.χ. υπάρχουν εξαιρετικοί αλγόριθμοι πολλαπλασιασμού πινάκων για tori) αλλά η παράλληλη μηχανή μας διαθέτει διασυνδετικό δίκτυο Β (π.χ. ο helios.cc.uoi.gr είναι υπερκύβος). 22

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

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

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

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

» line graphs

(Δι)Γράφος ακμών (line (di)graph) Ξεκινώντας από έναν γράφο G, ο γράφος ακμών του, L(G), παράγεται ως εξής: Κάθε κορυφή του L(G) αντιστοιχεί σε μία ακμή του G Δύο κορυφές του L(G) γειτνιάζουν αν οι αντίστοιχες ακμές στον G προσπίπτουν στην ίδια κορυφή G 3 1 2 4 5 1 2 3 5 4 L(G) Για κατευθυνόμενους, αντίστοιχα: Παράδειγμα: 1 2 1 2 στον G στον L(G) 00 01 G 00 11 L(G) 01 11 10 10 28

Βασικά χαρακτηριστικά των line graphs Έστω L = L(G) V(L) = E(G) Ακμές (γράφος) (διγράφος) Αν e = vu E(G), E( L) E( L) d(e) = d G (v)+d G (u)-2 2 d( u) E( G) (γράφος) d in (e) = d in (v) και d out (e) = d out (u) (διγράφος) Connectivity κ(g) λ(g) κ(l) λ(l) Διάμετρος 1 2 uv ( G) d in uv ( G) ( u) d ( u) D(G) D(L) D(G)+1 D(L) = D(G)+1, εκτός αν G είναι κύκλος οπότε D(L) = D(G) out (γράφος) (διγράφος) Περισσότερες κορυφές, μεγαλύτερος βαθμός, παρόμοια διάμετρος, κλπ. 29

Επαναλαμβανόμενοι line digraphs L 0 (G) = G, L 1 (G) = L(G) και L n (G) L n1 L (G) LL L(G) Ιδιότητες (για ισχυρά συνδεδεμένους): n Αν ο G είναι k-regular, o L n (G) είναι k-regular με k n V(G) κορυφές D(L n (G) ) = n + D(G), αν ο G δεν είναι κύκλος Περίπου ίδιο connectivity Κάθε κορυφή του L n (G) αντιπροσωπεύει έναν κατευθυνόμενο περίπατο στον G, μήκους n. Μας βοηθάει να σχεδιάσουμε αλγόριθμους διαδρόμησης. 30

Δύο παραδείγματα Έστω K + d (d 2) o πλήρης κατευθυνόμενος γράφος όπου σε κάθε κορυφή έχουμε βάλει και ένα loop. Ο διγράφος de Bruijn ορίζεται ως η (n-1)-οστή επανάληψη του γράφου ακμών του K + d: B(d,n) = L n-1 (K + d). 01 00 01 11 00 11 10 10 B(2,1) = K + 2 B(2,2) = L(B(2,1)) B(2,3) = L(B(2,2)) 31

και το δεύτερο Έστω K d o πλήρης κατευθυνόμενος γράφος Ο διγράφος Kautz ορίζεται ως η (n-1)-οστή επανάληψη του γράφου ακμών του K d+1, όπου d 2: K(d,n) = L n-1 (K d+1 ). K(2,1)=K 3 K(2,2)=L(K(2,1)) 32

Καρτεσιανό γινόμενο

Καρτεσιανό γινόμενο 2 γράφων Ορισμός: G ( V, E) G G Ο G 1 (G 2 ) ονομάζεται 1 η (2 η ) διάσταση (dimension) V Οι κορυφές είναι το καρτεσιανό γινόμενο των κορυφών των επιμέρους γράφων και άρα έχουν ως ετικέτα/διεύθυνση ένα ζεύγος. Το πρώτο 1 ο (2 ο ) στοιχείο του ζεύγους ονομάζεται 1 η (2 η ) συντεταγμένη (coordinate) 1 ( v, v 1 2) 2 E ( v, v )( u, u ) v u and v u E OR v u and v u E 1 2 1 2 1 1 2 2 2 2 2 1 1 1 Δύο κορυφές στον G γειτονεύουν μόνο αν έχουν στη μία διάσταση έχουν ίδια συντεταγμένη ενώ στην άλλη έχουν γειτονικές συντεταγμένες. 34

Παραδείγματα E ( v, v )( u, u ) v u and v u E OR v u and v u E 1 2 1 2 1 1 2 2 2 2 2 1 1 1 35

36 Γενίκευση σε k διαστάσεις Δύο κορυφές είναι γειτονικές αν και μόνο αν έχουν τις αντίστοιχες συντεταγμένες τους ίσες, εκτός από μία και στη συγκεκριμένη διάσταση οι συντεταγμένες τους είναι γειτονικές (v j u j E(G j )) i i k k V v v v v V V V V ),,, ( 2 1 2 1 i i j j j k k u v j i E u v j u u u v v v E : and : ),,, )(,,, ( 2 1 2 1 k i E V G i i i, 1,2, ),, ( 1 1 1 2 1 2 1 ' ), ( k k k k G G G G G G G G G E V G

Μερικές ιδιότητες G 1 G2 G2 G1 Για k διαστάσεις: V V 1 V 2 V V 1 V 2 V k v ( v, v 1 2) ( v) ( v 1 ) ( v2) dist v u dist ( v, u ) dist ( v, ), 1 1 1 2 2 u2 e( v) e1( v1) e2( v2) D( G) D( G1) D( G2) v ( v, v2 k ( v) ( dist e( v) D( G) i1,..., v 1 k k v i v, u k i1 k i1 i1 ) e i ( v i ) ) D( G i ) dist ( v, u ) i i i 37

Γνωστά δίκτυα ως καρτεσιανά γινόμενα: Πλέγματα Πλέγματα: γινόμενα γραμμικών γράφων Σε τετραγωνικό πλέγμα 2D, N = Μ x M: Βαθμός: 2 (γωνίες), 3 (ακμές), 4 (όλοι οι άλλοι κόμβοι) Διάμετρος: 2(Μ 1) 2(Ν) 1/2 38

Γνωστά δίκτυα ως καρτεσιανά γινόμενα: Tori Tori: γινόμενα δακτυλίων Δύο κόμβοι (x 1, x 2,, x d ) και (y 1, y 2,, y d ) συνδέονται μόνο εφόσον d i1 x i y i 1 όπου η αφαίρεση είναι mod V i. Σε τετραγωνικό torus 2D, N = Μ x M: Τακτικός, συμμετρικός γράφος, βαθμός: 4 Διάμετρος: 2 x floor(μ/2) Ν 1/2 39

Γνωστά δίκτυα ως καρτεσιανά γινόμενα: Υπερκύβοι Καρτεσιανό γινόμενο από γράφους 2 κόμβων K 2 = L 2 = R 2 = whatever 2 40

Υπερκύβος: κι άλλοι ορισμοί Καρτεσιανό γινόμενο από P 2, R 2, K 2 Επίσης, είναι ιεραρχικά αναδρομικός (καρτεσιανό γινόμενο από μικρότερους κύβους) Q 1 K2, Qd Qd 1 Q1 Ισοδύναμος ορισμός, ενίοτε βολικότερος: N = 2 d κόμβοι με ετικέτες d-ψήφιους δυαδικούς αριθμούς. Δύο κόμβοι γειτνιάζουν αν και μόνο αν οι ετικέτες τους διαφέρουν σε 1 bit. Q k Q dk 41

Κατασκευή με βάση τον τελευταίο ορισμό Δύο ίδια αντίγραφα του αμέσως μικρότερου κύβου Συνδέω τις κορυφές με ίδια ετικέτα Στον πρώτο βάζω το 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 Κατασκευή από δύο διδιάστατους κύβους 42

Μερικές ιδιότητες Τακτικός, βαθμού d ( = log 2 N) Διάμετρος D(Q d ) = d Hamiltonian, vertex symmetric, edge symmetric Βέλτιστη συνδεσμικότητα (d) (τόσα παράλληλα μονοπάτια) Γενικώς, βέλτιστες είναι πάρα πολλές από τις ιδιότητές του, βέλτιστα συμπεριφέρονται πάρα πολλοί αλγόριθμοι. Γι αυτό και ήταν από τα δημοφιλέστερα / πιο μελετημένα δίκτυα Σημαντικότερα μειονεκτήματα: Καλή, αλλά όχι και τέλεια διάμετρος, αλλά κυρίως: Μεγάλος, μη σταθερός βαθμός Γι αυτό και (σε συνδυασμό με άλλες εξελίξεις) υπερσκελίστηκε από άλλα δίκτυα χαμηλού και σταθερού βαθμού (π.χ. πλέγματα). 43

Υπερκύβος Δίκτυο που μονοπωλούσε το ενδιαφέρον παλαιότερα. Τώρα το ενδιαφέρον μοιράζεται και σε άλλα δίκτυα με έμφαση στον χαμηλό βαθμό. Μερικά cube-like δίκτυα (για μείωση διαμέτρου ή/και μείωση βαθμού): Folded cubes Crossed cubes Reduced cubes Hierarchical cubes Twisted cubes Dual cubes 44

Συγκριτικός πίνακας N / 2 d (n 1) i 1 i d i 1 n / 2 i d (n 1) i 1 i 45

» Cayley graphs

Η μέθοδος του Cayley Αλγεβρική μέθοδος (στηρίζεται σε αλγεβρικές δομές) Παράγει ισχυρά συμμετρικούς γράφους Έστω Γ μία ομάδα (group) με μία πράξη. Υπενθύμιση: Η ομάδα είναι ένα μη κενό σύνολο στοιχείων εφοδιασμένο με μία πράξη, η οποία έχει τις εξής ιδιότητες: (α β) γ = α (β γ) (προσεταιριστική) υπάρχει στοιχείο e στο Γ που για κάθε στοιχείο της ομάδας, e α = α e = α (μοναδιαίο στοιχείο / identity element) για κάθε στοιχείο α υπάρχει στοιχείο α -1 έτσι ώστε α α -1 = e (αντίστροφο στοιχείο) 47

Η μέθοδος του Cayley Έστω λοιπόν μία ομάδα Γ με πράξη και ένα υποσύνολο S Γ. O γράφος Cayley C Γ (S) προκύπτει ως εξής: Κορυφές έχει τα στοιχεία της ομάδας Γ. Μεταξύ δύο κορυφών α και β υπάρχει ακμή αν και μόνο αν gs suchthat αg b ή ισοδύναμα α -1 bs Συνήθως, το e ΔΕΝ ανήκει στο S, ενώ S είναι κλειστό ως προς την αντιστροφή (δηλαδή αν g S, τότε και g -1 S) γιατί;; 48

Παράδειγμα Έστω Γ = { 0, 1, 2, 3, 4 } και πράξη = (πρόσθεση modulo 5). Προφανώς, e = 0 είναι το μοναδιαίο στοιχείο. Επιλέγω S = { 1, 4 } Γ. Τότε, 0 1 = 1, 0 4 = 4 1 1 = 2, 1 4 = 0 2 1 = 3, 2 4 = 1 3 1 = 4, 3 4 = 2 4 1 = 1, 4 4 = 3 4 0 1 3 2 49

Λίγες ιδιότητες των δικτύων Cayley Δίκτυα vertex-symmetric (ή node-transitive) Τακτικά με βαθμό S Πότε είναι συνδεδεμένα (και αν πρόκειται για κατευθυνόμενους γράφους, πότε είναι ισχυρά συνδεδεμένοι); Απάντηση: Όταν το S αποτελείται από γεννήτριες του Γ. 50

Μερικές οικογένειες δικτύων Cayley Υπερκύβοι Γ = { 0, 1,, 2 n 1 } (όλοι οι αριθμοί των n bits) πράξη = (XOR) S = { 2 i i = 0, 1,, n 1 } 51

Star graphs Γ = Ω Ν = { όλες οι Ν! μεταθέσεις του συνόλου { 1, 2,, Ν } } Πράξη = σύνθεση μεταθέσεων S = { όλες οι N 1 μεταθέσεις τύπου <1,i> i = 2, 3,, N } Π.χ. το στοιχείο (μετάθεση) 1234 του Γ, θα συνδέεται με τα στοιχεία 2134 (μέσω <1,2>) 3214 (μέσω <1,3>) 4231 (μέσω <1,4>) Διάμετρος = floor( 3(N-1)/2 ) 52

Pancake graphs Γ = Ω Ν = { όλες οι Ν! μεταθέσεις του συνόλου { 1, 2,, Ν } } Πράξη = σύνθεση μεταθέσεων S = { όλες οι N 1 μεταθέσεις τύπου <i, i-1,, 1, i+1, i+2,, N> i = 2, 3,, N } Δηλαδή, αντιστροφή της σειράς των πρώτων i στοιχείων της μετάθεσης Διαφορετικός από star για Ν > 3 Διάμετρος άγνωστη για Ν > 13 53

Cube-connected cycles (CCC) CCC 1 = K 2, CCC 2 = C 8, ενώ για n > 2 o CCC n προκύπτει από τον υπερκύβο αν κάθε κόμβος αντικατασταθεί από κύκλο μήκους n. Τακτικός, βαθμού 3 Για n > 3, D( CCCn) 2n 2 n /2 54

Διαδρόμηση

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

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

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

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

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

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

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

Παράδειγμα: διαδρόμηση σε υπερκύβο Σε υπερκύβο Q d, απόσταση μεταξύ δύο κόμβων v και u dist(v,u) = # bits που διαφέρουν τα v και u Αλγόριθμος διαδρόμησης: Γνωρίζουμε ότι οι γειτονικοί κόμβοι διαφέρουν σε ακριβώς 1 bit Σε κάθε βήμα, ο τρέχον κόμβος επιλέγει έναν γείτονά του ώστε να διαφέρει σε ένα bit λιγότερο από αυτά του προορισμού Έτσι με κάθε βήμα «διορθώνεται» και 1 bit, μέχρι να καταλήξουμε τελικά στον προορισμό Ελάχιστη; Κατανεμημένη; Σταθερή; 63