etwas für leute mit hyper threading :-)

der JENSEMANN

Lieutenant
Registriert
Okt. 2004
Beiträge
574
hallo erschtma
so ich hab heut ma wieder meinen pc ein wenig durchforscht.
da ich ht ganz interessant finde habbich mich mal schlau gemacht ;)
normal hat man selbst ja mit hyper threading selbst nicht viel zu tun, denn die meisten programme handeln das ja von selbst(win dvd6 oder mainconcept mpeg encoder usw).
man kann aber auch selbst"hand anlegen"!
wie?
ganz einfach:im taskmanager einen gewünschten prozess anklicken und dann rechtsklick.dann auf zugehörigkeit festlegen klicken und die gewünschte cpu festlegen(cpu0 oder cpu1).
ich habs mal ausprobiert:ich habe den mainconcept mpeg encoder mit ht unterstützung mal einen 2 gb stream ins svcd format konvertieren lassen (habe dem prozess im taskmanger der cpu 0 zugewiesen also das häkchen bei cpu 1 wegmachen).
dann habe ich parallel dazu doom 3 gestartet welches ja bekannterweise sehr cpu lastig ist,und dem die cpu 1 im taskmanager zugewiesen(also die cpu 0 wegklicken).
dadurch haben jetzt beide prozesse eine eigene cpu.
dann habe ich einmal die timedemo von doom 3 durchlaufen lassen(normal ohne diese cpu geschichte 50fps):mit eigener cpu habe ich 44 fps.sehr beachtlich!auch der encoder arbeitete schnell.
dann habe ich einmal hl2 gegen doom 3 getauscht(also das gleiche bloss hl2)
vorher hatte ich immer 119 fps und jetzt hatte ich 105.also wenn das nicht klasse ist :)
man kann diese cpu zuweisung natürlich mit vielen programmen machen.also für mich war das neu und ich hoffe dass ich mit diesem beitrag andere leute,die auch noch nicht wussten dass sowas geht ein wenig schlauer gemacht habe(wenn nicht,auch nicht schlimm :D )
also probierts mal aus auch mit 3d05 oder so und postet mal ergebnisse
 
Interessante Feststellung :)

Intel Rockt :) nicht wahr Shadow :)

Mich würde mal interessieren was da so bei einem AMD64 rauskäme. Einfach mal den Encoder und dann Doom3 starten :D
 
in doom 3 keine spur von geruckel :)
es ist zwar klar dass es jtzt ein bisl weniger frames sind und auch der encoder ein wenig langsamer wird aber ht wirkt ja auch keine wunder. der encoder arbeitete ungefähr 10%langsamer was noch durchaus gut ist und wiegesgt doom 3 hatte anstatt 50 frames(ja ich hab eine 9800 pro und weiss auch nicht warum das ergebniss so hoch ist^^)"nur"noch 44 frames ;)
die einstellung bei doom 3 war 1024 aufl und max details also high qual(8fach af).
also ich finde dass es ne tolle sache ist für leute die gern viele leistungshungrige sachen gleichzeitig machen wollen.wenn man es nicht manuell machen würde,also ht alles allein entscheidet; würde der mpeg encoder whrscheinlich schneller arbeiten da er ja ht optimiert ist und beide ht cpus nutzen würde(aslo cpu 0 und 1)und doom 3 langsamer(ich weiss nit obs auch ht kann aber denke nicht).
aber wenn man es selbst einstellt regelt man ja selbst wieviel leistung die programme der cpu abverlangen darf
naja ich würd auch mal gerne vergleiche mit a64 sehen
(wenns stimmt was ich euch hier ezähle und davon kann man ausgehen^^;dann gibt mir bitte ein wenig karma denn mir wurdheute zu unrecht schlechtes gegeben*heul*und ärger)
 
Zuletzt bearbeitet:
Ich sag einfach mal Danke!

Kann man das per Script oder auf andere Weise direkt beim Programmstart zuweisen?

have a nice day
 
