Σύγχρονες Προκλήσεις. Εισαγωγή Οι CMP είναι πια πραγματικότητα – Intel Core 2, Quad, Nehalem – IBM Power5, Power6 – Sun Niagara, Niagara2, Rock –

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τι είναι ο προγραμματισμός
Advertisements

IBM Confidential Until Announcement ® IBM Software © 2006 IBM Corporation Χορήγηση Αδειών Χρήσης βάσει Μονάδων Αξίας Επεξεργαστών (Processor Value Unit.
ΨΗΦΙΑΚΗ ΜΝΗΜΗ (RAM – ROM).
Υλοποίηση μεταφραστή C με επεκτάσεις OpenMP Λεοντιάδης Ηλίας Τζούμας Γεώργιος Πτυχιακή εργασία Τελική παρουσίαση Υπεύθυνος καθηγητής Β. Β. Δημακόπουλος.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
H διαδικασία ανάπτυξης λογισμικού. Tι θα γνωρίσουμε •Τις φάσεις ανάπτυξης του λογισμικού. •Γιατί χρειάζεται να γίνει ανάλυση του προβλήματος. •Τι θα πρέπει.
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
Ζητήματα Σελιδοποίησης
Κεφάλαιο 6 Threads. 2 Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά.
ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Τρίτο Εξάμηνο: Έβδομο Καθηγητής:
Πολυνηματικές Αρχιτεκτονικές
29/11/2004Εισαγωγή στο OpenMP1 OpenMP Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
1/12/2003Εισαγωγή στο OpenMP1 OpenMP Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
Υποθετικός Πολυνηματισμός. Τα προβλήματα του παράλληλου προγραμματισμού  Εντοπισμός παραλληλισμού – χειροκίνητα (επισκόπηση) – αυτόματα (compiler) 
Λύση: Multicycle υλοποίηση Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή.
ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ. Εισαγωγή Έρευνα στην Αρχιτεκτονική Υπολογιστών – Σχεδίαση επεξεργαστή για την εκτέλεση 1 thread (pipeline, branch prediction)
Πολυνηματικές Αρχιτεκτονικές. Εισαγωγή  Η ενσωμάτωση πολλαπλών ροών εκτέλεσης αποτελεί πλέον μονόδρομο στην τεχνολογία των επεξεργαστών –Ελάχιστη ανταπόδοση.
ΠΑΡΑΛΛΗΛΟΠΟΙΗΣΗ ΓΕΝΕΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ ΠΟΛΛΑΠΛΩΝ ΣΤΟΧΩΝ
Π ΑΡΑΛΛΗΛΗ / ΚΑΤΑΝΕΜΗΜΕΝΗ ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ Εισαγωγή στο OpenMP.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
Caches for Parallel Architectures (Coherence) Figures, examples από 1.Parallel Computer Architecture: A Hardware/Software Approach,
Οργάνωση και Αρχιτεκτονική Υπολογιστών Βασικές αρχές Αρχιτεκτονικής
ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ
Research Activities Dimitrios Soudris Embedded Systems and VLSI Design Group, DUTH.
Multi-threading Κορομηνάς Κωνσταντίνος – Μ437
National Technical University of Athens (NTUA), GreeceInstitute of Structural Analysis & Seismic Research (ISASR) Προχωρημένες υπολογιστικές τεχνικές και.
ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Διαφάνειες από το MicroArch 35 Tutorial του Simics
Multi-threading Κορομηνάς Κωνσταντίνος – Μ437 Χατζηανδρέου Ελένη - Μ400 Χήνου Διονυσία – Μ364.
Ανασκόπηση Σχεδιασμού στο CAN Διονύσης Αθανασόπουλος Βασιλική Δεβελέγκα.
Μικροεπεξεργαστές Λειτουργία - Εξέλιξη
Implicitly Multithreaded Processors Νίκος Ιωάννου EΠΛ605 Παρουσίαση άρθρου “IMT processors”
1 EPIC Νάνου Σπυριδούλα Α.Μ Explicitly Parallel Instruction Computing Ένα νέο στυλ αρχιτεκτονικής που σκοπό έχει: Τη δυνατότητα υψηλότερου επιπέδου.
Διπλωματική Εργασία Πειραματική Αξιολόγηση της Μοναδιαίας Οκνηρής Συνέπειας Τόξου (Singleton Lazy Arc Consistency) Ιωαννίδης Γιώργος (ΑΕΜ: 491)
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
© Processor-Memory (DRAM) Διαφορά επίδοσης Performance
Γλωσσάρι πληροφορικής Γιώργος καραγίαννης Σταύρος καλογερόπουλος.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Translation Lookaside Buffers Φροντιστήριο του μαθήματος “Προηγμένοι Μικροεπεξεργαστές”
Cortex-A Πλήρη λειτουργικά Yψηλή επίδοση Cortex-A Πλήρη λειτουργικά Yψηλή επίδοση Cortex-R Αυστηρές διορίες Διαχείριση λαθών Cortex-R Αυστηρές διορίες.
Αρχιτεκτονική Υπολογιστών Ενότητα # 4: I/O Διδάσκων: Γεώργιος Κ. Πολύζος Τμήμα: Πληροφορικής.
Αρχιτεκτονική Υπολογιστών Ενότητα # 3: Ιεραρχία Μνήμης Διδάσκων: Γεώργιος Κ. Πολύζος Τμήμα: Πληροφορικής.
Calvin:Fast Distributed Transactions for Partitioned Database System Ηλίας Σπανός Αντωνία Νικολάου Calvin: Fast Distributed Transactions for Partitioned.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Αρχιτεκτονική Υπολογιστών Ανδρέας Μιαουδάκης. Αρχιτεκτονική Υπολογιστών ΠΕΡΙΓΡΑΜΜΑ ΥΛΗΣ Εισαγωγή στη σύγχρονη τεχνολογία υλοποίησης των υπολογιστών. Η.
Parallel Architectures Memory Consistency + Synchronization
Διαχείριση Έργων Πληροφορικής
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Κατανεμημένα Συστήματα
Transactional Memory.
Πολυνηματικές Αρχιτεκτονικές
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Single-cyle υλοποίηση:
Caches for Parallel Architectures (Coherence)
Εισαγωγή στα Λειτουργικά Συστήματα (ΛΣ) Operating Systems (OS)
Διπλωματική Εργασία για το Μεταπτυχιακό Δίπλωμα Ειδίκευσης
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Επιβλέπων: Καθηγητής Εφαρμογών Δρ. Δημήτριος Βαρσάμης
Πολυνηματικές Αρχιτεκτονικές
Single-cyle υλοποίηση:
Μνήμη τυχαίας προσπέλασης
Δίκτυα Διασύνδεσης.
Βασικές έννοιες (Μάθημα 1) Τίτλος: Μερικές βασικές έννοιες της Πληροφορικής 22/11/2018 Ξένιος Αντωνιάδης.
Single-cyle υλοποίηση:
Single-cyle υλοποίηση:
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Μεταγράφημα παρουσίασης:

Σύγχρονες Προκλήσεις

Εισαγωγή Οι CMP είναι πια πραγματικότητα – Intel Core 2, Quad, Nehalem – IBM Power5, Power6 – Sun Niagara, Niagara2, Rock – Sony Cell Εκτέλεση πολλών threads – Multithreaded environment – Multiprogrammed environment Νέες προκλήσεις

Homogeneous vs. Heterogeneous Τί είδους cores χρησιμοποιούμε; Homogeneous Systems – Χρήση πολλαπλών ίδιων πυρήνων – Ευκολία στο design Heterogeneous Systems – Χρήση πυρήνων με τελείως διαφορετικό ISA – Χρήση πυρήνων με “παρόμοιο” instruction set – Πολύπλοκο design – Πολύπλοκο scheduling – Καλύτερο ισοζύγιο απόδοσης – κατανάλωσης ενέργειας

Ιεραρχία Μνήμης Πολλές σχεδιαστικές επιλογές έχουν μεταφερθεί από το πεδίο των single-processor systems. Στους CMP λόγω των παράλληλων threads έχουμε πολύ μεγαλύτερη πίεση στην ιεραρχία μνήμης. – Παράλληλα threads που δουλεύουν στο ίδιο data set (π.χ. databases) – Παράλληλα threads που δουλεύουν σε ανεξάρτητα data sets(π.χ. servers) – Διαφορετικές εφαρμογές που εκτελούνται παράλληλα Ανάγκη επαναξιολόγησης των λύσεων που είχαν προταθεί παλιότερα. – Shared or private levels – Πολιτικές αντικατάστασης – Coherency protocols

Cache Partitioning Η LRU θεωρείται η καλύτερη πολιτική αντικατάστασης. – Χρησιμοποιείται στα περισσότερα συστήματα (ή προσεγγίσεις αυτής) – Έχει μεταφερθεί και στους CMPs Πρόβλημα : thread-blind – Μπορεί να οδηγήσει σε starvation κάποιο thread (π.χ. αν ένα από τα threads εκτελεί ένα streaming application) Λύση : cache partitioning – Κάθε thread μπορεί να χρησιμοποιήσει ένα συγκεκριμένο κομμάτι/ποσοστό της cache – Καλύτερο utilization, βελτίωση απόδοσης – QoS

Non-Uniform Cache Access Latency (1) Οι caches σχεδιάζονται με (μεγάλες) uniform acess latency – Best Latency = Worst Latency !!! Μικρές και γρήγορες L1 Μεγάλη και αργή L2 core L1$ Intra-Chip Switch core L1$ core L1$ core L1$ L2 Cache “Dance-Hall” Layout

Non-Uniform Cache Access Latency (2) Σπάσιμο της L2 σε μικρά κομμάτια για να μειωθεί ο χρόνος πρόσβασης και η κατανάλωση ενέργειας Best Latency < Worst Latency Στόχος : – Average Latency → Best Latency “Dance-Hall” Layout L2 Slice core L1$ L2 Slice Intra-Chip Switch core L1$ core L1$ core L1$

Non-Uniform Cache Access Latency (3) Προκλήσεις : – Private vs Shared – Data Placement – Data Migration – Efficient search “Dance-Hall” Layout L2 Slice core L1$ L2 Slice Intra-Chip Switch core L1$ core L1$ core L1$

Parallel Programming Μέχρι σήμερα : – Για όσους έχουν πρόσβαση σε μεγάλα παράλληλα συστήματα – Χρήση γλωσσών με low-level concurrency features – Δύσκολο να το γράψεις – Δύσκολο debugging – Δύσκολη η διατήρηση και η επέκταση του κώδικα – Δύσκολο να πετύχεις speedups! Σήμερα ο καθένας έχει ένα CMP – Πώς γράφουμε αποδοτικό παράλληλο κώδικα;

Locks Χρήση locks (enforce atomicity) Απαισιόδοξη θεώρηση των πραγμάτων Coarse grain – Εύκολη υλοποίηση – Περιορισμός του εκμεταλλεύσιμου παραλληλισμού Fine grain – Πολύπλοκη υλοποίηση (πολλαπλά locks για τα επιμέρους στοιχεία μιας δομής) – Περισσότερος παραλληλισμός, αλλά μεγαλύτερο overhead Πολύ δύσκολη η υπέρθεση των locks (composability) O προγραμματιστής ορίζει τι θα γίνει και πως

Transactional Memory (1) Ο προγραμματιστής ορίζει atomic sections και το σύστημα αναλαμβάνει να τα υλοποιήσει. Εμπνευσμένο από τις βάσεις δεδομένων Αισιόδοξη θεώρηση των πραγμάτων Αποδίδει τόσο καλά όσο και το fine-grain locking Composability

Transactional Memory vs Locks

Transactional Memory(2) STM vs HTM (ή Hybrid TM) Data versioning – Lazy vs Eager

Transactional Memory(3) Conflict detection Pessimistic (Eager) – Εντοπισμός των conflicts νωρίς – Λιγότερη χαμένη δουλειά – Δεν εγγυάται forward progress

Transactional Memory(4) Conflict detection Optimistic (Lazy) – Εντοπισμός των conflicts στο τέλος – Fairness problems – Εγγυάται forward progress

TM Implementation Space Hardware TM Systems – Lazy + optimistic : Stanford TCC – Lazy + pessimistic : MIT LTM, Intel VTM – Eager + pessimistic : Winsconsin LogTM Software TM Systems – Lazy + optimistic (rd/wr) : Sun TL2 – Lazy + optimistic (rd) / pessimistic (wr) : MS OSTM – Eager + optimistic (rd) /pessimistic (wr) : Intel STM – Eager + pessimistic (rd/wr) : Intel STM Optimal design ??????