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

Σχετικά έγγραφα
Αρχιτεκτονική Υπολογιστών

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

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

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

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

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

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

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

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

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

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

Κατανεμημένα Συστήματα

Διονύσιος Σαλονικίδης. Μεταπτυχιακός Φοιτητής. Διπλωματική Εργασία. Επιβλέπων: Κωνσταντίνος Μαργαρίτης, Καθηγητής. Τμήμα Εφαρμοσμένης Πληροφορικής

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

Παράλληλοι υπολογιστές

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

Σειρά Ασκήσεων 13: Συνοχή (Coherence) Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές (Out-of-Order, Superscalar, Multithreading, Multicores)

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

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

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

Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας

Λειτουργικά Συστήματα Η/Υ

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

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

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

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

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ << ΜΕΛΕΤΗ ΤΗΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ CUDA ΚΑΙ ΠΑΡΑΛΛΗΛΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΡΤΩΝ GPU ΤΗΣ NVIDIA >> Αρ. Μητρώου: 04/2519

Παράλληλη Επεξεργασία

Παράλληλη Επεξεργασία

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών

1. Παράλληλοι υπολογιστές

***Computer Organization & Design the Hardware/Software Interface, David Patterson & John Hennessy, Morgan Kaufmann Publishers, 4thed

Περιορισμοί των βαθμωτών αρχιτεκτονικών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-ΙI. Ενότητα 5 : Αρχιτεκτονική ΙΑ-32

Συγκριτική μελέτη διεπιφανειών παράλληλου προγραμματισμού σε εφαρμογές εύρεσης κωδικού κρυπτογραφημένου με αλγόριθμο MD5

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

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

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

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

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

ΥΠΟΛΟΓΙΣΤΙΚΗ ΧΗΜΕΙΑ ΜΕ ΕΦΑΡΜΟΓΕΣ ΣΕ ΜΟΡΙΑ, ΥΛΙΚΑ, ΠΕΡΙΒΑΛΛΟΝ. Ι ΑΣΚΟΝΤΕΣ: Μαρία Κανακίδου, Σταύρος Φαράντος, Γιώργος Φρουδάκης

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

2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45

Παράλληλη Επεξεργασία

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

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ

Εισαγωγικά & Βασικές Έννοιες

Διεργασίες και Νήματα (2/2)

Εθνικό Μετσόβιο Πολυτεχνείο. Aλγόριθμοι δρομολόγησης εφαρμογών σε επίπεδο υλικού για πολυνηματικές αρχιτεκτονικές.

Παράλληλος προγραμματισμός σε επεξεργαστές γραφικών

Κατανεμημένο Σύστημα Διαχείρισης Εργασιών Απομακρυσμένης Εκτέλεσης Κώδικα Για Επιταχυντές Γραφικών Σε Συστοιχίες Υπολογιστών ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΜΕΛΕΤΗ ΘΕΡΜΟΚΡΑΣΙΑΣ ΠΟΛΥΠΥΡΗΝΟΥ ΕΠΕΞΕΡΓΑΣΤΗ ΜΕ ΕΦΑΡΜΟΓΕΣ PHOENIX

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

Αρχιτεκτονική Υπολογιστών. ηµήτρης Γκιζόπουλος Καθηγητής

Κατανεμημένος και Παράλληλος Προγραμματισμός. Ύλη μαθήματος. Βιβλιογραφία Μαθήματος 2/27/2016

Υπερβαθµωτή Οργάνωση Υπολογιστών

Ετήσια Τεχνική Έκθεση

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

Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών

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

Πολυνηματικές Αρχιτεκτονικές

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. Μελέτη Αλγορίθμων Εκτέλεσης και Χρονοδρομολόγησης Παράλληλων Εργασιών ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Εισαγωγικά & Βασικές Έννοιες

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

Περιεχόμενα Σκοπός Μεθοδολογία Παραδοτέα Συνεργασίες Μελλοντικές Δράσεις

ιαµέριση - Partitioning

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

Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Παράλληλος προγραμματισμός: Σχεδίαση παράλληλων προγραμμάτων

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων

Πολυνηματικές Αρχιτεκτονικές

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 6 : Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Δρ.

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΝΗΜΑΤΑ

Εισαγωγή. SMT 6 IPC, δυναμικά διαμοιραζόμενο. Superscalar 6 IPC. CMP 4x2 IPC

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

MPSoCs για εφαρμογές Video

Προγραμματισμός GPUs μέσω του περιβάλλοντος CUDA

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών

Αρχιτεκτονική Μνήµης

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο

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

