Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο ΣΗΜΜΥ

Σχετικά έγγραφα
Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο ΣΗΜΜΥ

Συστήματα Παράλληλης Επεξεργασίας, 9ο εξάμηνο ΣΗΜΜΥ

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

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

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

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

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

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

Κεφάλαιο 1 Αφαιρετικότητα και Τεχνολογία Υπολογιστών (Computer Abstractions and Technology)

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ στους Η/Υ. Δρ. Β Σγαρδώνη. Τμήμα Τεχνολογίας Αεροσκαφών ΤΕΙ ΣΤΕΡΕΑΣ ΕΛΛΑΔΑΣ. Χειμερινό Εξάμηνο

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Προχωρηµένα Θέµατα Αρχιτεκτονικής Η/Υ. Storage Systems.. Λιούπης

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ

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

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

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

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

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

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

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

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

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

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

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

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

ΜΕΛΕΤΗ ΗΛΕΚΤΡΟΝΙΚΟΥ ΕΞΟΠΛΙΣΜΟΥ

ΥΠΟΛΟΓΙΣΤΙΚΗ ΧΗΜΕΙΑ ΜΕ ΕΦΑΡΜΟΓΕΣ ΣΕ ΜΟΡΙΑ, ΥΛΙΚΑ, ΠΕΡΙΒΑΛΛΟΝ. Ι ΑΣΚΟΝΤΕΣ: Μαρία Κανακίδου, Σταύρος Φαράντος, Γιώργος Φρουδάκης

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

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

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

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

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

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

Προχωρηµένα Θέµατα Αρχιτεκτονικής

ΣΥΣΤΗΜΑΤΑ ΥΠΟΛΟΓΙΣΤΩΝ.

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

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

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

ΚΕΦΑΛΑΙΟ 1 ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ

ΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ

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

Οργάνωση Υπολογιστών (ΙI)

Προγραµµατισµός Συστηµάτων Πραγµατικού Χρόνου

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

Βασίλειος Κοντογιάννης ΠΕ19

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

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

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

Περιεχόμενο μαθήματος

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

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

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

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

Οργάνωση Υπολογιστών (IΙI)

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

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

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

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

Αριθµητικές Μέθοδοι Collocation. Απεικόνιση σε Σύγχρονες Υπολογιστικές Αρχιτεκτονικές

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

Πληροφορική I. "Εισαγωγικές έννοιες" B. Φερεντίνος

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

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

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

Μαλούτα Θεανώ Σελίδα 1

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

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

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

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

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

Προχωρηµένα Θέµατα Αρχιτεκτονικής

Transcript:

Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο ΣΗΜΜΥ ακ. έτος: 2004-2005 Νεκτάριος Κοζύρης nkoziris@cslab.ece.ntua.gr http://www.cslab.ece.ntua.gr/courses/pps/ 1

Εισαγωγή Τι σηµαίνει Παράλληλη Αρχιτεκτονική ; Που χρησιµοποιούµε Παράλληλες Αρχιτεκτονικές; Εξέλιξη και σύγκλιση Παράλληλων Αρχιτεκτονικών Βασικά Θέµατα Σχεδιασµού 2

Τι σηµαίνει Παράλληλη Αρχιτεκτονική; Παράλληλη Αρχιτεκτονική είναι ένα σύνολο µονάδων επεξεργασίας που επικοινωνούν µεταξύ τους και συνεργάζονται για τη γρήγορη επίλυση ενός µεγάλου προβλήµατος 3

Τι σηµαίνει Παράλληλη Αρχιτεκτονική; Μερικά ερωτήµατα που προκύπτουν: Κατανοµή πόρων: Πόσοι υπολογιστές αποτελούν την παράλληλη αρχιτεκτονική; Πόσο ισχυρά είναι τα επιµέρους στοιχεία; Πόση µνήµη έχουν; Πρόσβαση στα δεδοµένα, Επικοινωνία και Συγχρονισµός Πώς επικοινωνούν και συνεργάζονται τα επιµέρους στοιχεία; Πώς µεταδίδονται τα δεδοµένα µεταξύ των υπολογιστών; Ποιες αφηρηµένες δοµές και πρωτόκολλα πρέπει να υπάρχουν για την επικοινωνία; Απόδοση και Επεκτασιµότητα Πώς µεταφράζονται όλα τα παραπάνω σε «απόδοση» Πόσο επεκτάσιµη είναι η αρχιτεκτονική; 4

Γιατί µελετάµε τις Παράλληλες Αρχιτεκτονικές; Ορόλος του σχεδιαστή υπολογιστών είναι: Να σχεδιάζει και να βελτιστοποιεί όλα τα επίπεδα ενός συστήµατος υπολογιστών, ώστε να µεγιστοποιήσει την απόδοση και την ευκολία προγραµµατισµού µε συγκεκριµένο κόστος και τεχνολογία. Η παραλληλία: Παρέχει εναλλακτικές λύσεις αντί του γρηγορότερου ρολογιού για µεγαλύτερη απόδοση Εφαρµόζεται σε όλα τα επίπεδα σχεδιασµού συστηµάτων Παρέχει µια διαφορετική οπτική γωνία για την αρχιτεκτονική υπολογιστών Είναι όλο και πιο αναγκαία για την επεξεργασία πληροφοριών 5

Η παράλληλη επεξεργασία είναι αναπόφευκτη Απαιτητικές εφαρµογές: Έχουµε ακόρεστη ανάγκη για κύκλους επεξεργασίας Επιστηµονικές εφαρµογές: Μοριακή Βιολογία, Χηµεία, Φυσική,... Άλλοι υπολογισµοί: Video, Γραφικά, CAD, Βάσεις εδοµένων,... Τάσεις της τεχνολογίας: Ο αριθµός των transistors σε ένα chip µεγαλώνει ταχύτατα Η ταχύτητα του ρολογιού αυξάνει πιο αργά Τάσεις της αρχιτεκτονικής υπολογιστών: Η Παραλληλία σε επίπεδο εντολής (Instruction-level parallelism) είναι πολύτιµη, αλλά περιορισµένη Η παραλληλία υψηλότερου επιπέδου, όπως στους παράλληλους επεξεργαστές, είναι η πιο βιώσιµη προσέγγιση 6

