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

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

10/12/2013 Συστήματα κατανεμημένης μνήμης (ΙΙ) + Μετρικές και επιδόσεις Β. Δημακόπουλοσ

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

Λ10 Παράλληλος & Κατανεμημένος Προγραμματισμός 2009

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

Λ10 Παράλληλος & Κατανεμημένος Προγραμματισμός 2009

Virtualization. Στο ςυγκεκριμζνο οδηγό, θα παρουςιαςτεί η ικανότητα δοκιμήσ τησ διανομήσ Ubuntu 9.04, χωρίσ την ανάγκη του format.

Ειςαγωγή ςτην πληροφορική

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 1

Μάθημα 9 ο ΤΕΧΝΙΚΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΙΚΟΝΙΚΗΣ ΜΝΗΜΗΣ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

Λ10 Παράλληλος & Καταμεμημέμος Προγραμματισμός 2009

3 θ διάλεξθ Επανάλθψθ, Επιςκόπθςθ των βαςικϊν γνϊςεων τθσ Ψθφιακισ Σχεδίαςθσ

Υ07 Παράλληλα Συστήματα /10/2013

Modem/Router IP, ADSL, ADSL2, ADSL2+, VDSL, VDSL2

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

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

Ενδεικτικζσ Λφςεισ Θεμάτων

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

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

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

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

Δίκτυα Μεταγωγήσ. Εκπαιδεφτρια :Μαρία Πολίτθ

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

Λ10 Παράλληλος & Κατανεμημένος Προγραμματισμός Μάθημα 0 ο 13/10/2009. Β. Δημακόπουλος

Παρουςίαςθ 2 θσ Άςκθςθσ:

ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

ςυςτιματα γραμμικϊν εξιςϊςεων

ΘΕΜΑ Α /25 (A1)Χαρακτηρίςτε τισ παρακάτω προτάςεισ ωσ (Σ)ωςτζσ ή (Λ)άθοσ

Υ07 Παράλληλα Συστήματα /11/2013 Οργάμωση κοιμής μμήμης (ΙΙ)

Τμήματα Μνήμησ Υπολογιςμόσ Φυςικών διευθύνςεων. Εκπαιδεφτρια: Μαρία Πολίτθ

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ Ω ΕΝΙΑΙΟ ΤΣΗΜΑ. ΚΕΦΑΛΑΙΟ 2: Σο Εςωτερικό του Τπολογιςτι

Δίκτυα Μεταγωγισ Δεδομζνων

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν

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

Ανϊτερεσ πνευματικζσ λειτουργίεσ Μνιμθ Μάκθςθ -Συμπεριφορά

Σύγχρονο γραφείο. Αυτοματιςμόσ γραφείου Μάθημα 1 ο 29/6/2015

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΡΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 7: Ρροςταςία Λογιςμικοφ - Ιοί

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 8 θ Διάλεξθ Ιδεατι Μνιμθ Μζροσ Α

Αυτόνομοι Πράκτορες. Αναφορά Εργασίας Εξαμήνου. Το αστέρι του Aibo και τα κόκαλα του

-Έλεγχοσ μπαταρίασ (χωρίσ φορτίο) Ο ζλεγχοσ αυτόσ μετράει τθν κατάςταςθ φόρτιςθ τθσ μπαταρίασ.

Δίκτυα Υπολογιςτϊν 2-Rooftop Networking Project

Παράςταςη ςυμπλήρωμα ωσ προσ 1

Διαγώνισμα Φυσική ς Κατευ θυνσής Γ Λυκει ου - Ταλαντώσεις

Ενεργειακά Τηάκια. Πουκεβίλ 2, Ιωάννινα Τθλ

Αςκιςεισ ςε (i) Δομζσ Ευρετθρίων και Οργάνωςθ Αρχείων (ii) Κανονικοποίθςθ

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

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

Ο ήχοσ ωσ φυςικό φαινόμενο

Μακαίνοντασ τα ακουςτικά BlueBAND Sport. Ξεκινώντασ

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 9 θ & 10 θ Διάλεξθ Ιδεατι Μνιμθ Μζροσ Β

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι

Συςκευζσ τθλεπικοινωνιϊν και δικτφωςθσ:

Διαχείριςθ του φακζλου "public_html" ςτο ΠΣΔ

Slide 1. Εισαγωγή στη ψυχρομετρία

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

HY523 Εργαςτηριακή Σχεδίαςη Ψηφιακών Κυκλωμάτων με εργαλεία Ηλεκτρονικού Σχεδιαςτικού Αυτοματιςμού. 2 ΗΥ523 - Χωροκζτθςθ

ΗΛΕΚΣΡΟΝΙΚΗ ΤΠΗΡΕΙΑ ΑΠΟΚΣΗΗ ΑΚΑΔΗΜΑΪΚΗ ΣΑΤΣΟΣΗΣΑ

ΧΗΥΙΑΚΟ ΔΚΠΑΙΔΔΤΣΙΚΟ ΒΟΗΘΗΜΑ «ΥΤΙΚΗ ΘΔΣΙΚΗ ΚΑΙ ΣΔΦΝΟΛΟΓΙΚΗ ΚΑΣΔΤΘΤΝΗ» ΦΥΣΙΚΗ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΧΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ ΘΔΜΑ Α ΘΔΜΑ Β

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 3: Εργονομία

Πολυπλέκτες. 0 x 0 F = S x 0 + Sx 1 1 x 1

ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Αρχεία - Φάκελοι

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν

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

Οδηγίες αναβάθμισης χαρτών

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V

Εγχειρίδιο: Honeybee Small

Πωσ δθμιουργώ φακζλουσ;

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 6 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Β

Αςφάλεια και Προςταςία Δεδομζνων

Γράφοι. Δομζσ Δεδομζνων Διάλεξθ 9

Ακολουκιακά Λογικά Κυκλώματα

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

Οδηγόσ εγκατάςταςησ και ενεργοποίηςησ

Ιδιότθτεσ πεδίων Γενικζσ.

Ιςοηυγιςμζνα δζντρα και Β- δζντρα. Δομζσ Δεδομζνων

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων»

Πόςο εκτατό μπορεί να είναι ζνα μη εκτατό νήμα και πόςο φυςικό. μπορεί να είναι ζνα μηχανικό ςτερεό. Συνιςταμζνη δφναμη versus «κατανεμημζνησ» δφναμησ

Εφαρμογέσ Μικροχπολογιςτών ςτισ Τηλεπικοινωνίεσ. Έλεγχοσ ςειριακήσ θφρασ του 8051 (Serial Port)

Θα ικελα να ρωτιςω αν υπάρχει θ πρόςκλθςθ ενδιαφζροντοσ ςτα αγγλικά;

Ανάπτυξη Εφαρμογών με Σχεςιακέσ Βάςεισ Δεδομένων

Ε. ε περίπτωςθ που θ διαφορά των δφο ηαριϊν είναι 3 τότε ο παίκτθσ ξαναρίχνει μόνο ζνα ηάρι.

ΒΙΟΛΟΓΟΙ ΓΙΑ ΦΥΣΙΚΟΥΣ

Είδθ των Cache Misses: 3C s

ΕΝΟΣΗΣΑ 3: ΧΡΗΗ ΕΡΓΑΛΕΙΩΝ ΕΚΦΡΑΗ ΚΑΙ ΔΗΜΙΟΤΡΓΙΑ

Ζρευνα ικανοποίθςθσ τουριςτϊν

ΘΕΜΑΣΑ ΕΡΓΑΙΩΝ ΓΙΑ ΣΟ ΜΑΘΗΜΑ ΠΡΟΟΜΟΙΩΗ

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

Σφντομεσ Οδθγίεσ Χριςθσ

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Διάλεξθ 4

Facebook Μία ειςαγωγι

Processor-Memory (DRAM) Διαφορά επίδοςθσ

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

