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 , , 35 reacties
Bron: Ars Technica, submitter: Cookie

Al sinds enige tijd zijn er Xeon-processors die gebruik kunnen maken van HyperThreading en nu de introductie van desktopprocessors die gebruik zullen maken van deze techniek niet lang meer op zich laat wachten, verschijnen er verschillende artikelen over de werking van HyperThreading. Twee uitgebreide in-depth teksten zijn te vinden bij Ars Technica en ExtremeTech. Beide artikelen gaan in op de wijzigingen die nodig zijn binnen de processor en in programma's. Voor een duidelijke uitleg over threads is er dit artikel.

Pentium 4 HTT logoHet idee achter HyperThreading is om een processor meerdere threads tegelijk te laten verwerken, waardoor de prestaties toenemen. Om meerdere threads te laten draaien, moeten bepaalde onderdelen van de processor gekopieerd worden. Zo moet er van elke thread worden bijgehouden welke instructies er precies moeten worden uitgevoerd, waarvoor extra transistors nodig zijn. Ook andere delen van de processor moeten verbouwd worden om SMT-ondersteuning te kunnen bieden. Het gaat dan vooral om de communicatie tussen de processor en de rest van het systeem: aan de kern van de CPU hoeft weinig veranderd te worden.

Het grote voordeel van HyperThreading zit in het feit dat grote delen van een processor niet verdubbeld hoeven te worden om twee threads te kunnen gebruiken. Het bekendste voorbeeld zijn de execution units: de processor kan een tweede thread een ongebruikte unit toewijzen, waardoor de efficiëntie van de CPU vergroot wordt zonder de die-size te vergroten en daarmee de prijs omhoog te brengen. Ook de cache kan zonder problemen verdeeld worden over verschillende threads, evenals een aantal buffers. Deze laatste worden in multithreading-mode verdeeld over de threads, maar bij het gebruik van een enkele thread volledig daaraan toegewezen. Dit zorgt ervoor dat single-threaded applicaties geen vertraging zullen ondervinden van het delen van resources.

HyperThreading Dhrystones

In vergelijking met een SMP-systeem is het gebruik van SMT veel efficiënter. Bij een juiste mix van applicaties kunnen de prestaties behoorlijk vooruitgaan door het inschakelen van HTT, terwijl de core volgens Intel door de ondersteuning slechts vijf procent groter wordt. Hoe veel gebruikers in de praktijk van HyperThreading zullen merken is de vraag: afhankelijk van de programma's kan de performance niet alleen toenemen, maar ook afnemen. Als twee threads van dezelfde execution unit gebruik willen maken, dan zal één van beide moeten wachten. Door het delen van resources zal een HTT-processor in zo'n geval niet alleen veel trager zijn dan een SMP-opstelling, het kan zelfs zo zijn dat een processor die slechts één thread tegelijk draait sneller is. Om die reden is het te verwachten dat HyperThreading zijn nut vooral in server-situaties met een gevarieerde processorbelasting zal bewijzen:

The fact that Intel until now has made use of hyper-threading only in its SMP Xeon line is telling. With hyper-threading's pitfalls, it's perhaps better seen as a compliment to SMP than as a replacement for it. An SMT-aware OS running on an SMP system knows how to schedule processes at least semi-intelligently between both processors so that resource contention is minimized. In such a system SMT functions to alleviate some of the waste of a single-threaded SMP solution by improving the overall execution efficiency of both processors. In the end, I expect SMT to shine mostly in SMP configurations, while those who use it in a single-CPU system will see very mixed, very application-specific results.

Lees meer over

Gerelateerde content

Alle gerelateerde content (34)
Moderatie-faq Wijzig weergave

Reacties (35)

Als je het zo 123 leest is HTT natuurlijk erg intressant, maar voor de "huis tuin en keuken" thuisgebruiker twijfel ik enorm aan het nut voor HTT, naast het feit dat je al een NT based OS moet hebben zijn er weinig applicaties die aware zijn van "smp" opstellingen (gefaked of niet), behalve dan natuurlijk het os en bepaalde games.

dus voor mij is het ook nog wel begrijpelijk dat ze het geintroduceerd hebben op de XEON lijn, maar snap ik niet helemaal waarom ze het nu naar de desktop brengen, zal misschien wel deel marketing zijn, maar ik weet 't echt niet.
Ach voor een deel zal het ook wel marketing zijn, aan de andere kant heeft het wel potentieel als toekomstige applicaties hier wel rekening mee houden. Je kunt namelijk moeilijk verwachten dat er al een hele stapel applicaties ligt te wachten op deze nieuwe (nieuw voor de desktop dan) technologie :)

