scheduling della cpu - people.unica.it · della cpu multiprocessor multicore real-time sistemi...

26
SCHEDULING DELLA CPU Multiprocessor Multicore Real - Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore Accoppiamento lasco - sistemi distribuiti o cluster ••Un insieme di sistemi autonomi o relativamente autonomi: ad ogni processore sono collegati una memoria principale e dei canali di I/O Processori dedicati per funzioni specifiche ••Un processore general purpose svolge la funzione di master che controlla I processori specializzati Accoppiamento stretto di un insieme di processori ••Un insieme di processi condivide l’accesso ad una medesima memoria principale e sono controllati da un unico sistema operativo Giorgio Giacinto 2014 2

Upload: others

Post on 25-Jul-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

SCHEDULINGDELLACPUMultiprocessorMulticoreReal-Time

SISTEMIOPERATIVI

ClassificazionedeiSistemiMultiprocessoreAccoppiamentolasco- sistemidistribuitiocluster••Uninsiemedisistemiautonomiorelativamenteautonomi:adogniprocessoresonocollegatiunamemoriaprincipaleedeicanalidiI/O

Processoridedicatiperfunzionispecifiche••Unprocessoregeneralpurpose svolgelafunzionedimasterchecontrollaIprocessorispecializzati

Accoppiamentostrettodiuninsiemediprocessori••Uninsiemediprocessicondividel’accessoadunamedesimamemoriaprincipaleesonocontrollatidaununicosistemaoperativo

GiorgioGiacinto2014

2

Page 2: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Grain Size Description Synchronization Interval (Instructions)

Fine Parallelism inherent in a single instruction stream.

<20

Medium Parallel processing or multitasking within a single application

20-200

Coarse Multiprocessing of concurrent processes in a multiprogramming environment

200-2000

Very Coarse Distributed processing across network nodes to form a single computing environment

2000-1M

Independent Multiple unrelated processes not applicable

Granularitàdisincronizzazioneeprocessi

GiorgioGiacinto2014

3

Applicazionieseguiteindipendentementedaciascun

utente

Ilsistemamultiprocessoreèequivalenteaunsistemaconun

soloprocessoremutliprogrammato

Lapresenzadipiùprocessoririduceiltempomediodirisposta

Parallelismo indipendente» Nessunasincronizzazioneesplicitafraiprocessori˃ Ciascunprocessoreesegueunaapplicazioneindipendenti+ Sistemitime-sharing

GiorgioGiacinto2014

4

Page 3: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Parallelismoagranagrossaemoltogrossa» Sincronizzazionefraprocessimaadunlivellogrossolano

» Buonasoluzioneperprocessiconcorrentieseguitisuunsoloprocessoremultiprogrammato˃ Puòessereeseguitosuunsistemamultiprocessoresenzamodifichealsoftware

GiorgioGiacinto2014

5

Parallelismoagranamedia» Applicazionichepossonoessererealizzatecomeuninsiemedithread all’internodiunprocesso˃ Ilprogrammatoredevespecificareesplicitamenteilpotenzialeparallelismodell’applicazione+ Occorreunaltogradodicoordinamentoeinterazionefraithread diunaapplicazione

» Interazionefraithread moltofrequente˃ ledecisionisulloscheduling diunthread hannoconseguenzesulleprestazionidell’interaapplicazione

GiorgioGiacinto2014

6

Page 4: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Parallelismoagranafine» Richiedel’usoditecnichepiùcomplessedigestionedeithreadperrealizzareunmaggiorgradodiparallelismo

» E’unambitomoltospecialistico˃ Sonopossibilinumerosiapprocci

GiorgioGiacinto2014

7

Aspettiprogettuali» L’approcciousatodipenderà˃ dalgradodigranularitàdiparallelismodell’applicazione

˃ dalnumerodiprocessoridisponibili

GiorgioGiacinto2014

8

Loschedulingdeiprocessiinarchitetturemultiprocessoredevetenercontoditreaspetticorrelati

Assegnazionedeiprocessiaiprocessori

Usodellamultiprogrammazionesuisingoliprocessori

Istanteeffettivodi

esecuzonedelprocesso

