Sunteți pe pagina 1din 24

Informatica industriala

Sisteme de timp real

Consideratii generale
sistemele de control sunt in majoritatea cazurilor si sisteme de

timp-real
sisteme de timp-real = sisteme la care timpul este un parametru
important
sisteme de timp-real = sisteme care au restrictii de timp (ex.
periodicitatea executiei, timp limita de executie, intarzieri maxime
admisibile, etc.)
respectarea restrictiilor de timp prin tehnici de planificare a
taskurilor/firelor de executie
planificarea in sistemele uniprocesor solutionata din punct
de vedere teoretic solutii optime de planificare
planificarea in sistemele multiprocesor (ex. sist. distribuite)
o problema deschisa
in sistemele distribuite:
planificarea taskurilor
planificarea comunicatiei

Planificarea in sistemele de timp-real


sistemele de calcul uzuale

sisteme de tip best-effort,


nu garanteaza timpul de generare a unui rezultat corect
metodele de demonstrare a corectitudinii programului nu au in vedere
timpul
tehnicile uzuale de crestere a performantelor (cache, pipelining,
multicore, memorie virtuala) cresc gradul de nedeterminism in ceea ce
priveste timpul

sistemele de control sisteme la care timpul conteaza

nu este suficient sa se obtina un timp de raspuns cat mai bun ci sunt


necesare GARANTII de timp
nu conteaza timpul mediu de executie ci timpul maxim de executie
in cazul cel mai defavorabil:

WCET worst case execution time


WCET poate fi cu un ordin de marime mai mare decat timpul mediu de
executie

sistemele de operare de tip Windows nu ofera garantii de timp si nici


mecanisme de planificare
procesoarele Intel actuale au un comportament total inprevizibil din
punct de vedere al timpului (o instructiune se poate executa sub 1ns
sau in mai mult de 10ms => 1:10.000.000)

Concepte de baza
Definirea sistemelor de timp-real

Def.1 Un sistem de timp-real este un sistem a crui funcionare


corect este direct influenat de timp, sau mai exact de
satisfacerea condiiilor i a restriciilor de timp.
Def. 2 Un sistem de timp-real este un sistem care trebuie s
produc un rspuns ntr-un timp limitat; depirea acestui timp
duce la degradarea calitii serviciului sau la rezultate catastrofale.

In functie de caracterul critic/necritic al restrictiilor de timp:


Sistem de timp-real de tip soft - nerespectarea restriciilor de
timp produce pagube a cror valoare este comparabil cu
valoarea serviciului furnizat
Sistem de timp-real de tip hard - nerespectarea restriciilor de
timp produce pagube cu cel puin un ordin de mrime mai mare
dect valoarea serviciului furnizat
Sisteme de timp-real mixt combina caracteristicile primelor
doua sisteme

Tipuri de sisteme de timp-real


Cost

Cost

t
a

Cost

t
b

Graficul funciei de cost pentru:


-un sistem de timp-real hard (a),
-un sistem de timp-real soft (b)
-un sistem de timp-real mixt (c)

t
c

Concepte
Planificator de timp-real este o unitate de program care controleaz

lansarea n execuie, ntreruperea temporar i ncheierea unor moduleprogram pe baza unui algoritm prestabilit cu scopul de a satisface
restriciile de timp impuse

planificare off-line sau statica planul (de executie) se realizeaza


inainte de lansarea aplicatiei

planificare sigura, dar rigida, nu ia in considerare evenimentele (scenariile)


neprevazute
se foloseste in cazul unor sisteme a caror functionare este a-priori
cunoscuta
planificarea taskurilor se face pe baza de timp time driven system

planificareon-line sau dinamica planul se genereaza in timpul


executie programului

mai putin sigura dar mai flexibila, se poate adapta unor situatii neprevazute
se foloseste pentru sisteme a caror comportament se schimba in timp sau
nu este pe deplin cunoscut
planificarea se face in functie de evenimentele aparute - event driven
system

Plan fezabil un plan generat pentru un set dat de taskuri care asigura