Ik bedoel als je een nieuwe technologie niet de kans geeft om door te breken op de desktop, komen we nooit verder.
Wat dat NT-based OS betreft... ik denk dat nu bijna alle nieuwe P4 desktops wel met WinXP verkocht worden, dus dat komt goed.

En ach, als blijkt dat HTT langzamer is in de dingen waarvoor jij je desktop gebruikt, dan kan je het in het BIOS disablen denk ik (er moet wel zoiets zijn, een compatibiliteitsmodus voor single threaded OSen zeg maar). Dus wat mij betreft betekent dit gewoon extra setup-opties en da's altijd weer leuk.
dus voor mij is het ook nog wel begrijpelijk dat ze het geintroduceerd hebben op de XEON lijn, maar snap ik niet helemaal waarom ze het nu naar de desktop brengen, zal misschien wel deel marketing zijn, maar ik weet 't echt niet.
Ooit de "feeling" van een dual proc workstation mogen ervaren? Dan wist je het namelijk wel. Ik heb hier een single P4 1.6 en een dual PIII 800, maar die P4 HAALT het niet bij de workflow die ik met die dual heb. Met pure rekenkracht is die P4 net ff wat sneller. Maar het is niet zozeer die extra hoeveelheid MHz'en die het verschil maakt, het feit dat je systeem DIRECT reageerd op commando's en met veel multitasking geen krimp geeft, DAT is de kracht van SMP in een workstation.

HTT wil dit samenbrengen in een enkele proc. Als je de feeling van een SMP systeem kan bereiken met een enkele proc dan ben je een heel eind op weg met een workstation. JUIST voor een workstation is de stap van single naar dual een die flink wat kosten met zich meebrengt (en dan vooral als je meerdere werkplekken moet voorzien van nieuwe workstations). Bij servers speelt dit veel minder aangezien de totale kosten daar toch al een stuk hoger liggen. Als je 20 single XEON systemen kan inzetten i.p.v. 20 duals scheelt je dat 20x een duurder moederbord, 20x een andere voeding, 20x een extra proc etc... Dat zet meer zoden aan de dijk dan bij die ene extra proc + moederbord + voeding in een server.
Ik denk dat er steeds meer desktop gebruikers multitasken (je koopt geen snelle P4 om een beetje te surfen). Als er gemultitaskt wordt is een processor met HTT (bijna) altijd sneller.
Kijk 's naar die DhryStone benchmarks hierboven...
HTT is geen SMP, en de software moet er echt op aangepast worden. Multithreaded programmeren is vaak al lastig genoeg, maar als je dan ook nog rekening moet houden met welke delen van de processor je wel of beter niet hunt delen, dan wordt 't lastig.
En voor zover ik weet zijn er alleen een paar Intel compilers (C en Fortran) die HTT ondersteunen. Voor programmeurs die VC6, VC.NET, Delphi6 of 7, etc. gebruiken, is HTT optimalisatie nu nog handwerk, en dat is bijna niet haalbaar.

Oftewel: de meeste huidige software zal langzamer draaien onder HTT. Nieuwe versies zullen al gauw wel gebruik maken van HTT, maar daar gaat nog wel een jaartje overheen...
HTT zit niet in je applicatie dat zit in de scheduler van je OS. En HTT zit dus ook niet in je compiler maar in je kernel.

