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



Σχετικά έγγραφα
Αρχιτεκτονική Υπολογιστών

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

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

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Εμπειρική αποτίμηση παράλληλων προγραμμάτων

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

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

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1

2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Κατανεμημένος και Παράλληλος Προγραμματισμός. Ύλη μαθήματος. Βιβλιογραφία Μαθήματος 2/27/2016

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

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

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

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

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 3 η : Παράλληλη Επεξεργασία. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ << ΜΕΛΕΤΗ ΤΗΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ CUDA ΚΑΙ ΠΑΡΑΛΛΗΛΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΡΤΩΝ GPU ΤΗΣ NVIDIA >> Αρ. Μητρώου: 04/2519

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων

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

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

MYE-023. Διδάσκων: ΠΑΡΑΛΛΗΛΑ ΣΥΣΤΗΜΑΤΑ & ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Β. Δημακόπουλος.

***Computer Organization & Design the Hardware/Software Interface, David Patterson & John Hennessy, Morgan Kaufmann Publishers, 4thed

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

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

MYE-023. Διδάσκων: ΠΑΡΑΛΛΗΛΑ ΣΥΣΤΗΜΑΤΑ & ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Β. Δημακόπουλος.

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

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου

ΠΛΕ-079. Διδάσκων: ΠΑΡΑΛΛΗΛΑ ΣΥΣΤΗΜΑΤΑ & ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Β. Δημακόπουλος. dimako@cs.uoi.gr

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

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

Minimum Spanning Tree: Prim's Algorithm


MYE-023. Διδάσκων: ΠΑΡΑΛΛΗΛΑ ΣΥΣΤΗΜΑΤΑ & ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Β. Δημακόπουλος.

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων

ΠΛΕ-006 ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ Διδάσκων: Β. Δημακόπουλος.

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

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 4 η : Παράλληλος Προγραμματισμός. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων

Εισαγωγή. Λογισµικό & Προγραµµατισµός Συστηµάτων Υψηλής Επίδοσης

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Παραλληλισμός σε επίπεδο εντολών

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί

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

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

Παραλληλισμός δεδομένων ή Φυσικός παραλληλισμός

Παράλληλη Επεξεργασία

ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων

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

Σωληνωτή επεξεργασία

Συστήματα σε Ολοκληρωμένα Κυκλώματα

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών.

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 6 : Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Δρ.

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

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

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

Λειτουργικά Συστήματα Η/Υ

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί

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

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

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

Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας

Σειρά Ασκήσεων 13: Συνοχή (Coherence) Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές (Out-of-Order, Superscalar, Multithreading, Multicores)

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

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

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

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

Εισαγωγή στην πληροφορική -4

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

ΥΠΟΛΟΓΙΣΤΙΚΗ ΧΗΜΕΙΑ ΜΕ ΕΦΑΡΜΟΓΕΣ ΣΕ ΜΟΡΙΑ, ΥΛΙΚΑ, ΠΕΡΙΒΑΛΛΟΝ

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

Παράλληλη Επεξεργασία

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

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

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

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

Λογικά σύμβολα των CPU, RAM, ROM και I/O module

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

ΜΕΛΕΤΗ ΘΕΡΜΟΚΡΑΣΙΑΣ ΠΟΛΥΠΥΡΗΝΟΥ ΕΠΕΞΕΡΓΑΣΤΗ ΜΕ ΕΦΑΡΜΟΓΕΣ PHOENIX

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

ΜΑΘΗΜΑ 1- MULTIPLE CHOICE

Efficient Implementation of Sparse Linear Algebra Operations on InfiniBand Cluster. Akira Nishida,

FX10 SIMD SIMD. [3] Dekker [4] IEEE754. a.lo. (SpMV Sparse matrix and vector product) IEEE754 IEEE754 [5] Double-Double Knuth FMA FMA FX10 FMA SIMD

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

ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων

QuakeTM: Parallelizing a Complex Sequential Application Using Transactional Memory (Gajinov et al., 2009)

Transcript:

Παράλληλοι υπολογιστές Κ.Γ. Μαργαρίτης προσαρμογή από το μάθημα του Barry Wilkinson ITCS 4145/5145 2006Cluster Computing Univ. of North Carolina at Charlotte 1