respectarea restrictiilor de timp

Concepte
Plan fezabil un plan generat pentru un set dat de

taskuri care asigura respectarea restrictiilor de timp


Algoritm de planificare optim - genereaz un plan
fezabil pentru un set oarecare de module-program,
ori de cte ori un astfel de plan exist

exemple:
planificator static optim: Rate-Monotonic (RM)
planificator dinamic optim: Earliest Deadline First
(EDF)

Caracteristicile de timp ale taskurilor


Taskuri periodice

executia lor se repeta in timp cu o perioada de repetitie cunoscuta


caracteristici de timp:

T perioada de repetiie
D timpul limit maxim (deadline) - timpul pn la care execuia
taskului trebuie s se ncheie
ta timp de apariie determin momentul n care taskul este disponibil
pentru execuie
C timp de execuie / calcul durata maxim a taskului
r timp de rspuns timpul n care execuia taskului se ncheie
T
C

t
ta
D

Caracteristicile de timp ale taskurilor


Taskurile aperiodice

aparitia lor este aleatorie


caracteristici de timp:

T perioada minim de repetiie (opional)


D timpul limit maxim (deadline) - timpul pn la care
execuia taskului trebuie s se ncheie
ta timp de apariie determin momentul n care taskul este
disponibil pentru execuie
C timp de execuie/calcul durata maxim a taskului
r timp de rspuns timpul n care execuia taskului se ncheie
T
r

C
t

ta
D

Modele de planificare
metode de simplificare a problemei de planificare
problema planificarii in cazul unor sisteme reale, fara restrictii

simplificatoare este (extrem de ) dificila (complexitate non-polinomiala)


sunt necesare restrictii sau prezumtii simplificatoare:
timp discret deciziile de planificare se iau numai la momente discrete

de timp; se foloseste o cuanta minima de timp (cmmdc)


taskuri preemptibile/non-preemtibile taskurile pot fi sau nu intrerupte de
alte taskuri mai prioritare (unii algoritmi sunt optimali numai daca taskurile
sunt total preemptibile)
timp neglijabil sau cunoscut pentru executia planificarii
timp neglijabil pentru comutarile de context
reducerea parametrilor de timp ai taskurilor- ex: D=Tp
convertirea taskurilor aperiodice in taskuri periodice creste gradul de
determinism
neglijarea altor restrictii in afara celor de timp (ex: restrictii de ordonare,
lock-uri, zone critice)

Clasificarea algoritmilor de planificare


dup momentul planificrii:
planificare static, off-line
planificarea se realizeaz nainte de
execuia efectiv a aplicaiei
planificare dinamic, off-line
planificarea se realizeaz n timpul
execuiei aplicaiei
dup natura restriciilor de timp
restricii hard
restricii soft
restricii mixte
dup numrul de procesoare:
planificare uniprocesor
planificare multiprocesor
planificare distribuit

dup preemptibilitatea taskurilor

planificare non-preemtiv
planificare preemptiv
cu preemptibilitate limitat (nu
permite ntreruperi n zona critic)
dup euristica folosit
fr prioriti
cu prioriti
dup modul de atribuire a
prioritilor
dup importana taskurilor
pe baza constrngerilor de timp
dup restriciile utilizate
numai restricii de timp
restricii de timp i de ordonare
restricii de timp i de sincronizare

Strategii de planificare
Strategii de
planificare

Sisteme uniprocesor

Alocare global i
planificare local

Sisteme
multiprocesor
Sisteme
multiprocesor

Euristici de cutare n Calcul probabilistic


arbore

Alg. bazai pe cozi de


atepatre

Strategii de planificare
Sisteme uniprocesor

Fr prioriti
Nonpreemptive

FCFS

Cu prioriti

Preemptive

RR

TD

Nonpreemptive

Prioriti pe baz de
importan

Prioriti
statice

Prioriti
dinamice

Algoritmi
euristici

Calcul
imperfect

Preemptive

Prioriti pe baz de
timp
Prioriti
statice
SIF RM

Prioriti
dinamice
EDF