Het enige wat je hoeft te doen in zowel windows als Linux is dat je threads moet gebruiken of moet forken. Zodra je dus 2 applicaties draait (zoals bijvoorbeeld een compiler met meerdere threads) zal met HTT automatisch de hele CPU gebruikt worden i.p.v. voorheen een groot gedeelte. (Dit overigens alleen bij een perfect programma, of reken programma's zoals d.net)
Afterlife heeft gelijk. Zolang de programmeurs van Microsoft hun applicaties zoals Office niet herschrijven in HTT multithreaded vorm, heb je geen performance winst bij het draaien van die apps.
Een kip-ei situatie die Intel nu doorbreekt. Over een jaar of vijf zal iedereen wel geleerd hebben om multithreaded desktop apps te bouwen.
Overigens is Java wel al prima geschikt voor multi-threading, en zijn de tools daar ook op aangepast (eclipse.org etc).
Onzin. Single-tasking benchmarks zullen inderdaad niet sneller draaien, maar zulke benchmarks zijn natuurlijk totaal oninteressant. Het gaat er om of je bij real0life applicaties er profijt van hebt, en dat is zeker het geval: druk maar eens op CTRL+ALT+DEL in Win2000 of WinXP en ga naar de taskmanager en kijk maar eens hoeveel threads paralel lopen! (processes)
Als je het zo 123 leest is HTT natuurlijk erg intressant...
als je dan ook nog docje 123 ff leest en zo'n ding aan 't werk zet ben je helemaal geweldig !! :Y) }:O
En het Dnet koetje is echt multithreaded. Hier onder NT4 zie ik 4 threads draaien.....
Volgens mij bezitten alle pentium 4s deze functie alleen daar heeft intel deze uitgezet :( kunnen ze weer eens stunten met iets dat er al 2 jaar opzit)
Als Intel het er dan al 2 jaar had inzitten, waarom het dan niet gebruiken in de strijd tegen AMD?
Omdat je nooit gelijk het achterste van je tong moet laten zien !!
Als Intel het er dan al 2 jaar had inzitten, waarom het dan niet gebruiken in de strijd tegen AMD? Intel heeft echt géén reden om dit 2 jaar verborgen te houden. Dat is zo ongeveer het stomste wat ze kunnen doen.

Volgens mij moet HTT toch echt wel aanslaan. Steeds meer huis tuin en keukengebruikers doen aan beeldbewerking ofzow.
Werkt HTT ook versnellend voor games?
amdtweaker heeft toch echt gelijk - t zit al die tijd al op de P4 cores. Maar ik kan best een aantal redenen bedenken waarom het niet aanstond....

Om te beginnen maakte de P4 niet echt een soepele start, simpelweg omdat de kloksnelheden nog te laag waren. Als er toen ook nog HTT bij had gezeten, dan was dat echt rampzalig geweest in toepassingen die langzamer zijn met HTT. Op de huidige snelheden is er enige reserve - het soms trager zijn is nu goed weg te strepen tegen het vaak sneller zijn.

Verder moet je bedenken dat de overstap van het bekende S370 platform al heel wat betekende voor pc-fabrikanten, met de nieuwe RDRAM technologieen die ze onder de knie moesten krijgen. Ik denk ook dat het al een heel zware lobby was die Intel moest voeren om SSE2 optimized software te laten verschijnen. Als ze dan ook nog met HTT waren komen aanzetten...

Nu is de P4 gesettled, voorlopig zelfs even als absolute performance-koning. En er is nu dus tijd voor HTT.
Deze techniek zit er weldegelijk al 2 jaar in. Elke P4 bevat de mogelijkheid voor hyperthreading alleen staat het uitgeschakeld. Intel heeft dus blijkbaar geen reden gezien om het eerder in te schakelen.
Het had wel interessant geweest als er bij had gestaan of het nu om een Xeon of een gewone P4 cpu ging....tja....voor de rest is het maar afwachten hoe de ontwikkeling zal gaan met betrekking tot de applicaties die HTT echt zullen gaan gebruiken denk ik....lang leve HTT :)
HTT zit in alle P4's, of je nu een Willamette, Northwood of Xeon pakt. Het enige wat verschilt is of HTT wel of niet is ingeschakeld.

Bij de Xeon is dat dus het geval, en ook de Northwood krijgt vanaf de 3,06GHz een ingeschakelde HTT feature. De Prescott krijgt een vernieuwde HTT "unit" waardoor we dan ook een kleine snelheidswinst kunnen verwachten (als je "goede" software gebruikt tenminste).
...van HTT, terwijl de core volgens Intel door de ondersteuning slechts vijf procent groter wordt.
Aangezien HTT in alle P4 core's al aanwezig is, wordt de core bij de 3,06GHz Northwood en de Xeon dus niet groter, Intel had zulke feature's al ingebouwd alleen nog niet ingeschakeld.
Oftewel: in desktops heeft HyperThreading vrijwel geen zin, omdat hier voornamelijk 1 type applicatie wordt gedraaid en niet een bonte mix.
Ow?

En ik maar altijd denken dat internetten, chatten, downloaden, spreadsheets, databases, branden enz tegelijk allemaal aparte threads waren van verschillende types :z