Page 5: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

AssociazionedeiProcessiaiProcessori

» L’assegnazionestaticahalosvantaggiodinonsfruttarecompletamentetuttelerisorsedisponibili˃ Perqualcheintervalloditempounoopiùprocessoripotrebbero

rimanereinattivimentrealtripotrebberoaverelacodapiena+ nonpossibileincasodiutilizzodiun’unicacodadeiprocessipronti+ nonpossibileseperiodicamentesibilanciailcaricofraiprocessori

GiorgioGiacinto2014

9

Sepossiamoconsiderareiprocessoricomeequivalentiallorapossiamousarlicomeuninsiemedirisorsedaassegnareaiprocessisu

richiesta

richiestedeterminateinmodostaticoo

dinamico

Incasodiassociazionepermanentefraprocessoe

processore,aciascunprocessoresaràassociatalapropriacodadeiprocessi

pronti

Lafunzionedischeduling creapoco

sovraccaricoTecnichedischedulingpergruppio“gang”

ArchitetturaMaster/Slave» Lefunzioniprincipalidelkernel sonoeseguitesuun

soloprocessoremaster˃ gestisceloscheduling deiprocessi

» Glialtriprocessorislave invianorichiestediservizialmaster

» E’unoschemasemplice˃ richiedepochemodifichealrispettoaunsistemaoperativoperarchitetturemonoprocessore

» LasoluzionedeiconflittièsemplificataperchéunsoloprocessocontrollalamemoriaeI/O

GiorgioGiacinto2014

10

SVANTAGGI

••seilmasterfallisce,l’interaarchitetturafallisce••ilmasterpuòdiventareuncollodibottigliaperleprestazionidelsistema

Page 6: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Architetturapeer» Ilkernel puòessereeseguitosuunoqualunquedeiprocessori

» Ciascunprocessoreeseguel’algoritmodischeduling edesegueunprocessoprendendolodaun’unicacodadeiprocessipronti

GiorgioGiacinto2014

11

Sistemaoperativopiùcomplesso

••Ilsistemaoperativodevegarantire••cheunprocessononvengaselezionatodapiùprocessori••chenessunprocessovengaperso dallacoda

Singleprocessor

Dualprocessor

SRT

to F

CFS

thro

ughp

ut r

atio

01.00

1.05

1.10

1.15

1.20

1.25

1 2 3 4 5

Coefficient of variation

(a) Comparison of RR and FCFS

Coefficient of variation

(b) Comparison of SRT and FCFS

Figure 10.1 Comparison of Scheduling Performance for One and Two Processors

0 1 2

Singleprocessor

Dualprocessor

0.98

RR

to F

CFS

thro

ughp

ut r

atio

3 4 5

1.00

1.05

1.10

1.15

PrestazioniAlgoritmidiSchedulinginArchitettureMultiprocessore

GiorgioGiacinto2014

12

Page 7: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

PrestazioniAlgoritmidiSchedulinginArchitettureMultiprocessore

GiorgioGiacinto2014

13

Singleprocessor

Dualprocessor

SRT

to F

CFS

thro

ughp

ut r

atio

01.00

1.05

1.10

1.15

1.20

1.25

1 2 3 4 5

Coefficient of variation

(a) Comparison of RR and FCFS

Coefficient of variation

(b) Comparison of SRT and FCFS

Figure 10.1 Comparison of Scheduling Performance for One and Two Processors

0 1 2

Singleprocessor

Dualprocessor

0.98

RR

to F

CFS

thro

ughp

ut r

atio

3 4 5

1.00

1.05

1.10

1.15

GiorgioGiacinto2014

14

Page 8: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Thread Scheduling» Finalitàdeithread Inunsistemamonoprocessore˃ aiutaastrutturareunprogramma˃ consentedisovrapporreoperazionidiI/Oconaltreelaborazioni

» Inunsistemamultiprocessoreithreadconsentonodisfruttareilparallelismofradiversefunzionalitàdiunastessaapplicazione˃ Accelerazionedelcalcolorispettoasistemimonoprocessore

GiorgioGiacinto2014

15

LoadSharing GangScheduling

DedicatedProcessorAssignment

