PDA

View Full Version : Hyper Threading η Οχι ?


Alarm
14-10-2004, 14:43
Συγουρα εχετε δει πολλες φορες αυτη την ερωτηση. Δυστηχως ακομα δεν εχω καταλαβει τι αξιζει περισσοτερο. Δοκιμασα τον P4 μου, με και χωρις. Με ΗΤ μπορω να πω οτι κανει διπλασιους χρονους και αφινει 40-50% του επεξεργαστη αχρησιμοποιητα. Σε τι θα με συμφαιρει πραγματα το HT . Συγουρα δεν ειναι και οτι ποιο βολικο να το ενεργοποιεις/απενεργοποιεις, γιαυτο θα ηταν καλο να κατασταλαξω. Αν γινοταν δωστε καμια συμβουλη για το ποσο η οχι λειτουργηκο ειναι.

PlanetmanR5
14-10-2004, 14:49
εγω ακομα δεν εχω κατασταλαξει και ουτε εχω κανει πολλα τεστ με ht ή με χωρις!αλλα νομιζω οτι κανει δουλεια και ειδικα στους επεξεργαστες με 800 fsb και παντα μιλαω για bus!τωρα θα αρχισω να τεσταρω και χωρις αυτο!να δουμε...!!!

backgroundman
14-10-2004, 14:53
Το ΗΤ βοηθάει μόνο όταν η εφαρμογή έχει πάνω απο 2 threads.
Εγώ το χρησιμοποιώ γιατι τρέχω SETI οπότε χωρις το ΗΤ έχω 1wu σε ~2ώρες ενώ με ΗΤ έχω 2 wu σε ~3ώρες.

emnezia
14-10-2004, 14:55
Όντως με έβαλες κι εμένα σε σκέψεις. Θα κάνω κι εγώ κάποια τεστάκια μέσα στο Σαββατοκύριακο. Alarm όταν λες οτι κάνεις παραπάνω χρόνους με ποια προγράμματα το δοκίμασες;

soler
14-10-2004, 14:56
Και εγω τα ιδια με τον backroundman....seti rulezzzz...:P

jdrogas
14-10-2004, 15:07
Εχει δοκιμασει κανεις να το απενεργοποιησει και να δοκιμασει αν ανεβαινει το fsb του ακομα περισσοτερο?

john_dr
14-10-2004, 15:13
Ρε παιδιά είναι δυνατόν το ΗΤ να καθυστερεί τόσο πολύ τις εφαρμογές. Αν θυμάμαι καλά στην χειρώτερη των περιπτώσεων δεν χάνεις πάνω από 1-2% με την ενεργοποίησή του.


Αυτό που είχε πάντως ενδιαφέρον θα ήταν η συμπεριφορά τον Windows με και χωρίς HT.

Alarm
14-10-2004, 16:34
χωρις ΗΤ SuperPI 43 sec.
με ΗΤ Super PI 56sec (ειπατε τιποτα ? )

τωρα λογο δοκιμων της καρτας ειδα που φτανει η καρτα και τα σκορ με ΗΤ. το βραδακι θα κοιταξω χωρις

ΥΓ. Δεν δοκιμασα 2 εφαρμογες ταυτοχρονα, αλλα εχω την υποψεια πως οταν πεζεις ενα παιχνιδι θελεις να εχεις εκει το 100% της αποδοσης και οχι το 50-60% . Ισως να κανω και λαθος, για αυτο τον λογο αλοστε ρωταω, να δουμε τελεικα τι αξιζει περισσοτερο σε καθημερηνη χρηση και οχι σε μερικες περιπτωσεις

RootX
14-10-2004, 17:07
Φίλε Alarm, κάποιο λάθος πρέπει να έχεις κάνει, αποκλείεται στο 1Μ να έχεις 13 δεύτερα περισσότερο.
Ότι bench και να έχω τρέξει, είναι πάντα με HT on, αν η διαφορά ήταν υπαρκτή, θα ήμουν ο 1ος με 15sec superpi :)