Η παράλληλη επεξεργασία είναι αναπόφευκτη Σηµερινές τάσεις: Οι σηµερινοί µικροεπεξεργαστές υποστηρίζουν την πολυεπεξεργασία (bit, instruction, thread level) Οι εξυπηρετητές και οι σταθµοί εργασίας αποκτούν πολλούς επεξεργαστές Οι αυριανοί µικροεπεξεργαστές θα είναι πολυ-επεξεργαστές (multiple CPU cores in a single chip) π.χ ΙΒΜ (π.χ. dual core Power4), Intel (dual core Itanium2-έρχεται, Sun, SGI, HP (ex DEC, COMPAQ)!... 7

Τάσεις των Εφαρµογών Ηανάγκη για κύκλους επεξεργασίας τροφοδοτεί την πρόοδο του hardware, και ανάποδα Οι κύκλοι επεξεργασίας οδηγούν σε εκθετική αύξηση της επίδοσης των µικροεπεξεργαστών Οι πιο απαιτητικές εφαρµογές καθορίζουν τις παράλληλες αρχιτεκτονικές όλοκαιπιοπολύπλοκεςπαράλληλες αρχιτεκτονικές New Applications More Performance 8

Τάσεις των Εφαρµογών Κλίµακα απαιτήσεων για απόδοση Χρειάζεται κλιµακωτή αύξηση της απόδοσης µε προοδευτική αύξηση του κόστους Σχήµα Πυραµίδας: Πολλοί χρειάζονται χαµηλή απόδοση, λίγοι χρειάζονται ισχυρά µηχανήµατα 9

Μέτρηση Απόδοσης Στόχος της παράλληλης επεξεργασίας είναι η «Eπιτάχυνση (Speedup)» Speedup (p processors) = Performance (p processors) Performance (1 processor) Για ένα πρόβληµα συγκεκριµένου µεγέθους (σύνολο δεδοµένων εισόδου) : performance = 1/time Speedup fixed problem (p processors) = Time (1 processor) Time (p processors) 10

Then ENIAC (1943-1946) by Mauchly and Eckert Dimension: 3 ft 8 ft 100 ft 15,000 vacuum tubes + lots of switches Memory : Twenty 10-digit decimal numbers Speed: 800 operations/sec 10 years of service more calculations than done by the entire human race up to 1946. 11

I think there is a world market for maybe five computers. Thomas Watson, Chairman of IBM, 1943 12

Now Earth Simulator (2002) by NEC Earth Simulator Center 5120 Processors (640 Gflops at peak) Memory: >20 TB ( 60 trillion bytes) Speed: 40 trillion operations/sec Cost:?? 13

Ανάγκες Επιστηµονικών Υπολογισµών 14

Ανάγκες Εφαρµογών για Μηχανικούς Τα µεγάλα παράλληλα συστήµατα είναι γεγονός σε πολλούς βιοµηχανικούς τοµείς: Ορυκτού Πλούτου-Πετρελαίου (Ανάλυση Αποθεµάτων) Αυτοκινητοβιοµηχανία (προσοµοίωση συγκρούσεων, ανάλυση επιταχύνσεων, αποδοτικότητα καύσεων), Αεροναυτική (ανάλυση ροής αέρα, απόδοση µηχανών, δοµική µηχανική, ηλεκτροµαγνητισµός), Σχεδίαση σε υπολογιστή Φαρµακευτική (Μοντελοποίηση µορίων) Οπτική αναπαράσταση Σε όλα τα παραπάνω ψυχαγωγία (ταινίες όπως το «Toy Story» Pixar co. SUN ) Αρχιτεκτονική (3D visualisation, photorealism) 15

Εφαρµογές: Επεξεργασία λόγου και εικόνας 10 GIPS 1 GIPS 100 MIPS 10 MIPS 1 MIPS 200 Words Isolated Speech Recognition Telephone Number Recognition Speaker Verification Sub-Band Speech Coding 1,000 Words Continuous Speech Recognition ISDN-CD Stereo Receiver CELP Speech Coding 5,000 Words Continuous Speech Recognition HDTVReceiver CIF Video 1980 1985 1990 1995 Επίσης: CAD, Βάσεις δεδοµένων,... 100 επεξεργαστές σου δίνουν 10 years, 1000 σου δίνουν 20! 16

New Applications Data mining? Intelligent Systems? Fast Search? 17

Background Moore s Law and More Computing Power (tflops) 1,000 100 ASCI Curve 10 1 Moore s Law 0.1 1996 1998 2000 2002 2004 MICROPROCESSORS 2x increase in performance every 18-24 months ( Moore s Law ) PARALLELISM More processors per SMP More SMPs INNOVATIVE DESIGNS Specialized Computers Cellular Architectures Processors-in-Memory HTMT 18

Trends in Microprocessor Transistors 100,000,000 10,000,000 R10000 Pentium Transistors 1,000,000 100,000 i80286 i80386 R3000 R2000 i8086 10,000 i8080 i4004 1,000 1970 1975 1980 1985 1990 1995 2000 2005 Year 19

Clock Speeds 20

Current trend Tradeoff between Market and Very high performance needs ASCI: about 10 000 Microprocessors!!! Market : Low cost + performance Microprocessor as computing nodes Shared memory parallel machines: SMP ou NUMA jusqu à 32/64 CPU (IBM SP, SGI Origin, Sun, Fujitsu, etc.) Needs for very high performance : Very large number of processors (ASCI, Tera, etc.) Cluster of SMP or cluster of NUMA 21

CPU Clock 22

Ρυθµός Ανάπτυξης Συχνότητας Ρολογιού 1,000 Clock rate (MHz) 100 10 1 i8086 i8008 i4004 i8080 i80286 i80386 R10000 Pentium100 0.1 1970 1980 1990 2000 1975 1985 1995 2005 30% το χρόνο 23

Microprocessor Clock Rate 24

Ρυθµός Ανάπτυξης Αριθµού Transistors 100,000,000 Transistors 10,000,000 1,000,000 100,000 10,000 i80286 i8080 i8008 i4004 i8086 i80386 R2000 R3000 R10000 Pentium 1,000 1970 1980 1990 2000 1975 1985 1995 2005 Ο αριθµός των transistor αναπτύσσεται πολύ πιο γρήγορα από την ταχύτητα του ρολογιού 40% το χρόνο, µία τάξη µεγέθους µεγαλύτερη αύξηση σε 2 δεκαετίες 25

Vector processor Processor grain size Microprocessor Cray X1 AMD Opteron 26

Speed (MHz) Processor-Memory Gap processor 60%/yr memory 7%/yr 27 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 1000 100 10 1 Moore s Law CPU processor-memory performance gap: (grows 50% / yr) DRAM Time

Οµοίως και για το χώρο αποθήκευσης Απόκλιση µεταξύ χωρητικότητας µνήµης και ταχύτητας Η χωρητικότητα αυξήθηκε 1000 φορές από 1980 έως 1995, η ταχύτητα µόνο 2 φορές Οι µεγαλύτερες µνήµες είναι πιο αργές, ενώ οι επεξεργαστές γίνονται πιο γρήγοροι Ανάγκη µεταφοράς περισσότερων δεδοµένων παράλληλα Ανάγκη για βαθύτερες ιεραρχίες µνήµης Η παραλληλία αυξάνει το ενεργό µέγεθος κάθε επιπέδου ιεραρχίας της µνήµης, χωρίς να αυξηθεί ο χρόνος πρόσβασης 28

Trends in Parallel Computing Performance 1000 ASCI red ASCI white Paragon XP/S MP (6768) 100 Cray T3D Paragon XP/S CM-5 MP(1024) T932 GFLOPS 10 CM-200 CM2 Paragon XP/S Delta C90 Ymp/832 ncube/2 ipsc/860 MPP Cray VPP 1 Xmp 0.1 1985 1987 1989 1991 1993 1995 2000 29

Parallel architecture: a set of hardware resources with various performances processor Throughput ~100 GB/s processor Latency ~1 ns main memory ~1GB/s main memory ~10/100 ns Network /SAN ~100 MB/s Network /SAN ~10us I/O ~10 MB/s I/O ~10ms Network /WAN ~1 MB/s Network /WAN ~100ms 30

Τάσεις της Τεχνολογίας 100 Supercomputers Performance 10 1 Mainframes Minicomputers Microprocessors 0.1 1965 1970 1975 1980 1985 1990 1995 Το φυσικό δοµικό συστατικό των πολυεπεξεργαστών είναι τώρα το πιο γρήγορο! 31

Τάσεις της Τεχνολογίας Η απόδοση των µικροεπεξεργαστών αυξάνει κατά 50% - 100% το χρόνο Ο αριθµός των transistor διπλασιάζεται κάθε 3 χρόνια Το µέγεθος της DRAM τετραπλασιάζεται κάθε 3 χρόνια 32

Τάσεις της Τεχνολογίας Integer FP 180 160 140 120 100 80 60 40 20 Sun 4 260 MIPS M/120 MIPS M2000 IBM RS6000 540 HP 9000 750 DEC alpha 0 1987 1988 1989 1990 1991 1992 33

Τάσεις στην Αρχιτεκτονική Υπολογιστών Η αρχιτεκτονική πρέπει να µετατρέψει την πρόοδο της τεχνολογίας σε απόδοση Βρίσκει τη χρυσή τοµή µεταξύ παραλληλίας και τοπικότητας Η χρυσή τοµή αλλάζει µε την πρόοδο της τεχνολογίας Η κατανόηση της αρχιτεκτονικής µικροεπεξεργαστών: Βοηθά στην ανάπτυξη διαίσθησης σε θέµατα σχεδίασης παράλληλων συστηµάτων Αναδεικνύει το βασικό ρόλο της παραλληλίας ακόµη και στους σειριακούς υπολογιστές 34

Τάσεις στην Αρχιτεκτονική Υπολογιστών Έως το 1985: Παραλληλία σε επίπεδο bit: 4-bit -> 8 bit -> 16-bit Μέσα δεκαετίας 1980s έως µέσα δεκαετίας 1990: Παραλληλία σε επίπεδο εντολής (instruction level parallelism) Επόµενο βήµα: Παραλληλία σε επίπεδο thread 35

Eξέλιξη Παραλληλίας στους επεξεργαστές 100,000,000 Bit-level parallelism Instruction-level Thread-level (?) Transistors 10,000,000 1,000,000 100,000 i80286 R10000 Pentium i80386 R3000 R2000 i8086 10,000 i8080 i8008 i4004 1,000 1970 1975 1980 1985 1990 1995 2000 2005 36

Top 500 supercomputers 37

38

Top 500 : The most powerful machines for the Linpack benchmark Grds sys. dist Entropia, United Dev SETI@home Grilles locales 500 400 300 200 SIMD Cluster Constellation (cluster SMP) TOP 500 MPP X86, Alpha, Itanium Compaq SC Sun HPC cluster NEC SX4 / Earth SGI O3000 / 2000 HP Hyperplex Sun HPC 10000 IBM SP3 Hitachi SR8000 CRAY T3E Fujitsu VPP 5000 100 0 Mono SMP Processeur 93 94 95 96 97 98 99 00 HP superdome NEC SX 5 39

40

41

42

Cost: $8 Billion A Petaflops Today an Earth Simulator View By ASCI White, $10 Billion Footpad: 600,000 square feet 100 tennis courts Flight decks of 3 Nimitz-class aircraft carriers Power: almost 100 Mwatts 5 X Sum(all Top-500 machines) 43

44

6 classes of parallel computers Vector and Parallel Vector Physically shared memorydistributed memory CC-NUMA, SMP (SR8000) PC cluster Clump (Cluster of multiprocessors) Dedicated SIMD machines 45

SC2002 Top500 list Rank Manufacturer R max Installation Site Inst. type Computer/Procs R peak Country/Year Installation Area 1 NEC,Vector SX6 Earth-Simulator/ 5120 35860.00 40960.00 Earth Simulator Center Japan/2002 Research 2 Hewlett-Packard ASCI Q - AlphaServer SC ES45/1.25 GHz/ 4096 7727.00 10240.00 Los Alamos National Laboratory USA/2002 Research 3 Hewlett-Packard ASCI Q - AlphaServer SC ES45/1.25 GHz/ 4096 7727.00 10240.00 Los Alamos National Laboratory USA/2002 Research 4 IBM ASCI White, SP Power3 375 MHz/ 8192 7226.00 12288.00 Lawrence Livermore National Laboratory USA/2000 Research Energy Linux NetworX 5 MCR Linux Cluster Xeon 2.4 GHz - Quadrics/ 2304 http://www.top500.org/top5/2002/11/five/ 5694.00 11060.00 Lawrence Livermore National Laboratory USA/2002 Research 46

SC2002 Dinosaurs The Earth Simulator In April 2002, the Earth Simulator became operational. Peak performance of the Earth Simulator is 40 Teraflops (TF). The Earth Simulator is the new No. 1 on the Top 500 list based on the LINPACK benchmark set (www.top500.org), it achieved a performance of 35.9 TF, or 90% of peak. The Earth Simulator ran a benchmark global atmospheric simulation model at 13.4 TF on half of the machine, i.e. performed at over 60% of peak. The total peak capability of all DOE (US Department of Energy) computers is 27.6 teraflops. The Earth Simulator applies to a number of other disciplines such as fusion and geophysics as well. 47

Background Japanese Earth Simulator World s Most Powerful Computer 640 nodes x 8 vector processors per node = 5,120 processors 8 gflops peak per processor = 40.96 teraflops peak 10.24 terabytes of memory 640 x 640 single stage crossbar switch Performance LinPack Benchmark: 35.86 teraflops Atmospheric Global Circulation Model: 26.58 teraflops (T1279L96) Plasma Simulation Code (IMPACT- 3D): 14.9 tflops on 512 nodes 48

Earth Simulator 40 Teraflops 8192 processors 5 Gigaflops per processor Cost : $500 M Programming models? Message passing: MPI! HPF 49

Cluster of multiprocessors Machine ASCI Q (HP) : 12228 Alpha (21264, 1,5 Ghz) 30 Tflops (peak) ASCI Q b : 8 cartes 64 racks Machine ASCI Purple (IBM) : 12544 Power5 (2005) The 100 teraflop ASCI Purple : 12,544 POWER5 microprocessors, 196 individual computers (cabinets), 50 terabytes of memory, memory bandwidth of 156,000 GBs, total interconnect bandwidth of 12,500 GB. two petabytes of disk storage 50

Hardware Comparison Earth Simulator / ASCI Q /3 /16 /40 51

PC Clusters Numerous installations From 2 to X1000 CPUs (CCG ~ 5000) GbETH, Myrinet, SCI, Infiniband, Quadrics etc Linux + SSI (Single System Image) Compilers intel or gcc, Communication libraries MPI (MPICH, LAM) 8 cartes 64 racks 52

LLNL Linux NetworX Cluster Fastest Linux supercomputer Installation at Lawrence Livermore National Laboratory System integrator: Linux NetworX Delivery in Fall 2002 1,920 Intel Xeon processors at 2.4 GHz Peak performance = 9.2 Teraflops 53

Cslab@ntua clusters 54

Facilities SMPs: 2x Sun Enterprise HPC 450 servers with 4 CPUs each kids: 16x Pentium III@500,256MB RAM, interconnected with SCI (2D torus) and Fast-Ethernet twins: 8x dual Pentium III@800, 128MB RAM, interconnected with SCI and Fast-Ethernet zealots: 4x dual PIII@1,26 GHz and SCI, Myrinet, Gigabit-Ethernet interconnects Xenons: 4x dual Xeons@2,8 GHz (800MHz FSB & 1MB L2 Cache, EMT64) and Myrinet, Gigabit-Ethernet interconnects recycled: clustered web site that follows the three-tier architecture with deprecated hardware and modern software (Apache PostNuke - Oracle 9i RAC) 55

GRNET Isabella Cluster node 32 dual Xeon@2,8GHz (533FSB), 512KB L2 Cache 10TB FC SAN 56

An example Cosmic cube 1983 (Charles Seitz) First parallel machine for message passing Processor: intel 8086 57

2003: Myrinet Latency: 5µs one-way, Bandwidth: ~2 Gbits/s Score III cluster à Tsukuba, Japon 58

Current Trends: Networks of Computers Having many slow computers is better than having a few fast computers. 59

The Expansion of Linux in the Top500 Berkeley NOW (Solaris) 60

How Fast Can You Go? Intel Pentium 4 Max Speed: >3 GHz System Bus: >800 MHz >100 M transistors Power dissipation??? From Memory Wall to Power Wall problem!!! 61

How Efficient Are Linux Clusters?? Cplant Aramco, 2048, eth 62

Ouch! (scaling could be a problem) Earth Simulator 63

1000000 100000 10000 1000 100 10 1 0,1 Performance Development 1 PFlop/s ASCI Sum Earth Simulator N=1 1 TFlop/s N=500 My Laptop 64 Ιουν-95 Ιουν-96 Ιουν-97 Ιουν-98 Ιουν-99 Ιουν-00 Ιουν-01 Ιουν-02 Ιουν-03 Ιουν-04 Ιουν-05 Ιουν-06 Ιουν-07 Ιουν-08 Ιουν-09 Entry 1 T 2005 and 1 P 2010 Ιουν-93 Ιουν-94 Performance [GFlop/s]

Low Power Cluster Architectures sensitivity to power consumption 65

Σύγκλιση παράλληλων αρχιτεκτονικών

Ιστορική Αναδροµή Οι παράλληλες αρχιτεκτονικές ήταν πάντα στενά συνδεδεµένες µε προγραµµατιστικά µοντέλα Παρατηρούνται αρχιτεκτονικές που συγκλίνουν, χωρίς προβλέψιµο µοντέλο ανάπτυξης. Systolic Arrays Dataflow Application Software System Software Architecture Shared Memory SIMD Message Passing Η αβεβαιότητα αυτή καθυστερεί την ανάπτυξη παράλληλων εφαρµογών! 67

Origine du temps concernant la réalisation d ordinateurs parallèles suivant la classification précédente à partir de composants électroniques Solomon idées SIMD sur le traitement parallèle Babbage 1822 Menabrea 1842 Von Neumann 1952 1966 An history of parallel computers Illiac IV Vector Cray 1 temps Cyber 205 CRAY XMP Goodyear MPP CM1 Maspar ICL DAP C.mmp CM* NYU BBN MIMD Shared mem HEP CRAY YMP Cosmic Cube ncube MIMD MP Ipsc DASH 1970 1980 1990 KSR CM5 Paragon CRAY C90 T3D SP1 CRAY T90 NEC SX5 Grape5 SGI Origin SP2 Beowulf CRAY X1 NEC SX6 HP ES40 Regata Cplant Score III 2000 68

Flynn classification Data stream Single Multiple Instruction stream Unique (Single) Multiple Mem 1 data stream Calc Cont 1 instruction Mem 1 data stream Calc Calc Cont Cont SISD MISD several instruction Mem Mem Mem Mem Mem Several data streams Calc Calc Calc Calc Cont 1 instruction Mem Mem Several data streams SIMD MIMD Calc Cont Calc Cont Calc Cont Several instruction streams 69

Σήµερα Επέκταση της αρχιτεκτονικής υπολογιστών ώστε να υποστηρίζονται η επικοινωνία και η συνεργασία ΠΑΛΙΟ: Αρχιτεκτονική συνόλου εντολών ΝΕΟ: Αρχιτεκτονική επικοινωνίας Ορίζει: Κρίσιµες αφηρηµένες δοµές, όρια (hardware/software, user/system), και primitives (interfaces) οµές που υλοποιούν τα interfaces (hw ή sw) Compilers, βιβλιοθήκες και λειτουργικά συστήµατα είναι απαραίτητα σήµερα 70

Modern Layered Framework CAD Βάση εδοµένων Επιστηµονική µοντελοποίηση Παράλληλες εφαρµογές Multiprogramming Shared address Message passing Data parallel Προγραµµατιστικά µοντέλα Compilation ή βιβλιοθήκη Υποστήριξη λειτουργικού συστήµατος Hardware επικοινωνίας οµές επικοινωνίας Όριο συστήµατος/χρήστη Όριο hardware/software Φυσικό µέσο επικοινωνίας 71

Memory architecture classification Centralized memory Single address space Difficulty + Uniform Memory Access Memory @Max Memory Memory opposite Network PE PE Distributed memory Network PE @0 PE PE PE Multiple address space Memory Memory Memory @Max @Max @Max 12 9 3 6 9 PE 12 3 PE 6 Non Uniform Memory Access Memory PE Memory PE Memory PE Memory @0 @0 @0 PE PE PE 9 12 6 3 PE 9 12 6 3 PE - 72

Προγραµµατιστικό µοντέλο Καθορίζει την επικοινωνία και το συγχρονισµό Παραδείγµατα: Multiprogramming: Όχι επικοινωνία ή συγχρονισµός στο επίπεδο προγραµµατισµού Shared address space: όπως στους πίνακες ανακοινώσεων Message passing: όπως τα γράµµατα ή οι τηλεφωνικές κλήσεις,από σηµείο σε σηµείο Data parallel: πιο πειθαρχηµένες, συνολικές προσπελάσεις δεδοµένων Υλοποιείται µε shared address space ή message passing 73

Αρχιτεκτονική Επικοινωνίας = User/System Interface + Υλοποίηση Στόχοι: Απόδοση Ευρεία εφαρµογή Εύκολος προγραµµατισµός Επεκτασιµότητα Χαµηλό κόστος 74

Αρχιτεκτονικές Μοιραζόµενης Μνήµης Οποιοσδήποτε επεξεργαστής µπορεί να προσπελάσει απ ευθείας οποιαδήποτε θέση µνήµης Η επικοινωνία προκύπτει έµµεσα, σαν αποτέλεσµα των αναγνώσεων και εγγραφών Ευκολία: Ο προγραµµατιστής δεν αντιλαµβάνεται σε ποιο µηχάνηµα βρίσκονται τα δεδοµένα Παρόµοια προγραµµατιστικά µοντέλα µε time-sharing σε uniprocessors Εκτός του ότι οι διεργασίες εκτελούνται σε διαφορετικούς επεξεργαστές 75

Μοντέλο Μοιραζόµενης Μνήµης ιεργασία: εικονικός χώρος διευθύνσεων και ένα ή περισσότερα threads ελέγχου Μέρος του χώρου διευθύνσεων των διεργασιών είναι µοιραζόµενος Εικονικός χώρος διευθύνσεων για ένα σύνολο διεργασιών που επικοινωνούν µε µοιραζόµενη µνήµη Machine physical address space P n pr i vat e Load P n P 0 P 1 P 2 Κοινές φυσικές διευθύνσεις St or e Μοιραζόµενο µέρος του χώρου διευθύνσεων Privateκοµµάτι του χώρου διευθύνσεων P 2 pr i vat e P 1 pr i vat e P 0 pr i vat e 76

Μοντέλο Μοιραζόµενης Μνήµης Εγγραφές στη µοιραζόµενη µνήµη είναι ορατές στα άλλα threads (και στις άλλες διεργασίες) Φυσική επέκταση του uniprocessors µοντέλου: βολικές λειτουργίες µνήµης για επικοινωνία, ειδικές ατοµικές λειτουργίες για συγχρονισµό Το λειτουργικό σύστηµα χρησιµοποιεί µοιραζόµενη µνήµη για να συντονίσει τις διεργασίες 77

Hardware Επικοινωνίας I/O devices Mem Mem Mem Mem I/O ctrl I/O ctrl Inter connect Interconnect Processor Processor 78

Centralized Shared Memory Multiprocessor Processor Processor Processor Processor Caches Caches Caches Caches Interconnection Network Main Memory I/O System 79

Ιστορική αναδροµή Mainframe προσέγγιση Επεκτείνει την τεχνική crossbar που χρησιµοποιείται για να δώσει εύρος ζώνης στη µνήµη και την Είσοδο / Έξοδο Αρχικά το µέγεθος του συστήµατος περιοριζόταν από το κόστος των επεξεργαστών αργότερα, από το κόστος του crossbar Το εύρος ζώνης µεγαλώνει µε το p Υψηλό κόστος Χρήση αρχιτεκτονικών πολλών σταδίων I/O I/O P P C C M M M M 80

Ιστορική αναδροµή Minicomputer προσέγγιση Σχεδόν όλα τα συστήµατα µικροεπεξεργαστών έχουν διάδροµο Χρησιµοποιείται πολύ για παράλληλο προγραµµατισµό Ονοµάζονται «Συµµετρικοί πολύεπεξεργαστές» - symmetric multiprocessor (SMP) Η καθυστέρηση είναι µεγαλύτερη από την αντίστοιχη για έναν uniprocessor Ο διάδροµος αποτελεί bandwidth bottleneck Η λύση είναι η γρήγορη µνήµη: πρόβληµα συνάφειας (coherence) Χαµηλό κόστος επέκτασης I/O C I/O C M M $ $ P P 81

Παράδειγµα: Intel Pentium Pro Quad CPU Interrupt controller Bus interface 256-KB L 2 $ P-Pro module P-Pro module P-Pro module P-Pro bus (64-bit data, 36-bit addr ess, 66 MHz) PCI bridge PCI bridge Memory controller PCI I/O cards PCI bus PCI bus MIU 1-, 2-, or 4-way interleaved DRAM Μικρή καθυστέρηση και εύρος ζώνης 82

Παράδειγµα : SUN Enterprise P $ P $ CPU/mem cards $ 2 $ 2 Mem ctrl Bus interface/switch Gigaplane bus (256 data, 41 address, 83 MHz) Bus interface I/O cards 100bT, SCSI SBUS SBUS SBUS 2 FiberChannel Όλη η µνήµη προσπελαύνεται µέσω του διαδρόµου Μεγαλύτερο εύρος ζώνης, µεγαλύτερη καθυστέρηση στο διάδροµο 83

Επεκτασιµότητα M M M Network Network $ $ $ M $ M $ M $ P P P P P P Dance hall Κατανεµηµένη µνήµη σε hw, µοιραζόµενη µέσω κατανεµηµένης συνάφειας µνήµης (distributed cache coherence) 84

Επεκτασιµότητα Πρόβληµα για τον τρόπο διασύνδεσης: υψηλό κόστος - crossbar ή µικρό bandwidth - bus Dance-hall: Το εύρος ζώνης είναι επεκτάσιµο, αλλά µε µικρότερο κόστος από ότι στο crossbar Κατανεµηµένη Μνήµη, ή Μη οµοιόµορφη προσπέλαση µνήµης (NUMA) ΤΙ γίνεται µε την αποθήκευση σε γρήγορη µνήµη των µοιραζόµενων (ιδιαίτερα των µη τοπικών) δεδοµένων; 85

Example: Cray T3E External I/O P $ Mem Mem ctrl and NI XY Switch Z Επεκτείνεται µέχρι 1024 επεξεργαστές, 480MB/s ενώσεις Ο ελεγκτής µνήµης παράγει τις αιτήσεις επικοινωνίας για τις αναφορές σε αποµακρυσµένες θέσεις εν υπάρχει µηχανισµός hardware για συνάφεια 86

Αρχιτεκτονικές Ανταλλαγής Μηνυµάτων Πλήρης υπολογιστής σαν δοµική µονάδα, συµπεριλαµβανοµένης της Ε/Ε Επικοινωνία µέσω ρητών εντολών Ε/Ε Προγραµµατιστικό µοντέλο: Απ ευθείας προσπέλαση µόνο στον ιδιωτικό χώρο διευθύνσεων (τοπική µνήµη), επικοινωνία µέσω µηνυµάτων (αποστολή/λήψη) 87

Αφηρηµένες δοµές Ανταλλαγής Μηνυµάτων Send X, Q, t Match Receive Y, P, t Address Y Address X Local process address space Local process address space Process P Process Q 88

Αφηρηµένες δοµές Ανταλλαγής Μηνυµάτων Η ρουτίνα αποστολής καθορίζει τον καταχωρητή που θα µεταφερθεί και τη διεργασία-παραλήπτη Η ρουτίνα λήψης καθορίζει τη διεργασία-αποστολέα και τη θέση που θα αποθηκευτούν οι λαµβανόµενες πληροφορίες Επιπλέον φορτίο: αντιγραφή, διαχείριση καταχωρητών, προστασία 89

Distributed Memory Machine Architecture Processor Processor Processor Caches Caches Caches Memory I/O Memory I/O Memory I/O Interconnection Network NonUniform Memory Access (NUMA): Accessing local memory is faster than accessing remote memory 90

Παράδειγµα: IBM SP-2 Power 2 CPU IBM SP-2 node L 2 $ Memory bus General interconnection network formed from 8-port switches Memory controller 4-way interleaved DRAM MicroChannel bus NIC I/O i860 DMA NI DRAM 91

Παράδειγµα: Intel Paragon i860 L 1 $ i860 L 1 $ Intel Paragon node Memory bus (64-bit, 50 MHz) Mem ctrl DMA Sandia s Intel Paragon XP/S-based Supercomputer 4-way interleaved DRAM Driver NI 2D grid network with processing node attached to every switch 8 bits, 175 MHz, bidirectional 92

Σύγκλιση των Αρχιτεκτονικών Ηεξέλιξη του ρόλου του software έχει κάνει ασαφή τα όρια: Αποστολή / Λήψη υποστηρίζονται από µηχανήµατα µοιραζόµενης µνήµης, µέσω κοινών καταχωρητών Μπορεί να υλοποιηθεί κοινός χώρος διευθύνσεων σε µηχανήµατα ανταλλαγής µηνυµάτων Σύγκλιση παρατηρείται και στην οργάνωση του hardware 93

Data Parallel µοντέλο Προγραµµατιστικό µοντέλο: Οι λειτουργίες εκτελούνται παράλληλα σε κάθε στοιχείο της δοµής δεδοµένων Ένα λογικό thread ελέγχου εκτελεί σειριακά ή παράλληλα βήµατα ιαισθητικά, ένας επεξεργαστής συνδέεται µε κάθε στοιχείο δεδοµένων (data element) Αρχιτεκτονικό µοντέλο: Σειρά από πολλούς απλούς, φθηνούς επεξεργαστές µε λίγη µνήµη ο καθένας Ένας επεξεργαστής ελέγχου δίνει τις εντολές Εξειδικευµένη και γενική επικοινωνία, φθηνός συνολικός συγχρονισµός 94

Data Parallel µοντέλο Ιδανικό για επίλυση προβληµάτων απλών διαφορικών εξισώσεων Κεντρικοποιείται το µεγάλο κόστος της ανάγνωσης και αποκωδικοποίησης εντολών Control processor PE PE PE PE PE PE PE PE PE 95

Συστολικές Αρχιτεκτονικές Αντικαθιστούν µονούς επεξεργαστές µε σειρά κανονικών στοιχείων επεξεργασίας Συγχρονίζουν τη ροή δεδοµένων ώστε να υπάρχει µεγάλος ρυθµός παραγωγής δεδοµένων και λίγες προσπελάσεις της µνήµης M M PE PE PE PE 96

Συστολικές Αρχιτεκτονικές Παράδειγµα: Συστολική αρχιτεκτονική για µονοδιάστατη συνέλιξη y(i) = w 1 x(i) + w 2 x(i + 1) + w 3 x(i + 2) + w 4 x(i + 3) x8 x7 x6 x5 x4 x3 x2 x1 y3 y2 y1 w4 w3 w2 w1 xin yin x w xout yout xout = x x= xin yout = yin + w xin 97

Σύγκλιση: Γενική Παράλληλη Αρχιτεκτονική Ένας γενικού σκοπού σύγχρονος πολυεπεξεργαστής Network Mem Communication assist (CA) $ P 98

Distributed Shared Memory (Clusters of SMPs) Proc. Proc. Proc. Proc. Proc. Proc. Caches Caches Caches Caches Caches Caches Node Interc. Network Node Interc. Network Memory I/O Memory I/O Cluster Interconnection Network Typically: Shared Address Space with Non-Uniform Memory Access (NUMA) 99

Βασικά Θέµατα Σχεδίασης

Βασικά Θέµατα Σχεδίασης Ονοµατολογία: Πώς διαχωρίζονται διαφορετικές διευθύνσεις δεδοµένων ή / και διεργασίες; Λειτουργίες: Ποιες λειτουργίες µπορούν να γίνουν στα δεδοµένα αυτά; ιάταξη: Πώς συντάσσονται και συντονίζονται οι προσβάσεις σε δεδοµένα της µνήµης; Αντίγραφα: Πώς αντιγράφονται τα δεδοµένα για να µειωθεί η επικοινωνία; Κόστος επικοινωνίας: Αρχική καθυστέρηση, εύρος ζώνης Κατανόηση σε προγραµµατιστικό επίπεδο πρώτα, αφού αυτό δίνει τους περιορισµούς 101

Μοντέλο Ακολουθιακού Προγραµµατισµού ιευθυνσιοδότηση : Η ονοµατολογία των µεταβλητών αναφέρεται στον εικονικό χώρο διευθύνσεων Το hardware (και ίσως οι compilers) κάνουν τη µετάφραση στο φυσικό χώρο διευθύνσεων Λειτουργίες: Loads και Stores ιάταξη: Ακολουθιακή σειρά προγράµµατος 102

Μοντέλο Ακολουθιακού Προγραµµατισµού Απόδοση Εξαρτάται κυρίως από τις αναφορές στην ίδια θέση µνήµης: σειρά εξαρτήσεων Οι compilers και το hardware µπορούν να παραβιάζουν άλλες σειρές χωρίς να υπάρχει διαφορά Compiler: Αναδιάταξη και κατανοµή καταχωρητών Hardware: εκτός σειράς, pipeline bypassing, καταχωρητές εγγραφής Αντιγραφή στις γρήγορες µνήµες χωρίς να το αντιλαµβάνεται ο χρήστης 103

Προγραµµατιστικό µοντέλο µοιραζόµενου χώρου διευθύνσεων ιευθυνσιοδότηση : Κάθε διεργασία µπορεί να αναφέρεται σε οποιαδήποτε µεταβλητή στο µοιραζόµενο χώρο διευθύνσεων Λειτουργίες: loads και stores, και ό,τι χρειάζεται για τη διάταξη 104

Προγραµµατιστικό µοντέλο µοιραζόµενου χώρου διευθύνσεων Απλούστατο µοντέλο διάταξης: Εντός µιας διεργασίας / νήµατος: ακολουθιακή σειρά του προγράµµατος Μεταξύ των threads: υπάρχει παρεµβολή ( όπως στην περίπτωση του time-sharing) Επιπλέον σειριοποιήσεις λόγω συγχρονισµού Οι compilers και το hardware µπορούν να παραβιάζουν τις σειρές αυτές χωρίς να υπάρχει διαφορά 105

Συγχρονισµός 1) Αµοιβαίος αποκλεισµός (locks) Εξασφαλίζει ότι ορισµένες λειτουργίες σε συγκεκριµένα δεδοµένα µπορούν να εκτελούνται από µία µόνο διεργασία σε κάθε χρονική στιγµή Χώρος όπου δεν µπορούν να βρίσκονται παραπάνω από ένας ταυτόχρονα εν υπάρχει καµία εγγύηση ως προς τη σειρά 106

