Schemaläggnings metoderna AMP & SMP i en Multiprocessor

Relevanta dokument
Cache-koherens protokoll MESI och MOSI

MESI i Intel Core 2 Duo

Rapport (1,5 HP) Lunds Universitet HT15

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

Improved-MOESI Cache koherens Protokoll

MESI-protokollets funktion i multiprocessorer

Cacheminne Intel Core i7

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

Cacheminne i en Intel Core 2 Duo-processor

Cache coherence hos multicoreprocessorer

SYNKRONISERING I EN SHARED MEMORY MULTIPROCESSOR

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

Aktivitetsschemaläggning för flerkärninga processorer

Hyper-Threading i Intelprocessorer

Cacheminne i en AMD Opteron Processor

MESI protokollet och dess derivater

Datorarkitekturer med operativsystem ERIK LARSSON

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

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)

HF0010. Introduktionskurs i datateknik 1,5 hp

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

En överblick på cachedesignen i Intels mikroarkitektur Nehalem

Öka prestanda i Shared-Cache multi-core processorer

Grundläggande datavetenskap, 4p

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

Datorsystem. Tentamen

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

Processor pipelining genom historien (Intel i9-intel i7)

Parallellism i CDC 7600, pipelinens ursprung

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

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Multithreading in Intel Pentium 4 - Hyperthreading

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

Minnesisolering för virtuella maskiner en hypervisorstudie

Anujan Balasingam IDA14 NAND flashminnen

Snapdragon 810: Cacheminnet

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

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

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

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

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

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

Minnet från processorns sida Datorteknik

Digitalteknik och Datorarkitektur 5hp

Institutionen för Datavetenskap Department of Computer Science

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

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

Introduktion till programmering

Hantering av hazards i pipelines

Operativsystem. Informationsteknologi sommarkurs 5p, Agenda. Slideset 7. Exempel på operativsystem. Operativsystem

Datorsystem. Tentamen

Datorsystemteknik för E/D

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

Processorfamiljer idag och i framtiden

Datorhårdvaruteknik 1DV426 - Seminarie 1

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

Jämförelse av skrivtekniker till cacheminne

32 Bitar Blir 64 Sammanfattning

Datorarkitekturer med operativsystem ERIK LARSSON

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

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

Mall för en kortare rapport/uppsats

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

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

Dagens OS. Unix, Linux och Windows. Unix. Unix. En översikt av dagens OS Titt på hur de gör. Många varianter Mycket gemensamt. En del som skiljer

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

Pipelining i Intel 80486

Datorteknik ERIK LARSSON

Datorarkitekturer med Operativsystem

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation.

Tentamen den 18 mars svar Datorteknik, EIT070

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

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

Datorsystem. Laboration 3: Operativsystem Senast uppdaterad: 14 oktober 2012 Version 1.3. Student: Underskrift: Underskrift: Datum:

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

Nätverksteknik A - Introduktion till Routing

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

Automation - nu och framåt. Thomas Lezama

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU.

Systemrekommendation. Artvise Contact Center

Metoder och verktyg för funktionssäkerhet

Multiprocessorer. DEL2 TEKNIK Nr november BRANSCHTIDNINGEN FÖR NORDENS ELEKTRONIKER. förändringar

Tentamen PC-teknik 5 p

Systemkrav. Artvise Kundtjänst

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

Digital elektronik och inbyggda system

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

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

Filöverföring i Windowsmiljö

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar

Mer datorarkitektur. En titt I datorn Minnen

Datorarkitekturer med operativsystem ERIK LARSSON

DIG IN TO Dator och nätverksteknik

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

Parallellism i NVIDIAs Fermi GPU

Datakom II (MNP) ht 1998 Bengt Ahlgren 1. Vad är speciellt med implementering av kommunikationsprotokoll?

Inledande programmering med C# (1DV402) Introduktion till programmering

Datorteknik och datornät. Case Study Topics

Transkript:

EDT621 Datorarkitekturer med operativsystem 7,5 HP 2015-12-05 Schemaläggnings metoderna AMP & SMP i en Multiprocessor Författare: Simon Plato

Sammanfattning Rapporten beskriver två schemaläggnings metoder. De aktuella metoderna är symmetric multiprocessing(smp) och asymmetric multiprocessing(amp). Rapporten avlutas med en kort jämförelse mellan de olika metoderna. Olika termer som multi-core och cache coherence uppkommer i rapporten och beskrivs kortfattat i kapitel 2.1. Nyckelord: SMP, AMP, Multiprocessor

