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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

Μεταγωγή (Switching)

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

Υ- 07 Παράλληλα Συστήματα Συνοχή κρυφής μνήμης με σύστημα καταλόγων

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

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

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

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

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

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

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

Διαφορές single-processor αρχιτεκτονικών και SoCs

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

Συνάφεια Κρυφής Μνήµης σε Επεκτάσιµα Μηχανήµατα

Εικονική Μνήμη (Virtual Μemory)

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

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

Κεφάλαιο 5: Τοπικά ίκτυα

Ethernet Ethernet ΙΕΕΕ CSMA/CD

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

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

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

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

2 η Σειρά Ασκήσεων Data Link Layer

Πολυπύρηνοι επεξεργαστές Multicore processors

Δίκτυα Τηλεπικοινωνιών. και Μετάδοσης

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

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

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Πολυεπεξεργαστές

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

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

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

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής Password: edi

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

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

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

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

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

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής Password: edi

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

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

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

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

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

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

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

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

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

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

Συνοχή κρυφής μνήμης σε πολυπύρηνα/πολυεπεξεργαστικά συστήματα

Αρχιτεκτονική Η/Υ Το chipset ενός υπολογιστικού συστήματος. Δρ. Μηνάς Δασυγένης

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

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

Μάθημα 6: Αρχιτεκτονική TCP/IP

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

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα

Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet)

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

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης

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

A1. Φυσικό επίπεδο 1. Αντιπαραθέσετε (κάνετε τη σύγκριση) με 2-3 προτάσεις την στατιστική πολυπλεξία και την πολυπλεξία με διαίρεση χρόνου.

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

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 2: Εισαγωγή. Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Παράλληλοι υπολογιστές

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

Επίπεδο δικτύου IP Forwading κτλ

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Εισαγωγή Πρότυπο τριών Διαστάσεων Λειτουργίας Μοντέλο Διαχείρισης FCAPS Το Δίκτυο του Ε.Μ.Π. Περιβάλλον Εργαστηριακών Ασκήσεων

ΔΙΚΤΥΑ Η/Υ ΙΙ. Γέφυρες

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

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

Συστήµατα Παράλληλης Επεξεργασίας

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

ιαδίκτυα και το ιαδίκτυο (Internetworking and the Internet)

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

8/3/2016 Οργάνωση κοινόχρηστης μνήμης (ΙΙ) Η λειτουργία της μνήμης

J. Glenn Brookshear. Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Οργάνωση και Αρχιτεκτονική Υπολογιστών. Κεφάλαιο 7.4

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

Transcript:

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

Μεταγωγή (switching)

Μεταγωγή Ενώ ο έλεγχος ροής φυσικού μέσου μεταφέρει bits μεταξύ δύο διαδρομητών, η μεταγωγή (switching) ενώνει εσωτερικά σε έναν διαδρομητή το κανάλι εισόδου με το επιλεγμένο κανάλι εξόδου και μεταφέρει δεδομένα. Καθορίζει το πώς και το πότε θα γίνει η σύνδεση αυτή Μπορεί να γίνει στιγμιαία, για μικρό ή για μεγάλο χρονικό διάστημα Μπορεί να γίνει αφού αποφασιστεί το κανάλι εξόδου, δηλαδή αφού ολοκληρωθεί η λειτουργία της διαδρόμησης στον router, κατά τη διάρκειά της ή ακόμα και πριν (!) Γενικά είναι ο μηχανισμός που εσωτερικά στον διαδρομητή προωθεί τα bits από μία είσοδο σε μία προκαθορισμένη έξοδο (η επιλογή της εξόδου δεν είναι αρμοδιότητα της μεταγωγής αλλά της λειτουργίας της διαδρόμησης). Υψηλές επιδόσεις: χρονικά, αν γίνεται, να υπάρχει επικάλυψη με τις υπόλοιπες λειτουργίες του διαδρομητή. 3