hey leute sorry aber in css stresstest waren doch "nur" 87 fps statt 119 da mein nachbar vorhin gezockt hatte und die einstellungen verändert hatte(er hatn p2 300 mhz^^).aber auch das ergebniss ist topp da die cpu ja nur 50 prozent leistet wegen der aufteilung.
aber das mit doom 3 sind wirklich nur 5-6 frames weniger.
aber es kommt ja auch imm0r auf die anwendung an. manche profitieren von den prozesszuweisungen und manche weniger aber im grossen ganzen ist die manuelle einstellung von ht eine klasse sache.vielleicht wäre ja mal ein testbericht angesagt :p
naja man muss hlat die anwendungen mal ein bisl ausprobieren die man am meisten verwendet.
so ich geh pennen und danke für die aufmerksamkeit :D
n8 zusammen
 
Dass D3 kaum einbricht, wird wohl hauptsaechlich daran liegen, dass das System durch die 9800 Pro ziemlich Graka-limitiert ist.

Shadow86 schrieb:

Schon laenger. :D Willst nen P4 mit EM64T haben? Ich verkauf meinen wahrscheinlich und hol mir nen A64, so ein PresHot ist nun wirklich nicht passiv kuehlbar, auch nicht mit meinem Monsterkuehler (grosser Transistorkuehlkoerper, ca. 24x16x8cm, schafft locker 60-70W passiv). :D

Day.wal.ker schrieb:
Anscheinend sind schon welche in Asien erhältlich. Sollte das wirklich stimmen, rollt eine geile Zeit auf uns zu :D

http://www.hardwareluxx.de/story.php?id=1267

ebay.com sei dein Freund ;)
 
lochfrass schrieb:
Transistorkuehlkoerper

Nenn mich einen Laien, aber sag mir, was ein "Transistorkühlkörper" ist?
Oder ist damit ein Kühlkörper für Transistoren gemeint. (Ich weiß das die CPU eigentlich eine riesen Häufung von Transistoren ist)

Habe eben mal einen kleinen Versuch gemacht:
Habe 2 Xeons mit je HT support. Habe dann der 1. CPU NFSU2, der 2. CPU TMPGenc, der 3. CPU ein Zip Archiv 8 GB und der 4. CPU einfach alles andere an Anwendungen zugewiesen, man mag es nicht glauben, alles flüssig und schnell! Ich liebe Intel und ich liebe XEON! ;D

MfG GuaRdiaN

greetz @ Shadow!
 
Erstmal "guten Morgen!" an die Helden, die meinen hier etwas neues/tolles entdeckt zu haben :) Das gibts schon seit Ewigkeiten und habe ich schon mit meinem alten Dual Celeron 500 (2 SETI Threads) gemacht. Nur einige scheinen hier nicht zu raffen dass es sinnlos ist einer Anwendung nur eine virtuelle CPU zuzuweisen - damit deaktiviert man ja praktisch HT für diese Anwendung. Effektiv wird die Framerate stets höher sein wenn man Windows selbst entscheiden lässt welche Anwendung auf welcher virtuellen CPU läuft. Soll heißen es macht 0 Sinn (außer für langweilige Testzwecke) an dieser Option herumzuspielen ;p
 
BunkerFunker schrieb:
Erstmal "guten Morgen!" an die Helden, die meinen hier etwas neues/tolles entdeckt zu haben :) Das gibts schon seit Ewigkeiten und habe ich schon mit meinem alten Dual Celeron 500 (2 SETI Threads) gemacht. Nur einige scheinen hier nicht zu raffen dass es sinnlos ist einer Anwendung nur eine virtuelle CPU zuzuweisen - damit deaktiviert man ja praktisch HT für diese Anwendung. Effektiv wird die Framerate stets höher sein wenn man Windows selbst entscheiden lässt welche Anwendung auf welcher virtuellen CPU läuft. Soll heißen es macht 0 Sinn (außer für langweilige Testzwecke) an dieser Option herumzuspielen ;p

Moin Moin!

