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 jhp ( 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