Multithreading in Intel Pentium 4 - Hyperthreading

Relevanta dokument
Hyper Threading Intels implementation av SMT. Datorarkitekturer med operativsystem - EITF60. Felix Danielsson IDA2

Hyper-Threading i Intelprocessorer

Prestandapåverkan på databashanterare av flertrådiga processorer. Jesper Dahlgren

Processor pipelining genom historien (Intel i9-intel i7)

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar

What Is Hyper-Threading and How Does It Improve Performance

Utvecklingen från en 8 bitars till en 16 bitars mikroprocessor

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

SIMD i Intel s P5- baserade Pentium MMX

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA

Pipelining i Intel Pentium II

Emil Kristiansson Kurs: EDT621 Delmoment: Rapport. En introduktion till Smart cache

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA

Toshiba och Intel Centrino Duo mobile teknologi för professionella användare

Schemaläggnings metoderna AMP & SMP i en Multiprocessor

MESI i Intel Core 2 Duo

Spekulativ exekvering i CPU pipelining

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

Datorsystemteknik DAV A14 Föreläsning 1

Cacheminne i en AMD Opteron Processor

Sokigo AB OVK 2.0. Pentium- eller AMD-processor (x64 processor) på 1,6 GHz Dual Core eller motsvarande.

Hur det går att minska effektutvecklingen i en processor genom att ändra pipeline

Hantering av hazards i pipelines

Parallellism i NVIDIAs Fermi GPU

Mark Systemkrav

Mark Systemkrav

Föreläsning 2. Operativsystem och programmering

Handbok Simond. Peter H. Grasch

Cacheminne Intel Core i7

Adobe Photoshop Elements 5.0 Adobe Premiere Elements 3.0. Adobe Produktguide

Cacheminne i en Intel Core 2 Duo-processor

PUBLICERINGSNOTISER TRIMBLE ACCESS SOFTWARE. Version Revidering A December 2013

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok.

Vabas Systemkrav

32 Bitar Blir 64 Sammanfattning

Thunderbolt 3 till dubbel DisplayPort-adapter - 4K 60 Hz - endast kompatibel med Windows

Decentraliserad administration av gästkonton vid Karlstads universitet

KURSMÅL WINDOWS STARTA KURSEN

Datorarkitekturer med operativsystem ERIK LARSSON

Sokigo AB Ecos Pentium- eller AMD-processor (x64 processor) på 1,6 GHz Dual Core eller motsvarande.

DVD MAKER USB2.0 Installationshandledning

Thunderbolt 3 till dubbel DisplayPort-adapter - 4K 60Hz - kompatibel med Mac och Windows

Öka prestanda i Shared-Cache multi-core processorer

Vabas 2.7. Systemkrav

IT-kurser Office IT-Partner Våren 2015

Bank Switching. Att nå multipla adressrymder. Av: Drazen Mijatovic

Minnesisolering för virtuella maskiner en hypervisorstudie

Pipelining i Intel 80486

Strul med Windows 10? Här är lösningarna på de vanligaste problemen

Hantering av hazards i multi-pipelines

Skapa ett eget programnu! NU! Komplett med programvara och konkreta exempel! Patrice Pelland. Swedish Language Edition published by Docendo Sverige AB

Vabas Systemkrav

B r u k s a n v i s n i n g A I

Att köpa ny dator SeniorNet Lidingö Januari-2016

Tillverkare processor nummer typ av processor hastighet i gigahertz mängden cache i megabyte busshastighet i meaghertz Arkitekturstorlek i nm Intel

Cache-koherens protokoll MESI och MOSI

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

DEN HÅLLBARA RÖRELSEN

Kraftfulla dual-core-prestanda för företag idag och imorgon

HP Next Day Hardware Support HP Care Pack Services

Cargolog Impact Recorder System

Datakörkortet. Dataföreningen Det Europeiska Datakörkortet, Maj 2003

HF0010. Introduktionskurs i datateknik 1,5 hp

TDDC77 Objektorienterad Programmering

Systemkrav WinServ II Edition Release 2 (R2)

Gränssnitt för FakeGranska. Lars Mattsson

Operativsystem. Hierarkin för hårdvara läses nerifrån

Kursutbud. Yrkesmästaren

Göteborgs universitet Chalmers Tekniska Högskola

