Algoritmi de planificare a proceselor pentru sisteme în timp real

Download Report

Transcript Algoritmi de planificare a proceselor pentru sisteme în timp real

UNIVERSITATEA POLITEHNICA BUCUREŞTI
FACULTATEA DE ELECTRONICĂ, TELECOMUNICAŢII
ŞI TEHNOLOGIA INFORMAŢIEI
Algoritmi de planificare a proceselor
pentru sisteme în timp real
- Lucrare de dizertaţie -
Coordonator:
Masterand
Conf. dr. ing. Stefan Stancescu
Ilie Razvan-Mihai
1
CUPRINS
INTRODUCERE
1.
SISTEME IN TIMP REAL
2.
SISTEME DE OPERARE PENTRU ECHIPAMENTE IN TIMP
REAL
3.
PROCES, TASK, THREAD
4.
ALGORITMI DE PLANIFICARE A PROCESELOR
5.
APLICAŢIA CHEDDAR
6.
TESTAREA ALGORITMILOR DE PLANIFICARE
CONCLUZII
2
Înţelegerea sistemelor in timp real
Termenul
Tipuri
“în timp real”;
de sisteme RT (hard, Soft);
Task-urile
Starile
(periodice, aperiodice, sporadice);
unui task;
3
Algoritmi de planificare a proceselor
pentru sisteme RT


Planificator de timp-real este o unitate de program care controlează
lansarea în execuţie
Planificarea
Pre-execuţie (off-line)
Dinamică (on-line)
Preemptivă
Nepreemptivă

Plan fezabil – un plan generat pentru un set dat de taskuri care
asigură respectarea restricţiilor de timp
4
Algoritmi de planificare a proceselor
pentru sisteme RT
P
C
R
t
ta
D

Notaţii şi termeni folosiţi
P – perioada de repetiţie
D – timpul limită maxim (deadline) - timpul până la care execuţia
task-ului trebuie să se încheie
ta – timp de apariţie – determină momentul în care task-ul este
disponibil pentru execuţie
C – timp de execuţie / calcul – durata maximă a task-ului
R – timp de răspuns – timpul în care execuţia task-ului se încheie
5
Algoritmul de planificare RM si DM
(Rate Monotonic si Deadline Monotonic)
Prezentarea
algoritmului:
•Schemă
uniprocesor
•Schemă
preemptivă
•Prioritate
•Condiţia
statică
suficientă, dar nu şi necesară:
m
Ci
U  m
i 1 Pi

m

2 1
6
Algoritmul EDF
(Early Deadline First)

Prezentarea algoritmului
•
Condus de prioritate
•
Cu prioritate dinamică
•
Schemă preemptivă

