Jump to content



hyperthread?


dunkel_Stern

Recommended Posts

τελικά με λίγα λόγια τι παραπάνω προσφέρει το να έχεις έναν quadcore απλό με έναν quadcore με hyperthread?

με το πενιχρό μου search στο site δεν βρήκα κάποιο thread που να το εξηγεί.

και στο google μονο στο wiki βρήκα κάτι που και αυτό δεν το πολυέπιασα.

Link to comment
Share on other sites

Το Hyperthreading είναι μια λειτουργία που επιτρέπει να τρέχουμε περισσότερα από ένα (συνήθως δύο) threads per core. Στην θεωρία είναι σαν να έχεις διπλούς πυρήνες σε σχέση με τους φυσικούς που διαθέτει ο processor. Στην πράξη η απόδοση του εξαρτάται από την εφαρμογή.

Y.Γ. Mου φαίνεται απίστευτο που δεν βρήκες τίποτα σχετικό στο net.

Link to comment
Share on other sites

Το Hyperthreading είναι μια λειτουργία που επιτρέπει να τρέχουμε περισσότερα από ένα (συνήθως δύο) threads per core. Στην θεωρία είναι σαν να έχεις διπλούς πυρήνες σε σχέση με τους φυσικούς που διαθέτει ο processor. Στην πράξη η απόδοση του εξαρτάται από την εφαρμογή.

Y.Γ. Mου φαίνεται απίστευτο που δεν βρήκες τίποτα σχετικό στο net.

Στο site έψαξε ο χριστιανούλης και δε βρήκε:p

Link to comment
Share on other sites

Στο site έψαξε ο χριστιανούλης και δε βρήκε:p

Βιάζεσαι μεγάλε. ;) Αφού το γράφει κιόλας: "και στο google μονο στο wiki βρήκα κάτι που και αυτό δεν το πολυέπιασα." Δεν έχει όμως μόνο το wiki σχετικά άρθρα, είναι τίγκα το νετ. Γι'αυτό μου έκανε εντύπωση...

Link to comment
Share on other sites

ναι πρακτικά τι σημαίνει, είναι η ερώτηση.

έχεις ένα core ok? και έχεις δυο threads ok? και? πάλι ένα δεν είναι το core?

όταν έχεις 2 πράξεις που πάνε στο ίδιο core από 2 threads πάλι δεν θα λύσει πρώτα την μια και μετά την άλλη?

τι διαφορα έχει πρακτικά?

και το σύστημα βλέπει τον hyperthread cpu X2... οποτε όταν δουλεύει μια εφαρμογή μονο στον έναν core δεν σημαίνει πως κόβετε και δουλεύει στο ((μισό)) core?

και ότι γραφει το wiki τα ίδια πάνω κάτω γραφουν όλοι

Link to comment
Share on other sites

ναι πρακτικά τι σημαίνει, είναι η ερώτηση.

έχεις ένα core ok? και έχεις δυο threads ok? και? πάλι ένα δεν είναι το core?

όταν έχεις 2 πράξεις που πάνε στο ίδιο core από 2 threads πάλι δεν θα λύσει πρώτα την μια και μετά την άλλη?

τι διαφορα έχει πρακτικά?

και το σύστημα βλέπει τον hyperthread cpu X2... οποτε όταν δουλεύει μονο στον έναν core δεν σημαίνει πως κόβετε και δουλεύει στο μισό core?

H αρχιτεκτονική HTT επιτρέπει την ταυτόχρονη εκτέλεση δύο (ή και περισσότερων) threads ανά core. Δηλαδή δημιουργεί περισσότερους από έναν virtual processor per core. Εδώ να αναφέρω κάτι: Μην μπερδεύεις τις "πράξεις" με τα threads. To thread είναι το σύνολο της επεξεργασίας πράξεων για να έχεις ένα αποτέλεσμα π.χ. η χρήση μιας εφαρμογής (εκτός αν η εφαρμογή είναι Multithreaded).