Συγχρονισµός 2) Συγχρονισµός µε events ιάταξη των events ώστε να διατηρούνται οι εξαρτήσεις Π.χ. παραγωγός > καταναλωτής δεδοµένων 3 περιπτώσεις: Ένας προς έναν καθολικά οµαδικά 107

Προγραµµατιστικό Μοντέλο Ανταλλαγής Μηνυµάτων ιευθυνσιοδότηση: Οι διεργασίες µπορούν να αναφέρονται σε τοπικά δεδοµένα απ ευθείας. εν υπάρχει µοιραζόµενος χώρος διευθύνσεων Λειτουργίες: Ρητή επικοινωνία µέσω αποστολών και λήψεων Μια αποστολή µεταφέρει δεδοµένα από τον τοπικό χώρο διευθύνσεων σε µια άλλη διεργασία Μια λήψη αντιγράφει δεδοµένα από µια διεργασία στον τοπικό χώρο διευθύνσεων Πρέπει να µπορούµε να κατονοµάζουµε τις διεργασίες 108

Προγραµµατιστικό Μοντέλο Ανταλλαγής Μηνυµάτων ιάταξη: ίδεται από τη σειρά του προγράµµατος εντός µιας διεργασίας Αποστολή και λήψη µπορούν να παρέχουν συγχρονισµό µεταξύ δύο διεργασιών Υπάρχει εγγενής αµοιβαίος αποκλεισµός Μπορεί να κατασκευαστεί καθολικός χώρος διευθύνσεων: Αριθµός διεργασίας + διεύθυνση µέσα στο χώρο διευθύνσεων της διεργασίας Όχι όµως απ ευθείας λειτουργίες στις θέσεις αυτές 109