Απαίτηση για ταχύτητα Συνεχής απαίτηση για μεγαλύτερη ταχύτητα υπολογισμών από αυτή που είναι διαθέσιμη. Βασικός τομέας: αριθμητική προσομοίωση και μοντελοποίηση προβλημάτων επιστήμης και μηχανικής (όχι μόνο θετικές επιστήμες, αλλά και κοινωνικές, όχι μόνο επιστήμες αλλά και επιχειρηματικές εφαρμογές ή ψυχαγωγία). Οι υπολογισμοί πρέπει να ολοκληρωθούν σε 'εύλογο' χρόνο (ανάλογα με την εφαρμογή, πχ εμβόλιο για Η5Ν1). 2

Μεγάλες προκλήσεις Προβλήματα που δεν μπορούν να λυθούν σε έυλογο χρόνο με τους σημερινούς υπολογιστές. Αν πχ απαιτούνται 10 χρόνια υπολογισμών, τότε... Παραδείγματα Προσομοίωση μεγάλων δομών DNA (γενετική, φάρμακα, εμβόλια) Πρόβλεψη καιρού (και κλίματος) μεγάλης κίμακας (χρονικά και χωρικά) Μοντελοποίηση κίνησης αστέρων, πλανητών. 3

Πρόβλεψη καιρού Η ατμόσφαιρα μοντελοποιείται ως τρισδιάστατο πλέγμα σημείων, το οποίο είναι αρκετά πυκνό ώστε να προσφέρει ακρίβεια. Οι υπολογισμοί σε κάθε σημείο επαναλαμβάνονται πολλές φορές (αρκετά μικρό χρονικό βήμα) και για σημαντικό χρονικό διάστημα πρόβέψης. 4

Παράδειγμα πρόβλεψης καιρού Έστω οτι η ατμόσφαιρα σε ένα πάχος 10 km διαιρείται σε κυβικές περιοχές μεγέθους 1 km 3 έχουμε περίπου 5 10 8 κυβικές περιοχές. Έστω οτι κάθε υπολογισμός απαιτεί 200 flop (floating point operations, πράξεις κινητής υποδιστολής). Για κάθε βήμα απαιτούνται, 10 11 flop. Για εβδομαδιαία πρόβλεψη σε διαστήματα του 1 λεπτού απαιτείται η λειτουργία ενός υπολογιστή 1Gflops (10 9 flop ανά second) για 10 6 seconds ή περίπου 10 μέρες. Για να πάρουμε αποτελέσματα σε 5 λεπτά απαιτείται ένας υπολογιστής των 3.4 Tflops (3.4 10 12 flops). 5

Κίνηση αστρονομικών σωμάτων Μεταξύ κάθε ζεύγους αστρονομικών σωμάτων ισχύει ο νόμος της βαρυτικής έλξης του Νεύτωνα. Η στοιχειώδης κίνηση κάθε σώματος προκύπτει από τον υπολογισμό της συνισταμένης δύναμης που ασκείται σε αυτό το σώμα. Αν μελετούμε N σώματα, πρέπει να υπολογιστούν N - 1 δυνάμεις για κάθε σώμα, ή περίπου N 2 υπολογισμοί. (ή N * log 2 (Ν) για έναν πιο αποτελεσματικό αλγόριθμο). Μετά τον καθορισμό της νέας θέσης κάθε σώματος οι υπολογισμοί επαναλαμβάνονται. 6

Παράδειγμα υπολογισμού κίνησης αστρονομικών σωμάτων Ένας γαλαξίας έχει, ας πούμε, 10 11 άστρα. Ακόμη και αν κάθε υπολογισμός γίνεται σε 1 ms (ιδιαίτερα αισιόδοξο), απαιτούνται 10 9 χρόνια για μια επανάληψη του αλγορίθμου πολυπλοκότητας N 2 και σχεδόν ένας χρόνος για τον αποδοτικό προσεγγιστικό αλγόριθμο πολυπλοκότητας N * log 2 (N). 7