Με το ΗΤ, το λειτουργικό καταλαβαίνει την ύπαρξη 2 επεξεργαστών, οι οποίοι ουσιαστικά είναι 2 λογικοί επεξεργαστές αλλά 1 φυσικός. Όταν δείχνει με μια εφαρμογή 50% util σημαίνει ότι ο ένας λογικός δουλεύει στο 100/%, στην ουσία όμως, επειδή η εφαρμογή δεν είναι πολυνηματική, 100% του λογικού=100% του φυσικού.

john_dr
14-10-2004, 17:14
χωρις ΗΤ SuperPI 43 sec.
με ΗΤ Super PI 56sec (ειπατε τιποτα ? )


Παλιά διάβαζα ότι δεν χάνεις τόσο τρελλά, αλλά μάλλον λάθος ( σκεμένο των sites? ) θα ήταν.
Που είσαι Chris2004? Διότι αν είναι τόσο χάλια το ΗΤ αναρωτιέμαι ποιος ο λόγος που έγινε τόσο ντόρος πάνω σε αυτό.

EDIT: Τώρα που βλέπω και το post του RootX και εγώ αυτό σκέφτομαι. Αποκλείεται. Θα είχε γίνει πανικός....

emnezia
14-10-2004, 17:14
Όντως κι εγώ έκανα ένα τεστάκι πριν λίγο και είδα οτι χωρίς HT έχανα 1sec.
Mάλλον κάτι θα έτρεξε στο background την ώρα που έκανες το τεστ

RootX
14-10-2004, 17:16
Για να βγάλετε ασφαλή συμπεράσματα, δεν αρκεί να απενεργοποιήσετε το ΗΤ από το bios.
Πρέπει να αλλάξετε και το ACPI multiprocessor σε uniprocessor.

Alarm
14-10-2004, 19:02
δικο μου λαθος, δεν ξερω γιατι εβγαλε τοσο μεγαλη διαφορα αναμεσα με και χωρις ΗΤ . προφανος καποια βλακια του συστηματος καθως δεν ειδα αλλη εφαρμογη να τρωει απο τον επεξεργαστη. Η διαφορα μου ηταν 2 sec.

Συγουρα θα δοκιμασω ομως και 3dmark χωρις ΗΤ να δω αποτελεσματα

DarthMoul
14-10-2004, 19:18
Εν συντομία, το SMT σχεδιάστηκε με σκοπό να αξιοποιούνται εν παραλλήλω όλες οι μονάδες εκτέλεσης που έχει ένας superscalar επεξεργαστής. Πχ, ο Pentium έχει μία FPU και μία ALU. Χωρίς HT, όταν έχουμε data dependency, ένα FP instruction μπλοκάρει όλα τα άλλα μέχρι να τελειώσει. Γι αυτό βλέπετε και το utilization στο 100%. Με HT, αλλάζει το instruction scheduling και εφόσον η εφαρμογή είναι multithreaded, επιτρέπει την χρήση και της FPU και της ALU εν παραλλήλω. Αν η εφαρμογή δεν είναι multithreaded, πολύ σωστά θα σας εμφανίσει 50% utilization, γιατί τότε μόνο αντιλαμβάνεται ότι χρησιμοποιεί το 100% της FPU, αλλά καθόλου την ALU. Αυτά χοντρικά. Αν θέλετε θα μπούμε και στα βαθιά. Η μέση αύξηση απόδοσης που μπορείς να έχεις με χρήση SMT και multithreaded εφαρμογές είναι κοντά στο 30%. Για όσους θέλουν να κοιτάξουν και κάτι παραπάνω εδώ:
http://www.2cpu.com/articles/43_1.html
http://www.2cpu.com/articles/41_1.html
http://www.pctechnology.gr/vbull/vb/showthread.php?t=504

