Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Αρχιτεκτονική Υπολογιστών
Παραλληλισμός
Βασικές Πηγές:
Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam.
Computer Architecture and Engineering, K. Asanovic, CS1/2-52, University of Berkeley.
Αρχιτεκτονική Υπολογιστών, Ν. Κοζύρης, Εθνικό Μετσόβιο Πολυτεχνείο.
Compaq: Simultaneous Multi-Threading (Alpha EV8)
Silicon Graphics: Multiprocessor Architecture
Σύνθεση: Κ.Γ. Μαργαρίτης, Πανεπιστήμιο Μακεδονίας, Τμήμα Εφαρμοσμένης Πληροφορικής.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Αρχιτεκτονική Υπολογιστών
Παραλληλισμός
Επίπεδα ΠαραλληλισμούΠαραλληλισμός επιπέδου ΕπεξεργαστήΠαραλληλισμός επιπέδου ΥπολογιστήΣύγκλιση Τεχνολογιών
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Επίπεδα ΠαραλληλισμούΕπίπεδο Δεδομένων (Data Level Parallelism, DLP): ταυτόχρονη εκτέλεση
πράξεων σε ομοειδή δεδομένα, σεALU, κυλώματα ή και συνεπεξεργαστές ειδικού σκοπού, (32/64 bits, εσωτερικό GPU).
Επίπεδο Εντολής (Instruction Level Parallelism, ILP): ταυτόχρονη εκτέλεση διαφορετικών εντολών ενός προγράμματος (Υπερβαθμωτή εκτέλεση, Διοχέτευση).
Επίπέδο Εργασίας (Task/Thread Level Parallelism, Multithreading): ταυτόχρονη εκτέλεση πολλαπλών νημάτων (διεργασιών).
Επίπέδο Λειτουργίας (Functional Parallelism): ταυτόχρονη εκτέλεση λειτουργιών (συνεπεξεργαστές GPU, DMA, I/O ..)
Επίπέδο Υπολογιστή/Υπολογισμού (Multiprocessors, Multicomputers): ταυτόχρονη εκτέλεση ενός ή διαφορετικών προγραμμάτων σε πολλαπλούς επεξεργαστές.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Παράλληλες Αρχιτεκτονικές
(a) On-chip (b) coprocessor : Επίπεδο Επεξεργαστή. (c) multiprocessor (d) multicomputer : Επίπεδο Υπολογιστή.(e) Κατανεμημένο Σύστημα, Grid.
Network
LocalNetwork
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Παραλληλισμός Επιπέδου Εντολής (ILP)Pipelining (Διοχέτευση, Σωλήνωση)
(α) Μια διοχέτευση πέντε σταδίων (β) Η κατάσταση κάθε σταδίου σε εννέα κύκλους ρολογιού.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Παραλληλία Επιπέδου Εντολής (ILP) Υπερβαθμωτή (Superscalar) Αρχιτεκτονική
Υπερβαθμωτός επεξεργαστής με πέντε λειτουργικές μονάδες, τοποθετημένος σε διοχέτευση πέντε σταδίων (Pentim II).
Υπερβαθμωτή Αρχιτεκτονική (2)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Διπλή διοχέτευση καιπολλαπλές μονάδες εκτέλεσηςΚάθε διοχέτευση μπορεί να εκτελεί μια ανεξάρτητη ροή εντολών(Νήμα)
Executeunit
Executeunit
Executeunit
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
On-Chip Multithreading (1)
Πολυ-νηματική εκτέλεση με απλή διοχέτευση και εκτός σειράς εκτέλεση.(a) – (c) Τρία νήματα. Τα άδεια πλαίσια σημβολίζουν stalls.
(d) Fine-grained multithreading (1 cycle). (e) Coarse-grained multithreading (max 3 cycles).
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
On-Chip Multithreading (2)
Multithreading με διπλή διοχέτευση και υπερβαθμωτή εκτέλεση. (a) Fine-grained multithreading (1 cycle, 2 stages).
(b) Coarse-grained multithreading (max 2 cycles, 2 stages). (c) Simultaneous multithreading (any cycle, any stage).
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Hyperthreading στο Pentium 4
Κατανομή πόρων μεταξύ νημάτων στη μικροαρχιτεκτονικήPentium 4 NetBurst.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Compaq Simultaneous Multi Threading (1)
Κάθε στάδιο της διοχέτευσης λειτουργεί σαν 4 σχετικά ανεξάρτητοι επεξεργαστές.Επέκταση της Υπερβαθμωτής Επεξεργασίας σε όλα τα στάδια διοχέτευσης.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Compaq Simultaneous Multi Threading (2)
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Παραλληλισμός Επιπέδου Δεδομένων
(a) Massively Parallel Processors (MPPs): μια CPU πολλές ALUs σε διάταξη πίνακα 1 ή 2 διαστάσεων (Vectror - Array Processors).(b) Coprocessors, GPUs. Επίσης ειδικές εντολές σε Pentium, AMD, GPUs..
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Παραλληλισμός Επιπέδου Υπολογιστή
(α) Σύστημα μοιραζόμενης μνήμης (Multiprocessors, Multicores, SMPs).(β) Σύστημα κατανεμημένης μνήμης (Multicomputers, Clusters).
Network
Switch
computer
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Clusters – Networked Systems
Τυπικό cluster, δικτυακός multicomputer.Μεταβίβαση μηνυμάτων (Message passing)
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Ταξινόμηση Flynn
Flynn’s taxonomy of parallel computers.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Google (1)
Επεξεργασία ερωτήματος στο Google.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Google (2)
Τυπικό Googlecluster.
22/09/10
CS252-s06, Lec 01-intro
19
1. Η ενέργεια (ηλεκτρισμός) είναι φθηνή, το υλικό (ημιαγωγοί) είναι ακριβό.
Τώρα: “Power wall”: Η ενέργεια είναι ακριβή! Το υλικό φθηνό: Μπορούμε να χωρέσουμε περισσότερα transistors από όσα μπορούμε να τροφοδοτήσουμε/ψύξουμε αποδοτικά.
2. Επαρκής αύξηση της απόδοσης: Παραλληλισμός σε Επίπεδο Εντολής (ILP) με τη βοήθεια μεταγλωττιστών και αρχιτεκτονικών βελτιώσεων (pipelining, superscalar, out-of-order, speculation, VLIW, …)
Τώρα: “ILP wall”: μείωση του ρυθμού βελτίωσης της απόδοσης με τη πρόσθεση υλικού για περισσότερο ILP.
3. Οι πολλαπλασιασμοί είναι αργοί, η προσπέλαση μνήμης γρήγορη.
Τώρα: “Memory wall”: Οι μνήμες είναι πια πολύ πιο αργές από τους επεξεργαστές (200 κύκλοι μηχανής για τη πρόσβαση στη DRAM, 4 κύκλοι για το πολλαπλασιασμό).
4. Η απόδοση των επεξεργαστών διπλασιάζεται κάθε 1.5 χρόνο.
Τώρα: 'Ισως 5 χρόνια Power Wall + ILP Wall + Memory Wall = Brick Wall
'Κοινοί Τόποι' στην Αρχιτεκτονική Υπολογιστών
cslab@ntua 2007-2008
20
Κατανάλωση ισχύος επεξεργαστών σε watts/cm2
cslab@ntua 2007-2008
21
Power Wall: προβολή του Nόμου του Moore
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Απόδοση Επεξεργαστών
cslab@ntua 2007-2008
23
Συχνότητα ρολογιού Επεξεργαστή προς Ταχύτητα Διαύλου Μνήμης
cslab@ntua 2007-2008
24
Μemory Wall:Χάσμα Επεξεργαστή Μνήμης
20
00
processor60%/yr
memory7%/yr
1
10
100
1000
19
80
19
81
19
83
19
84
19
85
19
86
19
87
19
88
19
89
19
90
19
91
19
92
19
93
19
94
19
95
19
96
19
97
19
98
19
99
DRAM
CPU
19
82
processor-memoryperformance gap:(grows 50% / yr)
Time
“Moore’s Law”
Speed(MHz)
22/09/10
CS252-s06, Lec 01-intro
25
Τέλος Εποχής του Ενός Επεξεργαστή:
Πολλαπλοί 'Πυρήνες' (cores)Μια από τις μεγαλύτερες αλλαγές στην ιστορία των συστημάτων
υπολογιστών
Διπλασιασμός των επεξεργαστών (πυρήνων) ανά 2 χρόνια περίπου.
Επέκταση του Simultaneous Multithreading σε συνδυασμό με ιεραρχία από τοπικές (κρυφές) μνήμες.
Ουσιαστικά ανεξάρτητοι επεξεργαστές μοιραζόμενης μνήμης.
Φαίνεται να επιλύει τα προβλήματα των :Power Wall, ILP Wall, Memory Wall.
cslab@ntua 2007-2008
26
Η επανάσταση που συμβαίνει σήμερα
O «γνήσιος» νόμος του Moore συνεχίζει να ισχύει!
Η πυκνότητα των κυκλωμάτων εξακολουθεί να αυξάνει ~2x κάθε 2 χρόνια
– Αλλά όχι η συχνότητα ρολογιού
– Θα διπλασιάζεται ο αριθμός των πυρήνων κάθε 2 χρόνια (?)
Λίγος ή καθόλου ILP προς εκμετάλλευση. Ο παραλληλισμός πρέπει να μεταφερθεί στο σύστημα και το λογισμικό.
Source: Intel, Microsoft (Sutter) and Stanford (Olukotun, Hammond)
22/09/10
CS252-s06, Lec 01-intro
27
Μια 'θάλασσα' επεξεργαστών;
Intel 4004 (1971): 4-bit processor,2312 transistors, 0.4 MHz, 10 micron PMOS, 11 mm2 chip
επεξεργαστής = νέο transistor;
RISC II (1983): 32-bit, 5 stage pipeline, 40,760 transistors, 3 MHz, 3 micron NMOS, 60 mm2 chip
125 mm2 chip, 0.065 micron CMOS = 2312 RISC II+FPU+Icache+Dcache
– RISC II shrinks to ~ 0.02 mm2 at 65 nm
– Caches via DRAM or 1 transistor SRAM?
22/09/10
CS252-s06, Lec 01-intro
28
Transistor+Computer = Transputer (1980-90)
Οι πολυεπεξεργαστές πάντα υπήρχαν 1970s, ‘80s, ‘90s, …“… today’s processors … are nearing an impasse as technologies
approach the speed of light..”David Mitchell, The Transputer: The Time Is Now (1989)
...αλλά μόνο ως συστήματα ειδικού σκοπού⇒ Custom multiprocessors tried to beat uniprocessors⇒ Procrastination rewarded: 2X seq. perf. / 1.5 years
Τώρα όμως όλες οι μεγάλες εταιρίες συμφωνούν.. “We are dedicating all of our future product development to multicore
designs. … This is a sea change in computing”Paul Otellini, President, Intel (2004)
..και στρέφονται στους πολυεπεξεργαστές (AMD, Intel, IBM, Sun; all new Apples 2+ CPUs, NVIDIA, PlayStation..) ⇒ Procrastination penalized: 2X sequential perf. / 5 yrs⇒ Biggest programming challenge: from 1 to 2 CPUs
cslab@ntua 2007-2008
29
Παραλληλισμός: Σύκλιση ΤεχνολογιώνΈως το 1985: Παραλληλία σε
επίπεδο bit: 4-bit -> 8 bit -> 16-bit
1985 - 1995: Παραλληλία σε επίπεδο εντολής (Instruction Level Parallelism, ILP)
1995: Παραλληλία σε επίπεδο διεργασίας (νήματος, thread) (Simultaneous Multithreading)
2004: Παραλληλία σε επίπεδο πυρήνων (cores)
Έως το 1985: κυρίως Υπερυπολογιστές, Πειραματικά Συστήματα
1985 – 1990: VLSI, Transputers, Δίκτυα, Κατανεμημένα Συστήματα
1990 – 2000: Clusters, SMPs, Threads, Δίκτυα Υψηλής Απόδοσης, Grids
2004: Παραλληλία σε πολλαπλά επίπεδα (πυρήνες, threads, επεξεργαστές, clusters, Grids)
22/09/10
CS252-s06, Lec 01-intro
30
Προβλήματα και προκλήσεις
Αλλαγή προγραμματιστικού μοντέλου
Αλγόριθμοι, Γλώσσες, Μεταγλωττιστές, Λειτουργικά Συστήματα, Αρχιτεκτονικές, Βιβλιοθήκες .. δεν είναι έτοιμα για Παραλληλισμό σε Επίπεδο Δεδομένων ή Διεργασίας(Νήματος).
Σε αντίθεση με το Παραλληλισμό σε Επίπεδο Ετολής (ILP) το πρόβλημα μάλλον δεν μπορεί να λυθεί από τους 'αρχιτέκτονες' και τους 'μηχανικούς συστημάτων' χωρίς συνεργασία των προγραμματιστών εφαρμογών.
Πιθανώς να χρειαστεί ανασχεδιασμός των επιπέδων αφαίρεσης (εικονικών μηχανών) στα σύγχρονα υπολογιστικά συστήματα.
22/09/10
CS252-s06, Lec 01-intro
31
Intel Itanium
22/09/10
CS252-s06, Lec 01-intro
32
ALUs (4)
FPUs (4)
regfile
128x128256KBlocal
memory
ALUs (4)
FPUs (4)
regfile
128x128
256KBlocal
memory
ALUs (4)
FPUs (4)
regfile
128x128
256KBlocal
memory
ALUs (4)
FPUs (4)
regfile
128x128
256KBlocal
memory
ALUs (4)
FPUs (4)
regfile
128x128
256KBlocal
memory
ALUs (4)
FPUs (4)
regfile
128x128
256KBlocal
memory
ALUs (4)
FPUs (4)
regfile
128x128
256KBlocal
memory
ALUs (4)
FPUs (4)
regfile
128x128
256KBlocal
memory
64-bit SMTPower core,2x in-ordersuperscalar
512K L2
I$ D$
EIB
DMA, I/OControllers
IΒΜ Cell (1)
22/09/10
CS252-s06, Lec 01-intro
33
IΒΜ Cell (2)
22/09/10
CS252-s06, Lec 01-intro
34
Intel Dunnington, 12/09/086 Pentium cores, ~90GFlops
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Σύστημα πολλαπλών πυρήνων ειδικού σκοπού.
Κάθε πυρήνας ασχολείται με άλλη εργασία.
22/09/10
CS252-s06, Lec 01-intro
36
NVIDIA GPU G800GL
22/09/10
CS252-s06, Lec 01-intro
37
NVIDIA Tesla, τέλος 2008200+ επεξεργαστές, 4 Tflops