Παράλληλος υπολογισμός Χρήση πολλών υπολογιστών ή επεξεργαστών για τηνεπίλυση ενός προβλήματος. Κίνητρα Συνήθως ταχύτερη εκτέλεση. Πολύ απλοικά: αν έχουμε n υπολογιστές να εργάζονται ταυτόχρονα θα μπορούσαμε να πετύχουμε τα ίδια n φορές ταχύτερα. Συνήθως αυτό το βέλτιστο όριο δεν επιτυγχάνεται για διάφορους λόγους. Άλλα κίνητρα: ανοχή σε σφάλματα, περισσότερα δεδομένα, περισσότερη μνήμη (ή άλλοι πόροι)... 8

Υπόβαθρο Οι παράλληλοι υπολογιστές - δηλαδή υπολογιστές με περισσότερους από ένα επεξεργαστές και ο προγραμματισμός τους ο παράλληλος προγραμματισμός είναι γνωστοί για πάνω από 40 χρόνια. 9

Gill writes in 1958:... There is therefore nothing new in the idea of parallel programming, but its application to computers. The author cannot believe that there will be any insuperable difficulty in extending it to computers. It is not to be expected that the necessary programming techniques will be worked out overnight. Much experimenting remains to be done. After all, the techniques that are commonly used in programming today were only won at the cost of considerable toil several years ago. In fact the advent of parallel programming may do something to revive the pioneering spirit in programming which seems at the present to be degenerating into a rather dull and routine occupation... Gill, S. (1958), Parallel Programming, The Computer Journal, vol. 1, April, pp. 2-10. 10

Συντελεστής επιτάχυνσης S(p) = Execution time using one processor (best sequential algorithm) Execution time using a multiprocessor with p processors = t s t p Όπου t s είναι ο χρόνος ακολουθιακής εκτέλεσης και t p ο χρόνος παράλληλης εκτέλεσης. O συντελεστής S(p) δίνει την αύξηση της ταχύτητας στην εκτέλεση ενός αλγορίθμου με τη χρήση παράλληλου υπολογιστή. Το ακολουθιακό και ο παράλληλο πρόγραμμα πρέπει να είναι συγκρίσιμα από πλευράς αλγοριθμικής. 11

Συντελεστής επιτάχυνσης Ο συντελεστής επιτάχυνσης μπορεί επίσης να εκφραστεί με βάση τον αριθμό των υπολογιστκών βημάτων: S(p) = Αριθμός υπολογιστικών βημάτων με έναν επεξεργαστή Αριθμός υπολογιστικών βημάτων με p επεξεργαστές (μέγιστος) Έτσι η έννοια της υπολογιστικής πολυπλοκότητας μπορεί να επεκταθεί στους παράλληλους υπολογισμούς. 12

Μέγιστη επιτάχυνση Η μέγιστη επιτάχυνση συνήθως ορίζεται ίση με τον αριθμό των χρησιμοποιούμενων επεξεργαστών p (γραμμική επιτάχυνση). Είναι πιθνανή η υπερ-γραμμική επιτάχυνση (μεγαλύτερη του p) σε ειδικές περιπτώσεις. 13

Μέγιστη επιτάχυνση Nόμος Amdahl t s (a) One processor ft s Serial section (1 - f)t s Parallelizable sections (b) Multiple processors p processors t p (1 - f)t s /p 14

Μέγιστη επιτάχυνση Nόμος Amdahl Ο συντελεστής επιτάχυνσης είναι: S(p) = t s p = ft s + (1 f)t s /p 1 + (p 1)f Η εξίσωση αυτή είναι γνωστή ως νόμος Amdahl. 15

Επιτάχυνση και αριθμός επεξεργαστών 20 f =0% 16 12 8 4 f =5% f =10% f =20% 4 8 12 16 20 Number of processors, p 16

Μέγιστη επιτάχυνση Nόμος Amdahl Ακόμη και με άπειρο αριθμό επεξεργαστών, η μεγιστη επιτάχυνση έχει όριο 1/f. Παράδειγμα Μόνο με 5% ακολουθιακό υπολογισμό, η μέγιστη επιτάχυνση είναι 20, ανεξάρτητα από τον αριθμό των επεξεργαστών. 17

Υπερ-γραμμική επιτάχυνση (παράδειγμα) (α) Ακολουθιακή αναζήτηση καθέ υπο-περιοχή Αρχή Χρόνος t s /p t s Υπο-περιοχή αναζήτησης t xt s /p Λύση x απροσδιόριστο 18

