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

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

Implicitly Multithreaded Processors Νίκος Ιωάννου EΠΛ605 Παρουσίαση άρθρου “IMT processors”

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


Παρουσίαση με θέμα: "Implicitly Multithreaded Processors Νίκος Ιωάννου EΠΛ605 Παρουσίαση άρθρου “IMT processors”"— Μεταγράφημα παρουσίασης:

1 Implicitly Multithreaded Processors Νίκος Ιωάννου EΠΛ605 Παρουσίαση άρθρου “IMT processors”

2 Εισαγωγή (1)  Οι έρευνες για καλύτερη επίδοση στην αρχιτεκτονική των επεξεργαστών εστιάζονται στον παραλληλισμό σε επίπεδο threads (TLP)  Το Simultaneous Multithreading (SMT) είναι μια τεχνική η οποία επιτρέπει πολλαπλά ανεξάρτητα threads να εκδώσουν πολλαπλές εντολές στα functional units του επεξεργαστή superscalar σε κάθε κύκλο ρολογιού.  Οι επεξεργαστές SMT συνδυάζουν τα χαρακτηριστικά πολλαπλής έκδοσης εντολών των μοντέρνων superscalar αρχιτεκτονικών και την ικανότητα απόκρυψης των latency των multithreaded αρχιτεκτονικών  Παραδείγματα SMT επεξεργαστών: Pentium4 Hyperthreaded, IBM Power5, Alpha 21464

3 Εισαγωγή (2)  Τελευταία οι έρευνες επικεντρώνονται στην χρήση της αρχιτεκτονικής SMT σε συνδυασμό με άλλες τεχνικές για βελτίωση του χρόνου εκτέλεσης ενός συνεχούς προγράμματος.  Κάποιες από τις τεχνικές αυτές είναι: Threaded Multipath Execution (TME) Dynamically Multithreaded (DMT) Implicitly Multithreaded (IMT)

4 Threaded Multipath Execution(TME)  Τεχνική επεξεργασίας για speculative threading in SMT  Εκμεταλλεύεται τους υφιστάμενους πόρους του επεξεργαστή SMT για να πετύχει ψηλότερο παραλληλισμό με multipath execution  Ακολουθεί και τις δύο πιθανές πορείες των conditional branches (multipath) για την παράλληλη επεξεργασία των threads  Αποτέλεσμα αυτού οι πόροι του SMT να χρησιμοποιούνται πιο αποδοτικά και οι πιθανότητες επεξεργασίας του σωστού path αυξάνονται  Εκτελεί multiple threads in the uncommon case of branch misprediction

5 Dynamically Multithreaded (DMT)  Χρησιμοποιεί το hardware για την αυτόματη δημιουργία threads όταν υπάρχουν procedure και loop boundaries  Επεξεργάζεται τα threads speculatively σε simultaneous multithreaded διασωλήνωση  Βελτιώνει την παράλληλη εκτέλεση εντολών και επιτρέπει πολύ μεγάλα παράθυρα εντολών για fetch εντολών από διαφορετικά locations ταυτόχρονα ( out of order)  Cache misses και branch mispredictions μειώνονται. Χρησιμοποιεί μεγάλα trace buffers. Δύσκολη η επαναφορά σε περιπτώσεις misspeculation  Εκτελεί threads στην συχνή περίπτωση των ορθών predictions αυξάνοντας τον παραλληλισμό

6 Implicitly Multithreaded (IMT)  Οι explicit multithreaded επεξεργαστές μπορούν να επεξεργαστούν threads πολλών εφαρμογών ταυτόχρονα  Οι implicit multithreaded επεξεργαστές εκτελούν compiler-specified speculative threads ταυτόχρονα ενός σειριακού προγράμματος στην διασωλήνωση του SMT  Στο άρθρο παρουσιάζονται δύο μορφές του IMT: Naïve IMT (N-IMT): Επεξεργασία εντολών από τα threads χωρίς να υπολογίζονται οι πόροι και οι εξαρτήσεις. Performs poorly Optimized IMT (O-IMT): Για βελτίωση της επίδοσης του N-IMT προτείνονται τρεις καινούργιες τεχνικές μικροαρχιτεκτονικής

7 Βελτιστοποιήσεις στον O-IMT  Οι νέοι αυτοί μηχανισμοί είναι οι ακόλουθοι: Resource and dependence based fetch policy to fetch and execute suitable instrs (use highly accurate DRP and ITDH) in contrast with TME, DMT and N-IMT that use ICOUNT variations fetch policy (thread with the least number of instrs is fetched) Context multiplexing to improve utilization and map as many threads in program order to a single context as allowed by availability of resources. TME, DMT and N- IMT assign a single thread to each SMT context Hiding thread start up delay (from register renaming) by invocating threads early and overlapping one thread’s invocation with other’s thread execution. TME and N-IMT incur extra start up delay prior to thread invocation