HRRF
SLF

Alg. cu rezervare

Server
sporadic

Prioritate
limitat

Planificarea n sistemele uniprocesor


Planificarea fr prioriti
FCFS First Come First Served primul sosit primul
servit presupune organizarea unei cozi de ateptare
pentru taskurile ce urmeaz a fi executate; taskurile
vor fi executate n ordinea sosirii, fr s se permit
ntreruperea taskului n execuie.
RR Round Robin fiecrui task aflat n ateptare i
se aloc cte o felie de timp, ntr-o ordine circular
TD Time Division - cu divizarea timpului fiecrui
task aflat n ateptare i se aloc unul sau mai multe
uniti de timp; alocarea se face de obicei off-line.

Planificarea n sistemele uniprocesor

Planificare pe baz de prioriti

Prioriti pe baz de importan: se aloc prioriti statice


taskurilor, funcie de importana (caracterul critic) al acestora;
alocarea este subiectiv, pe baza experienei proiectantului; nu se
ofer garanii de timp
algoritmi euristici: se specific o anumit regul de alocare a
prioritilor care ine cont de importana taskurilor (ex.: algoritmi
bazai pe cost)
calcul imprecis:
algoritmi bazai pe cutare (inteligen artificial) care pot s
genereze n orice moment un rezultat parial; rezultatul este cu att
mai bun (precis) cu ct timpul avut la dispoziie este mai mare; timpul
alocat pentru cutare se determin pe baza distanei pn la timpul
limit (deadline)
exist algoritmi de prelucrare (ex.: prelucrri de imagini) care pot s
genereze n orice moment un rezultat a crui calitate depinde de
timpul utilizat; se calculeaz o funcie cost n care se include
msura calitii rezultatului i costurile datorit creterii timpului de
rspuns; se caut un optim (un minim de cost)

Planificarea n sistemele uniprocesor


Planificare pe baz de prioriti (cont.)
Prioriti pe baz de caracteristici de timp: prioritatea taskului este dat de cerinele
de rspuns n timp-real
Algoritmi statici: alocarea prioritilor este fix, nu se modific pe timpul execuiei
aplicaiei
Algoritmul Shortest Job First (SJF) - Se aloc prioritate mai mare taskurilor mai scurte,
pentru a asigura un timp de reacie proporional cu complexitatea taskului; poate duce la
"nfometarea" taskurilor lungi

Algoritmul Rate Monotonic (RM)


cel mai celebru algoritm de planificare.
Se folosete pentru planificarea taskurilor periodice;
prioritile se aloc n raport cu perioada de repetiie a taskurilor: taskul cu
perioada cea mai mic are prioritatea maxim;
este un algoritm preemptiv, adic un task mai puin prioritar poate fi ntrerupt n
orice moment de un task mai prioritar;
se consider un algoritm optimal deoarece pentru un set de taskuri gsete o
planificare fezabil dac aceasta exist;
s-a determinat limita superioar de utilizare a procesorului pentru care algoritmul
gsete un plan indiferent de caracteristicile de timp ale taskurilor

Umax = n*(2(1/n) -1)


unde:n = numrul de taskuri din set
Umax gradul maxim de utilizare a procesorului
Variante RM: Priority ceiling , Sporadic Server/ Defered Server, Algoritm cu rezervare

Planificarea n sistemele uniprocesor


Planificare pe baz de prioriti (cont.)

Prioriti pe baz de caracteristici de timp (cont.)

Prioriti dinamice: alocarea prioritilor se face n mod dinamic, n timpul