Sun Fire V490/V890 konfigurationshandbok för processor-/minnesmodul

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

INSTALLATIONSGUIDE. Uppdatering av ditt Mamut-system

Capitex dataservertjänst

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943

Utvecklingen av IP-telefoni? Kommer IP-telefoni att ersätta dagens kretskopplade nät?

SharpdeskTM R3.2. Installationsguide Version

Blandat. Föreläsning 5

AQ-Box med Winlog kanalers mätsystem samlar och bearbetar 8 givarsignaler i en PC

SharpdeskTM R3.2. Installationsguide Version

Fullständig prestandahantering

Nya möjligheter med Office 2007

Pipeline hos ARM Cortex-A53 och ARM Cortex-A73

H A R D D I S K A D A P T E R I D E / S A T A T O U S B 3. 0 O N E T O U C H B A C K U P

Schemaläggningsmetodik för multi-core inom Windows 7 OS Vad är scheduling och hur schemalägger Windows OS sina processer?

JavaScript del 3 If, Operatorer och Confirm

Systemkrav Tekis-Bilflytt 1.3

Preliminär specifikation av projekt

ITFÖRDIG.SE INSPIRATIONSGUIDE

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem?

Datorsystem. Tentamen

Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser

Skärminspelningsprogram Screencast-o-matic (med stimulated recall)

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Datorarkitekturer med operativsystem ERIK LARSSON

Anujan Balasingam IDA14 NAND flashminnen

Thunderbolt 3 till dubbel HDMI-adapter - 4k 30 Hz - endast kompatibel med Windows

Blackwire 725-M. USB-sladdheadset. Användarhandbok

INSTALLATION OCH KONFIGURATION AV PROGRAM PICBASIC PRO - MICRO CODE STUDIO PLUS - EPIC PLUS

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

Transkript:

Multithreading in Intel Pentium 4 - Hyperthreading Sammanfattning Hyper-threading är en implementation av SMT(Simultaneous Multithreading) teknologi som används på Intel processorer. Implementationen användes först på Intels Xeon processorer, som användes på servrar, men sedan anlände teknologin till vanliga konsumentdatorer i Pentium 4 processorerna. Hyperthreading innebär att en processor har kärnor som fungerar som två separata kärnor. Dvs. en kärna innehåller två logiska kärnor i sin tur som kan processera och utföra instruktioner oberoende av varandra. I teori skulle detta innebära att flera processer skulle kunna utföras samtidigt, men i praktiken visade detta sig inte riktigt vara fallet. Det visade sig att programvara inte presterade mycket bättre med hyper-threading, såvida inte de var skrivna för att kunna ta övertag av teknologin. Detta gick till viss del emot tanken Intel haft, att programvara inte behövde specialsys för att kunna ta övertag av HT(Hyper-Threading) teknologi.

Syfte Syftet med denna rapport är att undersöka och ge insikt i vad hyperthreading är, och hur det presterade på en av de första processorerna att implementera funktionen; Intel Pentium 4. Historia Multithreading teknologi har funnits sedan 50-talet och den första undersökningen inom SMT(Simultaneous Multi-Threading) påbörjades ca 1980, men det var i november 1994 som teknologin bakom hyper-threading patenterades av Kenneth Okin, på Sun Microsystems. Vid denna tid var dock teknologin inte kostnadseffektiv nog. Hyperthreading teknologin lanserades av Intel tidigt 2002, på Intels Xeon processorer, vilka användes för olika inbyggda system, t.ex. servrar. Det var först i november 2002, när Intel Pentium 4 släpptes, som vanliga konsument kunde få tillgång till processorer med hyper-threading. SMT och hyperthreading SMT är förkortningen för Simultaneous Multi-Threading, och är en av de mest avancerade formerna av multithreading. I teori innebär detta att en processor kan utföra flera instruktioner samtidigt, därmed utföra större processer mer effektivt. Hyper-threading är helt enkelt implementationen av teknologin som Intel använder för sina processorer.

