Hyper-threading: Intels nye våben

En ny Intel-teknologi ved navn hyper-threading kan revolutionere den måde, processorer virker på. Ydelsen i processorerne skal øges ved at lade dem udføre flere arbejdsopgaver på samme tid. I første omgang vil hyper-threading blive brugt i Xeon MP til servere.

Multithreading

En processorproducents fornemste opgave må være at udvikle processorer, der er mere effektive end forgængerne. Der er mange forskellige måder at gøre dette, og Intel har kastet sig over én af dem: Multithreading.

Simultaneous Multithreading (SMT) betyder samtidig udførsel af flere arbejdsopgaver, altså eksekvering af flere rutiner eller tråde på én gang.

I forvejen kender man systemer, hvor programmer afvikles samtidig på to eller flere processorer. Et stykke software sørger for at fordele de rutiner, der skal udføres, imellem processorerne. Denne metode skal for eksempel udnyttes ved brug af IBM?s Power4-processorer, hvor to CPU'er er anbragt på samme chip.

Intel har en anden indgangsvinkel til multithreading. Det er nemlig planen at få en enkelt processor til at være i gang med flere opgaver samtidig. Intels teknologi har været kendt under kodenavnet Jackson i et stykke tid. Nu er teknologien imidlertid sprunget ud som hyper-threading - intet mindre kunne gøre det.

Hyper-threading vil optræde første gang i Xeon MP, der er Intels kommende 32-bit processor til servere med fire eller flere processorer.

Bedre ydelse

Der er mange måder til at få en processor til at yde mere. Man kan sætte clockfrekvensen op, bygge flere regneenheder ind i processoren eller tilføje nye instruktioner, der er mere effektive end de gamle. Alle disse metoder har nogle ulemper, som vi kort vil gennemgå.

Fysikkens love sætter grænser for processorens ydelse ved et givent valg af produktionsteknologi. For at sætte frekvensen op skal man udvikle nye produktionsmetoder og materialer, og det er lettere sagt end gjort.

Derudover kan man få processoren til at dele instruktionerne op i mindre bidder, som hver for sig kan klares langt hurtigere end hele instruktionen. Hvis en enkelt instruktion deles op i mange små dele, som der arbejdes på samtidig forskellige steder i processoren, kan man sætte frekvensen i vejret. Denne måde at øge frekvensen benyttes i alle nyere processorer, ikke mindst i Pentium 4.

Når instruktionerne deles op, kan der arbejdes med flere instruktioner på én gang. Problemet med denne metode er, at man skal kende instruktionernes rækkefølge på forhånd. Derfor er en del af processoren sat af til at forsøge at forudsige denne rækkefølge, men det lykkes ikke altid. Når det går galt, må processoren starte forfra, og det koster dyrt i ydelse. Jo flere instruktioner, der bearbejdes samtidig, jo værre er det, når det går galt. Derfor er det begrænset, hvor mange instruktions-bidder, der kan behandles samtidig; der er med andre ord grænser for, hvor dyb en processors pipeline kan være.

Problemet er lidt det samme, hvis man vælger at bygge flere regneenheder ind i processoren, så kan man også få udført flere instruktioner pr. clockcycklus. Instruktionerne skal komme i en bestemt rækkefølge, før man får alle regneenhederne i arbejde samtidig.

Endelig kan man tilføje nye instruktioner, som udfører en given opgave mere effektivt end de traditionelle x86-instruktioner. Instruktionssættene MMX, 3DNow!, SSE og SSE2 er alle udviklet til at få processoren til at kunne klare flere regneopgaver i én omgang. Disse nye instruktionssæt har et begrænset virkefelt, typisk multimedie-brug, og derfor er de ikke vejen frem.

Hyper-threading

Målet med hyper-threading er at få tråd nummer to til at udnytte de ressourcer, som ikke optages af tråd nummer et. Lad os tage et par eksempler: En mislykket forudsigelse af instruktionernes rækkefølge i den ene tråd betyder, at processoren må starte forfra på tråden. Rent teknisk snakker man om, at processorens pipeline flushes, og det vil normalt betyde, at processoren ikke laver noget i et antal clockcykler. Med Simultaneous Multithreading kan en anden tråd udnytte de ressourcer, der ellers ville gå til spilde.

Man kan også forestille sig, at processorkernen leder i cachen efter data til den ene tråd, men bliver nødt til at hente data i systemhukommelsen i stedet. Det betyder lidt ventetid, hvor frie ressourcer kan benyttes af den anden tråd.

Gennemført multithreading kræver, at styresystemet forstår at sætte flere tråde i gang samtidig. Intels hyper-threading er implementeret på en måde, så styresystemet blot skal igangsætte tråde, som om at der er tale om et system med flere processorer.

Ifølge Intel er det lykkedes at øge ydelsen ved afvikling af server-software med op til 30 procent ved at lade processoren afvikle to tråde samtidig.

Hvis applikationerne optimeres til hyper-threading, kan dette tal bliver endnu større. Indtil videre er det servere, der står for skud, men det er ikke til at sige, om hyper-threading bliver så stor en succes, at teknologien på sigt også vil blive brugt i processorer til almindelige pc'er.




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
JN Data A/S
Driver og udvikler it-systemer for finanssektoren.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Roundtable for sikkerhedsansvarlige: Hvordan opnår man en robust sikkerhedsposition?

For mange virksomheder har Zero Trust og dets principper transformeret traditionelle tilgange til netværkssikkerhed, hvilket har gjort det muligt for organisationer at opnå hidtil usete niveauer af detaljeret kontrol over deres brugere, enheder og netværk - men hvordan implementerer man bedst Zero Trust-arkitekturer i et enterprise set up? Og hvordan muliggør Zero Trust-arkitekturen, at organisationer opnår produktivitetsfordele med AI-værktøjer samtidig med, at de forbliver sikre i lyset af fremvoksende trusler?

18. september 2024 | Læs mere


Nye forretningsmæssige gevinster med Microsoft Dynamics 365

Eksperter fra CGI stiller skarpt på hvordan, du lærer også hvorfor det er vigtigt at have fokus på både processer, teknologi og mennesker - og hvordan du kommer i gang med løbende optimering af forretningsudvikling.

25. september 2024 | Læs mere


NIS2: Indhold, krav og konsekvenser- sidste chance for at blive klar

Vi sætter på denne dag fokus på hvad NIS2-direktivet kommer til at betyde for din organisation. Du et overblik over direktivet og de skærpede krav, så du undgår bøder og sanktionering.

26. september 2024 | Læs mere