Aktivitetsschemaläggning för flerkärninga processorer

Relevanta dokument
Öka prestanda i Shared-Cache multi-core processorer

Schemaläggnings metoderna AMP & SMP i en Multiprocessor

Realtidssystem. - Schemaläggning - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 6

Cacheminne Intel Core i7

Hyper-Threading i Intelprocessorer

Tentamen i Realtidsprogrammering för Au3, D3, E3

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

What Is Hyper-Threading and How Does It Improve Performance

Realtidssystem. - Schemaläggning - EDA698 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 6

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

Exam Concurrent and Real-Time Programming

Cacheminne i en AMD Opteron Processor

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

Realtidsprogrammering Ordinarie tentamen

MESI-protokollets funktion i multiprocessorer

Cache coherence hos multicoreprocessorer

Tentamen omfattar 40 poäng fördelade på 7 uppgifter. 20 poäng krävs för betyget 3, 30 poäng för betyget 4 och 36 poäng för betyget 5.

Cacheminne i en Intel Core 2 Duo-processor

Omtentamen i Realtidsprogrammering för Au3, D3, E3

TENTAMEN I REALTIDSPROCESSER OCH REGLERING TTIT62

Datorarkitekturer med operativsystem ERIK LARSSON

LARS. Ett e-bokningssystem för skoldatorer.

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

Examples on Analog Transmission

Isometries of the plane

Spekulativ exekvering i CPU pipelining

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05

Pipelining i Intel 80486

8 < x 1 + x 2 x 3 = 1, x 1 +2x 2 + x 4 = 0, x 1 +2x 3 + x 4 = 2. x 1 2x 12 1A är inverterbar, och bestäm i så fall dess invers.

SYNKRONISERING I EN SHARED MEMORY MULTIPROCESSOR

Realtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys

MESI i Intel Core 2 Duo

TDDIU81. Processer och trådar. Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl

Webbreg öppen: 26/ /

Tentamen vid Institutionen för Datavetenskap, Linköpings universitet

Tentamen MMG610 Diskret Matematik, GU

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University

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

Tentamen. Datorteknik och realtidssystem

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00

Beijer Electronics AB 2000, MA00336A,

Webbregistrering pa kurs och termin

Hjälpmedel: Inga hjälpmedel förutom penna, suddgummi och glatt humör.

Isolda Purchase - EDI

Alias 1.0 Rollbaserad inloggning

Operativsystem ID1200/06 Tentamen :00-18:00

Pipelining i Intel Pentium II

Styrteknik : Programmering med IEC Styrteknik

Anujan Balasingam IDA14 NAND flashminnen

Fö 7 TSEA81. Scheduling

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

Inkvarteringsstatistik. Göteborg & Co

EXTERNAL ASSESSMENT SAMPLE TASKS SWEDISH BREAKTHROUGH LSPSWEB/0Y09

This exam consists of four problems. The maximum sum of points is 20. The marks 3, 4 and 5 require a minimum

Självkörande bilar. Alvin Karlsson TE14A 9/3-2015

Övning 4 EITF25 & EITF Protokoll. October 29, 2016

4 grundregler. Minneshantering. Problemet. Windows minkrav

Make a speech. How to make the perfect speech. söndag 6 oktober 13

Varmt välkommen som gästföreläsare till Juridiska fakulteten vid Lunds universitet

Styrteknik: Binära tal, talsystem och koder D3:1

Operativsystem - input/output, skydd, virtualisering

Parallellism i CDC 7600, pipelinens ursprung

Solutions to exam in SF1811 Optimization, June 3, 2014

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

Rapport (1,5 HP) Lunds Universitet HT15

Vätebränsle. Namn: Rasmus Rynell. Klass: TE14A. Datum:

Proposition till Klubbmötet Regler för Tollarspecialens Tollarmästare och Juniortollarmästare

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

Parallellism i NVIDIAs Fermi GPU

Hur information lägger grunden för smartare verksamhet via analys och insikt

1 Find the area of the triangle with vertices A = (0,0,1), B = (1,1,0) and C = (2,2,2). (6p)

Processor pipelining genom historien (Intel i9-intel i7)

Kommentar till bilderna. Att spara hörsel för framtiden. Bara det värdefulla är vi beredda att skydda! Hörseln vad kan vi förstå?!

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00

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

Changes in value systems in Sweden and USA between 1996 and 2006

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

Rastercell. Digital Rastrering. AM & FM Raster. Rastercell. AM & FM Raster. Sasan Gooran (VT 2007) Rastrering. Rastercell. Konventionellt, AM

Hantering av hazards i pipelines