På en rent arkitekturell nivå består varje kärna i en processor med hyper-threading teknologi, av två logiska processorer. Dessa två har sina egna archiectural states (de har sina egna register), och kan avbryta, pausa, och exekvera instruktioner självständigt. Detta innebär, mer eller mindre, att två kärnor kan arbeta på två olika processer (trådar) samtidigt. Prestanda När Intel Pentium 4 processorerna släpptes lovades de kunna leverera 25% bättre prestanda på mjukvara som inte var speciellt skriven för hyper-threading teknologin. Detta visade sig hursomhelst, inte vara ett fullständigt sant påstående, då mycket av prestandaförbättringen var högst mjukvaruspecifik. Enligt en undersökning gjord av PC World 2003, kunde prestandan på t.ex. kontorsprogramvara (Excel, Word, etc.) kunde variera från att knappt ha någon prestanda påverkan till att ha negativ prestanda påverkan. Med mer grafiska program såsom Adobe Photoshop kunde prestandan påverkas positivt vid användning av vissa filter. Dessa filter var i de fallen sådana som utförde större beräkningar genom hela sina processer, hellre än t.ex. ändrande av färger, vilket skulle vara en sorts konverteringsprocess. Det visade sig även att Windows XP skulle behövas ominstalleras för att kunna köras på processorn optimalt. Detta pga. operativsystemet på detta sätt kunde anpassa sig, och konsekvent, ta vara på de resurser som HT-processorn erbjöd.

2. Hyper-threading jämförelse, med och utan på diverse processorer. Källa: PCWorld. Jan 2003, Vol. 21 Issue 1, p26. 4p. 3 Color Photographs, 2 Diagrams. Mainelli, Tom. Överlag var prestanda förändringen väldigt liten, och inte alltid positiv. Program som kunnat ta mest övertag av teknologin sen 2003 har varit saker såsom video- och fotoredigeringsprogram. Prestandaförändringen, som kan ses i figur 2, visar att förändringen knappt var märkbar, och skulle förmodligen ha gått obemärkt av en vanlig användare. Vad som även kan ses, i figur 2, är att spel såsom Castle Wolfenstein och Unreal Tournament inte presterade utomordentligt mycket bättre med HT aktiverat, utan presterade i vissa fall sämre.

Diskussion Frågorna som kan ställas efter att ha sett prestationstester på Pentium 4 processorer är varför prestationsskillnaderna verkade minimala som bäst. Svaret på denna fråga varierar från test till test. En del av svaren bakom varför program som inte blivit optimerade för HT kan vara att de blir tillsagda av datorn att de har två processorer att arbeta med, fastän de egentligen bara har resurserna av en som säger att den är två. På detta sätt kan processorn möjligtvis bli överväldigad, pga att programmet helt enkelt tänker att två kan hantera arbetet. De olika tester som genomfördes visade på att applikationer specifikt skulle programmeras för att stödja multithreading teknologier, vilket inte riktigt är vad Intel utlovade. Testerna visade på att teknologin fortfarande var ung, och att det skulle ta tid innan utvecklare började ta övertag av dessa redskap. Detta är, hursomhelst, inget överraskande, då detta brukar vara standarden för nya teknologier. När nya teknologiska framsteg sker, så finns det nästan alltid en väntetid för konsumenten, då marknaden anpassar sig efter vad den nya teknologin erbjuder för användbara redskap. När man kunde se att något så grundläggande som operativsystemet presterade sämre (innan ominstallation) blev det väldigt uppenbart att program behövde anpassas efter det, hellre än att något skulle funka direkt. Frågan som kan ställas här är ifall utvecklare kommer känna att prestandaförbättringen är värd den mängd arbete som går in att anpassa programvara till teknologin. När det kommer till programvara som kan tjäna på prestandan som HT erbjuder så kan arbetet vara värt det, men för andra utvecklare kan arbetet helt enkelt vara överflödigt.

Referenser IEEE Micro March-April 2003, vol.23, no.2, pp. 56-65. ISSN: 0272-1732 (print), CODEN: IEMIDZ SICI: 0272-1732(200303/04)23:2L.56:HTNM;1-I Publisher: IEEE Country of Publication: USA PCWorld. Jan2003, Vol. 21 Issue 1, p26. 4p. 3 Color Photographs, 2 Diagrams. Mainelli, Tom. SMT, Wikipedia; https://en.wikipedia.org/wiki/simultaneous_multithreading ; 2016-12-03 Hyper-threading, Wikipedia; https://en.wikipedia.org/wiki/hyper-threading ; 2016-12-01 Xeon, Wikipedia; https://en.wikipedia.org/wiki/xeon ; 2016-12-01