Θέµατα Σχεδίασης Εφαρµόζονται σε όλα τα Επίπεδα Το προγραµµατιστικό µοντέλο επιβάλλει περιορισµούς ή στόχους για το σύστηµα Κάθε interface µεταξύ των επιπέδων υποστηρίζει: Μοντέλο διευθυνσιοδότησης Σύνολο λειτουργιών πάνω στις µεταβλητές Μοντέλο διάταξης Καθεστώς αντιγράφων Απόδοση επικοινωνίας Κάθε σύνολο διευθύνσεων µπορεί να απεικονιστεί σε οποιοδήποτε άλλο µέσω του κατάλληλου software 110

ιευθυνσιοδότηση και Λειτουργίες Η διευθυνσιοδότηση και οι λειτουργίες ενός προγραµµατιστικού µοντέλου µπορούν να υποστηρίζονται απ ευθείας από τα χαµηλότερα επίπεδα ή να µεταφράζονται από τον compiler, από βιβλιοθήκες ή το λειτουργικό σύστηµα 111

ιευθυνσιοδότηση και Λειτουργίες Παράδειγµα: προγραµµατιστικό µοντέλο µε µοιραζόµενο εικονικό χώρο διευθύνσεων 1) Αν το interface του hardware υποστηρίζει µοιραζόµενο φυσικό χώρο διευθύνσεων 2) Αν το hardware υποστηρίζει ανεξάρτητους φυσικούς χώρους διευθύνσεων Μπορεί να παρέχει µοιραζόµενο χώρο διευθύνσεων µέσω του λειτουργικού συστήµατος (system/user interface) Ή µέσω των compilers ή κατά την ώρα της εκτέλεσης 112

