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

Relevanta dokument
Rapport (1,5 HP) Lunds Universitet HT15

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

Cacheminne i en Intel Core 2 Duo-processor

Hantering av hazards i pipelines

MESI i Intel Core 2 Duo

Öka prestanda i Shared-Cache multi-core processorer

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

Cacheminne Intel Core i7

Hyper-Threading i Intelprocessorer

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

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

Schemaläggnings metoderna AMP & SMP i en Multiprocessor

MESI-Protokollet. Richard Elvhammar. Lund Universitet 4/12-16

SYNKRONISERING I EN SHARED MEMORY MULTIPROCESSOR

MESI protokollet och dess derivater

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

Jämförelse av skrivtekniker till cacheminne

Cacheminne i en AMD Opteron Processor

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

SIMD i Intel s P5- baserade Pentium MMX

Processor pipelining genom historien (Intel i9-intel i7)

Datorarkitekturer med operativsystem ERIK LARSSON

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

What Is Hyper-Threading and How Does It Improve Performance

Improved-MOESI Cache koherens Protokoll

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

Cache coherence hos multicoreprocessorer

Snapdragon 810: Cacheminnet

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

En överblick på cachedesignen i Intels mikroarkitektur Nehalem

32 Bitar Blir 64 Sammanfattning

Arm Cortex-A8 Pipeline

Parallellism i NVIDIAs Fermi GPU

Datorarkitekturer med Operativsystem

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)

Cache-koherens protokoll MESI och MOSI

Multithreading in Intel Pentium 4 - Hyperthreading

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

Datorhårdvaruteknik 1DV426 - Seminarie 1

Digitalteknik och Datorarkitektur 5hp

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

Datorsystem. Tentamen

Pipelining i Intel Pentium II

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

Att köpa ny dator SeniorNet Lidingö Februari-2019

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

HF0010. Introduktionskurs i datateknik 1,5 hp

Tentamen den 18 mars svar Datorteknik, EIT070

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

MESI-protokollets funktion i multiprocessorer

Parallellism i CDC 7600, pipelinens ursprung

Datorarkitekturer med operativsystem ERIK LARSSON

Grundläggande datavetenskap, 4p

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

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

IBM POWER4, den första flerkärniga processorn och dess pipelines.

Pipelining i RISC-processorn. Joakim Lindström Institutionen för informationsbehandling Åbo Akademi E-post: jolindst@abo.fi

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

Spekulativ exekvering i CPU pipelining

Närliggande allokering Datorteknik

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

Datorsystemteknik för E/D

Tentamen den 17 mars 2016 Datorteknik, EIT070

Datorsystem. Tentamen

Hantering av hazards i multi-pipelines

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

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Aktivitetsschemaläggning för flerkärninga processorer

Anujan Balasingam IDA14 NAND flashminnen

Datorteknik ERIK LARSSON

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

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

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA

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

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

DEC Alpha instruktions Arkitektur

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Datorarkitekturer med operativsystem ERIK LARSSON

TSEA28 Datorteknik Y (och U)

En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn.

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

Introduktion till programmering

Minnesisolering för virtuella maskiner en hypervisorstudie

Exempeltentamen Datorteknik, EIT070,

Pipelining i Intel 80486

Moderkortet Persondatorer Moderkortet Innehåll

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar

Att köpa ny dator SeniorNet Lidingö September-2017

IT-GUIDE Version 1.0 Författare: Juha Söderqvist

Minnet från processorns sida Datorteknik

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

Föreläsningsanteckningar 4. Pipelining

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering

Datorsystemteknik DAV A14 Föreläsning 1

Datorteknik ERIK LARSSON

Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas

Datorteknik och datornät. Case Study Topics

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

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

Transkript:

En introduktion till Smart cache 1

