Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Multi-threading Κορομηνάς Κωνσταντίνος – Μ437 Χατζηανδρέου Ελένη - Μ400 Χήνου Διονυσία – Μ364.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Multi-threading Κορομηνάς Κωνσταντίνος – Μ437 Χατζηανδρέου Ελένη - Μ400 Χήνου Διονυσία – Μ364."— Μεταγράφημα παρουσίασης:

1 Multi-threading Κορομηνάς Κωνσταντίνος – Μ437 Χατζηανδρέου Ελένη - Μ400 Χήνου Διονυσία – Μ364

2 Εισαγωγή Multithreading Multithreading Simultaneous Multithreading (SM) Simultaneous Multithreading (SM) Simultaneous Subordinate Microthreading (SSMT) Simultaneous Subordinate Microthreading (SSMT) Speculative Data-Driven Multithreading Speculative Data-Driven Multithreading

3 Multithreaded Synchronization Unit (SU) Synchronization Unit (SU) Execution Unit (EU) Execution Unit (EU)

4 Synchronization Unit (SU) Είναι αρμόδιο για την έκδοση των σημάτων ενεργοποίησης (fire signals) στην EU Είναι αρμόδιο για την έκδοση των σημάτων ενεργοποίησης (fire signals) στην EU Fire signal : Fire signal : Ready thread poll Ready thread poll

5 Synchronization Signals

6 Μηνύματα SU Data Retrieval Data Retrieval – – Synchronization Synchronization – – Thread migration Thread migration – –

7 Execution Unit (EU)

8 Simultaneous Multithreading Μια τεχνική που επιτρέπει σε διάφορα ανεξάρτητα threads να παρέχουν εντολές σε πολλαπλές λειτουργικές μονάδες σε κάθε κύκλο Μια τεχνική που επιτρέπει σε διάφορα ανεξάρτητα threads να παρέχουν εντολές σε πολλαπλές λειτουργικές μονάδες σε κάθε κύκλο Στόχος είναι να αυξηθεί ουσιαστικά η χρησιμοποίηση επεξεργαστών Στόχος είναι να αυξηθεί ουσιαστικά η χρησιμοποίηση επεξεργαστών

9 Simultaneous Multithreading Machine Models Fine-Grain Multithreading Fine-Grain Multithreading SM:Full Simultaneous Issue SM:Full Simultaneous Issue SM:Single Issue,SM:Dual Issue, SM:Four Issue SM:Single Issue,SM:Dual Issue, SM:Four Issue SM:Limited Connection SM:Limited Connection

10 Machine Models Διαφορές Hardware Διαφορές Hardware

11

12 Cache Design [total I cache size in KB] [private or shared].[D cache size] [private or shared]

13 SM vs. Single-Chip MP

14 Πλεονεκτήματα SM έναντι MP Απόδοση με λίγα threads Απόδοση με λίγα threads Granularity και ευελιξία σχεδιασμού Granularity και ευελιξία σχεδιασμού

15 Πλεονεκτήματα SM Καλύτερη ρυθμαπόδοση (throughput) Καλύτερη ρυθμαπόδοση (throughput) Καλύτερη από fine­grain multithreaded Καλύτερη από fine­grain multithreaded Καλύτερη στην απόδοση από πολυεπεξεργαστή multiple­issue Καλύτερη στην απόδοση από πολυεπεξεργαστή multiple­issue

16 Μέρος Β΄ Ή  Με στόχο την αύξηση της ταχύτητας εκτέλεσης ενός προγράμματος,  με άξονα την Threaded-tech.

17 Εντοπίζοντας το πρόβλημα… Αύξηση της αποδοτικότητας μιας multiprocessing αρχιτεκτονικής μέσω Threads – Multithreaded αρχιτεκτονική (γιατί;). Συνέπειες ως προς το χρόνο ολοκλήρωσης εκτέλεσης ενός προγράμματος μεμονωμένα;

18 Εντοπίζοντας το πρόβλημα(2)... ΖΗΤΕΙΤΑΙ : επιτάχυνση της εκτέλεσης των Threads μεμονωμένα. Υπάρχει «χώρος» γι αυτό;

19 Simultaneous Subordinate Microthreading (SSMT) Δηλαδή η παραγωγή επιπρόσθετων microthreads για τη βελτίωση του χρόνου εκτέλεσης ενός – του κυρίως – Thread του προγράμματος. Τα micro- γεννώνται και εκτελούνται εκ παραλλήλου με το κυρίως Thread. Branch prediction accuracy – cache hit rate – prefetch effectiveness

20

21 Micro-thread spawning Spawn instruction ως μέρος της ISA (Instruction Set Architecture) Event spawning : ένα προκαθορισμένο γεγονός κατά την εκτέλεση του κυρίως thread προκαλεί τη γέννηση του microthread.

22 Πλεονεκτήματα της SSMT SSMT vs Hardware based μηχανισμοί Hardware πολυπλοκότητα; - αδιαφορία Hardware πολυπλοκότητα; - αδιαφορία Ευελιξία Ευελιξία Microthreads vs απλά Threads Fetch – issue – ISA Fetch – issue – ISA Νέος επεξεργαστής;

23 Τα απαραίτητα υλικά ISA υποστήριξη (εντολές για τη micro- RAM, spawn εντολή, microcontext) ISA υποστήριξη (εντολές για τη micro- RAM, spawn εντολή, microcontext) Compiler και OS υποστήριξη Compiler και OS υποστήριξη Hardware υποστήριξη (Micro- RAM,decode/rename, microcontext support, register sets) Hardware υποστήριξη (Micro- RAM,decode/rename, microcontext support, register sets)

24 Βελτιστοποιημένη εκτέλεση BP : compiler synthesis of dynamic branch prediction taken over by microthreads Prefetching : prefetch explicitly (via spawn instruction + routine ) or implicitly (spawn on events + routine ) Cache management : e.g. adaptive replacement policy

25 Παράδειγμα : BP Hybrid scheme : processor hardware predictor + microthread based + microthread based predictor (SSMT) SPAWN => παραπάνω δουλειά. Τι πρέπει να προσέχει κανείς;

26 Πειράματα BP hardware predictor – 16KB gshare Microthread routine – PAg implementation Ποιές branches αναλαμβάνονται από microthreads; Compiler Selection Heuristic

27

28 Speculative Data-Driven Multithreading Microthread >Data-driven thread Primary thread>Control-driven thread SPAWN>FORK Critical instructions (branches, loads) Prediction cache>integration

29

30 Extracting Threads from a Program Trace (algo) Work backwards: Misbehaving instance of a critical instruction is a DDT candidate (1) add more a) such instances or b) their memory dependences(3) I3->I2 add more a) such instances or b) their memory dependences(3) I3->I2 Trigger: last added instr.

31 Life cycle of a Data-Driven Thread

32 Register Integration Μηχανισμός που επιτρέπει την απο κοινού επαναχρησιμοποίηση ήδη υπολογισμένων αποτελεσμάτων μεταξύ διαφορετικών execution contexts ενός προγράμματος Thread <- DDT DDT<-other DDT DDT<-Thread

33 Performance Evaluation 8-wide SMT DDTC, cloaking table Targeting Cache misses : latencies in L1

34 Performance Evaluation (contnd.) Targeting Branch Mispredict ions


Κατέβασμα ppt "Multi-threading Κορομηνάς Κωνσταντίνος – Μ437 Χατζηανδρέου Ελένη - Μ400 Χήνου Διονυσία – Μ364."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google