Ελαχιστοποίηση της Καταναλισκόμενης Ενέργειας σε Φορητές Συσκευές

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ

Κατανεμημένα Συστήματα

Αρχιτεκτονική Μνήμης

All rights reserved

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

Transcript:

Αρχιτεκτονική Υπολογιστών Παραλληλισμός Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. 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 Σύνθεση: Κ.Γ. Μαργαρίτης, Πανεπιστήμιο Μακεδονίας, Τμήμα Εφαρμοσμένης Πληροφορικής.

Αρχιτεκτονική Υπολογιστών Παραλληλισμός

(Πολύ) Σύντομη Ιστορία Παραλληλισμού 1960-70 : Ταξινόμηση του Flynn, Concurrency (Ταυτοχρονισμός) 1970-80: Ανυσματικοί Υπολογιστές (Vector Computers), Υπολογιστές Μητρώου (Array Computers) 1980-90: VLSI, Μεγάλοι ΜultiProcessors, ILP (και Τransputer) 1990-2000: Δίκτυα, Συστοιχίες (Clusters), Μεγάλοι MultiComputers, Κατανεμημενα Συστηματα (Distributed Systems) 2000-10: Πολλαπλοι Πυρηνες (Multicores), Grids, GPUs 2010+ : Συνύπαρξη πολλών παραπάνω χαρακτηριστικών ακόμη και σε φορητούς υπολογιστές, Υβριδικοί / Ετερογενείς Υπολογισμοί, Data Centers, Εικονικοποίηση και Cloud

Ταξινόμηση Flynn (1)

Ταξινόμηση Flynn (2)

Επίπεδα Παράλληλισμού (1) Network Local Network (a) On-chip (b) coprocessor : Επίπεδο Επεξεργαστή. (c) multiprocessor (d) multicomputer : Επίπεδο Υπολογιστή. (e) Κατανεμημένο Σύστημα, Grid, Cloud.

Επίπεδα Παραλληλισμού (2) Επίπεδο Δεδομένων (Data Level Parallelism, DLP): ταυτόχρονη εκτέλεση πράξεων σε ομοειδή δεδομένα, σε ALU, κυλώματα ή και συνεπεξεργαστές ειδικού σκοπού, (32/64/128 bits, Vectror/Array Processors). Επίπεδο Εντολής (Instruction Level Parallelism, ILP): ταυτόχρονη εκτέλεση διαφορετικών εντολών ενός προγράμματος (Διοχέτευση, Υπερβαθμωτή εκτέλεση). Επίπέδο Νήματος (Thread Level Parallelism, Multithreading): ταυτόχρονη εκτέλεση πολλαπλών νημάτων (ελαφρών διεργασιών). Επίπεδο Πυρήνα/Εργασίας (Multicore/Task Parallelism): ταυτόχρονη εκτέλεση πολλαπλών νημάτων αλλά πλήρων διεργασιών (process ή task) σε πολλαπλούς πυρήνες (οσυσιαστικά ανεξάρτητους επεξεργαστές) Επίπέδο Λειτουργίας (Functional Parallelism): ταυτόχρονη εκτέλεση λειτουργιών (συνεπεξεργαστές GPU, DMA, I/O..) Επίπέδο Υπολογιστή/Υπολογισμού (Multiprocessors, Multicomputers): ταυτόχρονη εκτέλεση ενός ή διαφορετικών προγραμμάτων σε πολλαπλούς επεξεργαστές.

Παραλληλισμός Επιπέδου Δεδομένων (1) Vector / Array ή Massively Paralllel Processor (SIMD). Στη πράξη αντ 8x8=64 Επεξεργαστικα Στοιχεία (Processing Elements, PE's), έχουμε 2^16 ++ PE's. Το Δικτυο Διασύνδεσης είναι μορφής 1-d, 2-d ή 3-d Πλέγματος ή άλλης ειδικής μορφής..

Παραλληλισμός Επιπέδου Δεδομένων (2) SIMD συν-επεξεργαστής: Graphics Processing Unit (GPU) γενικού σκοπού) τύπου NVIDIA Fermi. 2^8 ++ PE σε 2-d πλέγμα.

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

Παραλληλισμός Επιπέδου Εντολής (ILP) Υπερβαθμωτή (Superscalar) Αρχιτεκτονική Υπερβαθμωτός επεξεργαστής με πέντε λειτουργικές μονάδες, τοποθετημένος σε διοχέτευση πέντε σταδίων (Pentim II).