8 Compiler-specified speculative threads  Οι speculatively threaded αρχιτεκτονικές χρησιμοποιούν το hardware ή τον μεταγλωττιστή για τον διαμελισμό ενός σειριακού προγράμματος σε threads  Το hardware προσφέρει binary compatibility με τον superscalar αλλά με ψηλό thread speculation overhead  To IMT χρησιμοποιεί τον μεταγλωττιστή για τον διαμελισμό σε threads  Με την μέθοδο αυτή τα control flow mispredictions και register dependencies μειώνονται. Ακόμα η ανάγκη για περισσότερους πόρους όπως και τα overhead per thread βελτιώνονται σε σχέση με τη μέθοδο hardware

9 Λειτουργία ΙΜΤ επεξεργαστών (1)  Register tables για register renaming  Issue queue για out of order scheduling  Load/store queue (LSQ) και active list για memory dependencies  All contexts share FUs, Regs, issue queue and Mem  Inter-Thread Dependence Heuristic (ITDH) για αναγνώριση των επαναλήψεων βρόγχων τα οποία είναι ανεξάρτητα μεταξύ τους  Dynamic Resource Predictor (DRP) για μείωση της συμφόρησης πόρων μεταξύ των threads (invoke threads as soon as resources become available)

10 Λειτουργία ΙΜΤ επεξεργαστών (2)  IMT exploits implicit parallelism  IMT predicts threads in succession and maps them to execution resources  IMT invoke threads in program order by predicting next thread (Descriptor cache) but fetching of instrs may be out of order  Instruction reordering prior to commit

11 Αποτελέσματα προσομοιώσεων (1)  Ο προσομοιωτής που κατασκευάστηκε είναι ένας out of order SMT pipeline με επεκτάσεις για αξιολόγηση κανονικού superscalar επεξεργαστή και για αξιολόγηση των speculatively threaded επεξεργαστών ΙΜΤ, DMT και TME  Χρήση μεταγλωττιστή Multiscalar  8-wide issue out of order SMT, 8 hw contexts, 2-port icache, for O-IMT:64-entry DRP, 3-entry ITDH etc  Benchmarks SPEC2000 applications

12 Αποτελέσματα προσομοιώσεων (2)  Σύγκριση επίδοσης του N-IMT και O-IMT με βάση τον SuperScalar (SS)  To Ν-ΙΜΤ μειώνει την επίδοση του συστήματος σε σύγκριση με τον SS  To Ο-ΙΜΤ βελτιώνει κατά πολύ την επίδοση του συστήματος

13 Αποτελέσματα προσομοιώσεων (3)  Σύγκριση των overhead από την επεξεργασία των εφαρμογών στον N-IMT και Ο-ΙΜΤ με βάση τον SS  Σε αρκετά από τα benchmarks o N-IMT παρουσιάζει μεγαλύτερο o/h από τον SS μειώνοντας την επίδοση  Από την άλλη το Ο-ΙΜΤ μειώνει τα o/h σε σχέση με τον Ν- ΙΜΤ. Αυτό οφείλεται στο fetch policy, στο context multiplexing, στο resource allocation του Ο-ΙΜΤ τα οποία μειώνουν τα data dependencies και τα memory stalls

14 Αποτελέσματα προσομοιώσεων (4)  Σύγκριση επίδοσης των μηχανών TME και DMT σε σχέση με τον O-IMT  Κατά μέσο όρο TME και DMT μειώνουν την επίδοση σε σχέση με τον SS. Αυτό οφείλεται στις διαφορετικές τεχνικές που χρησιμοποιούν.

15 Συμπεράσματα  Μέχρι τώρα η τεχνική ΙΜΤ χρησιμοποιείται μόνο για έρευνα  Δύσκολο να εφαρμοστεί αν και παρουσιάζει συγκριτικά καλά αποτελέσματα για βελτίωση της επίδοσης  Χρήση Simultaneous multithreading και chip multiprocessor techniques στους μικροεπεξεργαστές επόμενης γενιάς  Αναμένονται νέες τεχνικές multithreading στο μέλλον για signal processors, microcontrollers για εφαρμογές πραγματικού χρόνου και για power management


Κατέβασμα ppt "Implicitly Multithreaded Processors Νίκος Ιωάννου EΠΛ605 Παρουσίαση άρθρου “IMT processors”"

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


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