Sammanfattning Syftet med den här rapporten är att ge en introduktion till tekniken smart cache för läsaren. Smart cache är en teknik som låter de olika cacheminnena användas av olika processorer efter behov för att på så sätt effektivisera arbetet för en multi core processor. Rapporten beskriver kortfattat hur kommunikationen i en dator fungerar för att ge en enkel förståelse för vad ett cacheminne används till. Inledning En dator är uppbyggd av tre komponenter: 1. CPU:n vars syfte är att delegera data baserat på instruktioner. 2. IO:n som hanterar kommunikationen mellan datorn och komponenter utifrån som tangentbord och skärm. 3. Lagringsenheten som lagrar instruktioner och data. Den här enheten kallas generellt för minnet. I takt med att tekniken utvecklats och processorer(cpu:er) blivit snabbare har detta inneburit att processorer kunnat hantera flera instruktioner och mer data per klockcykel. Detta har i sin tur inneburit att Primärminnet snabbt måste kunna hantera detta för att CPU:n inte ska behöva vänta. För att lösa detta problem används ett snabbt minne som besitter den bandbredden som fordras för att kunna ligga på samma nivåer som CPU:n Detta minnet kallas för cacheminne. 2

Bakgrund om cacheminnet En del av lagringsenheten är det så kallade cacheminnet. Cache kommer från det franska ordet Cachet som betyder att gömma. Cacheminnet lagrar instruktioner som nyttjas ofta(frekvent) av CPU:n. Detta namnet tog man eftersom de tidigaste cacheminnet var osynliga för användaren och för CPU:n. Cacheminnet fyller ett tomrum som uppstår i kommunikationen mellan CPU:n och primärminnet. Teoretisk optimalt hade man kunnat ersätta det vanliga primärminnet med ett cacheminne men i praktiken är detta inte ekonomiskt hållbart då cacheminnen är mycket dyra att tillverka och köpa.(stacpoole, R and Jamil, Tariq 2002). Bakgrund om multi core processor Multi core processorer bygger på att man har fler än en processorkärna(cpu:er). Förenklat kan man säga att dessa kommunicerar parallellt och effektiviserar därmed processorns arbete. Vad som är gemensamt för nästan alla dessa processorer är att de erbjuder programmeraren en enskild fysisk adressplats över hela processorns plattform(patterson and Hennessy, 2013, sid 519-520). Ett exempel på detta är Intel Core Duo processorn som ursprungligen när den tillverkades baserades på två stycken kärnor från den enkärniga processorn Pentium M Cachminnet i multi core Normalt så fungerar cache så att varje kärna är kopplade till varsitt cacheminne som kommunicerar. I intel core Duo har Kärnorna var för sig tillgång till varsin L1. I intel core Duo så använder de två processorkärnorna en L2 cache som delas på. Detta innebär att den ena har kärnan har tillgång till den ena halvan av L2:s minne och den andra har resten. (Gochman, Simcha., Mendelson, Avi., Naveh, Alon., Rotem, Efraim. 2006). Smart cache Smart-cache tekniken fungerar så att om en kärna behöver mycket cacheminne kan den låna cacheminne från ett annat minne utöver det som det använder från början för att på så sätt öka sin prestanda. Om man jämför med exemplet ovan med hur fördelningen i intel core Duo fungerar och tänker sig att processorn använde sig av smartcache teknik hade detta kunnat innebära att ifall den ena processorn inte var särskilt tungt belastad och bara nyttjade 20% av sina totala 50% av cacheminnet medan den andra var väldigt tung belastad och använde hela sina 50% så hade den andra kärnan i så fall kunnat låna de 3