(β) Παράλληλη αναζήτηση κάθε υπο-περιοχή t Solution found 19

Υπερ-γραμμική επιτάχυνση (παράδειγμα) Η επιτάχυνση δίνεται από S(p) = x ts + t p t 20

Στη χειρότερη περίπτωση της ακολουθιακής αναζήτησης η λύση βρίσκεται στη τελευταία υποπεριοχή. Τότε η παράλληλη εκδοχή έχει μεγαλύτερο πλεονέκτημα. S(p) = p 1 p t s + t t Όσο το Δt να τείνει στο 0. 21

Το μικρότερο πλεονέκτημα για τη παράλληλη εκδοχή προκύπτει όταν η λύση βρίσκεται στη πρώτη υπο-περιοχή. S(p) = Η πραγματική επιτάχυνση εξαρτάται από την υπο-περιοχή που βρίσκεται η λύση αλλά γενικά με κατάλληλη ρύθμιση μπορεί να είναι πολύ υψηλή (μμε βελτιστοποίηση της συνάρτησης). t t = 1 22

Τύποι παράλληλων υπολογιστών Δύο βασικοί τύποι συστημάτων: Μοιραζόμενης μνήμης Shared memory multiprocessor Κατανεμημένης μνήμης Distributed memory multicomputer 23

Συμβατικός υπολογιστής Αποτελείται από έναν επεξεργαστή που εκτελεί ένα πρόγραμμα αποθηκευμένο στη κύρια μνήμη. Κύρια Μνήμη Εντολές (προς επεξεργαστή) Δεδομένα (από-προς επεξεργαστή)) Επεξεργαστής Κάθε θέση κύριας μνήμης έχει μια διεύθυσνη. Ο χώρος διευθύνσεων ξεκινά από το 0 και εκτείνεται μέχρι τη τιμή 2 b - 1 για b bits στο δίαυλο διευθύνσεων. Επέκταση: συγχρονικός (concurrent) προγραμματισμός και νήματα (πχ PThreads, Java Threads). 24

Σύστημα μοιραζόμενης μνήμης Φυσική επέκταση του συμβατικού μοντέλου. Πολλοί επεξεργαστές συνδέονται με πολλές μονάδες μνήμης με ενιαίο χώρο διευθύνσεων, έτσι ώστε κάθε επεξεργαστής μπορεί να προσπελάσει οποιαδήποτε μονάδα μνήμης. Ενιαίος χώρος διευθύνσεων Μονάδες μνήμης Δισύνδεση επεξεργαστών - μνήμης Επεξεργαστές 25

Απλοποιημένη μορφή ενός μικρού συστήματος μοιραζόμενης μνήμης Επεξεργαστές Μοιραζόμενη μνήμη Δίαυλος Παραδείγματα: SMPs (Symmetric Multiprocessors, Συμμετρικοί πολυεπεξεργαστές) πχ Dual / Quad Pentiums Πολυ-νηματικοί (Multi-threaded) επεξεργαστές 26

Σύστημα μοιραζόμενης μνήμης Quad Pentium Processor Processor Processor Processor L1 cache L1 cache L1 cache L1 cache L2 Cache L2 Cache L2 Cache L2 Cache Bus interface Bus interface Bus interface Bus interface Processor/ memory bus I/O interface Memory Controller I/O bus Shared memory Memory 27

Πρόσφατες καινοτομίες Δι-πύρηνοι ή πολυ-πύρηνοι επεξεργαστές: δύο ή περισσότεροι επεξεργαστές στο ίδιο 'πακέτο'. Σχετικά παλιά ιδέα (transputer, wafer scale integration) αλλά τεχνικά και επιχειρηματικά προβλήματα. Αρχικά ιδιαίτερη L1 cache (μέσα στο chip), αλλά όλοι έχουν κοινή L2 cache έξω από το chip. Δεύτερη γενιά με ιδιαίτερες L1 και L2 cache. Συνδυασμός με πολυ-νηματική επεξαργασία (hyperthreading). 28