Τυπική δομή διαδρομητή Control/Arbitration Τμήμα που αποφασίζει τι θα συμβεί στην περίπτωση συγκρούσεων (π.χ. δύο πακέτα εισόδου πρέπει να πάνε στο ίδιο κανάλι εξόδου) Routing Τμήμα που αποφασίζει το κανάλι εξόδου στο οποίο θα συνδεθεί ένα κανάλι εισόδου για να προωθηθεί κάποιο μήνυμα (υλοποιεί τον αλγόριθμο διαδρόμησης) Injection / Ejection Κανάλια που μεταφέρουν μηνύματα από / προς τον τοπικό κόμβο (δηλαδή εισάγουν κίνηση στο / αφαιρούν κίνηση από το δίκτυο). Αρχιτεκτονικές 1-port, k-port, allport Channel Αποτελείται από το μέσο (π.χ. καλώδιο), buffers και επιπλέον κυκλώματα ελέγχου (link controllers) Switch Συνδέει τα κανάλια εισόδου με τα κανάλια εξόδου. Συνήθως είναι διακόπτης crossbar εφόσον τα κανάλια δεν είναι πάρα πολλά. Μπορεί όμως να αποτελείται από σύνολο διακοπτών, όπως π.χ. multistage δίκτυο ή ακόμα και point-to-point δίκτυο από διακόπτες. Buffers (Αν υπάρχουν!) Χρησιμεύουν για την προσωρινή αποθήκευση των πακέτων, πριν προχωρήσουν στον επόμενο διαδρομητή. Μπορεί να μην υπάρχουν καθόλου (BUFFERLESS), να υπάρχουν μόνο στις εξόδους (OUTPUT BUFFERED/QUEUED), μόνο στις εισόδους (INPUT BUFFERED/QUEUED) ή και στις δύο μεριές, όπως εδώ, αλλά μπορεί και να υπάρχουν κοινόχρηστοι buffers (SHARED BUFFERS). 4

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

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

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

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

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

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

Χρόνοι Για να αποφασιστεί το κανάλι εξόδου (Route & control) σε ενδιάμεσο κόμβο, απαιτείται χρόνος t r Χρόνος διαδρόμησης Για να μεταφερθεί από την είσοδο στην έξοδο σε ένα ενδιάμεσος κόμβος χρειάζεται χρόνος t m Περιλαμβάνει όλες τις καθυστερήσεις (buffering, πέρασμα από switch κλπ) για να περάσει από κανάλι εισόδου σε κανάλι εξόδου Χρόνος διάσχισης 11