Innehållsförteckning 1 Inledning... 1 1.1 Bakgrund:... 1 1.2 Syfte:... 1 1.3 Frågeställning:... 1 1.4 Metod:... 1 2 Teknisk bakgrund... 2 2.1 Grundläggande termer... 2 2.2 Symmetric multiprocessing (SMP)... 2 2.3 Asymmetric multiprocessing (AMP)... 3 3 Jämförelse och Resultat... 3 4 Referenser... 5

1 Inledning 1.1 Bakgrund: Tekniken i dagens samhälle går snabbt framåt och multi-core processorarkitektur är en vanlig teknik som förekommer. Men vad innebär det med en multi-core processor? Förr använde man sig av en CPU som gjorde allt jobb.(signle-core processor) Men det blev en dyr och komplicerad lösningen när man ville hantera enorma mängder data. Genom att använda sig av flera kärnor/processorer som delar upp arbetet så kan man få samma prestanda till ett billigare pris, samtidigt som komplexiteten inte ökar. En sak som man inte får glömma är att en multi-core processor inte blir bättre genom att använda sig av fler kärnor utan är begränsad till processorns minnesbandbred. Därför kommer denna rapport att presentera grunderna för två olika schemaläggnings metoder för multi-core processorer. 1.2 Syfte: Syftet med rapporten är att förklara grunderna för schemaläggnings metoder symmetric multiprocessing(smp) och asymmetric multiprocessing(amp). Rapporten ska även ge en förståelse om vad en termer som multi-core processor betyder. Rapporten ska avslutas med en kort jämförelse mellan de två olika metoderna för att se vad som skiljer dem. 1.3 Frågeställning: I denna rapport ska följande frågor besvaras: Vad är symmetric multiprocessing? Vad är asymmetric multiprocessing? 1.4 Metod: Informationssökningen i denna rapport består av två typer av källor. Den första typen av källa som har används är webbsidor på nätet som Wikipedia. Man ska vara källkritisk när man använder källor som Wikipedia. Informationen som är tagen från Wikipedia används bara i kapitel 2 för att beskriva olika termer som används för att beskriva SMP och AMP. Den andra källan som används är två vetenskapliga artiklar. Artiklarna hittades med hjälp av lubserach och anses pålitliga. 1

2 Teknisk bakgrund 2.1 Grundläggande termer I detta kapitel kommer olika termer förklaras för att ge bättre förståelse. Multi-core: Är ett system som har en processor som sedan har två eller fler centralprocessorer(kärnor) som kan arbeta tillsammans för att läsa och skriva instruktioner. Genom att upp dela upp arbete i de olika kärnorna så kan processorns prestanda öka samtidigt som man kan sänka klockfrekvensen för att minska belastningen på processorn. Multiprocessor: Är ett system som har flera processorer som delar main memory och kringutrustning. Föredel med multiprocessor är precis samma som i multi-core. Genom att dela upp jobbet i flera processorer så får man få gjort jobbet snabbare. Om alla CPU:er har samma arkitektur så kallas det "Homogeneous Multi-Cores", Men om system består av olika CPU så kallas det "Heterogeneous Multi-cores" Cache coherence: Är ett protokoll som man använder sig av i en multi -core/- processor. Protokollet ska kontrollera att delade resurser från main memory uppdateras i alla processorer i de fall resursen är lagrad på flera olika cachar. Annars uppstår ett problem som kan ge osammanhängande värden. Bus sniffing/snooping: Används för att övervaka busstransaktioner och för att upprätthålla cache coherency i det delade minnet. Detta sker genom att när en kärna/processor skriver till primärminnet så förmedlas de övriga kärnorna/processorerna att uppdatera sina cache minne så de inte använder osammanhängande värden. 2.2 Symmetric multiprocessing (SMP) Grunderna i symmetric multiprocessing(smp) är ett system med fler processorer som delar på samma huvudminnet samt alla I/O enheter. Använder systemet en multi-core processor så kommer SMP arkitekturen se de olika kärnorna som separata processorer. SMP tillämpar en teknik som kallas "pararllel programming" som innebär att man använder flera processorer för att lösa ett problem. I SMP arkitekturen tilldelar ett OS uppgifter till varje processor. Detta kan ske genom ett gemensamt schema bland processorerna, eller så tilldelar varje processor ett eget separat schema. Det finns en del fördelar och nackdelar med SMP. Strösta fördelen SMP är att man på ett kostnadseffektivt sätt för att öka flödet av data genom att dela upp arbetet i de olika processorerna. Men det finns en del begränsningar som sätter gränser på SMP som cashe coherence och objekt som är delade i olika processorers cache. Man använder sig av buss sniffing för att kontrollera så att cache coherence upprätthåll. 2

