http://www.cslab.ece.ntua.gr/courses/pps Εισαγωγή Νεκτάριος Κοζύρης Γιώργος Γκούµας nkoziris@cslab.ece.ntua.gr goumas@cslab.ece.ntua.gr
Περιεχόµενο µαθήµατος Ζητήµατα παράλληλων αρχιτεκτονικών Κατηγορίες παράλληλων αρχιτεκτονικών ίκτυα διασύνδεσης Συνέπεια µνήµης Συνάφεια κρυφής µνήµης Παράλληλος προγραµµατισµός Σχεδιασµός παράλληλων προγραµµάτων Ζητήµατα υλοποίησης: προγραµµατιστικά µοντέλα, γλώσσες και εργαλεία Εργαστήριο και εργασίες: Παραλληλοποίηση προγραµµάτων Μετρήσεις επίδοσης
ιαδικαστικά ιαλέξεις: Τρίτη 16:15-19:00, Αίθουσα 06 Εργαστήριο: Ίδιες ώρες µε τις διαλέξεις, είτε στο Εργαστήριο Υπολογιστικών Συστηµάτων είτε στην αίθουσα Σχήµα βαθµολογίας: 50% γραπτό, 50% εργαστήριο (µπορεί να υπάρξουν µικρές αλλαγές) Βιβλίο-σηµειώσεις: ΣυστήµαταΠαράλληληςΕπεξεργασίας, Γ. Παπακωνσταντίνου, Θ. Θεοχάρης, Π. Τσανάκας Κεφάλαιααπότοβιβλίο "Parallel Computer Architecture", D. Culler, Morgan Kaufmann, 1998 ιαφάνειες µαθηµάτων Λίστα µαθήµατος: http://lists.cslab.ece.ntua.gr/mailman/listinfo/parlab Γραφτείτε στη λίστα!: Ερωτήσεις-απορίες Ανακοινώσεις (επίσηµες!)
ιαφηµίζοντας το µάθηµα Η παραλληλία υπάρχει οπουδήποτε υπάρχουν πολλαπλές λειτουργικές µονάδες: στηνπαραγωγή, στηνκατασκευή, κλπ, δηλαδή σχεδόνπαντού! Παραλληλία στα υπολογιστικά συστήµατα: Στοεσωτερικότουεπεξεργαστή: ILP και pipelines vector processing Στο επίπεδο του λειτουργικού για την αξιοποίηση των πόρων του συστήµατος (CPU, I/O devices) Σε πολυπύρηνα συστήµατα Σε υπερυπολογιστικά συστήµατα µε χιλιάδες επεξεργαστές Παράλληλος προγραµµατισµός Παραδοσιακά για επιστηµονικές εφαρµογές σε υπερυπολογιστές Πρόσφατα για ΟΛΕΣ τις εφαρµογές σε πολυπύρηνους επεξεργαστές Ο παράλληλος προγραµµατισµός είναι επιτέλους trendy!!!
Τιθαµάθω Ζητήµατα αρχιτεκτονικής που αφορούν τα συστήµατα παράλληλης επεξεργασίας Ποιες είναι οι µεγάλες αρχιτεκτονικές κλάσεις παράλληλων συστηµάτων Πως διασυνδέονται οι υπολογιστικοί κόµβοι (δίκτυα διασύνδεσης) Πως διατηρείται η συνέπεια των αντιγράφων όταν υπάρχουν πολλαπλά αντίγραφα στις κρυφές µνήµες των επεξεργαστών «Μεθοδολογίες» σχεδίασης παράλληλων προγραµµάτων Γλώσσες, προγραµµατιστικά µοντέλα και εργαλεία παράλληλου προγραµµατισµού: MPI OpenMP CUDA Cilk PGAS
Supercomputers Γιαδεκαετίες: parallel computing = supercomputing Συνεργασία πολλών επεξεργαστών για την επίλυση επιστηµονικών προβληµάτων: Επιστήµες µηχανικού (ρευστοδυναµική, στατική, κλπ) Επιστήµες της γης και του διαστήµατος (πρόγνωση καιρού/σεισµών/πυρκαγιάς, µαγνητικέςκαταιγίδες, αστρονοµία, κοσµολογία, κλπ) Επιστήµες της ζωής (ανάλυση DNA, πρωτεϊνών) Οικονοµικές επιστήµες Κοινωνικές επιστήµες Εφαρµογές number crunching µε ακόρεστη «δίψα» για υπολογιστική δύναµη Πλατφόρµα εκτέλεσης: υπερυπολογιστές µε χιλιάδες επεξεργαστικές µονάδες
www.top500.org
www.top500.org
Top systems
ύο µεγάλες αρχιτεκτονικές κλάσεις: Cluster: εµπορικό δίκτυο διασύνδεσης και µέρη Πλεονεκτήµατα : Οικονοµικότερες λύσεις Ευκολία στην συναρµολόγηση, ρύθµιση και λειτουργία Μειονεκτήµατα : Λιγότερο «κλιµακώσιµο» (?) «Μετριότερη» επίδοση (?) Custom built: ειδικά κατασκευασµένο δίκτυο διασύνδεσης Πλεονεκτήµατα : «Κλιµακώσιµο» Υψηλή επίδοση Μειονεκτήµατα : Υψηλό κόστος κτήσης και λειτουργίας Κλάσεις Υπολογιστών Υψηλών Επιδόσεων
Ταξινόµηση ΥΥΕ Υποκλάσεις (τύποι): Cluster(*): Homogeneous cluster: βασίζεται σε οµογενείς CPUs Heterogeneous cluster: βασίζεται σε ετερογενείς CPUs Custom built: Άλλοιόροι MPP(*): Super-scalar CPU µε µέτριο ή χωρίς πολυνηµατισµό Vector: Κόµβοι διανυσµατικών µονάδων MMT: Μαζικά πολυνηµατικές CPUs Thin cluster node: µικρό µέγεθοςυπολογιστικώνµονάδων, µνήµηςκαιι/ο (π.χ. 2-4 πυρήνες) Fat cluster node: µεγάλο µέγεθοςυπολογιστικώνµονάδων, µνήµηςκαιι/ο (π.χ.. Περισσότεροιαπό 16 πυρήνες) Constellation (*)συστοιχία P 1 κόµβωνµε P 2 πυρήνες (P 2 >P 1 ) Accelerated: κόµβοιπεριλαµβάνουνεπιταχυντές HW (π.χ. GP-GPU, FPGA) (*) όροι TOP500
Σύνοψη ταξινόµησης ΥΥΕ ΥΥΕ Αρχιτεκτονική κλάση Συστοιχία (cluster) Ειδικά κατασκευασµένο σύστηµα (custom-made system) Οµογενής συστοιχία (homogeneous cluster) Ετερογενής συστοιχία (heterogeneous cluster) Αρχιτεκτονικός τύπος Συστοιχία µε λεπτούς κόµβους (thin-node cluster) Συστοιχία µε αδρούς κόµβους (fat-node cluster) MPP Vector MMT Αστερισµός (constellation)
Timeline: distribution of architectures in Top500 Clusters progressively dominate TOP500 list Currently: 424 clusters 74 MPPs 2 constellations
Timeline: distribution of architectures in Top500 TOP100: 48 clusters 51 MPPs 1 constellations TOP10: 4 clusters 6 MPPs TOP1: MPP
Επεξεργαστές και επιταχυντές Οι ΥΥΕ χρησιµοποιούν κατά κύριο λόγο εµπορικούς επεξεργαστές Τα τελευταία χρόνια έχει αυξηθεί ραγδαία η χρήση επιταχυντών (κυρίως GPUs) Σηµαντικό εύρος από οικογένειες επεξεργαστών: AMD Opteron NEC 3200 IBM Power 6 IBM PowerPC 970MP IBM PowerXcell 8i Intel Itanium Intel Xeon
Processor families share June 2010 Intel EM64T (Core, Xeon, Nehalem) x86 IS CISC out-of-order AMD x86_64 (Opteron) x86 IS CISC out-of-order Intel IA-64 (Itanium) VLIW architecture IBM Power PowerPC / PowerXcell RISC architecture in-order Power6 RISC architecture out-of-order SUN Sparc RISC architecture NEC 3200 Vector architecture
Επιταχυντές Κάρτες γραφικών Καλύτερη επίδοση ανά µονάδα ισχύος και κόστους από τους επεξεργαστές Μαζικά πολυπύρηνες ιαχείριση ιεραρχίας µνήµης από το λογισµικό Χαµηλή επίδοση σε εφαρµογές µε πολύπλοκες ροές ελέγχου Απαιτούν εξειδικευµένα προγραµµατιστικά µοντέλα και εργαλεία
ίκτυα διασύνδεσης Ειδικά κατασκευασµένα δίκτυα (custom made) ίκτυο του BlueGene 5 διαφορετικάδίκτυα: point-to-point και multicast collective communication global interrupts για barriers I/O control ίκτυο του Cray XT 3D torus 9,6Gb/s ίκτυο του NEC SX-9 1-stage crossbar εντόςτου frame (512Gb/s/θύρα) full crossbar µεταξύ frames (128Gb/s/θύρα) ίκτυο του SGI Altic 4000 NUMAlink4 στο εσωτερικό των blades και µεταξύ των blades 6,4Gb/s
ίκτυα διασύνδεσης Εµπορικά δίκτυα Ethernet GbE και 10GbE Μεγάλο εύρος ζώνης Συµβατό µε υποδοµές Ethernet (οικονοµικό) Μεγάλο latency (40 µs για το GbE και 10 µs για το 10GbE) Infiniband Εως 40Gb/s εύρος ζώνης Χαµηλό latency: 4us Infinipath Παραλλαγή του Infiniband Σύνδεση µε το HyperTransport Πολύ χαµηλό latency: 1,3us Myrinet Εύρος ζώνης 10Gb/s Χαµηλό latency: 2us
Interconnect share June 2010
Top500: June 2010 list (companies)
Top500: June 2010 list (countries)
Top500 highlights Ranked 1 st : MPP 224162 cores AMD x86_64 Opteron Six Core 2600 MHz Proprietary interconnection network 1.76PFlops USA Ranked 2 nd : Cluster 120640 cores Intel EM64T Xeon X56xx Infiniband QDR 1.27Pflops China 235 / 500 cluster µε Gigabit Ethernetκαι Intel EM64T Μόνο 1 από αυτά στο Top100 (#28) 207 / 500 cluster µε Infiniband 5 απόαυτάστο Top10 3000-5000 πυρήνες απαιτούνται για την είσοδο στο top500