DynamicScheduling

Quattroappocciperloschedulingdeithreadel’assegnazionedei

processori

ApproccialloSchedulingdeiThread

GiorgioGiacinto2014

16

Uninsiemediprocessicorrelatisonoaccodatiperl’esecuzionecontemporaneasuuninsiemediprocessoriconrapportouno-a-uno

IProcessinonsonoassegnatiaunprocessoreinparticolare

Schedulingimplicitodefinitodall’assegnazionepermanentediprocessiaiprocessori

Ilnumerodithreadinunaapplicazionepuòesseremodificatoinfasediesecuzione

Page 9: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Bilanciamentodelcarico» Approcciopiùsemplice˃ Basatoprevalentementesugliapproccipersistemimonoprocessore

» Diversiapproccialbilanciamento˃ First-Come-First-Served˃ Smallest Number ofThreads First˃ Preemptive Smallest Number ofThreads FirstGi

orgioGiacinto2014

17

VANTAGGI

••CaricodistributioequalementefraIprocessori••Nessuno schedulingcentralizzato••Gestionedellacodaunicaonunodeglialgoritmidischedulingperambientimonorpocessore

SvantaggiCondivisionedelCarico» L’accessoinmemoriaallacodaunicadeiprocessiè

mutuamenteesclusivo˃ puòcreareuncollodibottiglia

» Ithread prelazionati difficilmenteriprenderannol’esecuzionesulmedesimoprocessore˃ ilcaching puòdiventarepocoefficiente

» Ithread didiversiprocessisonotrattaticomeununicoinsiemedithread˃ èpocoprobabilechetuttiithread diunprogrammapossanoaccedereaiprocessoricontemporaneamente+ icambidiprocessopossonoridurreinmodosignificativoleprestazioniGi

orgioGiacinto2014

18

Page 10: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

GangScheduling» Scheduling simultaneodeithread diunostesso

processo

» Utileperapplicazioniconparallelismoagranamediaoagranafine˃ Leprestazionidegradanosealcunithread nonsonoinesecuzione,mentealtresì.

» BeneficiancheperaltretipologiediapplicazioniparalleleGi

orgioGiacinto2014

19

BENEFICI

••Riduzionedeglistatidibloccodovutiasincronizzazione••Numeroinferioredicambidiprocesso,conriduzionedelsovraccaricodelloscheduling

Assegnazionepermanentediprocessoriaithread» Quandol’applicazionevieneeseguita,ciascun

thread èassegnatoaunprocessorededicato˃ l’associazioneèvalidafinoalterminedell’applicazione

» Seunthread èbloccatoinattesadiI/Oodisincronizzazione,ilprocessorerimaneinattivo˃ nonc’èmultiprogrammazionedeiprocessori

» Questastrategiaèefficacequando˃ ilnumerodeiprocessoriècosìelevatochelamassimizzazionedell’utilizzodeiprocessorièdisecondariaimportanza

˃ L’assenzadicambiodiprocessodovrebbetradursiinunaaccelerazionedellasuaesecuzione

GiorgioGiacinto2014

20

Page 11: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

SchedulingDinamico» Peralcuneapplicazionièpossibileusarelinguaggiestrumentidiprogrammazionecheconsentonodivariaredinamicamenteilnumerodithread˃ Ilsistemaoperativopuòmodificareilcaricopermigliorareleprestazioni

» Inquesticasiledecisionisulloschedulingdipendonosiadalsistemaoperativo,siadallaapplicazione˃ Ilsistemaoperativosioccupadiallocareilprocessore

GiorgioGiacinto2014

21

GiorgioGiacinto2014

22

Page 12: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Scheduling dithread insistemimulticore» Tecnichedischeduling analoghealletecnichedi

scheduling usateinsistemimultiprocessore˃ Ades.,WindowseLinux

» Obiettivoalgoritmidischeduling multiprocessoremantenereiprocessorisempreoccupati

» Inarchitetturemulticore l’obiettivoèminimizzareaccessoallamemoriaesternaalchip˃ L’approcciobasatosulbilanciamentodelcarico nonconsentedimigliorareleprestazioniinarchitetturemulticore

