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

Relevanta dokument
Hyper-Threading i Intelprocessorer

What Is Hyper-Threading and How Does It Improve Performance

Multithreading in Intel Pentium 4 - Hyperthreading

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

Schemaläggnings metoderna AMP & SMP i en Multiprocessor

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

Datorarkitekturer med operativsystem ERIK LARSSON

Öka prestanda i Shared-Cache multi-core processorer

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar

SIMD i Intel s P5- baserade Pentium MMX

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

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

Cacheminne i en Intel Core 2 Duo-processor

Parallellprogrammering i C++ 17 EDT621 Datorarkitekturer med Operativsystem Viktor Lindgren

Parallellism i CDC 7600, pipelinens ursprung

Datorteknik ERIK LARSSON

Pipelining i Intel Pentium II

MESI i Intel Core 2 Duo

Processor pipelining genom historien (Intel i9-intel i7)

Effektivitetsmätning av multitrådning på ARM Cortex-A53 mikroarkitektur

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

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

Hantering av hazards i pipelines

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON

Parallellism i NVIDIAs Fermi GPU

Datorhårdvaruteknik 1DV426 - Seminarie 1

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

Fetch-Execute. Datorteknik. Pipelining. Pipeline diagram (vid en viss tidpunkt)

Pipeline hos ARM Cortex-A53 och ARM Cortex-A73

Cacheminne Intel Core i7

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Datorarkitekturer med operativsystem ERIK LARSSON

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

SYNKRONISERING I EN SHARED MEMORY MULTIPROCESSOR

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

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Improved-MOESI Cache koherens Protokoll

Aktivitetsschemaläggning för flerkärninga processorer

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

Tentamen den 18 mars svar Datorteknik, EIT070

Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant.

Att välja kurser på Datateknik år 4-5

Hantering av hazards i multi-pipelines

Pipelining i Intel 80486

Cacheminne i en AMD Opteron Processor

Cache-koherens protokoll MESI och MOSI

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA

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

En överblick på cachedesignen i Intels mikroarkitektur Nehalem

Intel Silverthornes front-end

Anujan Balasingam IDA14 NAND flashminnen

Grundläggande datavetenskap, 4p

Minnesisolering för virtuella maskiner en hypervisorstudie

Spekulativ exekvering i CPU pipelining

Datorarkitekturer med operativsystem ERIK LARSSON

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

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Test: Optimerad fallprovning med Dell, Intel och Altair

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

Lagringssystem. server. arbetsstationer. Katalog Öppettider: 09:00-17:00 alla vardagar.

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

Närliggande allokering Datorteknik

32 Bitar Blir 64 Sammanfattning

V-Met IaaS VM [3] [6] IDS [2] IDS IDS [8] [7] [15] [12] [13] IDS. V-Met Xen 4.4. IaaS VM VM IDS IDS IDS IDS IDS IDS IDS IDS

KUNDCASE. Inovia gjorde sin AI-utveckling 10 gånger snabbare med Power-plattformen

Föreläsning 2. Operativsystem och programmering

Rapport (1,5 HP) Lunds Universitet HT15

Arm Cortex-A8 Pipeline

Forskning och utveckling inom språkteknologi Uppgift 3: Projektförslag Parallelliserad dependensparsning i CUDA

Institutionen för Datavetenskap Department of Computer Science

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Cache coherence hos multicoreprocessorer

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

Från utredning till implementation av Open Source inom Polisen

Computer Science, masterprogram

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Hannes Larsson - IDA 2, LTH Campus Helsingborg. NEC V R 4300i. Interlock-handling EDT621

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

Färgstark VAIO med HDMI-utgång med 3D-stöd

Datorteknik och datornät. Case Study Topics

Tentamen den 17 mars 2016 Datorteknik, EIT070

MESI-protokollets funktion i multiprocessorer

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

Agenda. Syfte med datorbygge Datorns delar. Datorbygge. Moderkort Processor Minne och hårddisk Instickskort Övrigt

Datorarkitekturer med Operativsystem

De interaktiva kuddarna. Textil som kommunikationsredskap

MESI protokollet och dess derivater

Du kan även lyssna på sidorna i läroboken: Teknik direkt s Lyssna gör du på inläsningstjänst.

DEC Alpha instruktions Arkitektur

Syfte. Praktisk datorkunskap. Personal. Kursinfo. Examination- Krav för godkänt. Agenda idag DVG A06

Smarter Analytics med rätt infrastruktur

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Överlägsna prestanda på resande fot. Ultrabärbar dator med kraftfull processor och inbyggd VAIO Everywair

Komma över Memory wall med 3D stacked minne LTH Ingenjörshögskolan vid Campus Helsingborg Institutionen för datavetenskap

Försäkringsbolag distribuerar UCS och sänker kostnaderna och skapar snabbhet och flexibilitet

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

De interaktiva kuddarna Textil som kommunikationsredskap

Datorarkitekturer med operativsystem ERIK LARSSON

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Transkript:

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