Chris2004
14-10-2004, 19:21
Ίσα ίσα που με το ΗΤ πολλές εφαρμογές π.χ Divx encoding πάνε γρηγορότερα. Όσο για το ότι χρησιμοποιεί το 50% η το 60% της CPU, υποτίθεται ότι έχεις 2 εικονικές CPU, όταν λοιπόν τρέχεις 1 Thread λογικό είναι να σου λέει ότι χρησιμοποιείς τη μισή επεξεργαστική Ισχυ.

Alarm
14-10-2004, 19:55
ευχαριστω πολυ πεδες.

DarthMoul πολυ καλα link

couveland
15-10-2004, 00:38
Από τη πλευρά του απλού χρήστη που δεν ενδιαφέρεται για benchmarks, folding, pi, και τα συναφή, αυτό που εισπράτω με το HT είναι πολύ ομαλή λειτουργία των Win. Και το εκτιμώ βαθύτατα. Σερφάρω, κάνω rip/shrink/μουσική ή ότι άλλο, η database τρέχει στο background και η αίσθηση που έχω είναι ότι κάθομαι σε unix consola με το μηχάνημα δικό μου. Αυτό πιστεύω είναι ανεκτίμητο για κάποιον που σέβεται τα νεύρα του (κυρίως) και το χρόνο του κατά δεύτερο. Αν δούλευα το ίδιο μηχανάκι χωρίς HT και με single CPU HAL, θα κόλαγε κάθε φορά που θα πάταγα κατά λάθος στη δισκέτα A: ή θα έβαζα δισκάκι στο reader.

HT rulez.

john_dr
15-10-2004, 01:57
θα κόλαγε κάθε φορά που θα πάταγα κατά λάθος στη δισκέτα A: ή θα έβαζα δισκάκι στο reader.


Αν με το ΗΤ δεν έχεις αυτές τις γνωστές βλακίες των Windows, τότε ναι αξίζει. Και πολύ μάλιστα. Αλλά όχι για να τρέχουμε 5-5 τα προγράμματα. Αυτά ήταν υπερβολές....

emnezia
15-10-2004, 12:34
Αν με το ΗΤ δεν έχεις αυτές τις γνωστές βλακίες των Windows, τότε ναι αξίζει. Και πολύ μάλιστα. Αλλά όχι για να τρέχουμε 5-5 τα προγράμματα. Αυτά ήταν υπερβολές....

Βασικά μόνο όταν βάζω χρονοβόρα προγράμματα πχ Divx encoding, Mpeg2 κλπ και θέλω να κάνω κάτι ακόμα με έχει εξυπηρετήσει (σε σχέση πάντα με Athlon που είχα παλιότερα). Τώρα 5-5 τα προγράμματα εε είναι υπερβολή

DarthMoul όπως πάντα θεός! (Ότι έχει να κάνει με επεξεργαστές/hardware κλπ και βαθιά νερά σε προγραμματισμό περιμένω κάθε απάντησή σου που θα είναι 100% τεκμηριωμένη! :098: Τέλειος)

Chris2004
15-10-2004, 13:27
5-5 προγράμματα είναι όντως υπερβολή. Αλλά 2 βαριές εφαρμογές και 2-3 ελαφριές άνετα δέν είναι υπερβολή

john_dr
15-10-2004, 13:38
5-5 προγράμματα είναι όντως υπερβολή. Αλλά 2 βαριές εφαρμογές και 2-3 ελαφριές άνετα δέν είναι υπερβολή

Μην το χαλάς βρε συ. :116:
Εμένα ένα μου την έδινε πάντα. Να καθυστερεί ένα πρόγραμμα και εξαιτίας του να καθυστερεί όλο το λειτουργικό. To παράδειγμα με το floppy είναι κλασσικό. Τώρα για δύο τρεις εφαρμογές χαίρω πολύ. Και εγώ τρέχω το recoder της Ahead στο background παίζοντας UT2004 χωρίς προβλήματα. Απλά κατεβάζεις το priority του recoder.
Το θέμα είναι ΠΑΝΤΑ να έχεις την αίσθηση ότι η cpu βοηθάει την ομαλή λειτουργία του υπολογιστή.

