Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 37 reacties
Bron: Tom's Hardware, submitter: Sten Vollebregt

De HyperThreading-technologie neemt een belangrijke plaats in in de toekomstplannen van Intel. Wil men echter een duidelijke performance verbetering zien dan zal de software geoptimaliseerd moeten worden voor het gebruik op CPU's met HyperThreading. HyperThreading is een techniek waarbij een enkele processor meerdere opdrachten tegelijkertijd uit kan voeren waardoor een performancewinst te behalen valt. Bij Tom's Hardware wordt uitgebreid gekeken naar de toepassing van de technologie in software, waarbij de voor- en nadelen worden besproken. De grootste winst is te behalen met multitasking, software zal hiervoor echter aangepast moeten worden. Er zullen meerdere threads naast elkaar bestaan met bijbehorende processen. Daarnaast zal een extra proces moeten zorgen voor de co÷rdinatie.

Naast het voordeel van de performanceverbetering is er ook een nadeel: programma's zullen ingewikkelder worden en daardoor is de kans op fouten groter. Intel heeft kort geleden een nieuwe lijn van softwarecompilers uitgebracht die om kan gaan met deze technologie. Dit zal volgens het bedrijf de kans op brede acceptatie van HyperThreading vergroten. De voordelen van HyperThreading zullen pas echt merkbaar zijn bij software die veel rekenkracht vergt zoals videobewerking of het spelen van high-end games. Met de nieuwe compilers zal echter het aantal programmeurs dat hun code gaat aanpassen aan HyperThreading doen toenemen, zo verwacht de schrijver:

Pentium 4 HT HyperThreading logoIn summary, do not expect HT to change your life that much unless you use a computationally intensive program such as a video editing or a high-end game designed to really take advantage of HT benefits, almost all of which are not yet commercially available. The applications available today that take advantage of HT were inadvertently written for the end user. That is because software such as Adobe PhotoShop and Windows Media Decoder offered multithreading for debugging purposes prior to their commercial launch. But with the availability of Intel's new compilers, programmers will soon make the most of HT's benefits for desktop applications as well as networking applications running on Xeon-based servers. In short, a PC with a multi-threaded suite of programs and an HT-capable Pentium 4 will eventually enable you to do video editing and listen to a radio station while periodically looking at NBA basketball scores on the Web at noticeably improved speeds and buffering capabilities. Noticeable benefits while running a spreadsheet and surfing the web, however, will probably remain nil with HT. So, as programmers sink their teeth into Intel's new compilers, the best HT software applications may yet be to come.
Moderatie-faq Wijzig weergave

Reacties (37)

Kern van de zaak is: moet je op een single P4 3Ghz met HT een SMP kernel installeren of niet? Indien ja: dan is de HT een vervanger voor SMP, in sommige gevallen, indien nee, dan is het een truukje voor het simultaan runnen van sommige threads, echter denkt het OS dat deze een single CPU gebruikt.

Gezien de screenshots van taskmanager, ziet windows de proc als 2 procs, en is het dus SMP emulatie met 1 proc (wat dus niet full SMP oplevert, maar wel meer dan 1 cpu core). (En dus geen XP home edition support :P)
XP Home edition werkt prima met een P4-3.06 Ghz en HT.

Het systeem wordt gezien als een ACPI Multiproc systeem, je hebt inderdaad 2 grafiekjes voor de performance. Ik heb er verder nog niets mee gedaan aangezien ik 'em net een paar uur binnen heb ;-)
Ja Windows XP maakt onderscheid tussen
Fysieke uni of DUAL CPU en
Logische CPU die door HT verkregen virtuele.
Windows 2000 doet dat niet die behandeld alles als Fysieke CPU's. wat tot performance hit kan leiden in sommige situaties.

iNtel Vereist voor of geeft als compatible win Os alleen XP aan.
Wij hebben zo'n HT pentium 4 processor in onze nieuwe webserver (met Windows 2000 server). HT lijkt wel positief te werken als je er een zware ASP applicatie op draait.

