3,06 GHz
Logoet for Pentium 4 med hyper-threading. |
Med eller uden hyper-threading er den nye 3,06 GHz Pentium 4 den hurtigste processor, man kan få til pc'er. Et eksempel herpå er de 15.491 point i testprogrammet 3DMark2001 SE, vi fik på et system med 512 megabyte PC1066 RDRAM og et ATI Radeon 9700 Pro grafikkort.
Populært sagt går hyper-threading ud på at benytte processorens ressourcer bedst muligt, så der ikke er alt for mange dele af den, der ikke laver noget. Det gøres ved at sende to tråde, altså arbedsopgaver, igennem processoren samtidig. Pointen er, at hvis den ene tråd ikke udnytter en bestemt del af processoren, så kan den anden jo gøre det.
Intels hyper-threading er ikke noget nyt. Teknologien så dagens lys i forbindelse med lanceringen af en 2,2 GHz Xeon i slutning af februar. Vi beskrev teknologien i oktober sidste år, og interesserede læsere henvises til denne artikel.
Det nye er, at hyper-threading nu er tilgængelig i processorer beregnet til almindelige stationære pc'er. Pentium 4 med 3,06 GHz og alle fremtidige processorer i serien vil have teknologien aktiveret.
I Windows Jobliste kan man se, hvordan styresystemet behandler Pentium 4 som to logiske processorer, der løser hver sin opgave. Under "Oversigt over CPU-brug" er der to vinduer, hvor der normalt kun ville være ét. |
Det er ikke nok, at processoren har hyper-threading. BIOS'en og chipsættet skal også understøtte teknologien, så man får altså ikke nødvendigvis hyper-threading ud af at sætte en 3,06 GHz Pentium 4 i sit eksisterende bundkort.
Endvidere hjælper det på ydelsen, hvis styresystemet og applikationerne er optimeret til brugen af hyper-threading. Man bør bruge Windows XP eller Linux 2.4.18 eller højere på en pc med den nye processor. Man bestemmer for øvrigt selv, om man vil slå hyper-threading til eller fra - det kan gøres i BIOS'en.
Applikationer, der er i stand til at udnytte to processorer (multithreaded), kan få en hel del ud af den nye Pentium 4. Den største gevinst får man dog først, når både styresystem og applikationer kan genkende hyper-threading, og endnu er det småt med sådanne applikationer. Det skal dog nok komme.
Multi-tasking
For at teste værdien af hyper-threading ved multi-tasking, altså brugen af to programmer samtidig, brugte vi Symantec Antivirus til at scanne godt 40.000 filer for virus, og så komprimerede vi et par tusinde filer ved hjælp af WinAce. Endelig lod vi de to opgave udføre samtidig, og disse tre tests blev gennemført med hyper-threading slået til og fra under Windows XP. Programmerne brugte samme harddisk, men ikke samme filer.
Resultatet var ganske bemærkelsesværdigt. Når de to opgaver blev løst hver for sig, var pc'ens ydelse stort set den samme, uanset om hyper-threading var slået til eller ej. Til gengæld var der stor forskel, når de to programmer blev afviklet samtidig. Med hyper-threading aktiveret gik det nemlig en fjerdedel hurtigere end uden.
3,06 GHz Pentium 4 | Antivirus | Komprimering | Begge samtidig |
Med hyper-threading | 292 sekunder | 272 sekunder | 433 sekunder |
Uden hyper-threading | 281 sekunder | 275 sekunder | 588 sekunder |
Som ovenstående skema viser, kan man spare tid ved at benytte hyper-threading, når man udfører flere opgaver samtidig. Hver for sig tog opgaverne 4-5 minutter. Når vi multi-taskede, blev ventetiden 2½ minut kortere, når vi havde slået hyper-threading til.
Uden hyper-threading så vi, at Windows XP prioriterede komprimeringsprogrammet højest, og derfor fik det langt størstedelen af processorens ressourcer, så længe de to programmer kørte samtidigt. Efter 279 sekunder var komprimeringen fuldendt, og så kunne antivirus-scanningen tage fat. Først efter 588 sekunder var begge programmer færdige.
Med hyper-threading fik begge programmer tildelt processor-ressourcer, og de var færdige omtrent samtidig, nemlig efter 433 sekunder. Vi sparede 155 sekunder eller 26 procent ved at slå hyper-threading til, når vi multi-taskede.
Et program af gangen
Netop ved brug af programmer, hvor der hele tiden hentes data fra harddisken, er hyper-threading meget effektivt. Det skyldes, at en af de to tråde ofte skal vente på data fra den forholdsvis langsomme harddisk. I mellemtiden kan tråd nummer to udnytte de ressourcer, som tråd nummer et ikke kan bruge på grund af mangel på data.
Spørgsmålet er nu, om hyper-threading er en fordel, hvis man kun kører ét program, der hverken er optimeret til hyper-threading eller til brug af flere processor.
Her er svaret, at vi ikke kunne måle den helt store forskel, men at der trods alt var en tendens til, at hyper-threading i visse tilfælde betyder en nedgang i ydelsen.
Content Creation Winstone 2002, hvor ydelsen ved afvikling af en lang række multimedie-programmer måles, gav nogle få procent højere score uden hyper-threading end med. Også 3DMark2001 SE var en anelse hurtigere, omkring en halv procent, uden brug af hyper-threading.
Her skal man huske på, at vi testede uden andre programmer i baggrunden. Normalt vil man i det mindste have et antivirus-program kørende, og her kan hyper-threading give lidt ekstra ydelse.
Konklusionen må blive, at hyper-threading allerede nu er en fordel, hvis man ofte har to forholdsvis krævende programmer kørende samtidig. Faktisk tillader hyper-threading opgaver, der før var nærmest håbløse på en almindelig pc, for eksempel komprimering af video samtidig med at man lytter til MP3-musik.
Værdien af teknologien vil stige, efterhånden som flere programmer udnytter den fuldt ud. Når applikationer til 3D-grafik, lydbehandling, MPEG4-komprimering og andre krævende opgaver er optimeret til hyper-threading, vil man se en tydelig forbedring af ydelsen, og dermed får vi mindre tidsspilde foran pc'en. Og det er vel egentlig hele ideen.