Sammanfattning Simultaneous multithreading (SMT) är en teknik som används i processorer för att effektivisera och maximera användandet utav en hårdvarans resurser. Tekniken gör det möjligt för processorn att hantera flera trådar parallellt per fysisk kärna. Detta genom att dela upp den fysiska kärnan i två logiska kärnor. En av de vanligare implementationerna av den här tekniken är Intels Hyper Threading Technology, vilket är den teknik denna rapport sätter i fokus. Rapporten berör bakgrunden, funktionen samt jämför fördelar och nackdelar mot den alternativa tekniken Symmetrical multiprocessing (SMP). Vilket innebär att man istället utökar antalet fysiska kärnor och på så vis kan hantera fler trådar parallellt. 1

Bakgrund Första gången Intel presenterade Hyper Threading-tekniken var vid lanseringen av sin nya Pentium 4-processor år 2002. Istället för att utöka antalet fysiska kärnor för att nå högre prestanda så lanseras HT för att på ett bättre sätt kunna utnyttja den kapacitet som finns tillgänglig hos existerande kärnor. Tekniken har sedan lanseringen 2002 återanvänds i många av Intels processorer och finns bland annat på åtskilliga modeller av processorerna i Intel-serierna Core och Xeon. Funktion Hyper Threading är en implementation av tekniken Simultaneous multithreading (SMT) skapad av Intel och är optimerad både för deras server- och för konsumentprocessorer. Teknologin fungerar på så vis att den delar den fysiska kärnan i två logiska kärnor. Det kräver dock vissa justeringar på hårdvaran. Man dubblar registeruppsättningen i processorn men resterande resurser i processorn såsom beräkningsenhet, delas sedan av de två logiska kärnorna. Eftersom att minnesaccesser tar upp stor del av tiden under exekvering så kan de två logiska kärnorna då turas om att använda resurserna när den andra laddar från minnet och vice versa. I och med detta gör man de möjligt för operativsystemet och andra program att kunna identifiera processorn som flerkärnig, vilket i sin tur möjliggör för exekvering av flera trådar parallellt. Men för att implementeringen av SMT ska få maximal effekt så kan även krävas en del justeringar i mjukvaran. Programvara som utnyttjar flera trådar är det som kommer att kunna dra störst nytta av Hyper Threading. 2

Figur 1 I figur 1 här ovan så kan man se en väldigt förenklad bild av hur man med hjälp av Hyper Threading kan få två trådar att exekveras på ett effektivare och snabbare vis. De gröna och de röda rutorna motsvarar alltså två olika trådar och vita rutor ska föreställa att processorns beräkningsenheter för tillfället står outnyttjad. SMP - Symmetrical multiprocessing Ett alternativ till Hyper Threading och andra implementationer utav SMT är SMP. Vilket är en annan metod för att kunna utföra exekvering av parallella trådar. SMP innebär att man istället utökar antalet fysiska kärnor i processorn. En nackdel med detta är dock att det blir en högre kostnad än vad exempelvis Hyper Threading innebär. En annan är att de vita outnyttjade beräkningsenheterna från figur 1 förblir outnyttjade, dvs effektivitetsgraden ökar inte som den gör vid HT. Men SMP har även en del fördelar gentemot SMT och Hyper Threading. Till dessa hör bland annat att prestandaökningen inte är oändlig med Hyper Threading. Tillslut så måste antalet fysiska kärnor öka för att kunna höja prestandan ytterligare, vilket det tydligt går att se på de senaste årens processorer. Funktion 3

Diskussion Att Hyper Threading och andra typer av Simultaneous multithreading förbättrar prestandan samt ökar effektiviteten står konstaterat sedan länge. Intel fortsätter att utveckla tekniken och kontinuerligt och den implementeras på nya processorer varje år. Eftersom fler och fler processorer stödjer tekniken så utnyttjar även mer och mer programvara möjligheten med effektivare multitrådning. Detta i kombination med fler fysiska kärnor är nog det som kommer stå för även den kommande prestandaökningen bland processorer för konsumenter. Diskussion 4

Referenser Magro, W, Petersen, P, & Shah, S 2002, 'Hyper-Threading Technology: Impact on Compute-Intensive Workloads', Intel Technology Journal, 6, 1, p. 1, Business Source Complete, EBSCOhost, visad 4 December 2017. The performance model of Hyper-Threading Technology in Intel Nehalem microarchitecture 2010, 2010 3Rd International Conference On Advanced Computer Theory And Engineering(ICACTE), Advanced Computer Theory And Engineering (ICACTE), 2010 3Rd International Conference On, IEEE Xplore Digital Library, EBSCOhost, visad 4 December 2017. The impact of hyper-threading on processor resource utilization in production applications 2011, 2011 18Th International Conference On High Performance Computing, High Performance Computing (Hipc), 2011 18Th International Conference On, p. 1, IEEE Xplore Digital Library, EBSCOhost, visad 4 December 2017. Hyper Threading Technology https://www.intel.com/content/www/us/en/architecture-andtechnology/hyper-threading/hyper-threading-technology.html [2017-12-04] Will Hyper-Threading Improve Processing Performance? Januari 2014, https://www.dasher.com/will-hyper-threading-improve-processing-performance/ [2017-12-04] 5