Χρόνος με μεταγωγή κυκλώματος m m D( t t t ) m D t w t ) Mtw w r ( m T circuitswitching r 2( tm tw Mtw D t ) 12

Χρόνος με μεταγωγή SaF m m ( t t )( M 1) w m T packet switching D t D( t r r ( t t w w t t m m )( M 1) ) DM( t w t m ) 13

Χρόνος με VCT (πάντα, χωρίς αναμονές) m T VCT D t r tm tw Mtw Ο χρόνος για να φτάσει το header flit Tα άλλα flit ακολουθούν από πίσω και καταφθάνουν το ένα μετά το άλλο. Αν ο χρόνος να διασχισθεί ένας διαδρομητής (t m ) είναι μεγαλύτερος από τον χρόνο μετάδοσης στο κανάλι (t w ), τότε ο όρος πρέπει να είναι Mt m. Αν ο διαδρομητής ήταν μόνο input-buffered? 14

Χρόνος με wormhole switching m T wormhole routing D t r tm tw Mtw (Ίδιος με το VCT χωρίς αναμονές.) 15

Όλοι οι χρονισμοί T circuit switching = D(t w +2(t r +t m )) + Mt w T SAF = D(t w +t r +t m ) + DM(t w +t r ) T VCT = T WR = D(t w +t r +t m ) + Mt w 16

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

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

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

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

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

Κλιμακώσιμα συστήματα, υπολογιστικές συστάδες (clusters)

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

Παραδείγματα SGI Origin 2000 (και μετέπειτα UV-1000, UV-2000): Κόμβος = 1 πλακέτα με 2 CPUs MIPS και κοινόχρηστη τοπική μνήμη Σύστημα = υπερκύβος που συνδέει πλακέτες-κόμβους Sequent Numa-Q: Κόμβος = Pentium Quad (4 επεξεργαστές Pentium) με κοινόχρηστη τοπική μνήμη Σύστημα = δακτύλιος μεταξύ των κόμβων 24

Υπολογιστικές συστάδες (clusters) και πλέγματα (grids) Σύνολο από αυτόνομους υπολογιστές (PCs) συνδεδεμένα με ένα δίκτυο μεταξύ τους: Οι συστάδες (clusters) είναι συνήθως ομοιογενείς (παρόμοιοι υπολογιστές, με ίδιο λειτουργικό σύστημα) και είναι τοποθετημένοι στον ίδιο χώρο Τα πλέγματα (grids) αναφέρονται συνήθως σε ανομοιογενείς συλλογές από υπολογιστές, με διαφορετικά χαρακτηριστικά και λειτουργικά συστήματα, οι οποίο επίσης μπορεί να είναι εξαπλωμένοι γεωγραφικά σε μεγάλες αποστάσεις. Μιλάμε για clusters αλλά ότι πούμε αντίστοιχα ισχύει και για πλέγματα Κάθε κόμβος-pc σε ένα cluster είναι ένας μικρός SMP Π.χ. διαθέτει είτε πολλαπλούς επεξεργαστές είτε πλέον το συνηθέστερο έναν πολυπύρηνο επεξεργαστή Επομένως το όλο σύστημα έχει οργάνωση είναι ομαδοποιημένου πολυεπεξεργαστή. 25

Υπολογιστικές συστάδες (clusters) και πλέγματα (grids) Δίκτυο διασύνδεσης Κάρτα δικτύου = διαδρομητής Από σχετικά αργό αλλά πολύ οικονομικό (π.χ. Gbit Ethernet) Έως πολύ γρήγορο και ακριβό (π.χ. Myrinet, Infiniband) Κάθε κόμβος = αυτόνομος υπολογιστής, με δικό του χώρο μνήμης και δικό του λειτουργικό σύστημα (συνήθως Linux) Υπάρχει όμως ενδιάμεσο λογισμικό ώστε να δίνεται η εντύπωση ψευδαίσθηση ενιαίου συστήματος (SSI Single System Image), αν χρειάζεται Προγραμματίζονται σαν να είναι 1 μηχανή Κυρίως με μεταβίβαση μηνυμάτων 26

Κατανεμημένη κοινή μνήμη, NUMA

Γιατί; Συστήματα κατανεμημένης μνήμης: Αρχιτεκτονική: κλιμακώσιμη Προγραμματισμός (MPI): αρκετά δύσκολος αλλά και δυνατότητα επιδόσεων Συστήματα κοινόχρηστης μνήμης (SMPs): Αρχιτεκτονική: δύσκολα κλιμακώσιμη Προγραμματισμός: οικείος / προσιτός Το ιδεώδες: Κλιμακώσιμες αρχιτεκτονικές που να προγραμματίζονται εύκολα (αλλά μην ξεχνάμε και τις επιδόσεις) Μετά το σειριακό, το πιο εύκολο είναι ο προγραμματισμός κοινής μνήμης (π.χ. OpenMP) Λύση: «emulation» της κοινόχρηστης μνήμης πάνω από το σύνολο των ιδιωτικών μνημών με hardware με software (π.χ. σε clusters όπου είναι αδύνατον να αλλάξει το hardware) Άρα λογικά κοινόχρηστη, φυσικά κατανεμημένη μνήμη 28

Hardware κόμβος συστήματος ΜΝΗΜΗ (ΤΟΠΙΚΗ) CPU ROUTER 29

Ανομοιόμορφη προσπέλαση μνήμης (NUMA) ΜΝΗΜΗ (ΤΟΠΙΚΗ) CPU ΕΛΕΓΚΤΗΣ DSM ROUTER Η CPU προσπελαύνει όλο τον χώρο διευθύνσεων ενιαία Η τοπική μνήμη έχει μόνο ένα μικρό κομμάτι του χώρου Ο ελεγκτής DSM ελέγχει κάθε διεύθυνση που προσπελαύνει η CPU (1) Αν είναι για την τοπική μνήμη δεν κάνει τίποτε (2) Αν όχι, αναλαμβάνει την επικοινωνία με τον κόμβο που την χειρίζεται (home node), στέλνοντας κατάλληλο μήνυμα. Μόλις έρθει η απάντηση, δίνει δεδομένα στη CPU σαν να ήταν αποθηκευμένο τοπικά 30

Hardware ελεγκτής DSM ΜΝΗΜΗ (ΤΟΠΙΚΗ) CPU ΕΛΕΓΚΤΗΣ DSM ROUTER Το μόνο που καταλαβαίνει η CPU είναι η διαφορά στην ταχύτητα προσπέλασης κάποιων δεδομένων (τα απομακρυσμένα κάνουν πολύ παραπάνω χρόνο να έρθουν) NUMA (non-uniform memory access) Π.χ. Cray T3D: 2 κύκλοι για τα τοπικά και περίπου 150 κύκλοι για τα απομακρυσμένα δεδομένα Συστήματα με 4 επεξεργαστές AMD Opteron 8347HE: περίπου 26% (32%) επιπλέον χρόνος για απομακρυσμένη ανάγνωση (εγγραφή). 31

Hardware ελεγκτής DSM ΜΝΗΜΗ (ΤΟΠΙΚΗ) CPU ΕΛΕΓΚΤΗΣ DSM ROUTER Ερώτηση: Μείωση χρόνου προσπέλασης??? Απάντηση: caches για τα απομακρυσμένα δεδομένα Όμως, πάλι: πρόβλημα συνοχής για τα κοινά δεδομένα! Λύσεις: Πρωτόκολλα συνοχής => cachecoherent NUMA (ccnuma) Αποφυγή προβλήματος. Π.χ. στον Cray T3D δεν υπήρχε πρωτόκολλο συνοχής. Απλά, στις caches δεν επιτρέπονταν κοινά δεδομένα 32

Γενικοποίηση: πολυπύρηνος ή πολυεπεξεργαστικός κόμβος ΜΝΗΜΗ (ΤΟΠΙΚΗ) ΕΛΕΓΚΤΗΣ DSM CPU CPU CPU ROUTER Διπλό cache coherency: «εξωτερικό» πρωτόκολλο από ελεγκτή DSM για απομακρυσμένα δεδομένα Υποχρεωτικά πρωτόκολλο καταλόγων «εσωτερικό» πρωτόκολλο από caches των CPUs του κόμβου για τα τοπικά Πρωτόκολλο snooping 33

Παράδειγμα: Sequent Numa-Q Το IQ-Link ενσωμάτωνε το ρόλο του διαδρομητή και του ελεγκτή DSM. Υλοποιούσε το εξωτερικό πρωτόκολλο SCI (αλυσιδωτοί κατάλογοι) Εσωτερικά στην ομάδα, οι Pentium είχαν διατηρούσαν τη συνέπεια με πρωτόκολλο MESI 34

Κατανεμημένη μνήμη και multicores

Πολυπύρηνοι επεξεργαστές και κατανεμημένη μνήμη Κυρίως δύο περιπτώσεις: Χρήση multicore CPUs ως κόμβων ενός μεγαλύτερου συστήματος Το σύστημα δομείται ως ένα δίκτυο από τέτοιους κόμβους Χρήση multicore CPU ώστε να αποτελεί ολόκληρο το σύστημα Λογικά, μιλάμε για CPU με αρκετούς πυρήνες (ίσως many-core CPU) Στην πρώτη περίπτωση ο κάθε επεξεργαστής έχει δικά του κανάλια για να συνδεθεί με τοπική μνήμη + επιπλέον κανάλια για να συνδεθεί με άλλους επεξεργαστές AMD Opterons Intel Xeon (E5, E6 series) Στη δεύτερη περίπτωση, μέσα στον ίδιο τον επεξεργαστή περιλαμβάνονται οι πυρήνες, οι ιδιωτικές μνήμες και το δίκτυο διασύνδεσης NoC (Network-on-Chip) MPSoC / MCSoc (Multiprocessor/Multicore System-on-Chip) 36

Παράδειγμα: AMD Opterons ISTANBUL (6-πύρηνος) - 3 κανάλια HT ανά επεξεργαστή - Μεταγωγή Virtual Cut-Through - Μπορεί να συνδεθούν 8 κόμβοι με μέγιστη απόσταση 3 hops και να περισσέψουν και κανάλια για I/O - HT Assist (1MiB στην L3) για υλοποίηση απλού πρωτοκόλλου καταλόγων MAGNY-COURS (12-πύρηνος) -2 Istanbul ενωμένοι -Μέχρι 4 επεξεργαστές στο σύστημα -Επομένως μέχρι 48 πυρήνες (χωρίς προσθήκη επιπλέον υλικού) - NUMA factor: 1.2 για 1 hop (20% πιο αργή) 1.5 για 2 hop (50% πιο αργή) 37

Παράδειγμα: Epiphany-16 Για εγγραφές, 1.5 κύκλος per hop για εγγραφή σε μνήμη που είναι σε απόσταση D => 1.5xD κύκλοι Epiphany-64 (δεν κυκλοφοράει στο εμπόριο προς το παρόν): πλέγμα 8x8 38

Παράδειγμα: AMD Opteron & HyperTransport - 3 HT channels per processor (node) - Cut-through switching - Can connect 8 nodes with up to 3 hops distance plus leave channels for I/O (average diameter is < 2) 39

Παράδειγμα: AMD Opteron & HyperTransport Coherent HyperTransport Η συνοχή επιτυγχάνεται με flooding (broadcasting) Typical transaction: 1. Requestor sends message to home node (ζητώντας κάποιο δεδομένο) 2. Home node forwards / broadcasts to all nodes (διότι δεν γνωρίζει ποιος έχει αντίγραφο ενημερωμένο) 3. Every node replies (with acknowledgement or the data) directly to the requestor 4. Requestor selects the correct data and notifies the home node. Αν οι κόμβοι είναι πολλοί, τα βήματα 2 και 3 προκαλούν υπερβολική κίνηση Δεν υπάρχει (χρειάζεται) κατάλογος. 40

Κλιμακώνοντας το Coherent HT HyperTransport Assist Από τη σειρά Magny Cours (έως 12 πυρήνες) Συστήματα με 4 sockets => 48 πυρήνες, το Coherent HT εισάγει υπερβολική κίνηση Υπάρχει πλέον κατάλογος (directory) ώστε να αποφεύγονται τα broadcasts Ο κατάλογος υλοποιείται στην L3 cache Καταναλώνει 1 MΒ από τα 6 ΜΒ. Δημιουργείται εγγραφή μόνο αν Ο κόμβος είναι home node για το δεδομένο ΚΑΙ το δεδομένο το έχει πάρει και κάποιος άλλος επεξεργαστής Άρα το cache miss σημαίνει ότι το δεδομένο δεν είναι cached πουθενά Ο «κατάλογος» είναι «μερικός»: 1 sharer ή more than one sharer 41

Intel QuickPath (QPI) Ξεκινώντας με τους επεξεργαστές Core i7-9xx 42

QPI Home Snoop Το snoop είναι ατυχές 43

QPI Source Snoop Το snoop είναι ατυχές 44

QPI Το δεύτερο (source snoop) «γλιτώνει» ένα βήμα, άρα χαμηλότερο latency Καλύτερο για μικρά συστήματα Όμως δημιουργεί μεγαλύτερη κίνηση Το home snoop είναι κλιμακώσιμο και κάνει για μεγαλύτερα συστήματα. Το source snoop είναι παρόμοιο με το Coherent HT Όμως ο requestor (και όχι ο home) είναι αυτός που εκπέμπει σε όλους Αυτό δυσκολεύει τη διευθέτηση των races (όταν γίνουν ταυτόχρονες αιτήσεις για το ίδιο δεδομένο, οι οποίες μεταδίδονται στους κόμβους με διαφορετική ίσως σειρά) κάτι που το έλυνε o home στο coherent HT. 45