Παραλληλισμός Επιπέδου Νήματος (1) Διπλή διοχέτευση 5 σταδίων σε ένα επεξεργαστή. Κάθε διοχέτευση μπορεί να εκτελεί μια ανεξάρτητη ροή (μικρο)εντολών (Νήμα).

Παραλληλισμός Επιπέδου Νήματος (2) Fork/Join σε επίπεδο γλώσσας μηχανής 13

Παραλληλισμός Επιπέδου Νήματος (3) Βήμα 1: Σε κάθε εντολή κόμβο του γράφου δώσε μια πινακίδα (Label) Βήμα 2: Για κάθε κόμβο που διακλαδίζεται σε n παιδιά γράψε n 1 fork και 1 goto μετά από την εντολή που εκτελεί ο κόμβος. Πχ. αν ο κόμβος έχει τρια παιδιά με πινακίδες L4, L5, και L7, γράψε fork(l4); fork(l5); goto L7; Βήμα 3: Για κάθε κόμβο στον οποίο συγκλίνουν n ακμές γράψε join(count) αμέσως μετά την πινακίδα αλλά πριν από την εντολή που αντιστοιχεί σε αυτήν. Το count αρχικοποιείται στο n. Βήμα 4 (προαιρετικό): σβήσε τα μη απαραίτητα goto. 14

Παραλληλισμός Επιπέδου Νήματος (4) Πολυ-νηματική εκτέλεση με απλή διοχέτευση και εκτός σειράς εκτέλεση. (a) (c) Τρία νήματα. Τα άδεια πλαίσια σημβολίζουν stalls. (d) Fine-grained multithreading (1 cycle). (e) Coarse-grained multithreading (max 3 cycles).

Παραλληλισμός Επιπέδου Νήματος (5) Πολυνηματική εκτέλεση με διπλή διοχέτευση και υπερβαθμωτή εκτέλεση. (a) Fine-grained multithreading (1 cycle, 2 stages). (b) Coarse-grained multithreading (max 2 cycles, 2 stages). (c) Simultaneous multithreading (any cycle, any stage).

Παραλληλισμός Επιπέδου Πυρήνα (a) Επεξεργαστής με 1 πυρήνα και 2 διοχετεύσεις σε 1 chip. (b) Επεξεργαστής με 2 πυρήνες της μιας διοχέτευσης σε 1 chip. Στις σύγχρονες εκδόσεις έχουμε 4 ++ πυρήνες διπλής διοχέτευσης σε 1 chip.

Σύστημα πολλαπλών πυρήνων ειδικού σκοπού. Κάθε πυρήνας ασχολείται με άλλη εργασία. Πχ media player, παιχνιδομηχανές κλπ.

Παραλληλισμός Επιπέδου Υπολογιστή Computer / board Switch Network (α) Σύστημα μοιραζόμενης μνήμης (Multicores, ΜultiProcessors). (β) Σύστημα κατανεμημένης μνήμης (Multicomputers, Clusters). Tα δίκτυα διασύνδεσης εμφανίζονται ως απλοί δίαυλοι, αλλά στη πραγματικότητα μπορεί να είναι πολύ πιο σύνθετα.

Σύγχρονα Υβριδικά Clusters Τυπικό υβριδικό cluster, multiprocessor/multicomputer. Μεταβίβαση μηνυμάτων (Message Passing) μεταξύ των Κόμβων (Nodes) και χρήση Νημάτων (Multithreading) εντός κάθε κόμβου. Ο κάθε Κόμβος μπορεί επί πλέον να περιέχει και GPU's.

Google (1) Επεξεργασία ερωτήματος στο Google.

Google (2) Τυπικό Google cluster.

Προβλήματα και προκλήσεις Αλλαγή προγραμματιστικού μοντέλου Αλγόριθμοι, Γλώσσες, Μεταγλωττιστές, Λειτουργικά Συστήματα, Αρχιτεκτονικές, Βιβλιοθήκες.. δεν είναι έτοιμα για Παραλληλισμό σε τόσο ευρεία κλίμακα και χρήση (από το μέσο προγραμματιστή). Σε αντίθεση με το Παραλληλισμό σε Επίπεδο Ετολής (ILP) το πρόβλημα μάλλον δεν μπορεί να λυθεί από τους 'αρχιτέκτονες' και τους 'μηχανικούς συστημάτων' χωρίς συνεργασία των προγραμματιστών εφαρμογών. Πιθανώς να χρειαστεί ανασχεδιασμός των επιπέδων αφαίρεσης (εικονικών μηχανών) στα σύγχρονα υπολογιστικά συστήματα, και, πιθανότατα νέα μοντέλα προγραμματισμού. 26/09/12 23