GiorgioGiacinto2014

23

Figure 10.3 AMD Bulldozer Architecture

Core 0

16 kB L1DCache

16 kB L1DCache

16 kB L1DCache

16 kB L1DCache

2 MBL2 Cache

2 MBL2 Cache

Core 1

2 8B @ 1.86 GT/s

Core 6 Core 7

8 MBL3 Cache

DDR3 MemoryControllers Hypertransport 3.1

8 2B @ 6.4 GT/s

ArchitetturaAMDBulldozer

GiorgioGiacinto2014

24

Page 13: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

ArchitetturaIntelCorei7-990X

GiorgioGiacinto2014

25

Figure 1.20 Intel Core i7-990X Block Diagram

Core 0

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

256 kBL2 Cache

Core 1

256 kBL2 Cache

Core 2

3 8B @ 1.33 GT/s

256 kBL2 Cache

Core 3

256 kBL2 Cache

Core 4

256 kBL2 Cache

Core 5

256 kBL2 Cache

12 MBL3 Cache

DDR3 MemoryControllers

QuickPathInterconnect

4 20b @ 6.4 GT/s

Scheduling insistemimulticoreCacheSharing» Cooperazione - condivisionedirisorse

˃ Piùthread accedonoallestessecelledimemoriacache

» Competizione perlerisorse˃ Seithread sonoinesecuzionesuprocessoriadiacentipossonocompetereperutilizzarecelledimemoriacache+ unthread puòutilizzareunaquantitàmaggioredicacherispettoadaltrithread,eleprestazionideithread chehannomenocacheadisposizionepossonodegradare

˃ Tecnichedischeduling ditipocontention-aware+ ithread sonoassegnatiaicorepermassimizzarel’efficaciadellacachecondivisaeminimizzaregliaccessiallamemoriafuoridalchip

GiorgioGiacinto2014

26

Page 14: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

GiorgioGiacinto2014

27

Caratteristicheprincipali» Ilsistemaoperativogiocaunruolofondamentale

˃ Inparticolareloscheduler

» Iprocessidiunsistemareal-timecontrollano orispondono aeventidelmondoesterno˃ glieventiaccadonoinreal-time eiprocessidevonotenereilpassodeglieventicuisonodedicati

» Lacorrettezza diunsistemareal-timeèdefinitacome˃ correttezzadelrisultato delcalcolo˃ istante temporaleincuiilrisultatoèstatoprodotto

GiorgioGiacinto2014

28

••controllodiesperimentidilaboratorio••controllodiprocessoinimpiantiindustriali••robotica••controllodeltrafficoaereo••telecomunicazioni••sistemimilitaridicomandoecontrollo

Esempi

Page 15: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

TaskReal-Time

Hard Real-Timetask Soft Real-Timetask

GiorgioGiacinto2014

29

» Taskchedevonorispettareunascadenzanonmodificabile˃ ilmancatorispettodellascadenzacausadannioerroriirreparabili(fatali)

» ITaskhannounascadenzadesideratamanonobbligatoria˃ iltaskpuòesseremandatoinesecuzioneancheselascadenzaètrascorsa

TaskPeriodicieAperiodici» TaskPeriodici˃ irequisitipossonoessereformulaticome

+ eseguitounavoltaogniperiodoT+ eseguitoesattamenteogniTunitàditempo

» TaskAperiodici˃ scadenzaassociataoall’istanteentrocuideveessereavviatooall’istanteentrocuideveterminare+ possonoavereancheunvincolosull’istantediavvioeditermine

GiorgioGiacinto2014

30

Page 16: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

CaratteristichedeisistemiReal-Time

Irequisitidiunsistemaoperativoreal-timesonorelativiacinqueaspetti

Determinismo

ProntezzadiRisposta

Controlloutente

Affidabilità

Funzionamentoditipofail-soft

GiorgioGiacinto2014

31

Determinismo» Legatoalritardoconcuiilsistemaoperativorispondeauninterruzione

» Leattivitàsonoeseguiteadistantifissatioentrodeterminatiintervalliditempo

+ nessunsistemapuòesserecompletamentedeterministicoseuncertonumerodiprocessicompeteperl’acquisizionedirisorseedelprocessore

