Jump to content



About Intel Hyperthreading


ironraven

Recommended Posts

Πολύ πιο ξεκάθαρο και κατάλαβα και τη διαφορά. :023:

Συμπερασματικά λοιπόν από τα λεγόμενα σου ένα λειτουργικό δεν μπορεί να δει μια cpu με ΗΤ σαν ένα φυσικό επεξεργαστή (όταν απενεργοποιήσεις το ΗΤ) παρά μόνο σαν μια λογική μονάδα επεξεργασίας, με μειωμένη απόδοση, ή κανονικά με το ΗΤ enable σα δυο λογικές μονάδες…

Το λειτουργικό βλέπει έναν επεξεργαστή και ότι έχει τα δίνει σε αυτόν, για το λειτουργικό λοιπόν είσαι 100% του επεξεργαστή. Απο την άλλη ο επεξεργαστής μπορεί να πάρει και άλλο φόρτο (στη δεύτερη λογική μονάδα) αλλα το λειτουργικό δεν το ξέρει. Άρα στη πραγματικότητα ο επεξεργαστής δεν είναι 100%

Μάλιστα, ενδιαφέρον αυτό. Καλύτερα λοιπόν enabled το ΗΤ ακόμα και αν δεν χρησιμοποιεί multithreaded εφαρμογές κάποιος..!!

Σαφώς, έχεις παρόμοια απόδοση και έχεις καλύτερο response time (σε windows) γιατι οτιδήποτε άλλο θες να κάνεις το στέλνει στη δεύτερη λογική CPU.

PS άλλο λογική μονάδα (ALU) και άλλο λογική CPU. Ο P4 έχει 4 νομίζω λογικές μονάδες (ALUs) αλλα 2 λογικούς επεξεργαστές. Ο AMD έχει νομίζω 6 ALUs αλλα μία λογική CPU. Η ALU είναι η μονάδα του επεξεργαστή που κάνει τις αριθμητικές (ακεραίων) και λογικές πράξεις. Τις λογικές CPU τις ξεχωρίζουμε απο το datapath. Για να έχουμε 2 λογικές CPU θα πρέπει να έχουμε δυο datapaths (στο περίπου)

Link to comment
Share on other sites

PS άλλο λογική μονάδα (ALU) και άλλο λογική CPU. Ο P4 έχει 4 νομίζω λογικές μονάδες (ALUs) αλλα 2 λογικούς επεξεργαστές. Ο AMD έχει νομίζω 6 ALUs αλλα μία λογική CPU. Η ALU είναι η μονάδα του επεξεργαστή που κάνει τις αριθμητικές (ακεραίων) και λογικές πράξεις. Τις λογικές CPU τις ξεχωρίζουμε απο το datapath. Για να έχουμε 2 λογικές CPU θα πρέπει να έχουμε δυο datapaths (στο περίπου)

Αυτό ακριβώς συμβαίνει. Στην πραγματικότητα το SMT είναι hardware level multitasking. Εδώ και 12 χρόνια περίπου όλοι οι επεξεργαστές είναι multiscalar. Multiscalar σημαίνει πως έχουν περισσότερες από μία μονάδες εκτέλεσης. Στο περίπου πάντα, έχοντας μόνο ένα datapath η χρήση της μίας μονάδας ουσιαστικά μπλοκάριζε την χρήση των υπολοίπων. Με την εμφάνιση του SMT, όλες οι μονάδες έγιναν διαθέσιμες στον χρήστης αφού κάθε datapath μπορούσε να "εμφανίζεται" ως μία επιπλέον CPU στο software.

Αυτό βέβαια σημαίνει ότι αν δύο οι περισσότερες λογικές CPU (ο P4 έχει μόνο δύο) διεκδικήσουν τον ίδιο πόρο στον πυρήνα δεν υπάρχει κέρδος αλλά μια μικρή επιβάρυνση. Γι αυτ'ό σε κάποιες περιπτώσεις κάνοντας disable το SMT έχεις κέρδος το οποίο όμως δύσκολα θα υπερβεί το 10-15%.

Το θεωρητικό μέγιστο κέρδος από την χρήση του SMT είναι κάτι λιγότερο από 100%. Αυτό σε πολύ εξαιρετικές περιπτώσεις. Στην πραγματικότητα ο μέσος όρος αύξησης των επιδόσεων δεν ξεπερνά ποτέ το 30%.

Αυτό μας λέει η Intel εδώ. Και αυτό έχουμε διαπιστώσει και εμείς εδώ.

Link to comment
Share on other sites

