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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 1 ο

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

Chapter 4 (1) Αξιολόγηση και κατανόηση της απόδοσης

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

Επιτεύγµατα των Λ.Σ.

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

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

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

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

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

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

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης

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

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

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

Κεντρική Μονάδα Επεξεργασίας

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

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

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

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

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

Chapter 4 ( ή 1 στο βιβλίο σας)

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

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

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

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

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

Εισαγωγή στην Πληροφορική

Λειτουργικά Συστήματα. Εισαγωγή

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

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 1. Αφηρηµένες έννοιες και τεχνολογία υπολογιστών

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

Τελική Εξέταση, Απαντήσεις/Λύσεις

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

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

Transcript:

Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο ΣΗΜΜΥ ακ. έτος: 2003-2004 Νεκτάριος Κοζύρης 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

CPU Clock 21

Ρυθµός Ανάπτυξης Συχνότητας Ρολογιού 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% το χρόνο 22

Microprocessor Clock Rate 23

Ρυθµός Ανάπτυξης Αριθµού 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 δεκαετίες 24

Speed (MHz) Processor-Memory Gap processor 60%/yr memory 7%/yr 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 25

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

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 CM2 CM-200 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 27

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

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

Τάσεις της Τεχνολογίας 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 30

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

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

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 33

Top 500 supercomputers 34

35

36

37

38

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) 39

40

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 41

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. 42

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 43

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 44

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

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

How Fast Can You Go? Intel Pentium 4 Max Speed: >3 GHz System Bus: >800 MHz >100 M transistors Power dissipation??? 47

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

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

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 50 Ιουν-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 51

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

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

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

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

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

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

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

Μοντέλο Μοιραζόµενης Μνήµης ιεργασία: εικονικός χώρος διευθύνσεων και ένα ή περισσότερα 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 59

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

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

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

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

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

Παράδειγµα: 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 Μικρή καθυστέρηση και εύρος ζώνης 65

Παράδειγµα : 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 Όλη η µνήµη προσπελαύνεται µέσω του διαδρόµου Μεγαλύτερο εύρος ζώνης, µεγαλύτερη καθυστέρηση στο διάδροµο 66

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

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

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

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

Αφηρηµένες δοµές Ανταλλαγής Μηνυµάτων 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 71

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

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 73

Παράδειγµα: 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 74

Παράδειγµα: 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 75

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

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

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

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

Συστολικές Αρχιτεκτονικές Παράδειγµα: Συστολική αρχιτεκτονική για µονοδιάστατη συνέλιξη 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 80

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

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) 82

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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