Παραδείγματα Intel core duo, core 2 duo, Pentium και Xeon. AMD dual core Opteron και Athlon και FX-6x. 2006: Η παιγνιδομηχανή Xbox 360 επεξεργαστής PowerPC με τρείς πυρήνες. Η παιγνιδομηχανή PlayStation 3 -- επεξεργαστής με 9 πυρήνες. Το software πηγαίνει στο hardware.. Αναφορά: http://en.wikipedia.org/wiki/multi-core_(computing) 29

Προγραμματισμός συστημάτων μοιραζόμενης μνήμης Νήματα ο προγραμματιστής αναλύει το πρόγραμμά του σε ελαφρές διεργασίες (νήματα) τα οποία έχουν κοινό χώρο εργασίας (καθολικές μεταβλητές) και εκτελούνται συγχρονικά ή και παράλληλα. Παράδειγμα Pτhreads, Java Threads Βιβλιοθήκες συμβατικών γλωσσών με συναρτήσεις και οδηγίες προς ειδικό compiler για τον καθορισμό μοιραζόμενων μεταβλητών και παράλληλης εκτέλεσης. Παράδειγμα OpenMP. Αποτελείται από συναρτήσεις βιβλιοθήκης, οδηγίες προς τον compiler και μεταβλητές περιβάλλοντος. Χρειαζεται OpenMP complier. 30

Σύστημα κατανεμημένης μνήμης Πλήρεις (ή σχεδόν πλήρεις) υπολογιστές συνδεδεμένοι μέσω δικτύου διασύνδεσης. Επικοινωνία με μεταβίβαση μηνυμάτων. Μηνύματα Επεξεργαστής Δίκτυο Διασύνδεσης Τοπική Μνήμη Υπολογιστές 31

Δίκτυα διασύνδεσης Πλήρεις ή περιορισμένες συνδέσεις Γραμμή, Δακτύλιος, Πλέγμα, Τόρος Υπερκύβος (εκτός μόδας πλέον) Μεταγωγείς: Ραβδεπαφικοί (πλήρεις) Πολυεπίπεδοι (Clos, Omega..) Παρόμοιες λύσεις και για διασύνδεση επεξεργαστών μονάδων μνήμης σε συστήματα μοιραζόμενης μνήμης. 32

Πλέγμα δύο διαστάσεων Σύνδεσμοι Επεξεργαστής/ Υπολογιστής Ενωμένα άκρα: τόρος. Σε μια διάσσταση: γραμμή - δακτύλιος. 33

Υπερκύβος 4 διαστάσεων 0110 0111 1110 1111 0100 0101 1100 1101 0010 0011 1010 1011 0000 0001 1000 1001 Δημοφιλείς τις δεκαετίες 80-90, όχι πλέον. Δυνατότητες απεικόνισης απλούστερων δικτύων διασύνδεσης. 34

Ραβδεπαφικός μεταγωγέας Μονάδες Μνήμης / Υπολογιστές Επεξεργαστές / Υπολογιστές Μεταγωγείς 35

Πολυεπίπεδο δίκτυο διασύνδεσης: δίκτυο Omega 2 Χ 2 μεταγωγείς (ευθεία ή σταυρωτή μεταγωγή) 000 001 000 001 010 011 Είσοδος 100 101 010 011 Έξοδος 100 101 110 111 110 111 36

Συστήματα κατανεμημένης μοιραζόμενης μνήμης Συστήματα κατανεμημένης μνήμης που, με τη βοήθεια hardware (πχ cache memory) ή και software (πχ memory reference translation), επιτρέπουν την διαχείριση της κατανεμημένης μνήμης ως μοιραζόμενης. Messages Processor Interconnection network Shared memory Computers 37

Ταξινόμηση Flynn Ο Flynn (1966) πρότεινε μια ταξινόμηση των υπολογιστών με βάση τη ροή δεδομένων και εντολών. Υπολογιστής απλής εντολής απλών δεδομένων Single instruction stream-single data (SISD) computer Είναι ο συμβατικός υπολογιστής. 38