Analiza funcţionării
•
Utilizarea cozilor de sarcini
•
Optim pentru programarea uniprocesor a unui set de sarcini periodice
•
Condiţia suficientă, dar nu şi necesară:
m
Ci
U   1
i 1 Pi
7
Algoritmul
First
SISTEME
IN Least
TIMPLaxity
REAL
Prezentarea
algoritmului
•Prioritate dinamică
•Schemă preemptivă
•Optim
Analiza
pentru sisteme cu task-uri periodice în timp real
funcţionării
•Utilizarea cozilor de sarcini
•Alocarea prioritatilor pe baza
“relaxarii”
L = (di - ti) - c`i
8
Algoritmul IN
Maximum
SISTEME
TIMPUrgency
REAL First
Prezentarea
algoritmului
•Combinatie prioritate
•Schemă preemptivă
•Optim
Analiza
dinamică + statică
pentru sisteme cu task-uri periodice în timp real
funcţionării
•Alocarea prioritatilor pe baza “urgentei”
•Urgenta = 2 prioritati fixe şi una dinamică
•Prioritatea dinamică este i. p. cu “relaxarea”
task-ului.
9
SISTEME
IN TIMPdeREAL
Testarea algoritmilor
planificare
 Aplicaţia Cheddar
instrument de planificare, testare
limbajul de programare Ada
şi simulare oferit gratuit
 Caracteristici
un motor de simulare
teste de fezabilitate
algoritmi implementati (RMS, DMS, EDF, LLF,
suport pentru taskuri periodice şi aperiodice;
simulări
etc.)
in diferite conditii (procesoare, spatii de adrese, etc.)
10
SISTEME
IN TIMPdeREAL
Testarea algoritmilor
planificare
 10 Task-uri



periodice
Ci diferite, iar Ti şi Di egale.
6 teste de fezabilitate, inclusiv simularea planificarii
Unităţi de timp nefolosite (momentele de timp când procesorul
este neîncarcat)

11
SISTEME
IN TIMPdeREAL
Testarea algoritmilor
planificare
Numărul de întreruperi pe care îl suportă procesele in timpul
executiei lor, din cauza apariţiei altor procese cu prioritate mai mare,
la gestiunea preemptivă de procese

12
SISTEME
TIMP REAL
Testarea IN
algoritmilor
de planificare

Timpul de răspuns în cazul cel mai defavorabil
Acestă valori, şi anume timpul de răspuns al unui task “i” se
calculează astfel:
 Ri 
R  C    C
i
i jhp ( i ) T
 j j
unde ( x reprezintă partea întreagă a lui x, rotunjită în sus)
Ri/Tj determină numărul de lansări ale taskului „j” (de
prioritate mai mare decât i) pe durata timpului de răspuns al taskului „i”.
iar hp(i) reprezintă setul de procese cu prioritate mai mare
decat procesul „i”
13
SISTEME
IN TIMPdeREAL
Testarea algoritmilor
planificare
14
SISTEME
IN TIMP
REAL
Interpretarea
rezultatelor
RMS
factorul de utilizare a procesorului se limitat
toate procesele îsi vor atinge timpii limită
depăşirea
timpul limită
setul de procese nu se va
putea planifica
numarul de preemptiuni creste constant cu incarcarea
procesorului
DMS


diferenţe mici faţă de algoritmul RMS
alocarea in funcţie de timpul limită
15
SISTEME
IN TIMP
REAL
Interpretarea
rezultatelor

EDF

capacitatea procesorului pană la 100%

ratarea timpului limita

evaluarea diferenţei de timp pană la timpul limită

mai multor procesoare

faţă de RMS scade numărul de preempţiuni o data cu U

timpii limită ai proceselor se schimbă pe parcursul planificării
algoritmul nu este optim

marind numarul de procese nu implica un numar mai mare de
preemptiuni, deoarece un proces cu o perioada mare de
aparitie poate avea un timp limita mai mic decat un proces cu o
perioada mai mic
16
SISTEME
IN TIMPrezultatelor
REAL
Interpretarea

LLF

modificare a algoritmului EDF, rezultatele nu sunt foarte diferite
timp limită mare şi timp de executare mic
preemptiuni mare

numar de

indicat sistemelor cu procese ale caror timpi de executie sunt
apropiati de timpii limita

MUF

faţă de RMS, asigura o mai buna planificare în cazul setului critic

detecteze momentele când un proces isi ratează timpul limită
creşterea
factorului de utilizare a procesorului
preempţiuni scade relativ mult
numărul de
17
SISTEME INConcluzii
TIMP REAL

RMS şi DMS
 usor de implementat pe nuclee tip comercial, care nu suporta
in mod explicit constrangeri de timp pentru setul de procese
utilizat pe scară largă în practică
dezavantaj: utilizarea limitată a resurselor

EDF şi LLF
 mai dificil de implementat
 oferă o planificabilitate mai bună
 avantaj: utilizarea la capacitate maximă a resurselor
 implementat pe cateva sisteme distribuite de timp-real
experimentale: Hartik, Shark , Erika , Spring , Yartos

MUF
 mai complex dpdv al implementarii fata de RMS şi EDF
 rezultate mai bune la teste, însă necesită resurse mai mari
 detecţia unor erori / „ratari” a timpilor limită în realizarea
planificarii
18
SISTEME IN TIMP REAL
Vă mulţumesc!
19