In feite is Internet Information Server natuurlijk gewoon een applicatie die ontworpen is voor gebruik in een SMP configuratie. Ik vraag me dan toch af of Hyperthreading echt goed is of dat HT het soms juist zou vertragen in deze situatie :? Heeft iemand hier ideeen over/ervaring mee?
Reactie op MBV

Alsof de gemiddelde CPU load belangrijk is. Gaat om maximale kracht van een CPU. Dit is nodig voor bijv het spelen van high-end games. HyperThreading is idd niet zo nodig als je alleen maar een beetje surft op het internet :*), maar in de toekomst kan het dus wel voordelig zijn voor high-end games!
HyperThreading is idd niet zo nodig als je alleen maar een beetje surft op het internet
Niet als je alleen surft, maar het kan voor een 'gemiddelde' gebruiker heel interessant zijn als de app's geoptimaliseerd zijn. Ook als je bijvoorbeeld je koe laat grazen zit die op de ene tread en de browser op de andere (winst). Of als je een virus scanner hebt draaien het zelfde verhaal. Of je zit een mp3'tje te decoderen en te browsen, ook dan kun je winst boeken.

Ik denk dat de balangrijkste optimalistatie is dat de kracht van HTT goed benut wordt. Bijvoorbeeld als er een zware tread bezig is een tweede tread aan een lichtere applicatie geven inplaats van een tweede zware, zo kan de lichte applicatie alvast runnen en dan kan de CPU met de zwaardere aan de slag. Dan komt de zwaardere wat later maar dan is de licht alvast bezig en kun je wat gaan doen. En de cpu moet ook vooral de nuttige treads het voordeel van hypertrading geven. Dat je niet gaat gamen terwijl je een mp3'tje encodeerd en de virus scanner aan het lopen hebt de cpu met de game en de encoder gaat multitasken terwijl de virusscanner de hele tijd op een tread zit en doorloopt.
Persoonlijk ben ik heel tevreden met m'n dual PIII 450 systeem..juist omdat de twee processors zo inefficient worden gebruikt ;)

Klinkt mischien een beetje raar, maar omdat een enkel proces maar 50% van de systeem resources kan claimen, is het systeem minder snel overbelast en 'voelt' het allemaal wat soepeler aan als je flink bezig bent.

Geen idee trouwens hoe dit trouwens met hyperthreading zit, ik zie overal mooie screenshots van taskmanagers met 2 cpu's, maar in hoevere je hyperthreading met smp systeem met 2 cpu's kan vergelijken is me eigelijk totaal onduidelijk :?
Gezien sommige benches komt HT bij normale ongeoptimaliseerde software nergens in de buurt van een dual CPU systeem, vandaar ook mijn vraag.
maar er is wel een voordeel als spellen hyperthreading ondersteunen, zullen ze automatisch ook werken voor smp systemen. wat betekent dat ze zelfs nog beter gebruik zullen maken van smp systemen dan tot dusver :P
Dat je met HT daadwerkelijk twee threads tegelijk kunt draaien geloof ik wel.

Maar smp is meer dan dat, denk aan genoeg bandbreedte voor beide cpu's eigen interrupts, enz. Alles om er voor te zorgen dat je ook daadwerkelijk 2x de performance van 1 cpu kunt halen, over het hoe en waarom van HT hoor ik heel weinig, verdacht 8-)
Bestaan er eigenlijk al programma's die geoptimaliseerd zijn voor Hyperthreading?
Ik zou daar de daadwerkelijke performance winst ten opzichte van de voorgaande versie willen zien?
Ja, Photoshop bijvoorbeeld, maar de simpele dingen door mensen thuis gemaak, en dus niet door grote bedrijven, daar zit (nog) geen HyperThreading in.
edit: Als je het Engelse tekstje leest zie je:
The applications available today that take advantage of HT were inadvertently written for the end user. That is because software such as Adobe PhotoShop and Windows Media Decoder offered multithreading for debugging purposes prior to their commercial launch.
volgens mij is alles wat je compiled tijdens 't ontwikkelen en niet als final release voorzien van een debug thread voor breakpoints e.d...