ιευθυνσιοδότηση και Λειτουργίες Παράδειγµα: Υλοποίηση Ανταλλαγής Μηνυµάτων 1) Άµεση υποστήριξη από το interface του hardware 2) Υποστήριξη σε επίπεδο sys/user interface ή πιο πάνω από το software (σχεδόν πάντα) Το interface του hardware παρέχει τα βασικά για τη µεταφορά δεδοµένων Αποστολή / Λήψη δοµηµένες µε software Για κάθε περίπτωση και κάθε επίπεδο πρέπει να εξετάζονται θέµατα όπως συχνότητες και είδη λειτουργιών, κόστη, ώστε να βρεθεί σε κάθε περίπτωση η χρυσή τοµή 113

ιάταξη Ανταλλαγή µηνυµάτων: εν υπάρχουν περιορισµοί στη διάταξη των λειτουργιών µεταξύ των διεργασιών, εκτός από αυτούς που επιβάλλονται από ζεύγη αποστολής-λήψης Μοιραζόµενος χώρος διευθύνσεων: Το πώς βλέπουν οι διεργασίες τη σειρά των αναφορών στη µνήµη από άλλες διεργασίες καθορίζει η σηµασιολογία του µοιραζόµενου χώρου διευθύνσεων 114

ηµιουργία αντιγράφων Πολύ σηµαντική για τη µείωση της µεταφοράς δεδοµένων - επικοινωνίας Εξαρτάται από το µοντέλο διευθυνσιοδότησης Μονός επεξεργαστής: Γίνεται αυτόµατα από τις γρήγορες µνήµες Μείωση επικοινωνίας µε τη µνήµη 115