execuiei programului, pe baza restriciilor de timp care se modific n timpul
execuiei programului (ex.: timpul rmas pn la deadline)
Algoritmul Earliest Deadline First (EDF) - Prioritile se acord funcie
de timpul rmas pn la timpul limit (deadline) al fiecrui task; taskul aflat
cel mai aproape de deadline are prioritatea maxim. Acest algoritm
mbuntete gradul de utilizare a procesorului n comparaie cu metoda
RM ; de asemenea poate trata att taskuri periodice ct i taskuri aperiodice
(sporadice); taskurile se consider preemptibile (cu aceleai neajunsuri ca i
pentru RM)
Algoritmul Highest Responsive Ratio First (HRRF) Prioritatea se
calculeaz pe baza timpului de execuie i a timpului ct taskul s-a aflat n
ateptare
Prioritate = (Tateptare+Texecutie)/Texecutie
Algoritmul elimin fenomenul de nfometare
Algoritmul Shortest Laxity-time First (SLF) - Algoritmul acord
prioritate maxim taskului care are timpul disponibil (laxity time) minim;
acest timp se calculeaz ca diferena ntre timpul limit (deadline) i timpul
de execuie al taskului; este o msur a duratei pe care un task o poate
petrece n ateptare. Acest algoritm mbuntete probabilitatea de succes
n comparaie cu algoritmul EDF

Planificarea n sistemele distribuite


Dificultatea planificarii in sistemele multiprocesor:

exist constrngeri multiple, n afara constrngerilor de timp


(ex.: acces concurent la resurse, sincronizare, comunicare,
ncrcare uniform, consistena datelor i a timpului, etc.);
execuia paralel a taskurilor pe mai multe procesoare
nu se cunoate exact starea global momentan a
sistemului, datorit vitezei limitate de comunicaie n reea
(efectul de relativitate)
sincronizarea ceasurilor locale se realizeaz cu o precizie
limitat
planificarea taskurilor trebuie s se fac n corelaie cu
planificarea comunicaiei
erorile de comunicaie (pierderea conectivitii, pierderea
sau deteriorarea unor mesaje) i mecanismele de
recuperare sau de mascare nu trebuie s afecteze timpul de
rspuns garantat al sistemului
complexitate non-polinomial (NP)

Planificarea n sistemele distribuite


n principiu exist 3 strategii de planificare:
soluionarea global a problemei de planificare,

printr-un algoritm off-line; n acest caz se presupun


cunoscute toate situaiile posibile i toi parametrii de timp ai
taskurilor

alocarea static (off-line) a taskurilor pe fiecare


procesor (nod de reea) i planificare local static sau
dinamic la nivelul fiecrui nod
planificarea local cu rejecia taskurilor care duc la
suprancrcare i realocarea dinamic a taskurilor
rejectate

Sisteme distribuite de timp-real experimentale


MARS [Kopetz, 1998] - sistem time-triggered (controlat de timp), cu planificare off-line (static) prin

divizarea timpului

principiu: pentru garantarea satisfacerii restriciilor de timp toate caracteristicile de timp ale taskurilor
precum i comportamentul mediului trebuie cunoscut a-priori; planificarea se face nc din faza de
proiectare (off-line)
sistem predictibil dar rigid, cu comportare slab la modificri ale mediului exterior sau la eventuale situaii
de avarie neprevzute n faza de proiectare
are faciliti hardware i software care asigura tolerana la defecte a sistemului; un defect singular nu
afecteaz restriciile de timp

Spring - sistem event-triggered (controlat de evenimente), cu planificare on-line (dinamic)

[Stankovik, 1991]

principiu: sistemele de timp-real sunt complexe fapt pentru care nu se pot prevedea toate situaiile
posibile; de aceea sistemul este proiectat astfel nct s se adapteze uor la diferite comportamente ale
mediului
sistem flexibil, adaptiv, cu garantarea restriciilor de timp pentru situaii normale de ncrcare i cu
degradare lent a funciilor/serviciilor n caz de suprancrcare
pentru asigurarea consistenei datelor distribuite i pentru a asigura o comunicaie rapid ntre noduri se
folosete o memorie distribuit reflexiv (un set de module de memorie interconectate printr-o reea cu
fibr optic, care asigur consistena datelor la nivel hardware)

CHAOS - sistem distribuit de timp-real bazat pe programare obiectual [Gheith, 1993]