dus als ze daar op doelen, dan is dat nogal wiedes jah :) zo kan ik nog wel 983274 applicaties verzinnen die voor hun release multithreaded waren :D
coubertin_119 volgens mij begrijp jij niet de door jezelf gequote text.

Thuis hobbyisten kunnen ook multytreaded apps maken this gewoon wat thread aanmaken maar daar gaat het totaal niet om in die quote (END User).

Die text zegt dat veel of de meeste Commerciele Apps gewoon single treaded zijn voor de Retail Build maar tijdens ontwikkeling als Debug build dus niet maar wel dus alleen bedoeld voor de ontwikkelaar zelf.

Dit is gewoon 'n Feature van de ontwikkeltool waar wij dus als gebruikers niks aan hebben behalve dat het een weetje is.

Bijvoorbeeld:
Net zoals voor DirectX Fullscreen ontwikkeling de devtool wel MultyMonitor support voor debug doeleinden gebruikt is de retail game gewoon single monitor

Dat zou dan ook betekenen volgens dat verhaal dat er veel meer games Multimon ondersteunen maar dus toch niet.
misschien bestaat die nog niet maar het kan toch gebruikt worden, stel dat je windows hiervoor kunt aanpassen dan zijn opeens alle programmas ervoor aangepast :)

of games en al van die dingen...
Nee zo simpel gaat dat niet.

Voor 'n deel kan daar 'n compiler voor gebruikt worden door 'n Sourceroutine om te zetten van single tread compileren naar multytread exemplaar in de broncode
iNtel zal met hun eigen Compiler plugins daar bezig met zijn of al klaar hebben geen idee.

maar voor SMP software temaken met design in gedachte dus van de grond op zal 'n Programmeur in de Source ergens in de WinMAin{} een of meerdere Create Threads lines moeten schrijven met de rest van de code etc om het Multytreaded te maken.
Ja Quincy_J met SMP software
en voor de Xeon HT Workstation/Server is dat wel wat meer beschikbaar dan voor de P4 HT Deskstop CPU

Als je P4 3,066 gebruikt als workstaion kan je hem meteen al met HT gebruiken door SMP workstation software
Waarom levert een HT CPU zonder geoptimaliseerde software niet veel snelheidsverbetering op? Windows kan toch net als in een dual CPU opstelling in feite twee programma's (processen, threads, wawa) *echt* tegelijkertijd draaien?
een reactie op roelio,

Een HT CPU is nog steeds maar een cpu, hyperthreading berust op het gegeven dat 'een' van de threads niet veder kan omdat ergens op gewacht moet worden zoals bijvoorbeeld het benaderen van het geheugen.

Op dat moment kan bij een HT cpu de andere thread wel gewoon verder. Daar zit dus de winst in.

Als je een applicatie hebt die de cpu al optimaal benut zonder dat de cpu zit te wachten op geheugen of de bus dan schiet je ook niks op met HT.

Feitelijk komt de winst van HT dus uit de clockcycles waar de cpu normaal niks mee doet omdat hij staat te wachten. Bij een HT CPU kan hij waarschijnlijk wel verder met de andere.


Overigens kan je lang niet alle software multithreaded maken. Soms is kan de volgende instructie alleen uitgevoerd worden als de vorige is voltooid, dit is natuurlijk nog maar op instructie niveau maar dit is ook zo bij software. Soms kun je het programma gewoon niet opdelen in twee verschillende stukken die gelijktijdig worden uitgevoerd.
Zoals jij het vertelt is HT dus niet twee threads tegelijk uitvoeren, maar een tweede thread uitvoeren als de eerste nauwelijks wat doet. Dat lijkt me niet echt HT, maar heel iets anders.
Wat je zegt klopt eigenlijk wel, een HT cpu is eigenlijk een normale cpu die verdeeld is een twee of meerdere stukken. De uiteindelijk maximale snelheid van de processor verandered er niet door maar zorgt voor een verbeterde doorstroom van de instructie's in de processor. Dit leid in veel gevallen tot een prestatie verbetering.