Denk dat alle desktop users die verder dan msn en IE kijken er zeker voordeel aan gaan hebben!
Inderdaad. Bijna elke Windows applicatie bestaat tegenwoordig uit meerdere threads.

Het ligt voor de hand dat Microsoft de multi-threading code in de Windows kernel aanpast. In plaats van "thread-emulatie" kan nu hardware threading functionaliteit van de processor ingezet worden. De threading API blijft ongewijzigd. Oude multi-threading applicaties hebben dus ook voordeel van de Hyperthreading technologie.

Overigens staat er op Ars Technica een hele goeie uitleg over Hyperthreading :

http://arstechnica.com/paedia/h/hyperthreading/hyperthreading-1.html

(8>
Dat zou dan het definitieve einde zijn van de mogelijkheid om NT en haar opvolgers op meer dan 1 processor-architectuur te laten lopen, toch? NT had altijd een Hardware Abstraction Layer die de echte processor moest verbergen voor de rest van het OS.

Als Microsoft nu definitief kiest voor Intel als 'one-and-only' kan die laag (zit die eigenlijk wil in 2K en XP?) er uit en kunnen dit soort features inderdaad native gebruikt gaan worden.
In dergelijke gevallen zal een HTT enabled cpu zelfs trager zijn, er van uit gaande dat nog haast geen enkele applicatie momenteel SMP support heeft, zoals dat op het moment het geval is.
Ga jij maar eens naar de taskmanager van Windows en kijk maar eens hoeveel threads parallel lopen

[scannen van keyboard, scannen van muis, scannen van netwerk, scannen van CDROM-speler, scannen van harddisk, etc. etc. etc.]
E_jey:

Als Intel nou eens HyperTransport erbij zou gebruiken worden die ook wat sneller... het zijn gewoon 2 totaal verschillende technieken die niet met elkaar te vergelijken zijn. HyperThreading heeft te maken met 1CPU als meerdere zien en HyperTransport is volgens mij de directe verbinding van een AMD cpu met het geheugen (IIRC)

offtopic: hoe reageer je op een specifieke post? Kan het niet vinden op http://www.tweakers.net/reviews/164/ :?
HyperThreading heeft te maken met 1CPU als meerdere zien en HyperTransport is volgens mij de directe verbinding van een AMD cpu met het geheugen (IIRC)
Volgens mij vallen ALLE verbindingen op het bord onder die hypertransport techniek: dus ook bijv verbinding tussen AGP en cpu e.d. (North-en South-bridges zijn volgens mij ook niet meer nodig met dit systeem)
offtopic: hoe reageer je op een specifieke post? Kan het niet vinden op http://www.tweakers.net/reviews/164/
Op het "gezichtje"-icoontje drukken linksboven de post waar je op wilt reageren drukken:
[img]http://www.tweakers.net/g/r/2m.gif[/img]
Ey, thanks voor de info, het werkt :)

Wat je zegt is trouwens niet juist... er is namelijk nog wel een southbridge nodig voor het aansturen van de PCI bus.
Maar wat moet nu de precies de ondersteuning bieden voor HTT ? Het OS, de software of beide. Dat maakt natuurlijk wel erg verschil. Anders blijf je net als met de instructions ( MMX, SSE ) zitten met het feit dat de softwaremakers hun software moeten aanpassen.
Zoals eerder opgemerkt, hyperthreading heeft niets gemeen met hypertransport. Helaas want AMD zou met een dergelijke techniek de Athlon een stevige boost kunnen geven en Intel beter beconcureren.
Intel, begrijp ik nu pas echt, ligt in technologisch opzicht een flink stuk voor op AMD, ze hebben behoorlijk wat technologie gewoonweg op de plank staan waarmee op gezette tijden producten worden uitgerust en geintroduceerd. AMD heeft jammer genoeg niet zo'n reserve en moet stevig aanpoten om hun huidige productlijnen omteschakelen.
Uuuuuhhm HTT alleen in de XEON? Ook in de P4 3.06Ghz toch???
Ja, maar die is nog niet uit. De Xeon CPU's daarintegen wel.
Het gaat natuurlijk om maar 1 ding en dat is gewoon snelheid! Als om de snelheid te vergroten de die moet worden vergroot voor, zoals in het artikel staat vermeld, de execution units etc. gaat de prijs omhoog. Voor desktops is het dus niet alleen een middel om de snelheid op te krikken, maar ook om die toegevooegde snelheid betaalbaar te houden. :)
Typo: Ars Techica = Ars Technica

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