Μετάβαση στο περιεχόμενο

Hyper-Threading

Αναφορά αρχιτεκτονικήςFeex

Το Intel Hyper-Threading εκθέτει πολλαπλούς λογικούς επεξεργαστές από έναν φυσικό πυρήνα όπου το υποστηρίζει η υλοποίηση. Οι λογικοί επεξεργαστές μοιράζονται τους πόρους του πυρήνα και δεν είναι ισοδύναμοι με πρόσθετους ανεξάρτητους φυσικούς πυρήνες.

Τι πρέπει να γνωρίζετε

Το Intel Hyper-Threading εκθέτει πολλαπλούς λογικούς επεξεργαστές από έναν φυσικό πυρήνα όπου το υποστηρίζει η υλοποίηση. Οι λογικοί επεξεργαστές μοιράζονται τους πόρους του πυρήνα και δεν είναι ισοδύναμοι με πρόσθετους ανεξάρτητους φυσικούς πυρήνες.

Πώς λειτουργεί

Κάθε λογικός επεξεργαστής παρέχει αρχιτεκτονική κατάσταση εκτέλεσης ενώ μοιράζεται τμήματα των πόρων εκτέλεσης, κρυφής μνήμης και χρονοπρογραμματισμού του πυρήνα. Η ακριβής διάταξη κοινής χρήσης εξαρτάται από τη μικροαρχιτεκτονική. Ο χρονοπρογραμματισμός του λειτουργικού συστήματος και οι απαιτήσεις πόρων του φόρτου εργασίας καθορίζουν εάν τα ταυτόχρονα νήματα βελτιώνουν την απόδοση διεκπεραίωσης.

Πού είναι χρήσιμο

Δύο νήματα με συμπληρωματικές καθυστερήσεις (stalls) μπορούν να χρησιμοποιούν τους κοινόχρηστους πόρους εκτέλεσης πιο αποτελεσματικά, ενώ δύο νήματα που ανταγωνίζονται για τον ίδιο κορεσμένο πόρο μπορεί να κερδίσουν λιγότερο. Τα αποτελέσματα λανθάνοντος χρόνου, διεκπεραίωσης και ενέργειας χρειάζονται μέτρηση ειδική για τον φόρτο εργασίας.

Πώς να ελέγξετε την υποστήριξη και την ενεργοποίηση

Χρησιμοποιήστε τη σύγχρονη απαρίθμηση τοπολογίας επεξεργαστή και την προβολή φυσικών πυρήνων/λογικών επεξεργαστών του λειτουργικού συστήματος, μαζί με την πολιτική υλικολογισμικού. Επιβεβαιώστε πόσα νήματα είναι πραγματικά ενεργοποιημένα ανά πυρήνα αντί να πολλαπλασιάζετε αυτόματα έναν αριθμό πυρήνων μάρκετινγκ.

Η παρατηρούμενη συμπεριφορά ελέγχεται από την πλήρη πλατφόρμα: υλικολογισμικό, πολιτική λειτουργικού συστήματος, προγραμματισμό φόρτου εργασίας, παροχή ισχύος και θερμοκρασία. Ένα πεδίο δυνατότητας περιγράφει μια ικανότητα, όχι μια σταθερή κατάσταση λειτουργίας ή μια υποσχόμενη συχνότητα.

Τι δεν καθορίζει η δυνατότητα

Ένα πεδίο Hyper-Threading δεν καθορίζει τον αριθμό των φυσικών πυρήνων ή των ενεργοποιημένων νημάτων, και ένα παλαιού τύπου HTT bit από μόνο του δεν αποτελεί μέτρηση τοπολογίας. Δεν εγγυάται διπλάσια απόδοση ούτε καθιστά κάθε παράλληλο φόρτο εργασίας ταχύτερο. Η πολιτική ασφαλείας της πλατφόρμας μπορεί επίσης να επηρεάσει την εγκατάσταση.

Συμβατότητα και απόδοση στην πράξη

Χρησιμοποιήστε την υποστηριζόμενη τηλεμετρία του ακριβούς συστήματος και συγκρίνετε αντιπροσωπευτικούς παρατεταμένους φόρτους εργασίας. Διακρίνετε τη συμπεριφορά αδράνειας, τις παροδικές ενισχύσεις και την απόδοση σταθερής κατάστασης. Η ταυτόχρονη αλλαγή πολλαπλών ρυθμίσεων υλικολογισμικού ή ισχύος καθιστά τη διάγνωση και την ανάκτηση πιο δύσκολη.