Natürlich nimmt man - für das Betriebsystem generell gesehen - wenn man das HT aktiviert den Nutzen dieser Funktion. Nur bedenke, wenn du z.B. 2 Instanzen von TMPGenc geöffnet hast und du möchtest diese beiden Video Files simultan rendern lassen, dann ist es, einfach schneller, jede "CPU" diesen Vorgang einzeln machen zu lassen, weil somit weniger spare Time bei einer CPU entsteht. Natürlich ist HT etwas anderes als ein DUAL System, da ein Proc. mit HT nur eine einfache Cacheausführung hat. Somit ist dieses Konzept ohnehin etwas kastriert. Dennoch handelt es sich dabei nicht um "Neuerfindungen".

Also Stempel die Leute hier nicht als Vollpfosten ab! ;D Okay?

MfG GuaRdiaN
 
GuaRdiaN schrieb:
...Nur bedenke, wenn du z.B. 2 Instanzen von TMPGenc geöffnet hast und du möchtest diese beiden Video Files simultan rendern lassen, dann ist es, einfach schneller, jede "CPU" diesen Vorgang einzeln machen zu lassen, weil somit weniger spare Time bei einer CPU entsteht...

Das bezweifele ich sehr stark :) Kannst es ja mal testen. Bei einem echtem DUAL System ist das etwas völlig anderes, aber bei HT wird es mit Sicherheit langsamer :)
 