Lösningar till Tentamen i Reglerteknik AK EL1000/EL1100/EL

samhälle Susanna Öhman

32 Bitar Blir 64 Sammanfattning

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

Tentamen. Datorteknik och realtidssystem

Övning 3 ETS052 Datorkommuniktion IP, TCP och

Datorarkitekturer med operativsystem ERIK LARSSON

Protokoll Föreningsutskottet

Datorsystem. Tentamen

Nätverksteknik A - Introduktion till Routing

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

BERÄKNINGSMETODER FÖR DEN FRAMTIDA TÅGPLANEPROCESSEN

Grafer, traversering. Koffman & Wolfgang kapitel 10, avsnitt 4

IE1206 Embedded Electronics

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

SkillGuide. Bruksanvisning. Svenska

F1 SBS EC Utbildning AB

Datorteknik ERIK LARSSON

LÖNEN ETT EFFEKTIVT SÄTT FÖR ÖNSKAD PRESTATION - ENDA FÖRUTSÄTTNINGEN FÖR KONKURRENSKRAFT I EN GLOBAL VÄRLD!

Kurskod: TAIU06 MATEMATISK STATISTIK Provkod: TENA 15 August 2016, 8:00-12:00. English Version

Transkript:

Lunds Tekniska Högskola Datorarkitekturer med Operativsystem EDT621 Aktivitetsschemaläggning för flerkärninga processorer Tobias Lilja 5 december 2016

Innehåll 1 Inledning 3 1.1 Syfte................................ 3 1.2 Bakgrund............................. 3 2 Teori 4 2.1 Traditionella Schemaläggningsmetoder............. 4 2.1.1 RMS............................ 4 2.1.2 EDF............................ 4 2.2 Global Minnescentrerad Schemaläggning............ 5 3 Jämförelse & Avslutning 7 1

Sammanfattning En processor idag består utav av mängd olika kärnor och även fast detta är att föredra så genererar de också problem. Ett av problemen är att eftersom det finns flera kärnor så måste man även schemalägga när var och en av dessa får tillgång till de olika resurserna. Det finns då en mängd olika schemaläggningsmetoder för att hantera detta problemet, två av de enklaste är RMS(Rate Monotonic Scheduling) och EDF(Earliest Deadline First). Båda dessa metoderna är optimala men väldigt enkla. RMS är en metod som ger varje aktrivitet en statisk prioritering, medans EDF ger aktiviteter prioritet dynamiskt. En annan metod är Global real-time memory-centric scheduling som är en schemaläggningsmetod med fokus på minne. Den är utvecklad för att användas på system som kör applikationer som är tunga för minnet. 2

1 Inledning Den moderna processorn består inte längre utav en ensam kärna, utan den består av flera stycken. Då detta är att föredra eftersom det gör så processorn kan köra flera olika aktiviteter i princip paralellt med varandra. Ett av de problem som uppstår när det har med parallellitet göra är att det behövs något typ av schema för när de olika aktiviteterna kan köras. Man behöver därför en schemaläggare i processorn. I den här rapportet så kommer det beskrivas några olika schemaläggningsmetoderna. Först två av de enklaste och sedan en annan modernare som har ett fokus på minne. 1.1 Syfte Syftet med denna rapport är att redovisa hur olika aktivitetsschemaläggningsmetoder fungerar i flerkärninga processorer. 1.2 Bakgrund Anledningen till varför rapporten handlar om just schemaläggning är att det är både intressant och att det ytterst viktigt för moderna system att använda sig av effektiva schemaläggningsmetoder. 3

2 Teori 2.1 Traditionella Schemaläggningsmetoder 2.1.1 RMS RMS står för Rate Monotonic Scheduling och är den optimala schemaläggningsmetoden bland de mtedoder som bygger på statisk prioritet. [1] Det som gör RMS till en av de vanligaste är att det är en relativt simpel metod. Den bygger på att man ger aktiviteter fast prioritet och sedan schemalägger så att alla aktiviteter blir färdiga innan de når sin deadline. Detta illustreras enkelt enligt figur 1. Figur 1: Ett diagram över hur RMS fungerar. Man ser att Task 1 har kortast period och därför också högst prioritet. 2.1.2 EDF EDF står får Earliest Deadline First och är en schemaläggningsmetod som till skillnad från RMS inte har statisk prioriterade aktiviteter. Den kör enligt principen att den aktivitet som har kortast tid till deadline får prioritet över de andra. En stor fördel med EDF är att den till skillnad från RMS är att den kan garantera att alla aktiviteter når sin deadline sålänge CPU:n användning inte öveskrider 100%. [3] 4