2.3 Asymmetric multiprocessing (AMP) Asymmetric multiprocessing är en äldre typ av schemaläggnings metoder som används vid multiprocessing. I AMP använder man sig av en kärna/processor som fungerar som en master medans de övriga processorerna agerar som slaves. Detta göra att master processor har kommunikation med alla processorer i systemet och kontrollerar dem. De processorer som är slaves behöver inte heller vara kopplade till varandra utan får alla instruktioner från master processorn. I AMP kan varje kärna/ processor arbeta med ett eget OS, så alla processorer behöver inte arbete med instruktioner som är relevanta till varandra. 3 Jämförelse Det finns en del skillnader och likheter mellan SMP och AMP. Kollar man på figur 1 så kan man få en bild på hur de olika metoderna är uppbyggda. I ett AMP-system så kan man ha igång flera olika applikationer i processorerna som behandlar olika uppgifter medans i ett SMP-system så delar man på uppgifter från en applikation som sedan fördelas i de identiska processorerna. [1] Figur 1 illustrerar skillnaden mellan AMP system och SMP system. [1] 3

En annan skillnad mellan SMP och AMP är när man vill fördela en uppgift i en processor. I SMP så kommer inte accesstiden vara beroende på vilken processor man väljer utan förblir det samma. Medans i ett AMP-system så kan accesstiden påverkas. Detta beror på att i ett AMP applikation så vill man optimera prestandan genom att välja den processor som är anpassad för uppgiften. Detta innebär att man får lägga tid på både schemaläggning och fördelning av uppgifter till rätt processor[2] Asymmetric multiprocessing är en smartare lösning att använda sig av för fabrikat med en begränsad strömförsörjningen, som en mobil. Ett AMP-system kan vara ett heterogeneous multi-core system. Vilket innebär att man använder sig av olika typer av processorer som kan i detta fall fördela arbetet på ett energisnålt sätt. Genom att använda sig av de processorer som drar mycket ström när man använder mobilen och kravet på prestanda är hög och sedan använda de processorer som drar lägre ström när man inte använder mobilen för bakgrunds arbete, så kan man förbättrar livslängden på ett batteri i en mobil. 4

4 Referenser [1] Wei Kin, W, Tze Ming, N, Chu Kiong, L, Ying Wei, L, & Eng Kean, L 2010, Implementation of asymmetric multiprocessing framework in humanoid robot, 2010 IEEE Conference On Robotics Automation & Mechatronics (RAM), p. 188, Publisher Provided Full Text Searching File, EBSCOhost, viewed 3 December 2016. [2] Karam, L, AlKamal, I, Gatherer, A, Frantz, G, Anderson, D, & Evans, B 2009, Trends in Multicore DSP Platforms, IEEE Signal Processing Magazine, 26, 6, p. 38, Publisher Provided Full Text Searching File, EBSCOhost, viewed 4 December 2016. Webblänkar [3] AMP & SMP. Lauterbach 2016 http://www.lauterbach.com/smporamp.pdf (hämtad 05/12-2016) [4] AMP & SMP. Embedded 2016 http://www.embedded.com/design/mcus-processors-and-socs/4429496/multicore-basics (hämtad 05/12-2016) [5] AMP & SMP. Techdifferences 2016 http://techdifferences.com/difference-between-symmetric-and-asymmetric-multiprocessing.html (hämtad 05/12-2016) [6] SMP. Wikipedia 2016 https://en.wikipedia.org/wiki/symmetric_multiprocessing (hämtad 05/12-2016) [7] Multi-core. Wikipedia 2016 https://en.wikipedia.org/wiki/multi-core_processor (hämtad 05/12-2016) [8] AMP. Wikipedia 2016 https://en.wikipedia.org/wiki/asymmetric_multiprocessing (hämtad 05/12-2016) [9] Cache coherence. Wikipedia 2016 https://en.wikipedia.org/wiki/cache_coherence (hämtad 05/12-2016) [10] Multi processor. Wikipedia 2016 https://en.wikipedia.org/wiki/multiprocessing (hämtad 05/12-2016) [11] Bus snooping. Wikipedia 2016 https://en.wikipedia.org/wiki/bus_snooping (hämtad 05/12-2016) 5