Maar het is dus niet zo dat de huidige p4 met hyperthreading eigenlijk 2 p4 op een chip is, eerder nog 2x een halve p4.

Een beetje ver gezochte vergelijking zou de cross-bar memory controllers in de moderne video kaarten kunnen zijn. Uiteindelijk kun deze ook precies dezelfde maximale bandbreedte uit het geheugen halen. Maar omdat ze een inteligente besturing hebben zitten ze veel vaker bij het maximaal haalbare dan hu normale broertjes. Dit is eigenlijk ook zo bij een hyperthreading cpu.

edit:

Ik snap wel wat je bedoelt met dat er eigenlijk geen 2 threads uitgevoerd kunnen worden, maar dat er gewisseld word. Normaal gesproken regelt het operating system dat elke thread een bepaalde tijd krijgt en dat dan de volgende thread de tijd krijgt.
Bij een hyperthreading cpu doet de cpu zich voor als 2 of meerdere processoren en neemt de cpu zelf de taak van het switchen op zich.

Toch is het eigenlijk zo dat de cpu wel 2 threads tegelijk kan uitvoeren, dit komt omdat het front end van de processor waarin de loop van de instructie's geregeld word nu uit 2 of meer stukken bestaat. Deze twee stuken van het front end zorgen dat het normale ongewijzigde uitvoerende back end instructies van beide threads door elkaar heen kan uitvoeren.

De truuc van HT is dus eigenlijk dat de processor zich voordoet als 2 of meer processoren om zo zelf de theads efficienter af te kunnen wikkelen dan dat het operating system kan.

je kunt overigens ook veel informatie over dit onderwerp vinden op:

http://www.arstechnica.com/paedia/h/hyperthreading/hyperthreading-1.ht ml
Het ligt er ook aan welke windows-versie je gebruikt voor Dual-CPU....
Dus net als voor Dual CPU moeten ook voor HyperThreading worden geoptimaliseerd.
Volgens mij is die HT een grote marketing truuk zoals ze altijd doen. Het doet me echt sterk denken aan de MMX tijd. Als je cpu de MMX extensie had kon je met aangepaste programmatuur (ze doelden dan vooral op games) veel betere resultaten behalen. yeah rigth, Ik heb het verschil tussen een gewone cpu (op dezelfde kloksnelheid) en die met MMX des tijds nooit ondervonden. In benchmarks was er wel een verschil ja, maar cijfers zeggen niet altijd alles. Het kleine verschil dat er dan was rechtvaardigde de meerprijs zeer zeker niet.

Ik beweer niet dat HT niet werkt ofzo maar het is gewoon fel overroepen volgens mij. Om de zoveel tijd komen ze precies met een nieuwe stunt (incl. stoere naam met nog stoerdere afkorting) die uiteindelijk bijna geen meerwaarde bied en binnekort zonder dat erover gepraat word standaard in elke cpu zit. Het enige wat nog in het rijtje ontbreekt is dat je voor een HT enabled cpu een nieuw mb moet aanschaffe omdat ze een nieuwe socket bedacht hebben :)
Als je HT wilt vergelijken met 'n normale CPU dan moet je in gedachten nemen dat het al zeker geen echte DUAL nooit kan over treffen.
Dus als je de reviews van DUAL vs UNI in acht neemt weet je dat HT daar tussen in zich zal bevinden afhankelijk van de software.

Grof gezegt bied HT wat DUAL aanbied maar niet in alle situaties, als je weet dat DUal vs uni nogal tegen valt tov de meerprijs en in de desktop/game situatie helemaal is er nog een punt en dat is dat HT 'n Bonus is en voor DUAL moet je echt dokken denk aan die tweede Xeon of Athlon MP

DUAL koop je voor de SMP software die daar het meeste van profiteren.

HT krijg je er gewoon bij of je het nodig heb of niet als je 3+Ghz P4 gaat halen.
<quote>
Grof gezegt bied HT wat DUAL aanbied maar niet in alle situaties, als je weet dat DUal vs uni nogal tegen valt tov de meerprijs en in de desktop/game situatie helemaal is er nog een punt en dat is dat HT 'n Bonus is en voor DUAL moet je echt dokken denk aan die tweede Xeon of Athlon MP
</quote>

