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

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

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 Οι επεξεργαστές Multiscalar χρησιμοποιούν ένα νέο παράδειγμα εφαρμογής για την εξαγωγή μεγάλων ποσοτήτων παραλληλίας σε επίπεδα εντολής. Multiscalar Processor (1)

4 Multiscalar Processor (2)  Ένα απλό πρόγραμμα διαιρείται σε ένα σύνολο στοιχειωδών εργασιών.  Οι στοιχειώδεις αυτές εργασίες κατανέμονται σε διάφορες μονάδες παράλληλης επεξεργασίας που βρίσκονται μέσα σε ένα σύνθετο επεξεργαστή.

5 Multiscalar Processor (3) Ένας multiscalar επεξεργαστής είναι μια συλλογή από μονάδες επεξεργασίας με έναν ακολουθητή (sequencer) που αναθέτει τις στοιχειώδεις εργασίες στις μονάδες επεξεργασίας. Ένας multiscalar επεξεργαστής είναι μια συλλογή από μονάδες επεξεργασίας με έναν ακολουθητή (sequencer) που αναθέτει τις στοιχειώδεις εργασίες στις μονάδες επεξεργασίας.

6 Multiscalar Processor (4) Η μικροαρχιτεκτονική που παρουσιάζεται στο σχήμα είναι μόνο ένας πιθανός σχηματισμός για έναν multiscalar επεξεργαστή. Η μικροαρχιτεκτονική που παρουσιάζεται στο σχήμα είναι μόνο ένας πιθανός σχηματισμός για έναν multiscalar επεξεργαστή.

7 Multiscalar Processor (5)  Μία εναλλακτική μικροαρχιτεκτονική θα μπορούσε να μοιραστεί τις λειτουργικές μονάδες (όπως οι μονάδες κινητής υποδιαστολής) μεταξύ των διαφορετικών μονάδων επεξεργασίας.  Μία άλλη πιθανή μικροαρχιτεκτονική είναι αυτή όπου ο ARB και οι μνήμες δεδομένων κινούνται κατά μήκος της διασύνδεσης στην ίδια πλευρά με τις μονάδες επεξεργασίας.

8 Multiscalar Processor (6)  Ένας multiscalar επεξεργαστής είναι παρόμοιος με έναν πολυεπεξεργαστή.  Ένας multiscalar επεξεργαστής δεν πρέπει να συγχέεται με έναν πολυνηματικό (multithreaded) επεξεργαστή.

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

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

11 Synchronization Signals

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

13 Execution Unit (EU)

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

15 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

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

17

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

19 SM vs. Single-Chip MP

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

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

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

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

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

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

26

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

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

29 Τα απαραίτητα υλικά 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)

30 Βελτιστοποιημένη εκτέλεση 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

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

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

33

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

35

36 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.

37 Life cycle of a Data-Driven Thread

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

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

40 Performance Evaluation (contnd.) Targeting Branch Mispredict ions


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

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


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