Υπολογιστής πολλαπλών εντολών πολλαπλών δεδομένων Multiple Instruction Stream-Multiple Data Stream (MIMD) Computer Υπολογιστής γενικού σκοπού. Κάθε επεξεργαστής εκτελεί το δικό του πρόγραμμα (άρα τη δική του ροή εντολών). Κάθε επεξεργαστής ενεργεί σε διαφορετικό σύνολο δεδομένων. Τα συστήματα μοιραζόμενης και κατανεμημένης μνήμης γενικά περιγράφονται ως υπολογιστές MIMD. 39

Υπολογιστής απλής εντολής πολλαπλών δεδομένων Single Instruction Stream-Multiple Data Stream (SIMD) Computer Υπολογιστής ειδικού σκοπού. Ένας αριθμός επεξεργαστικών στοιχείων (ALUs με περιορισμένη δυνατότητα αυτόνομου προγραμματισμού) συντονίζεται και εκτελεί συγχρονισμένξεργαστικό στοιχείο επενεργεί σε διαφορετικό σύνολο δεδομένων. Μόνιμη επεξεργασία μεγάλου όγκου πινακοποιημένων δεδομένων. Μερική ενσωμάτωση στο hardware (πχ κάρτες γραφικών, media streaming, instruction-arithmetic pipelining, superscalar processing, hyper-threading). 40

Απλό πρόγραμμα πολλαπλά δεδομένα Single Program - Multiple Data (SPMD) Παραλληλισμός δεδομένων (Data parallelism): συνδυασμός MIMD και SIMD. Χρήσιμο για επεξεργασία πινακοποιημένων δεδομένων σε MIMD συστήματα. Ο κάθε υπολογιστής εκτελεί ένα αντίγραφο του ίδιου προγράμματος, αλλά χωρίς αυστηρό συγχρονισμό και σε διαφορετικά δεδομένα. Ο κάθε υπολογιστής, ανάλογα με το id του μπορεί να εκτελεί διαφορετικό μέρος του προγράμματος. 41

Συστοιχίες υπολογιστών (Clusters) - Δικτυωμένοι υπολογιστές (NΟWs) Στα τέλη του '90, με την ανάπτυξη της τεχνολογίας των επιτραπέζιων υπολογιστών και των τοπικών δικτύων, τα clusters ή NΟWs έγιναν μια πολύ ελκυστική εναλλακτική λύση αντί των δαπανηρών παράλληλων υπολογιστών. High performance clusters: High availability clusters Load balancing clusters On-demand / desktop clusters Αναφορά http://en.wikipedia.org/wiki/computer_cluster 42

Βασικά πλεονεκτήματα Εμπορικοί επιτραπέζιοι υπολογιστές υψηλής απόδοσης σε χαμηλή τιμή. Εμπορικά διαθέσιμο hardware τοπικών δικτύων (μεταγωγείς, κάρτες) σε χαμηλή τιμή. Ευκολη αναβάθμιση με προσθήκη νέων υπολογιστών ή αλλαγή του hardware δικτύων. Εύκολη προσαρμογή υπάρχοντος λογισμικού μεταβίβασης μηνυμάτων. 43

Λογισμικό για clusters Προγραμματισμός μεταβίβασης μηνυμάτων. Parallel Virtual Machine (PVM) - τέλη 1980, αρχικά πολύ δημοφιλές. Message Passing Interface (MPI) πρότυπο που ορίστηκε στα μέσα του 1990 (MPICH, LAM). Βιβλιοθήκες χρήστη για μεταβίβαση μηνυμάτων. Χρήση με συμβατικές γλώσσες (C, C++, Fortran...). 44

Συστήματα διασύνδεσης clusters Αρχικά fast Ethernet, 100 Μbits/sec - οικονομική λύση Gigabit Ethernet, 1 Gbit/sec - λογική αναβάθμιση Εξειδικευμένα συστήματα υψηλής απόδοσης Myrinet, 2.4 Gbits/sec μονοπωλιακή αγορά SCI (Scalable Coherent Interface), 5 Gbits/sec Infiniband, 2 ως 96 Gbits/sec ίσως να ενσωματωθεί στα μελλοντικά PCs 45

Cluster με συντονιστή και υπολογιστικούς κόμβους Χρήστης Cluster Συντονιστής Διεπαφές Ethernet Εξωτερικό δίκτυο Υπολογιστές Μεταγωγέας Τοπικό δίκτυο Υπολογιστικοί κόμβοι 46