Hmm bonus, je vergeet Intel geloof ik :P

Als je voor Xeon gaat zal geld zowieso minder belangerijk zijn, en ik vraag me af of 2x een MP 2200 bv nou echt zoveel duurder is als een P4 3ghz, Intels topmodelen zijn nou niet echt goedkoop..

Zal over een tijdje natuurlijk wel weer compleet anders liggen want zo werkt de markt nou eenmaal, maar mijn punt is dat een SMP systeempje ook best een economische keuze kan zijn.

Zelf stond ik een paar jaar voor de volgende keuze:

a scsi dual moederbord+mem+2xPIII 450
b 1 PIII 600

Lijkt me wel duidelijk wat het geworden is 8-)

jb
Ik heb het verschil tussen een gewone cpu (op dezelfde kloksnelheid) en die met MMX des tijds nooit ondervonden. In benchmarks was er wel een verschil ja, maar cijfers zeggen niet altijd alles
Cijfers zeggen niet alles, maar als je het verschil niet merkte, dan zat je niet op te letten :z

Die MMX maakte werkelijk geen zak uit, maar tegelijk met de MMX extensies kreeg de P55C ook een verdubbelde L1 cache, van 16KB naar 32KB. De gevolgen daarvan waren overduidelijk te merken :)

Terug kijkend was MMX vooral nuttig voor software modems en AC'97 gevallen. Het was dus boven alles een mogelijkheid voor OEM's om te besparen op kosten- iets waar je als eindgebruiker je twijfels over kunt hebben, maar commercieel gezien was het voor Intel zeker een goede zet.

HT is daarentegen niet een extra stel instructies maar een fundamentele wijziging in de manier waarop de bestaande instructies door de CPU gejaagd worden. Daarom zal het in meer of mindere mate effect hebben op alle software, wat het dus fundamenteel anders maakt dan iets als MMX
high end games gebruiken zelfs de volledige kracht van de cpu niet!

ik heb een dual amd 2 keer 2 ghz en ik zou zonder twijfel ut2003 en MOHAA naast elkaar op 1 computer kunnen draaien als de videokaart het toeliet...

zo is Quake ook geschikt voor dual cpu maar probeer dat maar eens in gang te krijgen... telkens hij de 2 cpu's aanspreekt hangt het systeem... niet echt optimaal geemplementeerd dus!
het is heel simpel; tot op heden heeft men nooit echt bezig geweest om de home programma's en games te maken op dual systemen of op hyperthreads... Ik vond het eigenlijk spijtig dat niemand er veel aandacht aan schonk terwijl het toch een grote kracht in zich heeft... zo kan je het proces toewijzen aan een bepaalde cpu zodat je kan rippen met 1 cpu en rustig verder werken met de andere... er zou software moeten komen waardoor dit allemaal automatisch gebeurd! vervolgens zal er ook meer intresse zijn van de home gebruiker!
wat je nu zegt is onzin en ligt helemaal aan de game en je videokaart, er zijn genoeg situaties waarin het systeem flink gelimiteerd wordt door de cpu.

in de toekomst wordt dat hopelijk alleen maar erger want 1 van de dingen die voorlopig nog cpu dependand blijven is de AI van een game. of ze moeten met een soort instructieset op de proppen komen speciaal voor AI en dat in de gpus verwerken maar dat lijkt me enorm veel moeite.
Ja je moet vooral ook in acht nemen dat Games ook wat meer GPU dependend zijn in het algemeen. Dat zegt heel veel want als de CPU de botleneck niet is dan kan je nog zoveel SMP dan zal de performance winst tegenvallen De graphics code wacht dan op de GPU..
Maar betekend wel dat je voor AI meer overhoud of beschikbaar hebt iig de andere game componenten..

Daarnaast zijn de meeste GPU niet geschikt voor multytreaded aangestuurd te worden
Die enige die dat wel heeft is de P10 van 3Dlabs die heeft voor de T&L&C logic nog een Command unit die de inkomende Treads managed eer die naar de T&L gaan.