ich stemple hier bestimmt keine leute als dummköpfe ab!!
ich habe nur gesagt dass diese sache mit den zuweisungen für !!MICH!! neu ist und dann hab ichs ausprobiert und war positiv überracht und erfreut.
damit wollte ich nur denjenigen die es auch noch nicht kannten einen tipp geben,ht anders zu nutzen!
ich habe auch nicht gesagt dass es mit allenanwendungen klappt und ein dual system komkurrenz machen könne.
also verbitte ich mir diese superschlauen aussagen wie sie von manchen leuten hier in den thread geschrieben werden.
und erfunden habe ich dies auch nicht.ich habe es per zufall entdeckt und mal probiert und wollte es nur mal weiterempfehlen.(das gleiche wie beim sex :D )
dass der thread hier so ausartet hätt ich nit gedacht :(
ich bin sauer dass man mich als weiss nit wat bezeichnet.
bald schreib ich keine vorschläge mehr ins forum basta und ende
 
Zuletzt bearbeitet:
Kann mir mal jemand erklären wie genau man auf einem HT-System die CPU-Auslastung im Taskmanager zu interpretieren hat? Auf einem Multi-CPU-System isses klar - ein Diagramm pro CPU. Auf einem HT System gibts ja auch zwei logische bzw. virtuelle CPU's, aber wie verhält sich das auf der pysikalischen Ebene? Wenn ich z.b. ein Programm habe das nicht Multithreading fähig ist und somit nur auf einer der virtuellen CPU's läuft, bekomme ich am PC eine Auslastung von 50% angezeigt - was vom virtuellen Teil her klar ist, aber physikalisch kann man nicht darauf schließen, dass von der CPU nur grad 50% verwendet werden oder so, oder?
 
also wenn du zum beispiel 2 programme hast die kein ht untertützen und denen beiden im taskmanager eine cpu zuweist lasten beide die jeweils gewählte cpu aus ohne die andere cpu zu belasten
aslo zb : antivirenkit cpu0
clone cd cpu1
dann lastet das avk auch wirklich nur ,wenns überhaupt dazu kommt,die cpu 0 bis zu 50%aus.das gleiche mit dem clone cd.
also tust du so als ob du 2 cpu hättest.
wenn du die zuweisungen weglassen würdest,also ht normal arbeitet,sieht es etwas anders aus.dann regelt ht selbst die ressourcenverwaltung.
das heisst:wenn ein programm im moment wenig leistung braucht übergibt es den anteil an das programm welches im moment viel braucht und das geht dann hin und her.
ews gibt aber noch den fall mit ht optimierten programmen:diese nutzen sogar beide cpu gleichzeitig um viel leistung zu erreichen(vorallem videobearbeitung).also wenn zuweisung ist:jede cpu kann einzeln genutzt werden.
bei normalem ht:ht regelt selber den gebrauch der beiden cpu
und optimierung:das programm versucht die maximale leistung zu erreichen
 
das mit den virtuellen CPU's ist mir klar, aber wie wird das auf der Hardwareebene realisiert? Ich hätte gerne den Zusammenhang zwischen den Diagrammen bzw. der Auslastung der virtuellen CPU's und der realen Auslastung des Prozessors gewusst.

So wie ich es verstanden habe gibt der Prozessor Ressourcen, die nicht verwendet werden, für ein zweites Programm bzw. genauer gesagt einen zweiten Thread frei - aber wenn nun ein Programm mehr oder weniger Ressourcen verbraucht hieße das, dass bei der zweiten virtuellen CPU die Leistung schwankt (je nach dem welche Teile des realen Prozessors sie verwenden darf)?
 
So wie ich es verstanden habe gibt der Prozessor Ressourcen, die nicht verwendet werden, für ein zweites Programm bzw. genauer gesagt einen zweiten Thread frei - aber wenn nun ein Programm mehr oder weniger Ressourcen verbraucht hieße das, dass bei der zweiten virtuellen CPU die Leistung schwankt (je nach dem welche Teile des realen Prozessors sie verwenden darf)?[/QUOTE]

genau so sieht das aus. das ist dann der fall wenn hyper threading die threads von selbst verwaltet

das mit den cpu auf hardwareebene sieht folgendermassen aus:
eine cpu besteht ja nich aus 2 der gleichen cpu´s sondern durch cpu erweiterungen.wenn man 2 cpus hätte wäre es ja schon einer der bald kommenden dual core cpu.
also ht macht folgendes:programme fordern ja immer verschiedene einheiten der cpu.
bei ht ist es folgendermassen:
wenn ein programm grade eine bestimmte cpu einheit fordert,gibt sie dem anderen programm eine andere einheit frei damit das 2te programm nicht erst "warten"muss bis das erste programm die cpu einheit nicht mehr braucht.jede einheit ist aber für bestimmte rechenaufgaben zuständig.also gibt doch das hyper threading die reihenfolge an,wie und wann und von welchen einheiten die programme grade bearbeitet werden sollen.das verkürzt wartezeiten auf die bestimmten cpu recheneinheiten und verschwendet nit soviel leistung.
arbeiten aber gerade 2 programme an der gleichen recheneinheit,bringt ht nix da es ja nur eine einheit gibt und nicht 2.
das hat man ja an meinem versuch gemerkt:bei doom 3 und dem mpeg encoder gab es nur minimale abstriche bei doom 3 und der zeit des encoders.bei hl2 sanken die frames baer etwas mehr.warum?ich denke ,oder gehe davon aus,das hl2 und er encoder dauerhaft eine einheit genutzt haben und das parallel ws natürlich die leistung verringert.
und was im taskmanager steht ,also die beiden fenster mit der auslastung und das fenster wo die ausl in prozent angezeigt werden,ist immer die auslastung derLOGISCHEN also VIRTUELLEN cpus nicht die hardware cpu selbst(aber dort wo der balken mit den prozent ist werden beide logischen zusammengerechnet und das ergibt dann die ausl.der echten cpu)
 
der JENSEMANN schrieb:
[...] und was im taskmanager steht ,also die beiden fenster mit der auslastung und das fenster wo die ausl in prozent angezeigt werden,ist immer die auslastung derLOGISCHEN also VIRTUELLEN cpus nicht die hardware cpu selbst(aber dort wo der balken mit den prozent ist werden beide logischen zusammengerechnet und das ergibt dann die ausl.der echten cpu)

Das mit den virtuellen CPU's und den zwei Diagrammen im Taskmanager weiß ich, aber das mit dem Zusammenrechnen kann nit ganz stimmen da ich bei SETI oder einer anderen Anwendung - die auf einem normalen Prozessor 100% Auslastung anzeigen würde - immer 50% bekomme - das wiederum hieße dass jede Anwendung gleichviel Recheneinheiten eines gewissen Typs beansprucht - und die Wahrscheinlichkeit dafür is verdammt gering (SETI, TMPGEnc, Prime95, etc.. werden kaum alle genau diesselben Ressourcen verwenden?)
 
Zurück
Oben