150 likes | 285 Views
Implicitly Multithreaded Processors. Νίκος Ιωάννου E ΠΛ605 Παρουσίαση άρθρου “IMT processors”. Εισαγωγή (1). Οι έρευνες για καλύτερη επίδοση στην αρχιτεκτονική των επεξεργαστών εστιάζονται στον παραλληλισμό σε επίπεδο threads ( TLP)
E N D
Implicitly Multithreaded Processors Νίκος Ιωάννου EΠΛ605 Παρουσίαση άρθρου “IMT processors”
Εισαγωγή (1) • Οι έρευνες για καλύτερη επίδοση στην αρχιτεκτονική των επεξεργαστών εστιάζονται στον παραλληλισμό σε επίπεδο threads (TLP) • Το Simultaneous Multithreading (SMT) είναι μια τεχνική η οποία επιτρέπει πολλαπλά ανεξάρτητα threads να εκδώσουν πολλαπλές εντολές στα functional units του επεξεργαστή superscalar σε κάθε κύκλο ρολογιού. • Οι επεξεργαστές SMT συνδυάζουν τα χαρακτηριστικά πολλαπλής έκδοσης εντολών των μοντέρνων superscalar αρχιτεκτονικών και την ικανότητα απόκρυψης των latency των multithreaded αρχιτεκτονικών • Παραδείγματα SMT επεξεργαστών: Pentium4 Hyperthreaded, IBM Power5, Alpha 21464
Εισαγωγή (2) • Τελευταία οι έρευνες επικεντρώνονται στην χρήση της αρχιτεκτονικής SMT σε συνδυασμό με άλλες τεχνικέςγια βελτίωση του χρόνου εκτέλεσης ενός συνεχούς προγράμματος. • Κάποιες από τις τεχνικές αυτές είναι: • Threaded Multipath Execution (TME) • Dynamically Multithreaded (DMT) • Implicitly Multithreaded (IMT)
Threaded Multipath Execution(TME) • Τεχνική επεξεργασίαςγια speculativethreading in SMT • Εκμεταλλεύεται τους υφιστάμενους πόρους του επεξεργαστή SMT για να πετύχει ψηλότερο παραλληλισμόμε multipath execution • Ακολουθεί και τις δύο πιθανές πορείες των conditional branches (multipath) για τηνπαράλληλη επεξεργασία των threads • Αποτέλεσμα αυτού οι πόροι του SMT να χρησιμοποιούνται πιο αποδοτικά και οι πιθανότητες επεξεργασίας του σωστού path αυξάνονται • Εκτελεί multiple threadsin the uncommon case of branch misprediction
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 αυξάνοντας τον παραλληλισμό
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 προτείνονται τρεις καινούργιες τεχνικές μικροαρχιτεκτονικής
Βελτιστοποιήσεις στον 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-IMTthat 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
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
Λειτουργία ΙΜΤ επεξεργαστών (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)
Λειτουργία ΙΜΤ επεξεργαστών (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
Αποτελέσματα προσομοιώσεων (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
Αποτελέσματα προσομοιώσεων (2) • Σύγκριση επίδοσης του N-IMT και O-IMT με βάση τον SuperScalar (SS) • To Ν-ΙΜΤ μειώνει την επίδοση του συστήματος σε σύγκριση με τον SS • To Ο-ΙΜΤ βελτιώνει κατά πολύ την επίδοση του συστήματος
Αποτελέσματα προσομοιώσεων (3) • Σύγκριση των overhead από την επεξεργασία των εφαρμογών στον N-IMT και Ο-ΙΜΤ με βάση τον SS • Σε αρκετά από τα benchmarks o N-IMT παρουσιάζει μεγαλύτερο o/h από τον SS μειώνοντας την επίδοση • Από την άλλη το Ο-ΙΜΤ μειώνει τα o/h σε σχέση με τον Ν-ΙΜΤ. Αυτό οφείλεται στο fetch policy, στο context multiplexing, στο resource allocation του Ο-ΙΜΤτα οποία μειώνουν τα datadependencies και τα memory stalls
Αποτελέσματα προσομοιώσεων (4) • Σύγκριση επίδοσης των μηχανών TME και DMT σε σχέση με τον O-IMT • Κατά μέσο όρο TME και DMT μειώνουν την επίδοση σε σχέση με τον SS. Αυτό οφείλεται στις διαφορετικές τεχνικές που χρησιμοποιούν.
Συμπεράσματα • Μέχρι τώρα η τεχνική ΙΜΤ χρησιμοποιείται μόνο για έρευνα • Δύσκολο να εφαρμοστεί αν και παρουσιάζει συγκριτικά καλά αποτελέσματα για βελτίωση της επίδοσης • Χρήση Simultaneous multithreading και chip multiprocessortechniques στους μικροεπεξεργαστές επόμενης γενιάς • Αναμένονται νέες τεχνικές multithreading στο μέλλον για signal processors, microcontrollers για εφαρμογές πραγματικού χρόνου και για power management