Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεKathryne Anagnos Τροποποιήθηκε πριν 9 χρόνια
1
1 Συστήματα Παράλληλης Επεξεργασίας, 9ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2003-2004 Νεκτάριος Κοζύρης nkoziris@cslab.ece.ntua.gr http://www.cslab.ece.ntua.gr/courses/pps/ nkoziris@cslab.ece.ntua.gr
2
2 Εισαγωγή Τι σημαίνει Παράλληλη Αρχιτεκτονική ; Που χρησιμοποιούμε Παράλληλες Αρχιτεκτονικές; Εξέλιξη και σύγκλιση Παράλληλων Αρχιτεκτονικών Βασικά Θέματα Σχεδιασμού
3
3 Παράλληλη Αρχιτεκτονική είναι ένα σύνολο μονάδων επεξεργασίας που επικοινωνούν μεταξύ τους και συνεργάζονται για τη γρήγορη επίλυση ενός μεγάλου προβλήματος Τι σημαίνει Παράλληλη Αρχιτεκτονική;
4
4 Μερικά ερωτήματα που προκύπτουν: Κατανομή πόρων: Πόσοι υπολογιστές αποτελούν την παράλληλη αρχιτεκτονική; Πόσο ισχυρά είναι τα επιμέρους στοιχεία; Πόση μνήμη έχουν; Πρόσβαση στα δεδομένα, Επικοινωνία και Συγχρονισμός Πώς επικοινωνούν και συνεργάζονται τα επιμέρους στοιχεία; Πώς μεταδίδονται τα δεδομένα μεταξύ των υπολογιστών; Ποιες αφηρημένες δομές και πρωτόκολλα πρέπει να υπάρχουν για την επικοινωνία; Απόδοση και Επεκτασιμότητα Πώς μεταφράζονται όλα τα παραπάνω σε «απόδοση» Πόσο επεκτάσιμη είναι η αρχιτεκτονική;
5
5 Γιατί μελετάμε τις Παράλληλες Αρχιτεκτονικές; Ο ρόλος του σχεδιαστή υπολογιστών είναι: Να σχεδιάζει και να βελτιστοποιεί όλα τα επίπεδα ενός συστήματος υπολογιστών, ώστε να μεγιστοποιήσει την απόδοση και την ευκολία προγραμματισμού με συγκεκριμένο κόστος και τεχνολογία. Η παραλληλία: Παρέχει εναλλακτικές λύσεις αντί του γρηγορότερου ρολογιού για μεγαλύτερη απόδοση Εφαρμόζεται σε όλα τα επίπεδα σχεδιασμού συστημάτων Παρέχει μια διαφορετική οπτική γωνία για την αρχιτεκτονική υπολογιστών Είναι όλο και πιο αναγκαία για την επεξεργασία πληροφοριών
6
6 Η παράλληλη επεξεργασία είναι αναπόφευκτη Απαιτητικές εφαρμογές: Έχουμε ακόρεστη ανάγκη για κύκλους επεξεργασίας Επιστημονικές εφαρμογές: Μοριακή Βιολογία, Χημεία, Φυσική,... Άλλοι υπολογισμοί: Video, Γραφικά, CAD, Βάσεις Δεδομένων,... Τάσεις της τεχνολογίας: Ο αριθμός των transistors σε ένα chip μεγαλώνει ταχύτατα Η ταχύτητα του ρολογιού αυξάνει πιο αργά Τάσεις της αρχιτεκτονικής υπολογιστών: Η Παραλληλία σε επίπεδο εντολής (Instruction-level parallelism) είναι πολύτιμη, αλλά περιορισμένη Η παραλληλία υψηλότερου επιπέδου, όπως στους παράλληλους επεξεργαστές, είναι η πιο βιώσιμη προσέγγιση
7
7 Η παράλληλη επεξεργασία είναι αναπόφευκτη Σημερινές τάσεις: Οι σημερινοί μικροεπεξεργαστές υποστηρίζουν την πολυεπεξεργασία (bit, instruction, thread level) Οι εξυπηρετητές και οι σταθμοί εργασίας αποκτούν πολλούς επεξεργαστές Οι αυριανοί μικροεπεξεργαστές θα είναι πολυ-επεξεργαστές (multiple CPU cores in a single chip) π.χ ΙΒΜ (π.χ. dual core Power4), Intel (dual core Itanium2-έρχεται, Sun, SGI, HP (ex DEC, COMPAQ)!...
8
8 Τάσεις των Εφαρμογών Η ανάγκη για κύκλους επεξεργασίας τροφοδοτεί την πρόοδο του hardware, και ανάποδα Οι κύκλοι επεξεργασίας οδηγούν σε εκθετική αύξηση της επίδοσης των μικροεπεξεργαστών Οι πιο απαιτητικές εφαρμογές καθορίζουν τις παράλληλες αρχιτεκτονικές όλο και πιο πολύπλοκες παράλληλες αρχιτεκτονικές New Applications More Performance
9
9 Τάσεις των Εφαρμογών Κλίμακα απαιτήσεων για απόδοση Χρειάζεται κλιμακωτή αύξηση της απόδοσης με προοδευτική αύξηση του κόστους Σχήμα Πυραμίδας: Πολλοί χρειάζονται χαμηλή απόδοση, λίγοι χρειάζονται ισχυρά μηχανήματα
10
10 Μέτρηση Απόδοσης Στόχος της παράλληλης επεξεργασίας είναι η «Eπιτάχυνση (Speedup)» Speedup (p processors) = Για ένα πρόβλημα συγκεκριμένου μεγέθους (σύνολο δεδομένων εισόδου) : performance = 1/time Speedup fixed problem (p processors) = Performance (p processors) Performance (1 processor) Time (1 processor) Time (p processors)
11
11 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.
12
12 “I think there is a world market for maybe five computers.” Thomas Watson, Chairman of IBM, 1943
13
13 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: ??
14
14 Ανάγκες Επιστημονικών Υπολογισμών
15
15 Ανάγκες Εφαρμογών για Μηχανικούς Τα μεγάλα παράλληλα συστήματα είναι γεγονός σε πολλούς βιομηχανικούς τομείς: Ορυκτού Πλούτου-Πετρελαίου (Ανάλυση Αποθεμάτων) Αυτοκινητοβιομηχανία (προσομοίωση συγκρούσεων, ανάλυση επιταχύνσεων, αποδοτικότητα καύσεων), Αεροναυτική (ανάλυση ροής αέρα, απόδοση μηχανών, δομική μηχανική, ηλεκτρομαγνητισμός), Σχεδίαση σε υπολογιστή Φαρμακευτική (Μοντελοποίηση μορίων) Οπτική αναπαράσταση Σε όλα τα παραπάνω ψυχαγωγία (ταινίες όπως το «Toy Story» Pixar co. SUN ) Αρχιτεκτονική (3D visualisation, photorealism)
16
16 Εφαρμογές: Επεξεργασία λόγου και εικόνας Επίσης: CAD, Βάσεις δεδομένων,... 100 επεξεργαστές σου δίνουν 10 years, 1000 σου δίνουν 20 ! 1980 198519901995 1 MIPS 10 MIPS 100 MIPS 1 GIPS Sub-Band Speech Coding 200 Words Isolated Speech Recognition Speaker Verification CELP Speech Coding ISDN-CD Stereo Receiver 5,000 Words Continuous Speech Recognition HDTV Receiver CIFVideo 1,000 Words Continuous Speech Recognition Telephone Number Recognition 10 GIPS
17
17 New Applications Data mining? Intelligent Systems? Fast Search?
18
18 Background Moore’s Law and More 0.1 1 10 100 1,000 1998200020022004 1996 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 Computing Power (tflops) Moore’s Law ASCI Curve
19
19 i4004 i80286 i80386 i8080 i8086 R3000 R2000 R10000 Pentium 1,000 10,000 100,000 1,000,000 10,000,000 100,000,000 19701975198019851990199520002005 Year Transistors Trends in Microprocessor Transistors
20
20 Clock Speeds
21
21 CPU Clock
22
22 Ρυθμός Ανάπτυξης Συχνότητας Ρολογιού 30% το χρόνο
23
23 Microprocessor Clock Rate
24
24 Ρυθμός Ανάπτυξης Αριθμού Transistors Ο αριθμός των transistor αναπτύσσεται πολύ πιο γρήγορα από την ταχύτητα του ρολογιού 40% το χρόνο, μία τάξη μεγέθους μεγαλύτερη αύξηση σε 2 δεκαετίες
25
25 Processor-Memory Gap 2000 processor 60%/yr memory 7%/yr 1 10 100 1000 1980198119831984198519861987198819891990199119921993199419951996199719981999 DRAM CPU 1982 processor-memory performance gap: (grows 50% / yr) Time “Moore’s Law” Speed (MHz)
26
26 Ομοίως και για το χώρο αποθήκευσης Απόκλιση μεταξύ χωρητικότητας μνήμης και ταχύτητας Η χωρητικότητα αυξήθηκε 1000 φορές από 1980 έως 1995, η ταχύτητα μόνο 2 φορές Οι μεγαλύτερες μνήμες είναι πιο αργές, ενώ οι επεξεργαστές γίνονται πιο γρήγοροι Ανάγκη μεταφοράς περισσότερων δεδομένων παράλληλα Ανάγκη για βαθύτερες ιεραρχίες μνήμης Η παραλληλία αυξάνει το ενεργό μέγεθος κάθε επιπέδου ιεραρχίας της μνήμης, χωρίς να αυξηθεί ο χρόνος πρόσβασης
27
27 Trends in Parallel Computing Performance Cray T3D Paragon XP/S MP(1024) CM-5 Paragon XP/S Delta CM-200 CM2 nCUBE/2 iPSC/860 Ymp/832 C90 0.1 1 10 100 1000 198519871989199119931995 GFLOPS MPP Cray VPP Xmp Paragon XP/S MP (6768) T932 ASCI red 2000 ASCI white
28
28 Τάσεις της Τεχνολογίας Το φυσικό δομικό συστατικό των πολυεπεξεργαστών είναι τώρα το πιο γρήγορο ! Performance 0.1 1 10 100 1965197019751980198519901995 Supercomputers Minicomputers Mainframes Microprocessors
29
29 Η απόδοση των μικροεπεξεργαστών αυξάνει κατά 50% - 100% το χρόνο Ο αριθμός των transistor διπλασιάζεται κάθε 3 χρόνια Το μέγεθος της DRAM τετραπλασιάζεται κάθε 3 χρόνια Τάσεις της Τεχνολογίας
30
30 IntegerFP 0 20 40 60 80 100 120 140 160 180 198719881989199019911992 Sun 4 260 MIPS M/120 IBM RS6000 540 MIPS M2000 HP 9000 750 DEC alpha Τάσεις της Τεχνολογίας
31
31 Τάσεις στην Αρχιτεκτονική Υπολογιστών Η αρχιτεκτονική πρέπει να μετατρέψει την πρόοδο της τεχνολογίας σε απόδοση Βρίσκει τη χρυσή τομή μεταξύ παραλληλίας και τοπικότητας Η χρυσή τομή αλλάζει με την πρόοδο της τεχνολογίας Η κατανόηση της αρχιτεκτονικής μικροεπεξεργαστών: Βοηθά στην ανάπτυξη διαίσθησης σε θέματα σχεδίασης παράλληλων συστημάτων Αναδεικνύει το βασικό ρόλο της παραλληλίας ακόμη και στους σειριακούς υπολογιστές
32
32 Τάσεις στην Αρχιτεκτονική Υπολογιστών Έως το 1985: Παραλληλία σε επίπεδο bit: 4-bit -> 8 bit -> 16-bit Μέσα δεκαετίας 1980s έως μέσα δεκαετίας 1990: Παραλληλία σε επίπεδο εντολής (instruction level parallelism) Επόμενο βήμα: Παραλληλία σε επίπεδο thread
33
33 Transistors Eξέλιξη Παραλληλίας στους επεξεργαστές 1,000 10,000 100,000 1,000,000 10,000,000 100,000,000 19701975198019851990199520002005 Bit-level parallelismInstruction-levelThread-level (?) uuuuuuu uu u uu u u u u u u u u u u u uuuu u u u u u u u u u u u uu u u uu u uuuu u uuu u u uuuu uuu u uuuu i8008 i4004 i8080 i8086 i80286 i80386 R2000 Pentium R10000 R3000
34
34 Top 500 supercomputers
35
35
36
36
37
37
38
38
39
39 A Petaflops Today an Earth Simulator View Cost: $8 Billion 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)
40
40
41
41 SC2002 Top500 list http://www.top500.org/top5/2002/11/five/ Rank Manufacturer Computer/Procs R max R peak Installation Site Country/Year Inst. type Installation Area 1 NEC,Vector SX6 Earth-Simulator/ 5120 35860.00 40960.00 Earth Simulator Center 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 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 Los Alamos National Laboratory USA/2002 Research 4 IBM ASCI White, SP Power3 375 MHz/ 8192 7226.00 12288.00 Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory USA/2000 Research Energy 5 Linux NetworX MCR Linux Cluster Xeon 2.4 GHz - Quadrics/ 2304 5694.00 11060.00 Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory USA/2002 Research
42
42 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),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.
43
43 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
44
44 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
45
45 Future Trends: Networks of Computers Having many slow computers is better than having a few fast computers.
46
46 The Expansion of Linux in the Top500 Berkeley NOW (Solaris)
47
47 How Fast Can You Go? Intel Pentium 4 Max Speed: >3 GHz System Bus: >800 MHz >100 M transistors Power dissipation???
48
48 How Efficient Are Linux Clusters? Cplant Aramco, 2048, eth ?
49
49 Ouch! (scaling could be a problem) Earth Simulator
50
50 Performance Development ASCI Earth Simulator Entry 1 T 2005 and 1 P 2010 My Laptop
51
51 Low Power Cluster Architectures sensitivity to power consumption
52
Σύγκλιση παράλληλων αρχιτεκτονικών
53
53 Ιστορική Αναδρομή Application Software System Software SIMD Message Passing Shared Memory Dataflow Systolic Arrays Architecture Η αβεβαιότητα αυτή καθυστερεί την ανάπτυξη παράλληλων εφαρμογών ! Οι παράλληλες αρχιτεκτονικές ήταν πάντα στενά συνδεδεμένες με προγραμματιστικά μοντέλα Παρατηρούνται αρχιτεκτονικές που συγκλίνουν, χωρίς προβλέψιμο μοντέλο ανάπτυξης.
54
54 Σήμερα Επέκταση της αρχιτεκτονικής υπολογιστών ώστε να υποστηρίζονται η επικοινωνία και η συνεργασία ΠΑΛΙΟ:Αρχιτεκτονική συνόλου εντολών ΝΕΟ:Αρχιτεκτονική επικοινωνίας Ορίζει: Κρίσιμες αφηρημένες δομές, όρια (hardware/software, user/system), και primitives (interfaces) Δομές που υλοποιούν τα interfaces (hw ή sw) Compilers, βιβλιοθήκες και λειτουργικά συστήματα είναι απαραίτητα σήμερα
55
55 Modern Layered Framework CAD MultiprogrammingShared address Message passing Data parallel Βάση ΔεδομένωνΕπιστημονική μοντελοποίηση Παράλληλες εφαρμογές Προγραμματιστικά μοντέλα Δομές επικοινωνίας Όριο συστήματος/χρήστη Compilation ή βιβλιοθήκη Υποστήριξη λειτουργικού συστήματος Hardware επικοινωνίας Φυσικό μέσο επικοινωνίας Όριο hardware/software
56
56 Προγραμματιστικό μοντέλο Καθορίζει την επικοινωνία και το συγχρονισμό Παραδείγματα: Multiprogramming: Όχι επικοινωνία ή συγχρονισμός στο επίπεδο προγραμματισμού Shared address space: όπως στους πίνακες ανακοινώσεων Message passing: όπως τα γράμματα ή οι τηλεφωνικές κλήσεις,από σημείο σε σημείο Data parallel: πιο πειθαρχημένες, συνολικές προσπελάσεις δεδομένων Υλοποιείται με shared address space ή message passing
57
57 Αρχιτεκτονική Επικοινωνίας = User/System Interface + Υλοποίηση Στόχοι: Απόδοση Ευρεία εφαρμογή Εύκολος προγραμματισμός Επεκτασιμότητα Χαμηλό κόστος
58
58 Αρχιτεκτονικές Μοιραζόμενης Μνήμης Οποιοσδήποτε επεξεργαστής μπορεί να προσπελάσει απ’ ευθείας οποιαδήποτε θέση μνήμης Η επικοινωνία προκύπτει έμμεσα, σαν αποτέλεσμα των αναγνώσεων και εγγραφών Ευκολία: Ο προγραμματιστής δεν αντιλαμβάνεται σε ποιο μηχάνημα βρίσκονται τα δεδομένα Παρόμοια προγραμματιστικά μοντέλα με time-sharing σε uniprocessors Εκτός του ότι οι διεργασίες εκτελούνται σε διαφορετικούς επεξεργαστές
59
59 Μοντέλο Μοιραζόμενης Μνήμης Διεργασία: εικονικός χώρος διευθύνσεων και ένα ή περισσότερα threads ελέγχου Μέρος του χώρου διευθύνσεων των διεργασιών είναι μοιραζόμενος
60
60 Μοντέλο Μοιραζόμενης Μνήμης Εγγραφές στη μοιραζόμενη μνήμη είναι ορατές στα άλλα threads (και στις άλλες διεργασίες) Φυσική επέκταση του uniprocessors μοντέλου: βολικές λειτουργίες μνήμης για επικοινωνία, ειδικές ατομικές λειτουργίες για συγχρονισμό Το λειτουργικό σύστημα χρησιμοποιεί μοιραζόμενη μνήμη για να συντονίσει τις διεργασίες
61
61 Hardware Επικοινωνίας I/O ctrl Mem Interconnect Mem I/O ctrl Processor Interconnect I/O devices
62
62 Centralized Shared Memory Multiprocessor Interconnection Network Processor Caches Main MemoryI/O System Processor Caches Processor Caches Processor Caches
63
63 Ιστορική αναδρομή “Mainframe” προσέγγιση Επεκτείνει την τεχνική crossbar που χρησιμοποιείται για να δώσει εύρος ζώνης στη μνήμη και την Είσοδο / Έξοδο Αρχικά το μέγεθος του συστήματος περιοριζόταν από το κόστος των επεξεργαστών αργότερα, από το κόστος του crossbar Το εύρος ζώνης μεγαλώνει με το p Υψηλό κόστος Χρήση αρχιτεκτονικών πολλών σταδίων
64
64 Ιστορική αναδρομή “Minicomputer” προσέγγιση Σχεδόν όλα τα συστήματα μικροεπεξεργαστών έχουν διάδρομο Χρησιμοποιείται πολύ για παράλληλο προγραμματισμό Ονομάζονται «Συμμετρικοί πολύ- επεξεργαστές» - symmetric multiprocessor (SMP) Η καθυστέρηση είναι μεγαλύτερη από την αντίστοιχη για έναν uniprocessor Ο διάδρομος αποτελεί bandwidth bottleneck Η λύση είναι η γρήγορη μνήμη: πρόβλημα συνάφειας (coherence) Χαμηλό κόστος επέκτασης
65
65 Παράδειγμα: Intel Pentium Pro Quad Μικρή καθυστέρηση και εύρος ζώνης
66
66 Παράδειγμα : SUN Enterprise Όλη η μνήμη προσπελαύνεται μέσω του διαδρόμου Μεγαλύτερο εύρος ζώνης, μεγαλύτερη καθυστέρηση στο διάδρομο
67
67 Επεκτασιμότητα “Dance hall” Κατανεμημένη μνήμη σε hw, μοιραζόμενη μέσω κατανεμημένης συνάφειας μνήμης (distributed cache coherence) MMM M MM Network P $ P $ P $ P $ P $ P $
68
68 Επεκτασιμότητα Πρόβλημα για τον τρόπο διασύνδεσης: υψηλό κόστος - crossbar ή μικρό bandwidth - bus Dance-hall: Το εύρος ζώνης είναι επεκτάσιμο, αλλά με μικρότερο κόστος από ότι στο crossbar Κατανεμημένη Μνήμη, ή Μη ομοιόμορφη προσπέλαση μνήμης (NUMA) ΤΙ γίνεται με την αποθήκευση σε γρήγορη μνήμη των μοιραζόμενων (ιδιαίτερα των μη τοπικών) δεδομένων;
69
69 Example: Cray T3E Επεκτείνεται μέχρι 1024 επεξεργαστές, 480MB/s ενώσεις Ο ελεγκτής μνήμης παράγει τις αιτήσεις επικοινωνίας για τις αναφορές σε απομακρυσμένες θέσεις Δεν υπάρχει μηχανισμός hardware για συνάφεια
70
70 Αρχιτεκτονικές Ανταλλαγής Μηνυμάτων Πλήρης υπολογιστής σαν δομική μονάδα, συμπεριλαμβανομένης της Ε/Ε Επικοινωνία μέσω ρητών εντολών Ε/Ε Προγραμματιστικό μοντέλο: Απ’ ευθείας προσπέλαση μόνο στον ιδιωτικό χώρο διευθύνσεων (τοπική μνήμη), επικοινωνία μέσω μηνυμάτων (αποστολή/λήψη)
71
71 Receive Y, P, t Αφηρημένες δομές Ανταλλαγής Μηνυμάτων Process P Process Q Address Y Address X Send X, Q, t Match Local process address space Local process address space
72
72 Αφηρημένες δομές Ανταλλαγής Μηνυμάτων Η ρουτίνα αποστολής καθορίζει τον καταχωρητή που θα μεταφερθεί και τη διεργασία-παραλήπτη Η ρουτίνα λήψης καθορίζει τη διεργασία-αποστολέα και τη θέση που θα αποθηκευτούν οι λαμβανόμενες πληροφορίες Επιπλέον φορτίο: αντιγραφή, διαχείριση καταχωρητών, προστασία
73
73 Distributed Memory Machine Architecture Interconnection Network Processor Caches Memory I/O Processor Caches Memory I/O Processor Caches Memory I/O NonUniform Memory Access (NUMA): Accessing local memory is faster than accessing remote memory
74
74 Παράδειγμα: IBM SP-2
75
75 Παράδειγμα: Intel Paragon
76
76 Σύγκλιση των Αρχιτεκτονικών Η εξέλιξη του ρόλου του software έχει κάνει ασαφή τα όρια: Αποστολή / Λήψη υποστηρίζονται από μηχανήματα μοιραζόμενης μνήμης, μέσω κοινών καταχωρητών Μπορεί να υλοποιηθεί κοινός χώρος διευθύνσεων σε μηχανήματα ανταλλαγής μηνυμάτων Σύγκλιση παρατηρείται και στην οργάνωση του hardware
77
77 Data Parallel μοντέλο Προγραμματιστικό μοντέλο: Οι λειτουργίες εκτελούνται παράλληλα σε κάθε στοιχείο της δομής δεδομένων Ένα λογικό thread ελέγχου εκτελεί σειριακά ή παράλληλα βήματα Διαισθητικά, ένας επεξεργαστής συνδέεται με κάθε στοιχείο δεδομένων (data element) Αρχιτεκτονικό μοντέλο: Σειρά από πολλούς απλούς, φθηνούς επεξεργαστές με λίγη μνήμη ο καθένας Ένας επεξεργαστής ελέγχου δίνει τις εντολές Εξειδικευμένη και γενική επικοινωνία, φθηνός συνολικός συγχρονισμός
78
78 Data Parallel μοντέλο Ιδανικό για επίλυση προβλημάτων απλών διαφορικών εξισώσεων Κεντρικοποιείται το μεγάλο κόστος της ανάγνωσης και αποκωδικοποίησης εντολών
79
79 Συστολικές Αρχιτεκτονικές Αντικαθιστούν μονούς επεξεργαστές με σειρά κανονικών στοιχείων επεξεργασίας Συγχρονίζουν τη ροή δεδομένων ώστε να υπάρχει μεγάλος ρυθμός παραγωγής δεδομένων και λίγες προσπελάσεις της μνήμης
80
80 Συστολικές Αρχιτεκτονικές Παράδειγμα: Συστολική αρχιτεκτονική για μονοδιάστατη συνέλιξη
81
81 Σύγκλιση: Γενική Παράλληλη Αρχιτεκτονική Ένας γενικού σκοπού σύγχρονος πολυεπεξεργαστής
82
82 Distributed Shared Memory (Clusters of SMPs) Cluster Interconnection Network Memory I/O Proc. Caches Node Interc. Network Proc. Caches Proc. Caches Memory I/O Proc. Caches Node Interc. Network Proc. Caches Proc. Caches Typically: Shared Address Space with Non-Uniform Memory Access (NUMA)
83
Βασικά Θέματα Σχεδίασης
84
84 Βασικά Θέματα Σχεδίασης Ονοματολογία: Πώς διαχωρίζονται διαφορετικές διευθύνσεις δεδομένων ή / και διεργασίες; Λειτουργίες: Ποιες λειτουργίες μπορούν να γίνουν στα δεδομένα αυτά; Διάταξη: Πώς συντάσσονται και συντονίζονται οι προσβάσεις σε δεδομένα της μνήμης; Αντίγραφα: Πώς αντιγράφονται τα δεδομένα για να μειωθεί η επικοινωνία; Κόστος επικοινωνίας: Αρχική καθυστέρηση, εύρος ζώνης Κατανόηση σε προγραμματιστικό επίπεδο πρώτα, αφού αυτό δίνει τους περιορισμούς
85
85 Μοντέλο Ακολουθιακού Προγραμματισμού Διευθυνσιοδότηση : Η ονοματολογία των μεταβλητών αναφέρεται στον εικονικό χώρο διευθύνσεων Το hardware (και ίσως οι compilers) κάνουν τη μετάφραση στο φυσικό χώρο διευθύνσεων Λειτουργίες: Loads και Stores Διάταξη: Ακολουθιακή σειρά προγράμματος
86
86 Μοντέλο Ακολουθιακού Προγραμματισμού Απόδοση Εξαρτάται κυρίως από τις αναφορές στην ίδια θέση μνήμης: σειρά εξαρτήσεων Οι compilers και το hardware μπορούν να παραβιάζουν άλλες σειρές χωρίς να υπάρχει διαφορά Compiler: Αναδιάταξη και κατανομή καταχωρητών Hardware: εκτός σειράς, pipeline bypassing, καταχωρητές εγγραφής Αντιγραφή στις γρήγορες μνήμες χωρίς να το αντιλαμβάνεται ο χρήστης
87
87 Προγραμματιστικό μοντέλο μοιραζόμενου χώρου διευθύνσεων Διευθυνσιοδότηση : Κάθε διεργασία μπορεί να αναφέρεται σε οποιαδήποτε μεταβλητή στο μοιραζόμενο χώρο διευθύνσεων Λειτουργίες: loads και stores, και ό,τι χρειάζεται για τη διάταξη
88
88 Προγραμματιστικό μοντέλο μοιραζόμενου χώρου διευθύνσεων Απλούστατο μοντέλο διάταξης: Εντός μιας διεργασίας / νήματος: ακολουθιακή σειρά του προγράμματος Μεταξύ των threads: υπάρχει παρεμβολή ( όπως στην περίπτωση του time-sharing) Επιπλέον σειριοποιήσεις λόγω συγχρονισμού Οι compilers και το hardware μπορούν να παραβιάζουν τις σειρές αυτές χωρίς να υπάρχει διαφορά
89
89 Συγχρονισμός 1) Αμοιβαίος αποκλεισμός (locks) Εξασφαλίζει ότι ορισμένες λειτουργίες σε συγκεκριμένα δεδομένα μπορούν να εκτελούνται από μία μόνο διεργασία σε κάθε χρονική στιγμή Χώρος όπου δεν μπορούν να βρίσκονται παραπάνω από ένας ταυτόχρονα Δεν υπάρχει καμία εγγύηση ως προς τη σειρά
90
90 Συγχρονισμός 2) Συγχρονισμός με events Διάταξη των events ώστε να διατηρούνται οι εξαρτήσεις Π.χ. παραγωγός —> καταναλωτής δεδομένων 3 περιπτώσεις: Ένας προς έναν καθολικά ομαδικά
91
91 Προγραμματιστικό Μοντέλο Ανταλλαγής Μηνυμάτων Διευθυνσιοδότηση: Οι διεργασίες μπορούν να αναφέρονται σε τοπικά δεδομένα απ’ ευθείας. Δεν υπάρχει μοιραζόμενος χώρος διευθύνσεων Λειτουργίες: Ρητή επικοινωνία μέσω αποστολών και λήψεων Μια αποστολή μεταφέρει δεδομένα από τον τοπικό χώρο διευθύνσεων σε μια άλλη διεργασία Μια λήψη αντιγράφει δεδομένα από μια διεργασία στον τοπικό χώρο διευθύνσεων Πρέπει να μπορούμε να κατονομάζουμε τις διεργασίες
92
92 Προγραμματιστικό Μοντέλο Ανταλλαγής Μηνυμάτων Διάταξη: Δίδεται από τη σειρά του προγράμματος εντός μιας διεργασίας Αποστολή και λήψη μπορούν να παρέχουν συγχρονισμό μεταξύ δύο διεργασιών Υπάρχει εγγενής αμοιβαίος αποκλεισμός Μπορεί να κατασκευαστεί καθολικός χώρος διευθύνσεων: Αριθμός διεργασίας + διεύθυνση μέσα στο χώρο διευθύνσεων της διεργασίας Όχι όμως απ’ ευθείας λειτουργίες στις θέσεις αυτές
93
93 Θέματα Σχεδίασης Εφαρμόζονται σε όλα τα Επίπεδα Το προγραμματιστικό μοντέλο επιβάλλει περιορισμούς ή στόχους για το σύστημα Κάθε interface μεταξύ των επιπέδων υποστηρίζει: Μοντέλο διευθυνσιοδότησης Σύνολο λειτουργιών πάνω στις μεταβλητές Μοντέλο διάταξης Καθεστώς αντιγράφων Απόδοση επικοινωνίας Κάθε σύνολο διευθύνσεων μπορεί να απεικονιστεί σε οποιοδήποτε άλλο μέσω του κατάλληλου software
94
94 Διευθυνσιοδότηση και Λειτουργίες Η διευθυνσιοδότηση και οι λειτουργίες ενός προγραμματιστικού μοντέλου μπορούν να υποστηρίζονται απ’ ευθείας από τα χαμηλότερα επίπεδα ή να μεταφράζονται από τον compiler, από βιβλιοθήκες ή το λειτουργικό σύστημα
95
95 Διευθυνσιοδότηση και Λειτουργίες Παράδειγμα: προγραμματιστικό μοντέλο με μοιραζόμενο εικονικό χώρο διευθύνσεων 1) Αν το interface του hardware υποστηρίζει μοιραζόμενο φυσικό χώρο διευθύνσεων 2) Αν το hardware υποστηρίζει ανεξάρτητους φυσικούς χώρους διευθύνσεων Μπορεί να παρέχει μοιραζόμενο χώρο διευθύνσεων μέσω του λειτουργικού συστήματος (system/user interface) Ή μέσω των compilers ή κατά την ώρα της εκτέλεσης
96
96 Παράδειγμα: Υλοποίηση Ανταλλαγής Μηνυμάτων 1) Άμεση υποστήριξη από το interface του hardware 2) Υποστήριξη σε επίπεδο sys/user interface ή πιο πάνω από το software (σχεδόν πάντα) Το interface του hardware παρέχει τα βασικά για τη μεταφορά δεδομένων Αποστολή / Λήψη δομημένες με software Για κάθε περίπτωση και κάθε επίπεδο πρέπει να εξετάζονται θέματα όπως συχνότητες και είδη λειτουργιών, κόστη, ώστε να βρεθεί σε κάθε περίπτωση η χρυσή τομή Διευθυνσιοδότηση και Λειτουργίες
97
97 Διάταξη Ανταλλαγή μηνυμάτων: Δεν υπάρχουν περιορισμοί στη διάταξη των λειτουργιών μεταξύ των διεργασιών, εκτός από αυτούς που επιβάλλονται από ζεύγη αποστολής-λήψης Μοιραζόμενος χώρος διευθύνσεων: Το πώς βλέπουν οι διεργασίες τη σειρά των αναφορών στη μνήμη από άλλες διεργασίες καθορίζει η σημασιολογία του μοιραζόμενου χώρου διευθύνσεων
98
98 Δημιουργία αντιγράφων Πολύ σημαντική για τη μείωση της μεταφοράς δεδομένων - επικοινωνίας Εξαρτάται από το μοντέλο διευθυνσιοδότησης Μονός επεξεργαστής: Γίνεται αυτόματα από τις γρήγορες μνήμες Μείωση επικοινωνίας με τη μνήμη
99
99 Δημιουργία αντιγράφων Μοντέλο διευθυνσιοδότησης για ανταλλαγή μηνυμάτων Κάθε λήψη δημιουργεί αντίγραφο, χρησιμοποιώντας καινούριες μεταβλητές για την αποθήκευση δεδομένων Η αντιγραφή γίνεται ρητά στο software πάνω από το interface Μοντέλο διευθυνσιοδότησης για μοιραζόμενο χώρο διευθύνσεων Κάθε ανάγνωση φέρνει δεδομένα και μπορεί να δημιουργεί αντίγραφα χωρίς αυτό να γίνεται αντιληπτό από το χρήστη Γίνεται από τις γρήγορες μνήμες ή το λειτουργικό σύστημα Δημιουργούνται πολλά αντίγραφα με το ίδιο όνομα: πρόβλημα συνάφειας (coherence)
100
100 Απόδοση Επικοινωνίας Τρία χαρακτηριστικά ορίζουν την απόδοση: Αρχική Καθυστέρηση Εύρος ζώνης Κόστος: Όσον αφορά το συνολικό χρόνο εκτέλεσης του προγράμματος
101
101 Εύρος Ζώνης Αν μια λειτουργία εκτελείται σε 100ns Εύρος ζώνης: 10 Mops Εσωτερικό βάθος pipeline 10 => εύρος ζώνης 100 Mops Ο ρυθμός καθορίζεται από το πιο αργό στάδιο του pipeline, όχι από τη συνολική καθυστέρηση
102
102 Γραμμικό μοντέλο καθυστέρησης μεταφοράς δεδομένων Χρόνος μεταφοράς(n) = T 0 + n/B Όσο το n αυξάνει, το εύρος ζώνης πλησιάζει ασυμπτωτικά το ρυθμό B Το γραμμικό μοντέλο όμως δεν είναι πλήρες Πότε μπορεί να αρχικοποιηθεί η επόμενη μεταφορά; Χρειάζεται να ξέρουμε πώς γίνεται η μεταφορά
103
103 Μοντέλο κόστους επικοινωνίας Χρόνος επικοινωνίας ανά μήνυμα = Χρόνος αρχικοποίησης + Assist Occupancy + Καθυστέρηση Δικτύου + Μέγεθος/Εύρος ζώνης + Contention = o v + o c + l + n/B + T c
104
104 Μοντέλο κόστους επικοινωνίας Ο χρόνος αρχικοποίησης και assist occupancy μπορεί να είναι συνάρτηση του μεγέθους n του μηνύματος Κάθε στοιχείο κατά μήκος του διανυόμενου δρόμου έχει τη δική του occupancy και καθυστέρηση Η συνολική καθυστέρηση είναι το άθροισμα των καθυστερήσεων Η συνολική occupancy (1/εύρος ζώνης) είναι η μεγαλύτερη από τις occupancies
105
105 Μοντέλο κόστους επικοινωνίας Κόστος Επικοινωνίας = συχνότητα * (Χρόνος επικοινωνίας - Αλληλοεπικάλυψη) Γενικό μοντέλο για μεταφορά δεδομένων: Εφαρμόζεται και για μεταφορά από την κύρια στη γρήγορη μνήμη
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.