DarthMoul
15-10-2004, 13:49
Μάλλον στο ζήτημα του floppy κατηγορείται το hardware εξαιτίας ανεπάρκειας του λειτουργικού. Ένα preemptive multitasking λειτουργικό, όπως το Linux, δεν κολλάει σε αυτά ούτε με 486. Μάλλον η Micro$oft θα πρέπει να φτιάξει έναν καλύτερο scheduler για τα windows με καλύτερους ελέγχους στα Kernel level threads. Στην πραγματικότητα το HT καλύπτει την ανεπάρκεια του λειτουργικού σε αυτό το ζήτημα.

Chris2004
15-10-2004, 13:51
Βασικά εκεί που λέει "ΚΑΙ" έπρεπε να μπεί "Η" απλά απο τη βιασύνη μου άλλο ήθελα να πώ. Τέλος πάντως το ΗΤ βοηθάει πολύ στην ομαλή λειτουργία ειδικά όταν τρέχεις πολλά πράγματα μαζί. Π.χ σήμερα στο Laptop μου (2600+) σήμερα έκανα εγγραφή CD και ταυτόχρονα δούλευα Photoshop. Αφού καθυστέρησε υπερβολικά το σύστημα κράσαρε. Το ξαναδοκίμασα....ξανακράσαρε. Βλέπεις συνήθεια απο τον P4. Άν έχεις μπεί στη λογική ΗΤ δύσκολα ξανασυνηθίζεις να κάνεις ένα πράγμα τη φορά.

Alarm
15-10-2004, 14:04
Μάλλον στο ζήτημα του floppy κατηγορείται το hardware εξαιτίας ανεπάρκειας του λειτουργικού. Ένα preemptive multitasking λειτουργικό, όπως το Linux, δεν κολλάει σε αυτά ούτε με 486. Μάλλον η Micro$oft θα πρέπει να φτιάξει έναν καλύτερο scheduler για τα windows με καλύτερους ελέγχους στα Kernel level threads. Στην πραγματικότητα το HT καλύπτει την ανεπάρκεια του λειτουργικού σε αυτό το ζήτημα.


Η τελευταια γραμμη ηταν και η καλυτερη :)

john_dr
15-10-2004, 14:33
Μάλλον στο ζήτημα του floppy κατηγορείται το hardware εξαιτίας ανεπάρκειας του λειτουργικού. Ένα preemptive multitasking λειτουργικό, όπως το Linux, δεν κολλάει σε αυτά ούτε με 486. Μάλλον η Micro$oft θα πρέπει να φτιάξει έναν καλύτερο scheduler για τα windows με καλύτερους ελέγχους στα Kernel level threads. Στην πραγματικότητα το HT καλύπτει την ανεπάρκεια του λειτουργικού σε αυτό το ζήτημα.


Και εγώ όταν είχα πρωτοακούσει για ΗΤ αυτό είχα σκεφτεί. Ήρθε η Intel να διορθώσει τις κοτσάνες της Μ$.
Κατά την… αρχαιότητα είχα δοκιμάσει σε έναν Celeron 333 με το Suse 6.4 να στείλω στον σκληρό αρχεία από:
flopy, CD και Zip parallel ταυτόχρονα
και δεν καταλάβαινε τίποτα. Καμία καθυστέρηση. Πας να ανοίξεις δισκέτα σήμερα στα Win και τρώνε φρίκη.
Αλλά ιστορίες του στυλ : τα συμπιέζω 2-2 και στο μπάνιο 2-2 νομίζω δεν είχαν ποτέ ιδιαίτερη ουσία. Η ουσία είναι το αν τα Windows συμπεριφέρονται σαν λειτουργικό και όχι σαν ... ( βάλτε ότι κακιά λέξη σας έρχεται στο μυαλό )

