Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεCosima Glavan Τροποποιήθηκε πριν 10 χρόνια
1
1 Συστήματα Παράλληλης Επεξεργασίας, 9ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2007-2008 Νεκτάριος Κοζύρης 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 Η παράλληλη επεξεργασία είναι αναπόφευκτη Απαιτητικές εφαρμογές: Έχουμε ακόρεστη ανάγκη για κύκλους επεξεργασίας Επιστημονικές εφαρμογές: Μοριακή Βιολογία, Χημεία, Φυσική,... Άλλοι υπολογισμοί: Video, Γραφικά, CAD, Βάσεις Δεδομένων,... Τάσεις της τεχνολογίας: Ο αριθμός των transistors σε ένα chip μεγαλώνει ταχύτατα Η ταχύτητα του ρολογιού αυξάνει πιο αργά Τάσεις της αρχιτεκτονικής υπολογιστών: Η Παραλληλία σε επίπεδο εντολής (Instruction-level parallelism) είναι πολύτιμη, αλλά περιορισμένη Η παραλληλία υψηλότερου επιπέδου, όπως στους παράλληλους επεξεργαστές, είναι η πιο βιώσιμη προσέγγιση
6
6 Μέτρηση Απόδοσης Στόχος της παράλληλης επεξεργασίας είναι η «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)
7
7 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.
8
8 “I think there is a world market for maybe five computers.” Thomas Watson, Chairman of IBM, 1943 Προβλέψεις (tunnel vision)
9
9 …More Tunnel Vision by “Experts” “There is no reason for any individual to have a computer in their home” Ken Olson, president and founder of Digital Equipment Corporation, 1977. “640K [of memory] ought to be enough for anybody.” Bill Gates, chairman of Microsoft,1981. “On several recent occasions, I have been asked whether parallel computing will soon be relegated to the trash heap reserved for promising technologies that never quite make it.” Ken Kennedy, CRPC Directory, 1994 Slide source: Warfield et al.
10
10 Ανάγκες Επιστημονικών Υπολογισμών
11
11 Global Climate Modeling Problem Problem is to compute: f(latitude, longitude, elevation, time) temperature, pressure, humidity, wind velocity Approach: -Discretize the domain, e.g., a measurement point every 10 km -Devise an algorithm to predict weather at time t+ t given t Uses: -Predict major events, e.g., El Nino -Use in setting air emissions standards Source: http://www.epm.ornl.gov/chammp/chammp.html
12
12 Global Climate Modeling Computation One piece is modeling the fluid flow in the atmosphere -Solve Navier-Stokes equations -Roughly 100 Flops per grid point with 1 minute timestep Computational requirements: -To match real-time, need 5 x 10 11 flops in 60 seconds = 8 Gflop/s -Weather prediction (7 days in 24 hours) 56 Gflop/s -Climate prediction (50 years in 30 days) 4.8 Tflop/s -To use in policy negotiations (50 years in 12 hours) 288 Tflop/s To double the grid resolution, computation is 8x to 16x State of the art models require integration of atmosphere, ocean, sea-ice, land models, plus possibly carbon cycle, geochemistry and more Current models are coarser than this
13
13 High Resolution Climate Modeling on NERSC-3 – P. Duffy, et al., LLNL
14
14 Climate Modeling on the Earth Simulator System Development of ES started in 1997 in order to make a comprehensive understanding of global environmental changes such as global warming. 26.58Tflops was obtained by a global atmospheric circulation code. 26.58Tflops was obtained by a global atmospheric circulation code. 35.86Tflops (87.5% of the peak performance) is achieved in the Linpack benchmark (world’s fastest machine from 2002-2004). Its construction was completed at the end of February, 2002 and the practical operation started from March 1, 2002
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 Moore’s Law: Microprocessor Capacity Gordon Moore (co-founder of Intel) predicted in 1965 that the transistor density of semiconductor chips would double roughly every 18 months.
19
19 Moore’s Law and More 0.1 1 10 100 1,000 1998200020022004 1996 MICROPROCESSORS 2x increase in performance every 18 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
20
20 Revolution is Happening Now Chip density is continuing increase ~2x every 2 years Clock speed is not Number of processor cores may double instead There is little or no hidden parallelism (ILP) to be found Parallelism must be exposed to and managed by software Source: Intel, Microsoft (Sutter) and Stanford (Olukotun, Hammond)
21
21 Clock Speeds
22
22 Microprocessor Clock Rate
23
23 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)
24
24 Ομοίως και για το χώρο αποθήκευσης Απόκλιση μεταξύ χωρητικότητας μνήμης και ταχύτητας Η χωρητικότητα αυξήθηκε 1000 φορές από 1980 έως 1995, η ταχύτητα μόνο 2 φορές Οι μεγαλύτερες μνήμες είναι πιο αργές, ενώ οι επεξεργαστές γίνονται πιο γρήγοροι Ανάγκη μεταφοράς περισσότερων δεδομένων παράλληλα Ανάγκη για βαθύτερες ιεραρχίες μνήμης Η παραλληλία αυξάνει το ενεργό μέγεθος κάθε επιπέδου ιεραρχίας της μνήμης, χωρίς να αυξηθεί ο χρόνος πρόσβασης
25
25 Parallel architecture: a set of hardware resources with various performances Throughput processor main memory Network /SAN I/O ~100 MB/s ~10 MB/s ~1GB/s ~100 GB/s Latency processor main memory Network /SAN I/O ~10us ~10ms ~10/100ns ~1 ns Network /WAN ~1 MB/s Network /WAN ~100ms
26
26 Τάσεις στην Αρχιτεκτονική Υπολογιστών Έως το 1985: Παραλληλία σε επίπεδο bit: 4-bit -> 8 bit -> 16-bit Μέσα δεκαετίας 1980s έως μέσα δεκαετίας 1990: Παραλληλία σε επίπεδο εντολής (instruction level parallelism) Παραλληλία σε επίπεδο threadς (SMT) Παραλληλία σε επίπεδο πυρήνων (cores)
27
27 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
28
28 Revolution is Happening Now Chip density is continuing increase ~2x every 2 years Clock speed is not Number of processor cores may double instead There is little or no hidden parallelism (ILP) to be found Parallelism must be exposed to and managed by software Source: Intel, Microsoft (Sutter) and Stanford (Olukotun, Hammond)
29
29 H. Meuer, H. Simon, E. Strohmaier, & JD - Listing of the 500 most powerful Computers in the World - Yardstick: Rmax from LINPACK MPP Ax=b, dense problem - Updated twice a year SC‘xy in the States in November Meeting in Mannheim, Germany in June - All data available from www.top500.org Size Rate TPP performance
30
30 29th List / June 2007 www.top500.org page 30 29th List: The TOP10 Manufacturer Computer Rmax [TF/s] Installation SiteCountryYear#Proc 1IBM BlueGene/L eServer Blue Gene 280.6DOE/NNSA/LLNLUSA2005 131,072 2 10 Cray Jaguar Cray XT3/XT4 101.7DOE/ORNLUSA2007 23,016 3232 Sandia/Cray Red Storm Cray XT3 101.4DOE/NNSA/SandiaUSA2006 26,544 4343 IBM BGW eServer Blue Gene 91.29IBM Thomas WatsonUSA2005 40,960 5IBM New York BLue eServer Blue Gene 82.16Stony Brook/BNLUSA2007 36,864 6464 IBM ASC Purple eServer pSeries p575 75.76DOE/NNSA/LLNLUSA2005 12,208 7IBM BlueGene/L eServer Blue Gene 73.03RPI/CCNIUSA2007 32,768 8Dell Abe PowerEdge 1955, Infiniband 62.68NCSAUSA2007 9,600 9595 IBM MareNostrum JS21 Cluster, Myrinet 62.63 Barcelona Supercomputing Center Spain2006 12,240 10SGI HLRB-II SGI Altix 4700 56.52LRZGermany2007 9,728
31
31 Ra nk SiteComputer 1 DOE/NNSA/LLNL DOE/NNSA/LLNL United States BlueGene/L - eServer Blue Gene Solution BlueGene/L - eServer Blue Gene Solution IBM (487,2 TFLOPs) 2 Forschungszentrum Juelich (FZJ) Forschungszentrum Juelich (FZJ) Germany JUGENE - Blue Gene/P Solution JUGENE - Blue Gene/P Solution IBM (167,3 TFLOPs) 3 SGI/New Mexico Computing Applications Center (NMCAC) SGI/New Mexico Computing Applications Center (NMCAC) United States SGI Altix ICE 8200, Xeon quad core 3.0 GHz SGI Altix ICE 8200, Xeon quad core 3.0 GHz SGI (126,9 TFLOPs) 4 Computational Research Laboratories, TATA SONS Computational Research Laboratories, TATA SONS India Cluster Platform 3000 BL460c, Xeon 53xx 3GHz, Infiniband Cluster Platform 3000 BL460c, Xeon 53xx 3GHz, Infiniband Hewlett-Packard (117,9 TFLOPs) 5 Government Agency Government Agency Sweden Cluster Platform 3000 BL460c, Xeon 53xx 2.66GHz, Infiniband Cluster Platform 3000 BL460c, Xeon 53xx 2.66GHz, Infiniband Hewlett-Packard (102,8 TFLOPs) 30th List: The TOP10 (12 Nov. 2007)
32
32 What is Blue Gene A massively parallel supercomputer using tens of thousands of embedded PowerPC processors supporting a large memory space With standard compilers and message passing environment
33
33 Blue Gene/L Architecture Can be scaled up to 65,536 compute or I/O nodes, with 131,072 processors Each node is a single ASIC with associated DRAM memory chips Each ASIC has 2 700 MHz IBM PowerPC processors (14W) PowerPC processors Low-frequency, low-power embedded processors, superior to today's high-frequency, high-power microprocessors by a factor of 2 or more
34
34 Blue Gene/L Architecture contd… Double-pipeline-double-precision Floating Point Unit A cache sub-system with built-in DRAM controller Node CPUs are not cache coherent with one another FPUs and CPUs are designed for low power consumption Using transistors with low leakage current Local clock gating Putting the FPU or CPU/FPU pair to sleep
35
35
36
36 Blue Gene/L Architecture contd… 1 rack holds 1024 nodes or 2048 processors Nodes optimized for low power consumption ASIC based on System-on-a-chip technology Large numbers of low-power system-on-a-chip technology allows it to outperform commodity clusters while saving on power Aggressive packaging of processors, memory and interconnect Power Efficient & Space Efficient Allows for latencies and bandwidths that are significantly better than those for nodes typically used in ASC scale supercomputers
37
37 1024 nodes System Overview
38
38 Blue Gene/L Networks Each node is attached to 3 main parallel communication networks 3D Torus network - peer-2-peer between compute nodes Collective network – collective & global communication Ethernet network - I/O and management (such as access to any node for configuration, booting and diagnostics )
39
39
40
40 Blue Gene/L System Software System software supports efficient execution of parallel applications Compiler support for DFPU (C, C++, Fortran) Compute nodes use a minimal operating system called “BlueGene/L compute node kernel” A lightweight, single-user operating system Supports execution of a single dual-threaded application compute process Kernel provides a single and static virtual address space to one running compute process Because of single-process nature, no context switching required
41
41
42
42
43
43 Performance on Linpack Benchmark www.top500.org
44
44
45
45 Performance on Linpack Benchmark www.top500.org
46
46 Low Power Cluster Architectures sensitivity to power consumption
47
47 Power Density Limits Serial Performance
48
48 Why Parallelism (2007)? All major processor vendors are producing multicore chips -Every machine will soon be a parallel machine -All programmers will be parallel programmers??? New software model -Want a new feature? Hide the “cost” by speeding up the code first -All programmers will be performance programmers??? Some may eventually be hidden in libraries, compilers, and high level languages -But a lot of work is needed to get there Big open questions: -What will be the killer apps for multicore machines -How should the chips be designed, and how will they be programmed?
49
49 Principles of Parallel Computing Finding enough parallelism (Amdahl’s Law) Granularity Locality Load balance Coordination and synchronization Performance modeling All of these things makes parallel programming even harder than sequential programming.
50
Σύγκλιση παράλληλων αρχιτεκτονικών
51
51 Ιστορική Αναδρομή Application Software System Software SIMD Message Passing Shared Memory Dataflow Systolic Arrays Architecture Η αβεβαιότητα αυτή καθυστερεί την ανάπτυξη παράλληλων εφαρμογών ! Οι παράλληλες αρχιτεκτονικές ήταν πάντα στενά συνδεδεμένες με προγραμματιστικά μοντέλα Παρατηρούνται αρχιτεκτονικές που συγκλίνουν, χωρίς προβλέψιμο μοντέλο ανάπτυξης.
52
52 An history of parallel computers temps Origine du temps concernant la réalisation d’ordinateurs parallèles suivant la classification précédente à partir de composants électroniques idées sur le traitement parallèle Menabrea 1842 V on Neumann 1952 1970 1980 1990 Cray 1 Cyber 205 Illiac IVSolomon Goodyear MPP CM1Maspar ICL DAP C.mmpCM*NYU HEP BBNDASH KSR T3D Vector SIMD MIMD Shared mem MIMD MP Cosmic Cube Ipsc nCubeCM5 Paragon SP1 CRAY XMP CRAY YMP CRAY C90 1966 Babbage 1822 CRAY T90 Grape5 SP2 CRAY X1 NEC SX6 NEC SX5 SGI Origin Regata 2000 HP ES40 Cplant Beowulf Score III
53
53 Flynn classification Data stream Instruction stream SingleMultiple Unique (Single) Multiple Calc Cont Mem 1 data stream 1 instruction SISD Calc Cont Mem 1 instruction SIMD Calc Mem Calc Mem Calc Mem Several data streams Calc Cont Mem 1 data stream Calc Cont several instruction Calc Cont Mem Calc Cont Mem CalcCont Mem MIMD Several data streams Several instruction streams MISD
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 Memory architecture classification Centralized memory Distributed memory Single address space Multiple address space Uniform Memory Access Non Uniform Memory Access Memory PE Network PE Network PE Memory PE Memory @0 @Max PE @0 @Max @0 @Max @0 @Max PE 12 3 6 9 3 6 9 PE 12 3 6 9 3 6 9 Memory opposite Difficulty + -
57
57 Προγραμματιστικό μοντέλο Καθορίζει την επικοινωνία και το συγχρονισμό Παραδείγματα: Multiprogramming: Όχι επικοινωνία ή συγχρονισμός στο επίπεδο προγραμματισμού Shared address space: όπως στους πίνακες ανακοινώσεων Message passing: όπως τα γράμματα ή οι τηλεφωνικές κλήσεις,από σημείο σε σημείο Data parallel: πιο πειθαρχημένες, συνολικές προσπελάσεις δεδομένων Υλοποιείται με shared address space ή message passing
58
58 Αρχιτεκτονική Επικοινωνίας = User/System Interface + Υλοποίηση Στόχοι: Απόδοση Ευρεία εφαρμογή Εύκολος προγραμματισμός Επεκτασιμότητα Χαμηλό κόστος
59
59 Αρχιτεκτονικές Μοιραζόμενης Μνήμης Οποιοσδήποτε επεξεργαστής μπορεί να προσπελάσει απ’ ευθείας οποιαδήποτε θέση μνήμης Η επικοινωνία προκύπτει έμμεσα, σαν αποτέλεσμα των αναγνώσεων και εγγραφών Ευκολία: Ο προγραμματιστής δεν αντιλαμβάνεται σε ποιο μηχάνημα βρίσκονται τα δεδομένα Παρόμοια προγραμματιστικά μοντέλα με time-sharing σε uniprocessors Εκτός του ότι οι διεργασίες εκτελούνται σε διαφορετικούς επεξεργαστές
60
60 Μοντέλο Μοιραζόμενης Μνήμης Διεργασία: εικονικός χώρος διευθύνσεων και ένα ή περισσότερα threads ελέγχου Μέρος του χώρου διευθύνσεων των διεργασιών είναι μοιραζόμενος
61
61 Μοντέλο Μοιραζόμενης Μνήμης Εγγραφές στη μοιραζόμενη μνήμη είναι ορατές στα άλλα threads (και στις άλλες διεργασίες) Φυσική επέκταση του uniprocessors μοντέλου: βολικές λειτουργίες μνήμης για επικοινωνία, ειδικές ατομικές λειτουργίες για συγχρονισμό Το λειτουργικό σύστημα χρησιμοποιεί μοιραζόμενη μνήμη για να συντονίσει τις διεργασίες
62
62 Hardware Επικοινωνίας I/O ctrl Mem Interconnect Mem I/O ctrl Processor Interconnect I/O devices
63
63 Centralized Shared Memory Multiprocessor Interconnection Network Processor Caches Main MemoryI/O System Processor Caches Processor Caches Processor Caches
64
64 Ιστορική αναδρομή “Mainframe” προσέγγιση Επεκτείνει την τεχνική crossbar που χρησιμοποιείται για να δώσει εύρος ζώνης στη μνήμη και την Είσοδο / Έξοδο Αρχικά το μέγεθος του συστήματος περιοριζόταν από το κόστος των επεξεργαστών αργότερα, από το κόστος του crossbar Το εύρος ζώνης μεγαλώνει με το p Υψηλό κόστος Χρήση αρχιτεκτονικών πολλών σταδίων
65
65 Ιστορική αναδρομή “Minicomputer” προσέγγιση Σχεδόν όλα τα συστήματα μικροεπεξεργαστών έχουν διάδρομο Χρησιμοποιείται πολύ για παράλληλο προγραμματισμό Ονομάζονται «Συμμετρικοί πολύ- επεξεργαστές» - symmetric multiprocessor (SMP) Η καθυστέρηση είναι μεγαλύτερη από την αντίστοιχη για έναν uniprocessor Ο διάδρομος αποτελεί bandwidth bottleneck Η λύση είναι η γρήγορη μνήμη: πρόβλημα συνάφειας (coherence) Χαμηλό κόστος επέκτασης
66
66 Παράδειγμα: Intel Pentium Pro Quad Μικρή καθυστέρηση και εύρος ζώνης
67
67 Παράδειγμα : SUN Enterprise Όλη η μνήμη προσπελαύνεται μέσω του διαδρόμου Μεγαλύτερο εύρος ζώνης, μεγαλύτερη καθυστέρηση στο διάδρομο
68
68 Επεκτασιμότητα “Dance hall” Κατανεμημένη μνήμη σε hw, μοιραζόμενη μέσω κατανεμημένης συνάφειας μνήμης (distributed cache coherence) MMM M MM Network P $ P $ P $ P $ P $ P $
69
69 Επεκτασιμότητα Πρόβλημα για τον τρόπο διασύνδεσης: υψηλό κόστος - crossbar ή μικρό bandwidth - bus Dance-hall: Το εύρος ζώνης είναι επεκτάσιμο, αλλά με μικρότερο κόστος από ότι στο crossbar Κατανεμημένη Μνήμη, ή Μη ομοιόμορφη προσπέλαση μνήμης (NUMA) ΤΙ γίνεται με την αποθήκευση σε γρήγορη μνήμη των μοιραζόμενων (ιδιαίτερα των μη τοπικών) δεδομένων;
70
70 Example: Cray T3E Επεκτείνεται μέχρι 1024 επεξεργαστές, 480MB/s ενώσεις Ο ελεγκτής μνήμης παράγει τις αιτήσεις επικοινωνίας για τις αναφορές σε απομακρυσμένες θέσεις Δεν υπάρχει μηχανισμός hardware για συνάφεια
71
71 Αρχιτεκτονικές Ανταλλαγής Μηνυμάτων Πλήρης υπολογιστής σαν δομική μονάδα, συμπεριλαμβανομένης της Ε/Ε Επικοινωνία μέσω ρητών εντολών Ε/Ε Προγραμματιστικό μοντέλο: Απ’ ευθείας προσπέλαση μόνο στον ιδιωτικό χώρο διευθύνσεων (τοπική μνήμη), επικοινωνία μέσω μηνυμάτων (αποστολή/λήψη)
72
72 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
73
73 Αφηρημένες δομές Ανταλλαγής Μηνυμάτων Η ρουτίνα αποστολής καθορίζει τον καταχωρητή που θα μεταφερθεί και τη διεργασία-παραλήπτη Η ρουτίνα λήψης καθορίζει τη διεργασία-αποστολέα και τη θέση που θα αποθηκευτούν οι λαμβανόμενες πληροφορίες Επιπλέον φορτίο: αντιγραφή, διαχείριση καταχωρητών, προστασία
74
74 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
75
75 Παράδειγμα: IBM SP-2
76
76 Παράδειγμα: Intel Paragon
77
77 Σύγκλιση των Αρχιτεκτονικών Η εξέλιξη του ρόλου του software έχει κάνει ασαφή τα όρια: Αποστολή / Λήψη υποστηρίζονται από μηχανήματα μοιραζόμενης μνήμης, μέσω κοινών καταχωρητών Μπορεί να υλοποιηθεί κοινός χώρος διευθύνσεων σε μηχανήματα ανταλλαγής μηνυμάτων Σύγκλιση παρατηρείται και στην οργάνωση του hardware
78
78 Data Parallel μοντέλο Προγραμματιστικό μοντέλο: Οι λειτουργίες εκτελούνται παράλληλα σε κάθε στοιχείο της δομής δεδομένων Ένα λογικό thread ελέγχου εκτελεί σειριακά ή παράλληλα βήματα Διαισθητικά, ένας επεξεργαστής συνδέεται με κάθε στοιχείο δεδομένων (data element) Αρχιτεκτονικό μοντέλο: Σειρά από πολλούς απλούς, φθηνούς επεξεργαστές με λίγη μνήμη ο καθένας Ένας επεξεργαστής ελέγχου δίνει τις εντολές Εξειδικευμένη και γενική επικοινωνία, φθηνός συνολικός συγχρονισμός
79
79 Data Parallel μοντέλο Ιδανικό για επίλυση προβλημάτων απλών διαφορικών εξισώσεων Κεντρικοποιείται το μεγάλο κόστος της ανάγνωσης και αποκωδικοποίησης εντολών
80
80 Συστολικές Αρχιτεκτονικές Αντικαθιστούν μονούς επεξεργαστές με σειρά κανονικών στοιχείων επεξεργασίας Συγχρονίζουν τη ροή δεδομένων ώστε να υπάρχει μεγάλος ρυθμός παραγωγής δεδομένων και λίγες προσπελάσεις της μνήμης
81
81 Συστολικές Αρχιτεκτονικές Παράδειγμα: Συστολική αρχιτεκτονική για μονοδιάστατη συνέλιξη
82
82 Σύγκλιση: Γενική Παράλληλη Αρχιτεκτονική Ένας γενικού σκοπού σύγχρονος πολυεπεξεργαστής
83
83 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)
84
Βασικά Θέματα Σχεδίασης
85
85 Βασικά Θέματα Σχεδίασης Ονοματολογία: Πώς διαχωρίζονται διαφορετικές διευθύνσεις δεδομένων ή / και διεργασίες; Λειτουργίες: Ποιες λειτουργίες μπορούν να γίνουν στα δεδομένα αυτά; Διάταξη: Πώς συντάσσονται και συντονίζονται οι προσβάσεις σε δεδομένα της μνήμης; Αντίγραφα: Πώς αντιγράφονται τα δεδομένα για να μειωθεί η επικοινωνία; Κόστος επικοινωνίας: Αρχική καθυστέρηση, εύρος ζώνης Κατανόηση σε προγραμματιστικό επίπεδο πρώτα, αφού αυτό δίνει τους περιορισμούς
86
86 Μοντέλο Ακολουθιακού Προγραμματισμού Διευθυνσιοδότηση : Η ονοματολογία των μεταβλητών αναφέρεται στον εικονικό χώρο διευθύνσεων Το hardware (και ίσως οι compilers) κάνουν τη μετάφραση στο φυσικό χώρο διευθύνσεων Λειτουργίες: Loads και Stores Διάταξη: Ακολουθιακή σειρά προγράμματος
87
87 Μοντέλο Ακολουθιακού Προγραμματισμού Απόδοση Εξαρτάται κυρίως από τις αναφορές στην ίδια θέση μνήμης: σειρά εξαρτήσεων Οι compilers και το hardware μπορούν να παραβιάζουν άλλες σειρές χωρίς να υπάρχει διαφορά Compiler: Αναδιάταξη και κατανομή καταχωρητών Hardware: εκτός σειράς, pipeline bypassing, καταχωρητές εγγραφής Αντιγραφή στις γρήγορες μνήμες χωρίς να το αντιλαμβάνεται ο χρήστης
88
88 Προγραμματιστικό μοντέλο μοιραζόμενου χώρου διευθύνσεων Διευθυνσιοδότηση : Κάθε διεργασία μπορεί να αναφέρεται σε οποιαδήποτε μεταβλητή στο μοιραζόμενο χώρο διευθύνσεων Λειτουργίες: loads και stores, και ό,τι χρειάζεται για τη διάταξη
89
89 Προγραμματιστικό μοντέλο μοιραζόμενου χώρου διευθύνσεων Απλούστατο μοντέλο διάταξης: Εντός μιας διεργασίας / νήματος: ακολουθιακή σειρά του προγράμματος Μεταξύ των threads: υπάρχει παρεμβολή ( όπως στην περίπτωση του time-sharing) Επιπλέον σειριοποιήσεις λόγω συγχρονισμού Οι compilers και το hardware μπορούν να παραβιάζουν τις σειρές αυτές χωρίς να υπάρχει διαφορά
90
90 Συγχρονισμός 1) Αμοιβαίος αποκλεισμός (locks) Εξασφαλίζει ότι ορισμένες λειτουργίες σε συγκεκριμένα δεδομένα μπορούν να εκτελούνται από μία μόνο διεργασία σε κάθε χρονική στιγμή Χώρος όπου δεν μπορούν να βρίσκονται παραπάνω από ένας ταυτόχρονα Δεν υπάρχει καμία εγγύηση ως προς τη σειρά
91
91 Συγχρονισμός 2) Συγχρονισμός με events Διάταξη των events ώστε να διατηρούνται οι εξαρτήσεις Π.χ. παραγωγός —> καταναλωτής δεδομένων 3 περιπτώσεις: Ένας προς έναν καθολικά ομαδικά
92
92 Προγραμματιστικό Μοντέλο Ανταλλαγής Μηνυμάτων Διευθυνσιοδότηση: Οι διεργασίες μπορούν να αναφέρονται σε τοπικά δεδομένα απ’ ευθείας. Δεν υπάρχει μοιραζόμενος χώρος διευθύνσεων Λειτουργίες: Ρητή επικοινωνία μέσω αποστολών και λήψεων Μια αποστολή μεταφέρει δεδομένα από τον τοπικό χώρο διευθύνσεων σε μια άλλη διεργασία Μια λήψη αντιγράφει δεδομένα από μια διεργασία στον τοπικό χώρο διευθύνσεων Πρέπει να μπορούμε να κατονομάζουμε τις διεργασίες
93
93 Προγραμματιστικό Μοντέλο Ανταλλαγής Μηνυμάτων Διάταξη: Δίδεται από τη σειρά του προγράμματος εντός μιας διεργασίας Αποστολή και λήψη μπορούν να παρέχουν συγχρονισμό μεταξύ δύο διεργασιών Υπάρχει εγγενής αμοιβαίος αποκλεισμός Μπορεί να κατασκευαστεί καθολικός χώρος διευθύνσεων: Αριθμός διεργασίας + διεύθυνση μέσα στο χώρο διευθύνσεων της διεργασίας Όχι όμως απ’ ευθείας λειτουργίες στις θέσεις αυτές
94
94 Θέματα Σχεδίασης Εφαρμόζονται σε όλα τα Επίπεδα Το προγραμματιστικό μοντέλο επιβάλλει περιορισμούς ή στόχους για το σύστημα Κάθε interface μεταξύ των επιπέδων υποστηρίζει: Μοντέλο διευθυνσιοδότησης Σύνολο λειτουργιών πάνω στις μεταβλητές Μοντέλο διάταξης Καθεστώς αντιγράφων Απόδοση επικοινωνίας Κάθε σύνολο διευθύνσεων μπορεί να απεικονιστεί σε οποιοδήποτε άλλο μέσω του κατάλληλου software
95
95 Διευθυνσιοδότηση και Λειτουργίες Η διευθυνσιοδότηση και οι λειτουργίες ενός προγραμματιστικού μοντέλου μπορούν να υποστηρίζονται απ’ ευθείας από τα χαμηλότερα επίπεδα ή να μεταφράζονται από τον compiler, από βιβλιοθήκες ή το λειτουργικό σύστημα
96
96 Διευθυνσιοδότηση και Λειτουργίες Παράδειγμα: προγραμματιστικό μοντέλο με μοιραζόμενο εικονικό χώρο διευθύνσεων 1) Αν το interface του hardware υποστηρίζει μοιραζόμενο φυσικό χώρο διευθύνσεων 2) Αν το hardware υποστηρίζει ανεξάρτητους φυσικούς χώρους διευθύνσεων Μπορεί να παρέχει μοιραζόμενο χώρο διευθύνσεων μέσω του λειτουργικού συστήματος (system/user interface) Ή μέσω των compilers ή κατά την ώρα της εκτέλεσης
97
97 Παράδειγμα: Υλοποίηση Ανταλλαγής Μηνυμάτων 1) Άμεση υποστήριξη από το interface του hardware 2) Υποστήριξη σε επίπεδο sys/user interface ή πιο πάνω από το software (σχεδόν πάντα) Το interface του hardware παρέχει τα βασικά για τη μεταφορά δεδομένων Αποστολή / Λήψη δομημένες με software Για κάθε περίπτωση και κάθε επίπεδο πρέπει να εξετάζονται θέματα όπως συχνότητες και είδη λειτουργιών, κόστη, ώστε να βρεθεί σε κάθε περίπτωση η χρυσή τομή Διευθυνσιοδότηση και Λειτουργίες
98
98 Διάταξη Ανταλλαγή μηνυμάτων: Δεν υπάρχουν περιορισμοί στη διάταξη των λειτουργιών μεταξύ των διεργασιών, εκτός από αυτούς που επιβάλλονται από ζεύγη αποστολής-λήψης Μοιραζόμενος χώρος διευθύνσεων: Το πώς βλέπουν οι διεργασίες τη σειρά των αναφορών στη μνήμη από άλλες διεργασίες καθορίζει η σημασιολογία του μοιραζόμενου χώρου διευθύνσεων
99
99 Δημιουργία αντιγράφων Πολύ σημαντική για τη μείωση της μεταφοράς δεδομένων - επικοινωνίας Εξαρτάται από το μοντέλο διευθυνσιοδότησης Μονός επεξεργαστής: Γίνεται αυτόματα από τις γρήγορες μνήμες Μείωση επικοινωνίας με τη μνήμη
100
100 Δημιουργία αντιγράφων Μοντέλο διευθυνσιοδότησης για ανταλλαγή μηνυμάτων Κάθε λήψη δημιουργεί αντίγραφο, χρησιμοποιώντας καινούριες μεταβλητές για την αποθήκευση δεδομένων Η αντιγραφή γίνεται ρητά στο software πάνω από το interface Μοντέλο διευθυνσιοδότησης για μοιραζόμενο χώρο διευθύνσεων Κάθε ανάγνωση φέρνει δεδομένα και μπορεί να δημιουργεί αντίγραφα χωρίς αυτό να γίνεται αντιληπτό από το χρήστη Γίνεται από τις γρήγορες μνήμες ή το λειτουργικό σύστημα Δημιουργούνται πολλά αντίγραφα με το ίδιο όνομα: πρόβλημα συνάφειας (coherence)
101
101 Απόδοση Επικοινωνίας Τρία χαρακτηριστικά ορίζουν την απόδοση: Αρχική Καθυστέρηση Εύρος ζώνης Κόστος: Όσον αφορά το συνολικό χρόνο εκτέλεσης του προγράμματος
102
102 Εύρος Ζώνης Αν μια λειτουργία εκτελείται σε 100ns Εύρος ζώνης: 10 Mops Εσωτερικό βάθος pipeline 10 => εύρος ζώνης 100 Mops Ο ρυθμός καθορίζεται από το πιο αργό στάδιο του pipeline, όχι από τη συνολική καθυστέρηση
103
103 Γραμμικό μοντέλο καθυστέρησης μεταφοράς δεδομένων Χρόνος μεταφοράς(n) = T 0 + n/B Όσο το n αυξάνει, το εύρος ζώνης πλησιάζει ασυμπτωτικά το ρυθμό B Το γραμμικό μοντέλο όμως δεν είναι πλήρες Πότε μπορεί να αρχικοποιηθεί η επόμενη μεταφορά; Χρειάζεται να ξέρουμε πώς γίνεται η μεταφορά
104
104 Μοντέλο κόστους επικοινωνίας Χρόνος επικοινωνίας ανά μήνυμα = Χρόνος αρχικοποίησης + Assist Occupancy + Καθυστέρηση Δικτύου + Μέγεθος/Εύρος ζώνης + Contention = o v + o c + l + n/B + T c
105
105 Μοντέλο κόστους επικοινωνίας Ο χρόνος αρχικοποίησης και assist occupancy μπορεί να είναι συνάρτηση του μεγέθους n του μηνύματος Κάθε στοιχείο κατά μήκος του διανυόμενου δρόμου έχει τη δική του occupancy και καθυστέρηση Η συνολική καθυστέρηση είναι το άθροισμα των καθυστερήσεων Η συνολική occupancy (1/εύρος ζώνης) είναι η μεγαλύτερη από τις occupancies
106
106 Μοντέλο κόστους επικοινωνίας Κόστος Επικοινωνίας = συχνότητα * (Χρόνος επικοινωνίας - Αλληλοεπικάλυψη) Γενικό μοντέλο για μεταφορά δεδομένων: Εφαρμόζεται και για μεταφορά από την κύρια στη γρήγορη μνήμη
107
107 GRID concept Approche pour la distribution de la puissance informatique (calcul, stockage et communication)
108
108 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- 2001) by Cleo Vilett, source Vined Khoslan, Kleiner, Caufield and Perkins.
109
109 Several types of GRID 2 kinds of distributed systems Computing « GRID » « Desktop GRID » or « Internet Computing » Peer-to-Peer systems Large scale distributed systems Large sites Computing centers, Clusters PC Windows, Linux <100 Stables Individual credential Confidence ~100 000 Volatiles No authentication No confidence Node Features:
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.