GiorgioGiacinto2014

32

Ilgradodideterminismo di

unsistemaoperativodipendeda

Lavelocitàdirisposta

alleinterruzioni

Ladisponibilità dirisorsecheconsente

disoddisfarelerichiesteentroil

tempoadisposizione

Page 17: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Prontezzadirisposta» Rispostaaeventiesternialsistema˃ aspettocriticopersistemireal-timechedevonorispettareirequisitiesterniditemporizzazionediinterazioneconpersone,periferiche,oflussididati

» Legatoaltempocheintercorrefra˃ ricezionediuninterruzione˃ esecuzionedell’azionerichiestaconl’interruzione

+ tenendocontodieventualiannidamenti

GiorgioGiacinto2014

33

Controllodapartedell’utente

» Moltopiùampioneisistemireal-timecheneisistemioperativitradizionali

» Isistemireal-timedevonoconsentireall’utenteuncontrolloagranafinesulleprioritàdeidiversitask˃ L’utentedeveessereingradodidistinguerefrataskditipohard esoft especificareleprioritàinciascunaclasse

» L’utentepotrebbeessereautorizzatoaspecificare:

GiorgioGiacinto2014

34

paginazioneeswap

iprocessidamanteneresempreinmemoria

glialgoritmiditrasferimentodatidadisco

iprivilegideiprocessinellefascedipriorità

Page 18: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Affidabilità» Moltopiùimportantepersistemireal-timechepersisteminonreal-time

» Isistemireal-timedevonorisponderee/ocontrollareeventiinreal time.Incasodifallimentoleconseguenzepotrebberoesserecatastrofiche

+ perditefinanziarie+ danniimportantiadimpiantiemacchinari+ decessi

GiorgioGiacinto2014

35

MododifunzionamentoFail-Soft» L’abilitàdiunsistemadiguastarsi inmodotaledapreservarelamaggiorpartepossibiledicapacitàdicalcoloedidati

» L’aspettopiùimportanteèlastabilità˃ unsistemareal-timeèstabile

+ seriescearispettaretutte lescadenzedeitaskpiùcriticieapiùaltapriorità

+ anchesenonsempreriescearispettarealcunescadenzerelativeataskmenocritici

GiorgioGiacinto2014

36

Page 19: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

GiorgioGiacinto2014

37

Scheduling ditaskreal-time» Moltisistemioperativigestisconotaskreal-timesenzagestiredirettamentelescadenzemausandotecnichepermassimizzarelaprontezzadirisposta˃ nondeveminimizzareitempimedidirisposta˃ nondeveessereequo conivariprocessi

» Esistonodiversiapprocciperlagestioneditaskreal-timeinsistemiincuisieseguonoancheprocessinonreal-time˃ ades.,Windows,Linux,ecc.

GiorgioGiacinto2014

38

Page 20: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Process 1

Request from areal-time process

(a) Round-robin Preemptive Scheduler

Clocktick

Process 2 Process nReal-timeprocess

Scheduling time

Real-time process added torun queue to await its next slice

Current process

Current processblocked or completed

Request from areal-time process

(b) Priority-Driven Nonpreemptive Scheduler

Real-timeprocess

Scheduling time

Preemptionpoint

Real-time process addedto head of run queue

Current process

Request from areal-time process

(c) Priority-Driven Preemptive Scheduler on Preemption Points

Real-timeprocess

Scheduling time

Wait for nextpreemption point

Current process

Request from areal-time process

(d) Immediate Preemptive Scheduler

Figure 10.4 Scheduling of Real-Time Process

Real-timeprocess

Scheduling time

Real-time process preempts currentprocess and executes immediately

Schedulingdiprocessireal-time

GiorgioGiacinto2014

39

Schedulingdiprocessireal-time

GiorgioGiacinto2014

40

Process 1

Request from areal-time process

(a) Round-robin Preemptive Scheduler

Clocktick

Process 2 Process nReal-timeprocess

Scheduling time

Real-time process added torun queue to await its next slice

Current process

Current processblocked or completed

Request from areal-time process