resterande 30% från den första kärnan för att på så sätt kunna bli mer effektiv. Det är den här tekniken med en flexibel fördelning av cacheminnet mellan processorer som kallas för smart cache. (Doweck, Jack. 2006). Diskussion I ett experiment som utfördes på Cambridge visade det sig att en enkärnig processor med smart cache 14% Jämfört med en processor med vanlig cache. Detta testades med hjälp av simuleringar som utfördes på ett beslutsträd. Detta var ett träd där grenarna bestod av olika instruktioner som processorn skulle hantera. Processorn fick en maskininstruktion och skulle därefter med hjälp av olika boolska uttryck passera genom trädets hierarki mot någon av det slutgiltiga lövnoderna. Under detta experimentet kollade man på två saker: 1.Hur mycket kraft som cacheminnet konsumerade under tiden som simuleringen genomfördes. 2.Prestandan vilken mättes i hur lång tid det tog för en instruktion att gå igenom trädet. Vad som framkom i det här experimentet var att energiåtgången i datacachen reducerades med 14% och i level-2 cachen med 34%. (Sundararajan, Karthik T., Jones, Timothy M., TopHam, Nigel. 2011). När man senare gjorde experimentet med två olika multi core processorer, en med två kärnor och en med fyra fick man resultatet energiåtgången i data cachen reducerades med 45% och i level-2 cachen med 70% i den tvåkärniga. I Den fyrkärniga fick man fram att energy delay låg på 12%. (Sundararajan, Karthik T., Jones, Timothy M., TopHam, Nigel. 2012). Att använda smart cache teknik i multi core processorer verkar vara fördelaktigt av diverse orsaker men främst eftersom det får hela arkitekturen i datorn att bli mer effektiv och strömsnål. Man kan förenklat säga att man löser ett problem med det som tillhandahölls från början utan att man behöver tillföra något större utifrån utan bara bygger mer strategiskt med samma komponenter. Man får intrycket av det är en pragmatisk lösning på ett problem. 4

Referenser Doweck, Jack. 2006. Inside Intel Core Microarchitecture and Smart Memory Access An In- Depth Look at Intel Innovations for Accelerating Execution of Memory-Related Instructions. Intel Leap Ahead. https://web.archive.org/web/20111229193036/http://software.intel.com/ file/18374/ Gochman, Simcha., Mendelson, Avi., Naveh, Alon., Rotem, Efraim. 2006. Introduction to Intel Core Duo Processor Architecture. Intel Technology Journal. Vol. 10 Issue 2, May. http://eds.b.ebscohost.com.ludwig.lub.lu.se/eds/pdfviewer/pdfviewer? vid=10&sid=f4ad59e9-f7ce-49c5-9886-6eae28200a1d@sessionmgr4008&hid=4202 Patterson, D.A. and Hennessy, J.L. (2013) Computer organization and design: The hardware/software interface. 5th edn. Waltham, MA: Morgan Kaufmann Publishers In. Stacpoole, R and Jamil, Tariq 2002. Cache memories. IEEE Potentials, Volume: 19 Issue: 2, Apr/May. http://eds.b.ebscohost.com.ludwig.lub.lu.se/eds/pdfviewer/pdfviewer? vid=10&sid=f4ad59e9-f7ce-49c5-9886-6eae28200a1d@sessionmgr4008&hid=4202 Sundararajan, Karthik T., Jones, Timothy M., TopHam, Nigel. 2011 Smart cache: A self Adaptive Cache Architecture for Energy efficacy. Embedded Computer Systems (SAMOS) ; 2011, p41-50,. http://resolver.ebscohost.com.ludwig.lub.lu.se/openurl? sid=ebsco %3aedb&genre=chapter&issn=&isbn=9781457708022&volume=&issue=&date=20110101 &spage=41&pages=41-50&title=2011+international+conference+on+embedded +Computer+Systems+(SAMOS)&atitle=Smart+cache%3a+A+self+adaptive+cache +architecture+for+energy+efficiency.&btitle=2011+international+conference+on +Embedded+Computer+Systems+(SAMOS)&jtitle=2011+International+Conference+on +Embedded+Computer+Systems+(SAMOS)&series=&aulast=Sundararajan%2c +K.T.&id=DOI%3a10.1109%2fSAMOS.2011.6045443&site=ftf-live Sundararajan, Karthik T., Jones, Timothy M., TopHam, Nigel. 2012. The Smart Cache: An Energy-Efficient Cache Architecture Through Dynamic Adaptation. International Journal of Parallel Programming. Apr2013, Vol. 41 Issue 2, p305-330. http:// eds.b.ebscohost.com.ludwig.lub.lu.se/eds/pdfviewer/pdfviewer?sid=f74320c4-95f7-45a8- bfc4-00513d3d3fd3@sessionmgr4008&vid=4&hid=4202 5