principiu: descompunerea aplicaiei n obiecte cu scopul de a controla mai bine complexitatea sistemului
paradigma de proiectare a aplicaiei: fire de execuie ce acioneaz asupra obiectelor
funciile implementate n obiecte au timp limitat de execuie; exist un control strict al timpului la nivelul
firelor de execuie
utilizarea firelor n locul taskurilor reduce timpul necesar pentru comutarea de context

Planificarea comunicatiei
Procesul de planificare a comunicaiei este ngreunat de mai muli

factori:
planificarea transmiterii mesajelor trebuie s se fac n corelaie cu
planificarea taskurilor emitente i receptoare
decizia de planificare se ia de cele mai multe ori la nivelul fiecrui nod
n parte fr s se cunoasc gradul de ncrcare al reelei, indus de
celelalte noduri
strategiile de planificare:
controlul centralizat al accesului la reea
alocarea periodic a unei cuante fixe de timp de comunicare pentru
fiecare nod conectat n reea
limitarea gradului de ncrcare a reelei, pentru a asigura o rezerv de
timp pentru soluionarea erorilor de transmisie
limitarea dimensiunii pachetelor
alocarea de prioriti pentru mesaje, funcie de importana sau n
raport cu cerinele de timp

Planificarea comunicatiei
Retelele industriale de comunicatie:
ofera solutii proprii de planificare si de garantare a
timpului de transmisie a mesajelor:

protocolul Profibus utilizeaz un mecanism de acces la reea de tip token-bus


care permite alocarea unei cuante de timp pentru fiecare nod master din reea i
o perioad fix de repetiie a acestei alocri
protocolul WorldFIP propune utilizarea unui controlor central de reea care
asigur transferul mesajelor pe baza restriciilor de timp; pentru mesajele
periodice se utilizeaz un plan off-line, iar pentru mesajele sporadice transferul
se face pe baz de prioriti
protocolul P-Net folosete un mecanism de acces la reea pe baz de cuante de
timp; fiecare nod poate s comunice ntr-o fereastr de timp prestabilit; la acest
protocol sunt eliminate fenomenele de pierdere a tokenului, care ar putea s
afecteze timpul de livrare al mesajelor
protocolul CAN folosete un mecanism de acces la reea de tip CSMA/BA
(Carrier Sense Multiple Access with Bitwise Arbitration), care n aparen permite
un acces liber (necontrolat) la reea; n realitate prin alocarea de prioriti fiecrui
tip de mesaj i prin mecanismul de detecie a coliziunilor la nivel de bit se ofer
instrumentele necesare pentru o evaluare suficient de corect a timpului de
livrare al unui mesaj; n [Tindell, 1995] s-a propus o metod de evaluare a
timpului de livrare pentru acest protocol.

Conditii necesare si suficiente pentru asigurarea


planificabilitatii unui set de taskuri
Condiie necesar dar nu i suficient:
- bazat pe gradul de utilizare al procesorului (U)
U = Ci/Ti unde:

conditia necesara:
U<1
adic

Ci timpul de execuie al taskului ti


Ti perioada taskului ti
n - numrul de taskuri din setul dat
Ci/Ti < 1

Conditie mai restrictiva (suficienta dar nu necesara):


Ti >= Cj * Ti/Tj + Ci
unde: Ti/Tj - reprezint numrul maxim de apariii ale taskului tj ntr-o
perioada Ti ( x reprezint partea ntreag a lui x, rotunjit n sus)

Conditii necesare si suficiente pentru asigurarea


planificabilitatii unui set de taskuri
Timpul de raspuns al unui task i
ri = Ci + ( ri/Tj * Cj)
ri/Tj determin numrul de lansri ale taskului j (de
prioritate mai mare dect i) pe durata timpului de
rspuns al taskului i.
Condiia de fezabilitate a planificrii cere ca pentru

fiecare task i timpul de rspuns maxim s fie mai


mic sau egal cu timpul limit:
ri < Di, pentru i=1..n

Timpul de rspuns se poate determina printr-un

calcul iterativ de forma:

ri(k+1) = Ci + ( ri(k)/Tj * Cj)

S-ar putea să vă placă și