Μια πρακτική λίστα ελέγχου επαλήθευσης

  1. Καταγράψτε το ακριβές μοντέλο επεξεργαστή ή πλατφόρμας και τις εμπλεκόμενες εκδόσεις εφαρμογής, λειτουργικού συστήματος και περιβάλλοντος εκτέλεσης (runtime). Διατηρήστε τη διατύπωση του πραγματικού σφάλματος ή της απαίτησης.
  2. Ελέγξτε τις αναφορές του κατασκευαστή για το συγκεκριμένο μοντέλο και, στη συνέχεια, εξετάστε την πραγματική δυνατότητα και την ενεργοποιημένη κατάσταση στο περιβάλλον όπου εκτελείται το πρόγραμμα.
  3. Συγκρίνετε κάθε απαίτηση του επιλεγμένου εκτελέσιμου αρχείου (binary) ή του backend. Μια δυνατότητα με παρόμοιο όνομα, ένα ψευδώνυμο ή μια ευρεία ετικέτα τεχνολογίας δεν επαρκεί.
  4. Επιβεβαιώστε ότι η εφαρμογή επέλεξε την προβλεπόμενη υλοποίηση. Χρησιμοποιήστε τα τεκμηριωμένα διαγνωστικά της και μια υποστηριζόμενη εναλλακτική λύση (fallback) όταν δεν πληρούνται οι απαιτήσεις.
  5. Κάντε μία υποστηριζόμενη αλλαγή τη φορά και επαναλάβετε τον ίδιο φόρτο εργασίας. Διατηρήστε διαθέσιμη την αρχική διαμόρφωση και τη διαδρομή επαναφοράς.

Εάν η δυνατότητα αναφέρεται αλλά το λογισμικό δεν μπορεί να τη χρησιμοποιήσει

Ξεκινήστε με το ακριβές στοιχείο που αποτυγχάνει. Μια βάση δεδομένων υλικού περιγράφει την καταγεγραμμένη δυνατότητα· το λειτουργικό σύστημα ή ο hypervisor μπορεί να εκθέσει ένα διαφορετικό πραγματικό περιβάλλον. Ένα σφάλμα μη έγκυρης εντολής (illegal-instruction error) απαιτεί επίσης διερεύνηση της πραγματικής εντολής που προκάλεσε το σφάλμα και της έκδοσης του εκτελέσιμου (binary build), καθώς η αλλοίωση δεδομένων ή μια άσχετη μη υποστηριζόμενη εντολή μπορεί να προκαλέσει παρόμοιο σύμπτωμα.

Εγκαταστήστε την έκδοση της εφαρμογής, του προγράμματος οδήγησης ή του περιβάλλοντος εκτέλεσης που υποστηρίζεται για την ακριβή πλατφόρμα και χρησιμοποιήστε τη βασική γραμμή (baseline) ή την εναλλακτική έκδοση (fallback build) που τεκμηριώνει ο κατασκευαστής, εάν χρειάζεται. Μια ενημέρωση λογισμικού δεν μπορεί να δημιουργήσει μια εντολή που λείπει από τον επεξεργαστή. Οι αλλαγές στο υλικολογισμικό (firmware) και στην πολιτική ασφαλείας θα πρέπει να ακολουθούν τη διαδικασία του κατασκευαστή του συστήματος και ένα σχέδιο επαναφοράς και όχι μια γενική συνταγή βελτιστοποίησης.

Πηγές και πεδίο εφαρμογής αυτής της επεξήγησης

Intel 64 and IA-32 Architectures Software Developer's Manual

Αυτές οι αναφορές καθορίζουν την αρχιτεκτονική συμπεριφορά και τις απαιτήσεις λογισμικού. Δεν επαληθεύουν ανεξάρτητα κάθε τιμή δυνατότητας σε μια συνδεδεμένη σελίδα μοντέλου υλικού. Για την υποστήριξη του μοντέλου, χρησιμοποιήστε τα στοιχεία τεκμηρίωσης του κατασκευαστή αυτής της σελίδας και ελέγξτε την πραγματική διαμόρφωση του συστήματος. Αυτό το άρθρο δεν παρέχει ημερομηνία δοκιμής επιδόσεων (benchmark), πιστοποίησης ή ανεξάρτητης αξιολόγησης.

Πηγές και επαλήθευση

Συντακτική ιδιοκτησία: Feex. Δεν έχει καταγραφεί ημερομηνία ανεξάρτητης αναθεώρησης. Πώς ερευνούμε.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · Οι τόμοι 1 και 2 περιγράφουν τις κατονομαζόμενες οικογένειες εντολών και το CPUID· ο τόμος 3 περιγράφει την κατάσταση, τη σελιδοποίηση, το VMX και τους ελέγχους προστασίας. Η τεκμηρίωση αρχιτεκτονικής δεν καθορίζει την υποστήριξη για ένα συγκεκριμένο μοντέλο.

Ήταν χρήσιμο αυτό το άρθρο;

Ένα ναι ή όχι είναι αρκετό. Επιλέξτε έναν λόγο εάν θέλετε ή προσθέστε μια σύντομη σημείωση.

Ήταν χρήσιμο αυτό το άρθρο;