ηµιουργία αντιγράφων Μοντέλο διευθυνσιοδότησης για ανταλλαγή µηνυµάτων Κάθε λήψη δηµιουργεί αντίγραφο, χρησιµοποιώντας καινούριες µεταβλητές για την αποθήκευση δεδοµένων Η αντιγραφή γίνεται ρητά στο software πάνω από το interface Μοντέλο διευθυνσιοδότησης για µοιραζόµενο χώρο διευθύνσεων Κάθε ανάγνωση φέρνει δεδοµένα και µπορεί να δηµιουργεί αντίγραφα χωρίς αυτό να γίνεται αντιληπτό από το χρήστη Γίνεται από τις γρήγορες µνήµες ή το λειτουργικό σύστηµα ηµιουργούνται πολλά αντίγραφα µε το ίδιο όνοµα: πρόβληµα συνάφειας (coherence) 116

Απόδοση Επικοινωνίας Τρία χαρακτηριστικά ορίζουν την απόδοση: Αρχική Καθυστέρηση Εύρος ζώνης Κόστος: Όσον αφορά το συνολικό χρόνο εκτέλεσης του προγράµµατος 117

Εύρος Ζώνης Αν µια λειτουργία εκτελείται σε 100ns Εύρος ζώνης: 10 Mops Εσωτερικό βάθος pipeline 10 => εύρος ζώνης 100 Mops Ο ρυθµός καθορίζεται από το πιο αργό στάδιο του pipeline, όχι από τη συνολική καθυστέρηση 118