backgroundman
15-10-2004, 16:21
Πιστεύω οτι θα είχε μεγάλο ενδιαφέρον να κάναμε κανα τεστάκι με ΗΤ και χωρίς ΗΤ σε Linux και να βλέπαμε αν οι διαφορές είναι οι ίδιες με των Windows.
Είχα βάλει πιο παλιά Linux (Kernel 2.4) που δεν υποστήριζε το ΗΤ και εβλεπα ενα λειτουργικό πολύ πιο γρήγορο απο τα Win με ΗΤ. Δε κόλλαγε πουθενά.
Όταν απενεργοποίησα το ΗΤ στα Win είδα άλλο σύστημα. Δε μπορούσα να τρέξω 2-3 εφαρμογές μαζί το ίδιο γρήγορα με ενεργοποιήμένο το ΗΤ.
Συμφωνώ με την άποψη οτι το ΗΤ ήρθε να βελτιώσει τα Win, γι' αυτό και η Intel όταν λέει 30% αυξημένη απόδοση εννοεί στα WinXP.
Στο linux δε νομίζω να έχεις μεγάλη αυξηση επιδόσεων.

DarthMoul
15-10-2004, 16:23
Περισσότερα για την αξία του SMT από κάποιον που υλοποιεί λειτουργικά συστήματα σαφώς σοβαρότερα των windows σε αυτό το post του usenet:
http://www.google.com/groups?q=SMT+group:comp.arch+author:torvalds%40osd l.org&hl=en&lr=&selm=bmn1qi%248jl%241%40build.pdx.osdl.net&rnum=1

Αυτός ήταν και ο λόγος που πολλοί λινουξάδες που αντιμετώπιζαν σοβαρά το ζήτημα και την έψαχναν λιγάκι βαθύτερα με τo software άλλαξαν τους Athlon XP και πήγαν στους πολύ ακριβότερους P4 κάποια εποχή.

DarthMoul
15-10-2004, 16:32
Πιστεύω οτι θα είχε μεγάλο ενδιαφέρον να κάναμε κανα τεστάκι με ΗΤ και χωρίς ΗΤ σε Linux και να βλέπαμε αν οι διαφορές είναι οι ίδιες με των Windows.
Είχα βάλει πιο παλιά Linux (Kernel 2.4) που δεν υποστήριζε το ΗΤ και εβλεπα ενα λειτουργικό πολύ πιο γρήγορο απο τα Win με ΗΤ. Δε κόλλαγε πουθενά.
Όταν απενεργοποίησα το ΗΤ στα Win είδα άλλο σύστημα. Δε μπορούσα να τρέξω 2-3 εφαρμογές μαζί το ίδιο γρήγορα με ενεργοποιήμένο το ΗΤ.
Συμφωνώ με την άποψη οτι το ΗΤ ήρθε να βελτιώσει τα Win, γι' αυτό και η Intel όταν λέει 30% αυξημένη απόδοση εννοεί στα WinXP.
Στο linux δε νομίζω να έχεις μεγάλη αυξηση επιδόσεων.
Η διαφορά που βλέπεις στο linux με SMT είναι ελαφρώς καλύτερη απ'ότι στα windows λόγω αποδοτικότερου SMP kernel module. Από τον kernel 2.4.9 και μετά το linux υποστηρίζει SMT κανονικά, 6 μήνες πριν τα windows.
Το SMT ήρθε κατόπιν απάιτησης μεγάλων πελατών που έτρεχαν να αγαράσουν τον Power4+ της IBM, ο οποίος είχε SMT από το 1999, και πετούσαν τους P4 και τους Xeon. Για να μην χάσει αυτούς τους πελάτες η Intel, αγόρασε την τεχνολογία του ev8 από την compaq, την πετσόκοψε καταλλήλως σε 2-way από 4-way που ήταν και την ενσωμάτωσε στους P4/Xeon. Βέβαια έτσι στριμώχτηκε τότε και η AMD, αλλά ο στόχος ήταν άλλος.

backgroundman
15-10-2004, 20:48
@DarthMoul : να σε ρωτήσω κατι SMT δεν είναι το σύστημα όταν έχει 2 φυσικούς επεξεργαστές?
Δηλ με ΗΤ δεν έχεις SMT σύστημα, έτσι δεν είναι ??