ΠΑΝΕΠΙΣΘΜΙΟ ΔΤΣΙΚΘ ΜΑΚΕΔΟΝΙΑ ΣΜΘΜΑ ΜΘΧΑΝΙΚΩΝ ΠΛΘΡΟΦΟΡΙΚΘ ΚΑΙ ΣΘΛΕΠΙΚΟΙΝΩΝΙΩΝ. Λειτουργικά υςτιματα, 4 ο Εξάμθνο Ψθφιακι χεδίαςθ ΙΙ, 4 ο Εξάμθνο

Αςφάλεια και Προςταςία Δεδομζνων

ΑΝΑΚΟΙΝΩΗ ΜΕΣΑΒΑΣΙΚΩΝ ΡΤΘΜΙΕΩΝ ΓΙΑ ΣΙ ΑΛΛΑΓΕ ΣΟ ΠΡΟΓΡΑΜΜΑ ΠΟΤΔΩΝ ΣΟΤ ΣΜΗΜΑΣΟ ΜΗΧ. ΣΕΧΝΟΛΟΓΙΑ ΑΕΡΟΚΑΦΩΝ

Transcript:

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

Μεταγωγή (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 απαιτοφνται), εμποδίηοντασ με τθ ςειρά τουσ άλλα flits να περάςουν. 9

Ασ υποκζςουμε ότι Κάκε πακζτο αποτελείται από 1 flit επικεφαλίδασ και M flits δεδομζνων Σφνολο: Μ+1 flits για το πλιρεσ πακζτο Το μινυμα πρζπει να διανφςει μονοπάτι μικουσ D για να φτάςει ςτον προοριςμό του Δεν ςυναντάει κανζνα εμπόδιο (δθλαδι αναμονι λόγω κατειλθμμζνων καναλιϊν) ςτον δρόμο του Κανάλια με ςυχνότθτα B Hz Το κανάλι ζχει πλάτοσ 1 phit (= #bits που μεταφζρει ταυτόχρονα ςε 1 κφκλο) Υποκζτουμε 1 phit = 1 flit Δθλαδι χωρθτικότθτα / ρυκμόσ μεταφοράσ: B flits / sec. Χρόνοσ μεταφοράσ, για να διαςχίςει ζνα flit το κανάλι: tw = 1/B sec. 10 Y07 -- ΠΑΡΑΛΛΗΛΑ Τ ΣΗΜΑΣΑ

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

Χρόνοσ με μεταγωγι κυκλϊματοσ m m D( t t tm) D t w t ) Mtw w r ( m T circuit switching 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 TVCT D tr tm tw Mtw Tα άλλα flit ακολουκοφν από πίςω και καταφκάνουν το ζνα μετά το άλλο. Ο χρόνοσ για να φτάςει το header flit Αν ο χρόνοσ να διαςχιςκεί ζνασ διαδρομθτισ (tm) είναι μεγαλφτεροσ από τον χρόνο μετάδοςθσ ςτο κανάλι (tw), τότε ο όροσ πρζπει να είναι Mtm. Αν ο διαδρομθτισ ιταν μόνο input-buffered? 14 Y07 -- ΠΑΡΑΛΛΗΛΑ Τ ΣΗΜΑΣΑ

Χρόνοσ με 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

Σφγκριςθ Υπεραπλουςτεφοντασ, ασ υποκζςουμε ότι tw tr tm = 1 χρονικι μονάδα. Οι εκφράςεισ μασ απλοποιοφνται ωσ εξισ: Tcircuit switching = TVCT = TWR = Θ(D+M) TSAF = Θ(DM) Αν τα μθνφματα δεν είναι πάρα πολφ μικρά, (Μ = Ο(D)), τότε Tcircuit switching = TVCT = TWR = Θ(Μ) Επομζνωσ οι μεταγωγζσ κυκλϊματοσ, VCT και wormhole εξαρτϊνται ςχεδόν αποκλειςτικά από το M και άρα είναι ανεξάρτητεσ τησ απόςταςτησ (distance insensitive). Πλα αυτά, βζβαια, με τθν προχπόκεςθ ότι δεν υπάρχουν ςυγκροφςεισ / αναμονζσ ςτο μονοπάτι του μθνφματοσ. 17 Y07 -- ΠΑΡΑΛΛΗΛΑ Τ ΣΗΜΑΣΑ

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 distance 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