(b) Priority-Driven Nonpreemptive Scheduler

Real-timeprocess

Scheduling time

Preemptionpoint

Real-time process addedto head of run queue

Current process

Request from areal-time process

(c) Priority-Driven Preemptive Scheduler on Preemption Points

Real-timeprocess

Scheduling time

Wait for nextpreemption point

Current process

Request from areal-time process

(d) Immediate Preemptive Scheduler

Figure 10.4 Scheduling of Real-Time Process

Real-timeprocess

Scheduling time

Real-time process preempts currentprocess and executes immediately

Page 21: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Real-TimeScheduling

Gliapproccialloschedulingdifferiscono

secalcolanoonounasequenzadiesecuzione

primadell’effettivoavviodeitask

sel’analisièeffettuata

staticamenteodinamicamente

seilrisultatodell’analisiproduceunpianodischeduling cheviene

effettivamenteeseguito

GiorgioGiacinto2014

41

ClassidiAlgoritmidiSchedulingReal-TimeApproccistaticibasatisutabelle••analisistaticadisequenzediesecuzioneeffettivamenterealizzabili••atempodiesecuzionesideterminaquandountaskdeveiniziarel’esecuzione

Approccistaticiconprelazionebasatisupriorità••siesegueunaanalisistaticamasenzaindividuaredellesequenzediesecuzione••Ilrisultatodell’analisiserveadassegnareprioritàaitask.Siesegueunalgoritmotradizionaledischeduling perprioritàconprelazione

Approccidinamicibasatisullapianificazione••lafattibilitàèdeterminataatempodiesecuzioneenonprimadell’esecuzione••Ilrisultatodell’analisièunasequenzadiesecuzione(piano)cheèusatoperdeciderequandoavviareuntask

Approccidinamicibesteffort••nonvieneeseguitaalcunaanalisidifattibilità••ilsistemacercadirispettaretuttelescadenzeeterminaforzatamente(abort)unprocessoselascadenzanonèrispettataGi

orgioGiacinto2014

42

Tecnicausatadadiversisistemioperativireal-timeincommercio

Page 22: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Deadline Scheduling» Obiettivodiunsistemaoperativoreal-tme˃ Avviareitaskreal-timepiùrapidamentepossibile˃ Enfasisu

+ Gestionerapidadelleinterruzioni+ Avviorapidodell’esecuzionedeitask

» Nelleapplicazionireal-timeoccorreavviare(ocompletare)itasknelmigliore tempopossibile

» L’usodellaprioritàperlagestionediprocessireal-timeèunmodoragionevoledisoddisfareirequisititemporali

GiorgioGiacinto2014

43

InformazioniusateperilDeadline Scheduling

GiorgioGiacinto2014

44

••lerisorserichiestedaltaskdurantel’esecuzione

Resourcerequirements

••parametrorelativoall’importanzadeltaskPriority

••Untaskpotrebbeesseresuddivisoinunsotto-taskobbligatorio(harddeadline)einunsottotask opzionali

Subtaskscheduler

••l’istanteditempoincuiiltaskèprontoperl’esecuzioneReadytime

••l’istanteditempoincuiiltaskdeveiniziare

Startingdeadline

••l’istanteditempoincuiiltaskdeveesserecompletato

Completiondeadline

••l’intervalloditempoentrocuiiltaskdeveessereeseguito

Processingtime

Sipossonorispettarelescadenzeconalgoritmiearliest deadline

Page 23: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Process Arrival Time Execution Time Ending Deadline A(1) 0 10 20 A(2) 20 10 40 A(3) 40 10 60 A(4) 60 10 80 A(5) 80 10 100

• • •

• • •

• • •

• • •

B(1) 0 25 50 B(2) 50 25 100

• • •

• • •

• • •

• • •

ProfilodiesecuzionedidueTaskPeriodici

Esempio:TaskPeriodiciGiorgioGiacinto2014

45

9070402010 30 50 60 80 1000 Time(ms)B1 B2

A1 A2 A3 A4 A5Arrival times, executiontimes, and deadlines

A1deadline

A2deadline

A3deadline

A4deadline

A5deadline

B1deadline

B2deadline