To multithreading (το HTT είναι ένα είδος Multithreading) είναι περίπου σαν το Preemptive multitasking αλλά σε hardware core level. Επί της ουσίας κράτα το εξής: το HTT επιτρέπει την δημιουργία εικονικών επεξεργαστών με αποτέλεσμα να έχεις διπλάσια cores (στην θεωρία). Στην πράξη όπως σου είπα το κέρδος στις επιδόσεις εξαρτάται από την αρχιτεκτονική του εκάστοτε επεξεργαστή καθώς και από τον τρόπο που κανει Utilisation τα cores (φυσικά ή virtual λόγω HTT) η εκάστοτε εφαρμογή.

και το σύστημα βλέπει τον hyperthread cpu X2... οποτε όταν δουλεύει μια εφαρμογή μονο στον έναν core δεν σημαίνει πως κόβετε και δουλεύει στο ((μισό)) core?

Όχι ακριβώς. Ο φυσικός πυρήνας παραμένει εκεί. Αν η εφαρμογή π.χ. είναι single threaded θα χρησιμοποιήσει έναν φυσικό πυρήνα. Μην μπερδεύεσαι ΔΕΝ διαιρείται ο πυρήνας σε δύο "μισής ισχύος". Το HTT θα κάνει Kick in όταν υπάρχουν πολλά threads, και εκεί θα κερδίσεις σε επιδόσεις. Όπως επίσης κερδίζεις και αν τρέχεις πολλές διαφορετικές εφαρμογές ταυτόχρονα εστω και αν είναι single threaded η κάθε μία. Αν η εφαρμογή που τρέχεις είναι μόνο μία, και single threaded τότε θα την αναλάβει ο ένας φυσικός πυρήνας.

Για πιο εξειδικευμένες τεχνικές πληροφορίες, καλύτερα ρώτα κανέναν καλό προγραμματιστή. Είναι πιο ειδικοί σε αυτά.

Link to comment
Share on other sites

Είχα την ίδια απορία και έτρεξα Cinebench R10 σε ένα Xeon E5520 @ 2.27GHz με Hyperthreading on και off. Όλες οι υπόλοιπες ρυθμίσεις ίδιες (XP x64, μνήμες κλπ.) Το turbo πήγαινε τον επεξεργαστή 2.51GHz για 1 single cpu rendering και 2.4GHz για Multiple, ανεξαρτήτως ΗΤ.

HT on

Rendering (Single CPU): 3248 CB-CPU

Rendering (Multiple CPU): 13976 CB-CPU

Multiprocessor Speedup: 4.30

HT off

Rendering (Single CPU): 3556 CB-CPU

Rendering (Multiple CPU): 12645 CB-CPU

Multiprocessor Speedup: 3.56

Mε ΗΤ off το single CPU ήταν πάντα μπροστά και με ΗΤ on το multi CPU ήταν μπροστά.

Link to comment
Share on other sites

Νομίζω ότι εδώ έχει απλά και κατανοητά τι είναι η τεχνολογία Intel® Hyper-Threading Technology (Intel® HT Technology).

Κατανοητό ναι, σοβαρό όχι. :D

Το κείμενο της Intel είναι μια γενικολογία χωρίς καν να αναφέρει τους περιορισμούς του και το πως μειώνεται το efficiency και το power/performance ratio του HTT ανάλογα την εφαρμογή και την αρχιτεκτονική του chip.

Link to comment
Share on other sites

και αρνητικά δεν έχει το hyperthread?

πιο πολύ αναφέρομαι στους i7

Έχει, πως δεν έχει...

Το πρώτο και σημαντικότερο: ανεβάζει την κατανάλωση αρκετά, πολλές φορές χωρίς κέρδος στις επιδόσεις.

Δεύτερον: Cache waisting. Συχνά πυκνά δεσμεύει τμήματα της cache χωρίς να προσφέρει κάτι καλύτερο σε σχέση με αν ήταν αδέσμευτα για άλλες χρήσεις. Αυτά βέβαια ίσχυαν στις παλαιότερες γενιές επεξεργαστών, με τους i7 δεν ξέρω αν ισχύει το ζήτημα ακόμα.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.