Ωραία, πολύ ωραία τα λέτε και μαθαίνουμε και μεις. Για να περάσω όμως στο δια ταύτα αυτό που κατάλαβα είναι ότι για να πάρεις το πραγματικό 100% από ένα Pentium 4 πρέπει να έχεις το HT enabled και να τρέχεις μια εφαρμογή multithreaded ενώ αν τρέξεις μια εφαρμογή single threaded σαφώς θα χάσεις (άσχετα αν βοηθάει στο background). Αντιθέτως πάλι αν απενεργοποιήσεις το HT πάλι δεν θα έχει το πραγματικό 100% είτε από single είτε από multithreaded εφαρμογή καθώς το λειτουργικό δεν βλέπει τη δεύτερη λογική CPU.

Τώρα η ερώτηση μου είναι το κατά πόσο ίδιο είναι ή όχι αν τρέξεις (με το HT enabled) μια multithreaded εφαρμογή με το να τρέξεις δυο single threaded εφαρμογές. Έχεις δλδ το ίδιο κέρδος ή η μόνη ουσιαστική αύξηση των επιδόσεων είναι μόνο όταν και το software είναι κατάλληλο (multithreaded εφαρμογές);

Link to comment
Share on other sites

Τώρα η ερώτηση μου είναι το κατά πόσο ίδιο είναι ή όχι αν τρέξεις (με το HT enabled) μια multithreaded εφαρμογή με το να τρέξεις δυο single threaded εφαρμογές. Έχεις δλδ το ίδιο κέρδος ή η μόνη ουσιαστική αύξηση των επιδόσεων είναι μόνο όταν και το software είναι κατάλληλο (multithreaded εφαρμογές);

Εδώ το ζήτημα είναι πλέον software και όχι hardware. Δύο single threaded είναι δύο ανεξάρτητα tasks. Μία multithreaded είναι δύο tasks που μοιράζονται κοινούς πόρους και επικοινωνούν μεταξύ τους.

Το single threaded πρόγραμμα δεν κλιμακώνει. Άρα δεν θα αξιοποιήσει ποτέ το καινούργιο hardware που έχει την τάση του πολυνηματισμού. Σαφώς και θα πρέπει να επιλέξεις την multithreded λύση, εάν έχεις την επιλογή, ακόμα και αν ο τρέχων επεξεργαστής είναι μονολιθικός. πχ ένας A64 single core.

Το να κερδίσεις ένα 2-3% με single threaded εφαρμογή δεν έχει καμμία αξία, αφού η ίδια εφαρμογή σε SMT ή SMP/dual core μηχανή δεν θα καταφέρει να αξιοποιήσει το 30% ή το 50% αντίστοιχα. Το software είναι αυτό που έχει πάντα την μεγαλύτερη διάρκεια ζωής.

Link to comment
Share on other sites

Που τότε θα έχουμε AMD K8 quad-core.

Quad core στήνω και τώρα με τους Opteron, το θέμα είναι να μπορέσω και να τους εκμεταλλευτώ.

Μόνο όταν έρθουν οι καινούριοι με το Pacifica τότε το συζητάμε και το dual και το quad core...

Σωστό και αυτό, αλλα όχι για 2 χρόνια, μέχρι να βγεί το PS3 με τον 8-core CELL!!!!!

:D Cell Power Rulezzz... Ακούγονται πολλά υποσχόμενοι αλλά εγώ δεν πρόκειται να πάρω PS3 και να το μετατρέψω σε PC. Ας βγει κανονικά στην αγορά να δούμε chipsets και μητρικές, συμβατότητες, λειτουργικά κλπ και το συζητάμε και αυτό… :)

Link to comment
Share on other sites

:D Cell Power Rulezzz... Ακούγονται πολλά υποσχόμενοι αλλά εγώ δεν πρόκειται να πάρω PS3 και να το μετατρέψω σε PC. Ας βγει κανονικά στην αγορά να δούμε chipsets και μητρικές, συμβατότητες, λειτουργικά κλπ και το συζητάμε και αυτό… :)

Αυτά δεν θα τα δεις γιατί δεν θα υπάρχουν. Το PS3 είναι κλειστή αρχιτεκτονική. Το λειτουργικό το ξέρουμε από τώρα. Linux!

Link to comment
Share on other sites

Αυτά δεν θα τα δεις γιατί δεν θα υπάρχουν. Το PS3 είναι κλειστή αρχιτεκτονική. Το λειτουργικό το ξέρουμε από τώρα. Linux!

Οταν λεμε κλειστη αρχιτεκτονικη, σημαινει οτι δεν δεχεται hardware επεμβασεις ?

(π.χ. αναβαθμησεις )

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 σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.