A3 A4 A5A1 B1 A2 B1 B2 B2 B2

A1 A2 A3 A4 A5, B2B1(missed)

A1(missed)

A2 A3 A4(missed)

A5, B2

B1 B2A2 A3 A5

A1 A2 A3 A4 A5, B2B1

A1 B1 A2 B1 A3 B2 A4 B2 A5

Fixed-priority scheduling;A has priority

Fixed-priority scheduling;B has priority

Earliest deadline schedulingusing completion deadlines

Figure 10.5 Scheduling of Periodic Real-time Tasks with Completion Deadlines (based on Table 10.2)

B1

Risultatoscheduling

GiorgioGiacinto2014

46

Page 24: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Process Arrival Time Execution Time Starting Deadline A 10 20 110 B 20 20 20 C 40 20 50 D 50 20 90 E 60 20 70

ProfilodiesecuzionedicinquetaskAperiodici

Esempio:TaskAperiodiciGiorgioGiacinto2014

47

9070402010 30 50 60 80 100 1100 120

B C E D A

B (missed) C E D A

B C E D A

C D A

A B C D E

A B C D E

A B C D E

A B C D E

A C E D

B C E D A

A C D

B (missed) E (missed)

Requirements

Arrival times

Starting deadline

Earliestdeadline

Arrival times

Starting deadline

Service

Earliestdeadline

with unforcedidle times

Arrival times

Starting deadline

Service

First-comefirst-served

(FCFS)

Arrival times

Starting deadline

Service

Figure 10.6 Scheduling of Aperiodic Real-time Tasks with Starting Deadlines

Risultatoscheduling

GiorgioGiacinto2014

48

Page 25: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Prio

rity

High

LowRate (Hz)

Highest rate andhighest priority task

Lowest rate andlowest priority task

Figure 10.7 A Task Set with RMS

RateMonotonic SchedulingGiorgioGiacinto2014

49Processing ProcessingIdleP

task P execution time C

task P period T

Cycle 1 Cycle 2

Figure 10.8 Periodic Task Timing Diagram

Time

InversionediPriorità» Sipuòverificareconalgoritmiconprelazione˃ untaskadaltaprioritàattendeilcompletamentodiuntaskapiùbassaprioritàchepossiederisorse

» E’unaspettocriticonelcontestodeglialgoritmidischeduling real-time

» L’esempiopiùfamosoèrelativoallamissionespazialeMarsPathfinder

GiorgioGiacinto2014

50

Inversionediprioritàillimitata

••Laduratadell’inversionediprioritànondipendesolodaltemporichiestopergestirelarisorsacondivisamaanchedaattivitàdialtritaskscorrelati nonprevedibili

Page 26: SCHEDULING DELLA CPU - people.unica.it · DELLA CPU Multiprocessor Multicore Real-Time SISTEMI OPERATIVI Classificazione dei Sistemi Multiprocessore ... 0 1 2 Single processor Dual

Inversione diPrioritàGiorgioGiacinto2014

51

Figure 10.9 Priority Inversion

T1

T2

T3

s locked

(a) Unbounded priority inversion

preemptedby T1

preemptedby T2

s unlocked

time

normal execution execution in critical section

s lockedblocked by T3

(attempt to lock s)

t1 t2 t3 t4 t5 t6 t7 t8

T1

T2

T3

s lockedby T3

(b) Use of priority inheritance

preemptedby T1

s unlocked

s unlocked

s lockedby T1

blocked by T3(attempt to lock s)

t1 t2 t3 t4 t5 t6 t7

Ereditarietà della Priorità

GiorgioGiacinto2014

52

Figure 10.9 Priority Inversion

T1

T2

T3

s locked

(a) Unbounded priority inversion

preemptedby T1

preemptedby T2

s unlocked

time

normal execution execution in critical section

s lockedblocked by T3

(attempt to lock s)

t1 t2 t3 t4 t5 t6 t7 t8

T1

T2

T3

s lockedby T3

(b) Use of priority inheritance

preemptedby T1

s unlocked

s unlocked

s lockedby T1

blocked by T3(attempt to lock s)

t1 t2 t3 t4 t5 t6 t7