Figur 2: Ett diagram över hur EDF fungerar. Man kan t.ex se att J3 avbryter J2 eftersom J3 är närmare sin deadline. 2.2 Global Minnescentrerad Schemaläggning I artiklen: Global real-time memory-centric scheduling for multicore systems. [2] så introducerar författarna en ny typ av schemaläggningsmetod som de kallar Global Memory-Centric Scheduling. Författarna menar på att i traditionell schemaläggning så ligger fokuset på CPU:n och att man inte tar hänsyn till minnet när man schemalägger. [2, p. 2742] De föreslår därför en schemaläggare som räknar med minnesåtkomst när den beslutar om vilken aktivitet som ska köras. De tre reglerna för metoden listas nedanför: 1. För att förhindra maskning så begränsar man antalet kärnor som kan ha tillgång till minnet samtidigt. 2. Minnesfaser prioriteras över utförelsefaser och de aktiviteter som utför sina minnesfaser dynamiskt har prioritet över aktiviteter som inte har tillgång till minnet. 3. Aktivitetsprioriteringar ges enligt dess perioder. Alltså de aktiviteter med kortare perioder har prioritet över de med längre. Ifall detta ger konflikt med den andra reglen så utgår detta. Om man utgår från dessa tre regler så finns det tre olika scenarion som kan ske. Det första är att ifall alla kärnor är upptagna men kapaciteten för antal kärnor som kör minnesfaser inte är nådd. Då startas minnesfasen direkt genom att ta över den minst aktiva utförelsefasen över alla kärnor, detta enligt den andra regeln. Det andra scenariot sker är ifall även minneskapaciteten är nådd och minnesfasen som väntar har högre priroritet än någon av de aktiva. Om så är fallet så kommer så kommer den väntade ta över positionen hos den minnesfas med lägst prioritet. Det sista scenaiot är ifall 5

det finns lediga kärnor och minneskapaciteten inte är nådd, i detta fall så startas minnesfasen direkt i en av de lediga kärnorna. Ifall det inte passar in i något av dessa scenarion så kommer aktiviteten att blockeras. En av fördelarna med detta är att man under körning separerar de båda typerna av faser. Det gör att det alltid finns fria resurser för minnesfaser eftersom minnesfaser alltid har högre prioritet än utförelsefaser. En nackdel med metoden är att ifall belastningen på minnet är låg, för när den är låg så utnyttjas inte de virtuella minnet fullt ut och man slösar resurser.en annan sak som är värd att nämna angående den minnescentrerade schemaläggningsmetoden är att den är riktad mot applikationer som är intensiva för minnet, detta eftersom metoden prioriterar minnesaktiviteter. Ett faktiskt exempel på hur metoden fungerar visas i Fig. 3. Den visar fem aktiviteter som alla startar vid tiden 0. Figuren är tagen ur artiklen [2] och författarna förklarar den såhär: Here, we show each task with starting and end memory phase length 1 and an execution phase length between 1 to 4. We assume that the system consists of three cores so that at any time instance there are at most three tasks running concurrently. We further assume the system memory capacity is 1 core s memory bandwidth, hence, only one task can access memory at a time. The tasks are assigned global priority with task 1 having the highest priority. In Figs. a and b, each line represents the execution progress of each task: we do not show the trace for each core but only limit the Figur 3: Grafer som visar olika typer av schemaläggning number of concurrently running tasks. Fig. c shows the same trace as in (b), but we group the execution and memory phases from all tasks. 6

3 Jämförelse & Avslutning Om man jämför de traditionella schemaläggningsmetoderna med den mer moderna kan man direkt se att den moderna är mer komplex. Detta för att den är anpassad till ett specifikt syfte, för Global real-time memory-centric scheduling så är syftet att metoden ska användas i situationer där minnet spelar stor roll för den generella prestandan. Det är en intressant synvinkel och den skiljer sig en del från hur man traditionellt ser på schemaläggning. Slutligen så ska jag nämna att medans jag undersökte olika schemaläggningsmetoder så läste jag igenom flera andra intressanta ideér angående schemaläggning. Det fick mig att inse att det är ett område där det sker mycket forskning och att det kommer fortsätta att dyka upp nya nischade metoder. 7

Referenser [1] M Barr and D.B Stewart. Introduction to rate monotonic scheduling, 2002. [2] Yao Gang, R. Pellizzoni, S. Bak, Yun Heechul, and M. Caccamo. Global real-time memory-centric scheduling for multicore systems. IEEE Transactions on Computers, 65(9):2739 2751, 2016. [3] Michael O Boyle. Lecture 6: Scheduling, 2014. 8