Γραµµικό µοντέλο καθυστέρησης µεταφοράς δεδοµένων Χρόνος µεταφοράς(n) = T 0 + n/b Όσο το n αυξάνει, το εύρος ζώνης πλησιάζει ασυµπτωτικά το ρυθµό B Το γραµµικό µοντέλο όµως δεν είναι πλήρες Πότε µπορεί να αρχικοποιηθεί η επόµενη µεταφορά; Χρειάζεται να ξέρουµε πώς γίνεται η µεταφορά 119

Μοντέλο κόστους επικοινωνίας Χρόνος επικοινωνίας ανά µήνυµα = Χρόνος αρχικοποίησης + Assist Occupancy + Καθυστέρηση ικτύου + Μέγεθος/Εύρος ζώνης + Contention = o v + o c + l + n/b + T c 120

Μοντέλο κόστους επικοινωνίας Οχρόνος αρχικοποίησης και assist occupancy µπορεί να είναι συνάρτηση του µεγέθους n του µηνύµατος Κάθε στοιχείο κατά µήκος του διανυόµενου δρόµου έχει τη δική του occupancy και καθυστέρηση Η συνολική καθυστέρηση είναι το άθροισµα των καθυστερήσεων Η συνολική occupancy (1/εύρος ζώνης) είναι η µεγαλύτερη από τις occupancies 121

Μοντέλο κόστους επικοινωνίας Κόστος Επικοινωνίας = συχνότητα * (Χρόνος επικοινωνίας - Αλληλοεπικάλυψη) Γενικό µοντέλο για µεταφορά δεδοµένων: Εφαρµόζεται και για µεταφορά από την κύρια στη γρήγορη µνήµη 122

GRID concept Approche pour la distribution de la puissance informatique (calcul, stockage et communication) 123

Network performance Network vs. computer performance Computer speed doubles every 18 months Network speed doubles every 9 months Difference = order of magnitude per 5 years 1986 to 2001 Computers: x 500 Networks: x 340,000 2001 to 2010 Computers: x 60 Networks: x 4000 Moore s Law vs. storage improvements vs. optical improvements. Graph from Scientific American (Jan- 124 2001) by Cleo Vilett, source Vined Khoslan, Kleiner, Caufield and Perkins.

Several types of GRID 2 kinds of distributed systems Computing «GRID» Large scale distributed systems «Desktop GRID» or «Internet Computing» Large sites Computing centers, Clusters PC Windows, Linux Node Features: <100 Stables Individual credential Confidence ~100 000 Volatiles No authentication No confidence Peer-to-Peer systems 125