Mij lijkt ook dat de drivers daar ook geschikt voor moeten zijn om meerdere treads te kunnen opvangen.
Vooral voor GPU gericht op de game markt

Misschien is Q3A wel wat uitgebreider SMP geimplementeerd en laat dat soms met bepaalde grafishe hardware goed zien maar de meeste hebben er problemen mee.
zijn er eigenlijk al programma's die optimaal gebruik maken van de Pentium 4?
Ik denk dat het moeilijk is om van 3.06 ghz optimaal gebruik te maken. ik heb hier een p4-m 1,4 GHz en ik heb gemiddeld 3% CPU load :)

Maar Multithreading moet toch op de zelfde manier gebruikt kunnen worden als dual CPU? en daar zijn toch al programma's voor geoptimaliseerd? denk het dus wel 8-)
wil je een hogere cpu load moet je wel het systeem stresse =-)

encoding/decoding programma's voor divx etc maken echt wel gebruik van multi threads hoor, photoshop maakt er ook gebruik van dus.. allez, nen normale gebruiker en ook bevoorbeeld gamers hebben er weinig aan voor et moment, tenzij ze nog andere dinges doen terwijl ze gamen

in mijn ogen staat die MT's nog een beetje in hun kinderschoenen vind ek, maar ze zijn goe op weg
in mijn ogen staat die MT's nog een beetje in hun kinderschoenen vind ek, maar ze zijn goe op weg
Multi-threading in de kinderschoenen? Voor de thuis gebruiker misschien, high-end worstations zijn al jaren beschikbaar met MT. Ik werk zelf ook al weer een aantal jaren op multi-proc machines (ja, ook thuis) en voor mij niets anders meer. Al zijn de keren dat je ECHT 200% load hebt nog zo gering, de feeling die je met een mutli-proc doosje hebt is vele malen beter dan een single proc. systeem.
Wat ik zelf verwacht van HT is dat het een klein beetje van die "feeling" naar de normale desktop markt weet te brengen. Het reageren op knopjes, het niet hoeven wachten tijdens het multitasking. Dat zou IMHO al een grote stap in de goede richting zijn. De echte dual / quad etc. systemen vervangen zal het niet, maar de kleine voordelen van een MP systeem in een enkele proc duwen zou wel erg mooi zijn.
Tja denk aan de Xeon met HT
Gebruik je dus nu 'n P4 3,066 als Workstaion kan je er dus gewoon meteen met smp software, wat meer in die markt gebruikt wordt, er meteen gebruik van maken.
Ik heb nog een BP6 dual celeron systeem..
En het valt me zo erg op altijd hoe weinig software MPS is..
Het is eigelijk zonde van het geld en HT gedraacht zig het zelfde dus ik geloof er niet zo in...

Alles van Adobe doed het wel maar de rest.. het valt erg tegen
Dual & HT & BP6 koop je voor de SMP software die je gebruikt.
Alleen krijg je die HT er als bonus bij DUAL koop je er een CPU bij net zoals in het BP6 geval.
Voordat extra geld verwacht je natuurlijk wat performance voor terug.
En dat krijg je vooral als je SMP software gebruikt.

HT CPU is nu nog duur maar dat zal die P4 3,066 zonder HT ook wel zijn geweest je betaald voor het topmodel plaatje van 3+Ghz
Op de prijs na is HT 'n win-win situatie ALS het Dual evenaard is dat mooi megenomen

Zover ik weet wordt HT niet zo extreem doorbereken als de Clock maar meer als de verhoogde FSB dat krijg je er gewoon bij.

Toch ?

Als je die BP6 had gekocht voor standaart PC gebruik was je fout bezich geweest. Ik had hem voor 3DStudio MAX en daar maakte het een wereld van verschil uit.
Intel heeft kort geleden een nieuwe lijn van softwarecompilers uitgebracht die om kan gaan met deze technologie.
Kunnen we binnenkort een nieuwe d.net client verwachten? Of zou HT niet interessant zijn voor distributed computing?

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True