DarthMoul
15-10-2004, 21:24
@DarthMoul : να σε ρωτήσω κατι SMT δεν είναι το σύστημα όταν έχει 2 φυσικούς επεξεργαστές?
Δηλ με ΗΤ δεν έχεις SMT σύστημα, έτσι δεν είναι ??Όταν έχεις έναν φυσικό επεξεργαστή και πολλούς λογικούς, τότε έχεις SMT που σημαίνει Symmetric Multi Threading και είναι ανακάλυψη της DEC από το 1996. Συμμετρικός Πολυνηματισμός στα ελληνικά.
Όταν έχεις περισσότερους από έναν επεξεργαστές, τότε έχεις SMP που σημαίνει Symmetric Multiprocessing και πρώτη το εφάρμοσε η IBM στα τέλη της δεκαετίας του 1950. Συμμετρική πολυεπεξεργασία στα ελληνικά.
Από την πλευρά του λειτουργικού τώρα, στα SMT συστήματα, οι δύο ή περισσότεροι λογικοί επεξεργαστές αντιμετωπίζονται ως φυσικοί και αναλόγως γίνεται και το load balancing. Το ζήτημα είναι να ξέρει το λειτουργικό πως να αναζητήσει τον δεύτερο λογικό επεξεργαστή, ώστε να θέσει σε λειτουργία το SMP module και να αρχίσει την δρομολόγηση των διεργασιών και σε αυτόν.

backgroundman
16-10-2004, 16:56
Να ρωτήσω και κάτι άλλο, μπορώ σε υπολογιστή SMT (P4 με ΗΤ) να βάλω πυρήνα SMP του linux ??

DarthMoul
16-10-2004, 17:28
Να ρωτήσω και κάτι άλλο, μπορώ σε υπολογιστή SMT (P4 με ΗΤ) να βάλω πυρήνα SMP του linux ??Υποχρεωτικά αυτό θα κάνεις. Αν δεν το κάνεις, τότε θα βλέπεις μόνο τον έναν από τους δύο λογικούς επεξεργαστές, οπότε σε συμφέρει να κάνεις disable το Hyperthreading.

Το καλύτερο που έχεις να κάνεις είναι ένα recompilation τον kernel διαλέγοντας prescott optimizations, και το SMP enabled για 2 CPUs. Και φυσικά το HT enable από το BIOS. Θα πάρεις τουλάχιστον 30-40% παραπάνω επιδόσεις από ότι σου δίνουν τα windows. Εγώ το δοκίμασα σε MiniSql που είναι multithreaded και για τα δύο λειτουργικά. Οι διαφορές μεταξύ linux και windows 2003 ήταν τεράστιες.

backgroundman
17-10-2004, 17:06
Ειχα ασχοληθεί πολύ παλιά με kernel recompilation και δε τα θυμάμαι καλά.
Προφανώς αναφέρεσε σε πυρήνα >2.6 ,
απ' ότι θυμάμαι είχε πάρα πολλές επιλογές για το πυρήνα, αμα πειράξω μόνο αυτά που λες τα άλλα θα είναι τα default ή πρεπει να τα ρυθμίσω όλα απο την αρχή?

DarthMoul
17-10-2004, 19:17
Ειχα ασχοληθεί πολύ παλιά με kernel recompilation και δε τα θυμάμαι καλά.
Προφανώς αναφέρεσε σε πυρήνα >2.6 ,
απ' ότι θυμάμαι είχε πάρα πολλές επιλογές για το πυρήνα, αμα πειράξω μόνο αυτά που λες τα άλλα θα είναι τα default ή πρεπει να τα ρυθμίσω όλα απο την αρχή?Αναφέρομαι σε 2.4.x τελευταίας έκδοσης. Αλλά και στον 2.6 τα ίδια ισχύουν. Δεν χρειάζεται να πειράξεις τίποτα άλλο. Κάνε επιλογή για prescott και smp και άσε όλα τα άλλα όπως είναι.