01 - Defectele Si Erorile - Merged PDF

Descărcați ca pdf sau txt
Descărcați ca pdf sau txt
Sunteți pe pagina 1din 69

Defectele i Erorile

Un circuit sumator se dovedete c are una din liniile sale de ieire blocat permanent
la valoarea 1, independent de valorile operanzilor si.
Aceast situaie descrie doar un defect fizic, nu o eroare (nc).
Defectul acesta va cauza o eroare atunci cnd sumatorul este utilizat iar rezultatul
corect, pe linia de ieire defect, este zero (nicidecum 1).
Timpul scurs ntre momentul apariiei defectului fizic (este foarte greu de stabilit acest
moment, oricum) i momentul producerii erorii poart numele de latena erorii.
n literatur se apreciaz c va fi mai dificil de detectat defectul fizic atunci cnd
latena erorii este mai lung. O lung laten a defectului sugereaz c sunt mai puine
cazuri care fac vizibil defectul fizic.
O laten lung poate fi independent de arhitectura i stilul de proiectare al mainii
propriu-zise (hardware-ul), chiar dac sunt incluse n proiectarea acesteia criterii de
largi de testabilitate fie i pe durata normal de operare (distincte de cele prevzute s
fie utilizate n regim de test cum ar fi tehnicile scan design etc.).
Un exemplu simplu ar putea fi o aplicaie software care sumeaz de fiecare dat
cteva numere ntregi avnd lungime mic (ntregi scuri) i toate pozitive. O eroare n
bitul de semn care blocheaz acest bit n valoarea 0 poate fi extrem de dificil de
detectat atta vreme ct se va rula aceast aplicaie (casa de marcat a unei prvlii de
cartier, spre exemplu).
Sistemele de calcul care ruleaz aplicaii de al cror rezultate depind aciuni al cror
risc poate fi extrem de grav sunt periodic supuse unor testri cu larg acoperire a unui
spectru de defecte dinainte stabilite. Astfel de sisteme de calcul pot fi din domeniul
aparaturii medicale, aplicaiilor spaiale, supravegherii reactoarelor nucleare etc.
Aceste testri pot fi efectuate distinct de aplicaiile curente (sesiuni dedicate) dar pot fi
i rulate concurent (n paralel cu sarcinile nominale prin faciliti dedicate de felul
celor grupate sub sintagma Built-In Self Testing BIST).
Dispozitive dedicate stabilesc oportunitatea derulrii desfurrii unor sesiuni de teste,
dinainte stocate, avnd durate suficient de scurte ca s nu fie perturbate activitile
nominale. Odat testele aplicate, rezultatele respective sunt comparate cu valorile
corecte ale respectivelor teste.
Aceste rezultate, ale testelor aplicate, pot fi comparate direct cu rezultatele etalon.
Dar, durata comparaiei poate fi un element limitativ al sesiuni de teste timpul este
adeseori un factor critic n astfel de cazuri.
O comparaie dintre semntura rezultatelor determinate n sesiune de test i semntura
corespunztoare funcionrii corecte, este n cele mai multe dintre cazuri preferat.
Semnturile, iruri de valori binare, au lungimi semnificativ mai scurte dect
rezultatele propriu-zise (vectorii binari) respective iar timpul de determinare al

semnturii este foarte puin important deoarece calculul semnturii se deruleaz,


practic, simultan cu producerea vectorilor rezultatelor.
Defecte i Erori n Software

Se consider o rutin care calculeaz funcia cos(x), spre exemplu.


Dar, eventual din cauza unei erori de programare rutina calculeaz modulul funciei
respective, adic calculeaz |cos(x)|.
Acest defect, aceast greeal de programare, va cauza o eroare numai dac
respectiva rutina va fi utilizat iar rezultatul corect este negativ.
Latena acestei erori va fi determinat dependent de datele pentru care se calculeaz
aceast rutin.
Defecte, Erori i Consecine

Att defectele ct i erorile se pot rspndi prin sistemele digitale.


Dac un circuit scurtcircuiteaz la mas linia de alimentare, atunci este foarte posibil
ca acest defect s provoace ca i alte circuite din vecintate s fie defecte.
Erorile se pot propaga prin sistem, n anumite condiii, deoarece linia de ieire a unui
circuit este conectat la liniile de intrare ale altor circuite.
Limitarea rspndirii erorilor

Proiectanii introduc zone de coninere n cadrul sistemelor i / sau structurilor


digitale.
Aceste zone induc bariere care diminueaz mult ansele de propagare ale unei erori
dintr-o zon, n care aceasta a luat natere, n alt zon conex.
O zon de coninere, spre exemplu, poate fi creat prin crearea unor uniti de
alimentare electric separate, proprii pentru fiecare zon de coninere n parte.
Astfel, tensiunea electric maxim a unei zone este independent de tensiunea
electric maxim a unei alte zone conexe.
Aceast abordare introduce, n fapt, o izolare electric a unei zone n raport cu alt
zon.
Clasificarea defectelor hardware dup
durata manifestrii

Astfel, defectele hardware pot fi clasificate dup durata manifestrii:


permanente,
tranzitorii, sau
intermitente.

Defectele benigne i defectele maligne

Un defect care cauzeaz mal-funcionarea unei singure uniti de calcul, este numit un
defect benign. Defectele benigne sunt printre cele mai simplu de abordat.
Mult mai dificile sunt defectele care produce rezultate, aparent rezonabile, dar
incorecte n fapt, ori care trimit rezultate distincte unor receptori diferii.
Un senzor de altitudine care, spre exemplu, determin 8000 de metri spre aparatele
din bordul avionului dar trimite o determinare de 700 de metri spre instalaia de aer.
Acest defect poate fi deosebit de delicat.
Astfel de defecte mai sunt numite i defecte maligne ori Bizantine.
Care este categoria de utilizatori interesai de capacitatea unui sistem s fie tolerant la
defecte?
- utilizatorii de sistem, indiferent de natura aplicaiei.
Care sunt entitile economico-sociale implicate?
(i) Universitile: Cercetare, Dezvoltare i aplicaii,
(ii) Industria: Cercetare, Dezvoltare i Aplicaii.

Cadrul conceptual al sistemelor tolerante fa de defecte

n domeniul ingineriei hardware i software un sistem este adesea identificat cu


software-ul acelui sistem i uneori cu combinaia dintre hardware-ul i software-ul
acelui sistem.
Termenul sistem va fi folosit n cele ce urmeaz ntr-un mod mult mai larg.
Aa cum se va putea remarca din diagrama sistem-utilizator, un sistem este constituit
dintr-un set de entiti att conexe calculatorului ct i non-conexe acestuia.
MEDIUL

SISTEMUL

SERVICII ALE
CALCULATORULUI
OFERITE
SISTEMULUI
CALCULATORUL
(Subsistem)
INTERFAA
SISTEM CALCULATOR

ALTE
FACILITI

Resursele de
Calcul ale
Sistemului
(Hardware)

Intrri

ALE

SISTEMULUI

Feedback

OPERATORUL

SERVICII ALE
SISTEMULUI

UTILIZATORUL

Diagrama Sistem-Utilizator

SERVICII ALE
SISTEMULUI

Sistemele Tolerante la Defecte

Consideraii practice
Un sistem exist ntr-un mediu (cum ar fi un robot submarin trimis s exploreze
adncurile oceanelor, spre exemplu) i are att operatori ct i utilizatori (posibil ca
aceste dou categorii sa coincid, uneori).
Un autovehicul, alt exemplu, este un sistem compus din cteva sute de componente,
multe dintre acestea fiind similare unor subsisteme de calcul rulnd un software
specific. Operatorul este integrat acestui sistem.
Sistemul ofer un rspuns, un feedback, att operatorului ct i utilizatorului.
Operatorii sunt, tradiional, reprezentai n interiorul sistemului ntruct procedurile
acestora sunt, uzual, parte component prin proiectarea sistemului.
Sistemele sunt dezvoltate s realizeze un set de operaii are satisfac anumite cerine,
stabilite prin proiect.
Cerinele pot adresa performanele de vitez de calcul, suportul software (rutine cu
caracter tehnic, matematic etc.) i multe altele.
O cerin important poate fi dependabilitatea ridicat a anumitor sisteme.
Dependabilitatea sistemelor poate fi obinut prin tolerana la defecte.

Definiia Dependabilitii
oferit de Standardul IEC IEV 191-02-03:
Dependabilitatea (este) un termen colectiv utilizat s descrie disponibilitatea
performanei precum i a factorilor ce-o influeneaz:

fiabilitatea performanei,
mentenabilitatea performanei i
mentenana suportului performanei

Aceast definiie a fost stabilit de Comisia Tehnic 56 (care are ca sarcin


Dependabilitatea) a Comisiei Internaionale de Electrotehnic (IEC).
Acest comitet dezvolt i ntreine, n continuare, Standardele Internaionale focalizate
asupra dependabilitii.

Concepte fundamentale

Atributele cheie, eseniale, ale sistemelor tolerante la defecte:


(i) Defect - Eroare Mal-funcionare
(ii) Performan - Disponibilitate - Fiabilitate
Un alt concept, mai recent introdus, este:
Capacitatea de supravieuire (supravieuibilitatea) a unui sistem.
Acest concept se refer la cuantificarea supravieuirii sistemelor n urma producerii
unor evenimente catastrofale.
Includerea acestor atribute cheie nc din faza de proiectare este foarte probabil s
conduc la costuri mult mai mici ale acestor sisteme.
Toate fazele existenei unui obiect digital pot contribui la atributele eseniale ale
sistemelor tolerante n raport cu defectele.
Proiectarea, spre exemplu, poate constitui una dintre fazele cele mai prolifice ale
defectelor de funcionare ncepnd cu cele mai simple de tratat i ncheind cu cele mai
dificile care pot compromite produsul proiectat.
Tot din proiectarea unui produs se definesc compatibilitile acestuia cu eventuale
aduceri la zi cauzate de schimbri tehnologice, ori cauzate de extinderi ale
funcionalitii etc.
Mediul de funcionare al unui produs ca i regimul su de exploatare (continuu,
pentru lungi durate de tip ori cu ntreruperi dese de funcionare) pot impune soluii de
proiectare dar i de ntreinere - mentenan pro-activ specifice.
Un modul digital intenionat s joace un rol cheie ntr-o aplicaie cu cerine severe de
toleran la defecte poate fi proiectat cu tehnici avansate de testare autonom (built-in
self test abreviat BIST) ori chiar cu auto diagnosticare i auto-reconfigurare,
eventual, pentru un nivel superior de robustee la defectare.
Tehnicile cu auto-reconfigurare pot face ca anumite sisteme digitale s posede un
comportament deosebit de performant compatibil cu cerinele celor mai stricte norme
de funcionare nalt-tolerante la defectare.
n acest sens se pot cita situaii concrete, cum ar fi:
aplicaiile nucleare,
misiunile spaiale cu echipaj uman la bord
aplicaiile medicale cu risc ridicat pentru viaa pacienilor aa cum sunt
o serviciile de terapie intensiv, ori
o tratamentele medicale prin iradiere controlat etc.

Considerente istorice
asupra conceptului sistemelor tolerante la defecte

Sistemele tolerante nu reprezint un concept nou, al ultimelor decenii.


Tehnologiile timpurii, n care s-au realizat primele calculatoare, nu excelau prin
fiabilitate iar printre abordrile prin care se soluiona situaia dificil a unor rezultate
de ncredere s-a numrat i tolerana la defecte.
Primele calculatoare, construite cu tuburi electronice (dispozitive termo-electronice)
consumau puteri incredibile (de ordinul KW) comparativ cu sistemele actuale, ocupau
volume importante (cum ar fi etaje ale unor cldiri) i aveau fiabilitate sczut
(existau echipe de tehnicieni care patrulau n permanen prin cldirea sistemului de
calcul i schimbau tuburile defecte pentru ntreinerea echipamentelor de calcul).
Primele abordri ale acestui concept dateaz din 1956, cnd J. von Neumann public
lucrarea:
Probabilistic Logic and Synthesis of Reliable Organism from Unreliable
Components,
aprut la Princeton University Press.
Dezvoltarea programelor spaiale a adus motivaii suplimentare:

nti s-au dezvoltat tehnicile de toleran hardware,

Ulterior s-au dezvoltat i conceptele de toleran software,

Reunirea celor dou dezvoltri, menionate anterior, a consolidat definitiv


domeniul.

Noi atribute ale produselor digitale n contextul modern al tehnologiilor integrate

o Densitatea crescut a dispozitivelor active, tranzistoare bipolare ori MOS


complementare, a fcut s creasc probabilitatea apariiei defectelor.
o Apariia tehnologiilor sub-micronice i presiunea financiar a pieelor au
condus, adeseori, la o verificare incomplet a corectitudinii proiectrilor dar i
produselor digitale n sine.
o Utilizarea tehnologiilor nanometrice a impus micorarea puterii disipate prin
creterea vertiginoas a densitii circuitelor integrate. Una dintre cile cele
mai eficiente a fost micorea tensiunii de alimentare la tensiuni subunitare
(mai mici dect un volt). Pentru aceasta au fost necesare modificri ale
tensiunii nominale de deschidere ale tranzistoarelor (n mod normal tensiunile
de deschidere pentru tranzistoarele MOS complementare sunt mai mari dect
un volt). Aceast modificare a tensiunii de deschidere a adus cu sine o cretere
a curenilor de pierderi antrennd o alt surs de putere disipat care pn la
tehnologiile nanometrice juca un rol cu mult mai puin important.
1

o Implementarea unor numeroase funcionaliti la nivelul circuitelor integrate,


plcilor ori sistemelor au fcut s creasc probabilitile de mal-funcionare
sever a sistemelor.
o Cerinele pieii s-au concentrat asupra introducerii a unor sisteme hardware i
software cu costuri mici, accesibile i n acelai timp performante.

Aspectele cruciale
n dezvoltarea sistemelor tolerante la defecte

n dezvoltarea sistemelor tolerante la defecte cele mai importante etape sunt:


Proiectarea,
Analiza i validarea proiectrii,
Implementarea - Verificarea,
Testarea - Validarea i
Evaluarea sistemului.
Pentru o mai clar expunere a diversitii sistemelor tolerante la defecte dar i a
subansamblelor acestora pentru care se consider msuri specifice de toleran a
defectelor se vor cita cteva exemple tipice:
Exemple I

n cazul sistemelor de uz general vor fi considerate dou mari categorii:


(1) Cazul sistemelor PC:

Pentru sistemele PC sunt considerate n primul rnd memoriile RAM avnd


verificarea paritii i posibil ECC (i considerarea unei re-executri a operaiei atunci
cnd s-a detectat o mal-funcionare la nivelul acesta);
(2) Cazul staiilor de lucru i sau Serverelor:

Cea de-a doua categorie a sistemelor de uz general este dedicat calculatoarelor pe


care se ruleaz aplicaii profesionale. Pentru acestea sunt de maxim interes aceste
capitole de funcionare:

Detectarea erorilor (hardware),


Ocazional aciuni de corectare a erorilor (software),
Sistemele ECC (hardware),
ntreinerea unui log al erorilor (software).

Exemple II
Sistemele cu fiabilitate ridicat, sunt sistemele care cuprind aparatur digital pentru
urmtoarele aplicaii:

o
o
o
o
o

Sistemele telefonice,
Sistemele bancare, terminalele de tip bancomat (ATM),
Sistemele burselor de valori,
Educaia asistat de calculatoare: examinri, note, proiecte etc.,
Sistemele incluse n jocurile cu ctiguri imediate, .a.m.d.

Exemple III
Sistemele cu funcionare critic i sub-sistemele eseniale, deasemenea critice,
pentru viaa unor persoane:

sistemele aflate n misiune, trimise n spaiu, cu sau fr oameni la bord,


sistemele de asisten i control ale aeronavelor,
sistemele de control ale reactoarelor nucleare,
sistemele de asistare a vieii unor persoane aflate n stare critic (terapie
intensiv, operaii pe cord deschis etc.).

Exemple IV
Sistemele cu fiabilitate ridicat dar i cu funcionare critic:

Sistemele care controleaz semafoarele rutiere, feroviare, aeriene,


balizele aeriene ale unor cldiri etc.
Sistemele care controleaz funcionarea automobilelor (ABS sistemul de
control automat al frnrii, dispozitivul de injecie al carburanilor,
controlul aprinderii etc.).
Sistemele de asisten telefonic de urgen (accidente, cataclisme,
incendii, etc.).

Redundana

Toate sistemele tolerante la defecte introduc i gestioneaz redundane.


Redundana este proprietatea unui sistem de a poseda mai multe resurse dect
minimum necesar pentru ndeplinirea sarcinilor ce-i revin respectivului sistem.
Pe msur ce mal-funcionrile au loc se exploateaz redundana i se mascheaz n
acest mod mal-funcionrile i se menine, n ansamblu, nivelul dorit de
funcionalitate.
Formele de implementare ale redundanei

Sunt patru forme de implementare ale redundanei:


Hardware,
Software,
Informaional i
Temporal.
Defectele hardware sunt abordate prin redundan, de regul, utiliznd att hardware,
informaie, ct i timp.
Redundana hardware static

Redundana hardware static se realizeaz prin includerea suplimentar, n sistem, a


unor module hardware. Aceasta face s se detecteze ori s se depeasc efectele unei
componente defecte.
Se pot utiliza dou, ori trei procesoare - n locul unui singur procesor, spre exemplu.
Aceste procesoare realizeaz aceeai funcionalitate. Utiliznd dou procesoare se
poate detecta defectarea unui singur procesor.
Printr-o configuraie cu trei procesoare care execut toate acelai program se poate
evita utilizarea rezultatului eronat al unuia dintre procesoare. Acesta este un exemplu
de redundan hardware static. Scopul acesteia este mascarea imediat a defectului.
Redundana hardware dinamic

O form diferit de redundan hardware este redundana dinamic.


n acest caz componentele aflate n rezerv, neutilizate, sunt activate ca urmare a
deteciei defectrii unei componente curent active.
Se utilizeaz, adeseori, o combinaie de tehnici statice i dinamice pentru realizarea
redundanei hardware hibride.

Redundana hardware complex

Redundana hardware poate s cuprind formule care pot porni de la o simpl


duplicare de uniti i pn la structuri elaborate care comut uniti aflate n rezerv
cu altele active dovedite defecte etc.
Astfel de formule complexe de redundan hardware, implic costuri mari care sunt
justificate doar pentru sistemele critice.
Redundana informaional

Cea mai cunoscut form de redundan informaional sunt codurile detectoare i


corectoare de defecte.
Sunt utilizai bii suplimentari, numii bii de verificare, care sunt adugai
suplimentar biilor informaiei iniiale astfel nct o eroare n biii de date poate fi
detectat ori chiar corectat.
Astfel de coduri sunt mult utilizate n unitile de memorie actuale, pentru protecia
mpotriva erorilor.
Este de reinut c aceste coduri, ca oricare alt form de redundan, necesit circuite
suplimentare pentru procesarea informaiei suplimentare (biii suplimentari etc.).

Msuri ale Toleranei la Defecte

Deoarece tolerana la defecte este capabil s produc maini de calcul cu un grad


ridicat de dependabilitate, sunt importante msurile proprii prin care s se calibreze
dependabilitatea.
Msura, n general, este o abstracie matematic care exprim anumii factori
relevani de performan ai obiectului msurat. Adesea msurile sunt exprimate prin
funcii analitice. Se poate aprecia c o funcie analitic este o funcie msur dac este
definit prin valori pozitive. O msur, prin natura sa abstract, cuprinde un subset al
proprietilor obiectului cruia i se aplic.
Punctul critic n definirea i utilizarea msurilor este definirea acestora astfel nct
acestea s cuprind un subset ct mai larg al proprietilor micornd numrul de
msuri asociate respectivului obiect.
Msurile Tradiionale Fiabilitatea

Dou dintre aceste msuri sunt fiabilitatea i disponibilitatea.


Fiabilitatea, notat tradiional prin R(t), este probabilitatea (ca o funcie de timp) ca
sistemul s fie funcional continuu n intervalul de timp [0, t].
Fiabilitatea este potrivit aplicaiilor n care un defect la un moment dat poate fie
extrem de costisitor.
Un bun exemplu n acest sens sunt procesoarele care controleaz aparate de zbor,
pentru care un anumit defect poate s conduc la o catastrof.
Timpul mediu pn la o defectare

Strns legate de fiabilitate sunt utilizate dou msuri.


Una este msura numit Timpul Mediu naintea unei Defectri (Mean Time to
Failure, abreviat MTTF) iar cealalt este Timpul Mediu Dintre Defectri (Mean Time
Between Failures, n original abreviat MTBF).
Prima msur este timpul mediu dintre dou defectri ale sistemului, iar a doua este
timpul mediu dintre dou defectri.
Diferena dintre acestea se datoreaz timpului de reparaie care urmeaz dup prima
defectare. Introducnd timpul mediu pn la reparaie (Mean Time To Repair, n
original, abreviat MTTR), rezult aceast relaie simpl, ntre aceste msuri:
MTBF = MTTF + MTTR
Disponibilitatea

Aceast msur, notat tradiional prin A(t), este media fraciunii de timp ct sistemul
este funcional.
Ca msur, este potrivit pentru aplicaiile n care performana continu nu este vital
dar, n cazul n care totui sistemul este nefuncional un timp semnificativ costurile
sunt mari.

Un sistem de rezervri pentru bilete la zborurile de linie, spre exemplu, trebuie s fie
intens disponibil deoarece un timp mai lung de nefuncionare poate ndeprta clienii
i produce scderi ale ncasrilor.
Un timp ocazional, foarte scurt de oprire este, pe de-alt parte, tolerabil pentru un
sistem de rezervri de bilete la zborurile de linie.
Disponibilitatea pentru un timp mai lung notat prin A se definete ca fiind limita
ctre care tinde A(t) atunci cnd t tinde la infinit:

A = lim A(t ) .
t

Disponibilitatea A poate fi interpretat ca fiind probabilitatea ca sistemul s fie


funcional la un moment aleatoriu de timp i s fie semnificativ numai pentru
sisteme care cuprind i repararea componentelor defecte.
Disponibilitatea pentru un timp suficient de lung poate fi determinat din msurile
MTTF i MTBF astfel:
A = MTTF / MTBF.

Consideraii analitice ale toleranei hardware a defectelor

Tolerana defectelor hardware este abordarea cea mai evoluat n contextual general al
tehnicilor de calcul tolerante la defecte.
S-au dezvoltat i se utilizeaz multe tehnici de toleran a defectelor viznd aplicaii
care cuprind soluii din domeniul telefoniei i pn n aplicaii ale misiunilor spaiale.
Iniial aceste tehnici aveau drept obstacol esenial costurile asociate hardware-ului
redundant.
n timp costurile hardware-ului, n general, au sczut i nu mai constituie un
impediment financiar utilizarea structurilor digitale n tehnicile de toleran a
defectelor.
Mai mult, datorit costurilor convenabile actuale, se ateapt o cretere a utilizrii
volumului hardware-ului n proiectarea arhitecturilor hardware tolerante la defecte.
Alte considerente intervin n limitarea utilizrii actuale extensive a hardware-ului.
Printre acestea un rol important l joac puterea disipat n structurile digitale utilizate,
n general.
Viteza de
defectare

Faza
copilriei

Faza
final

Durata
(ani)
Figura 1. Curba caracteristic a vitezei de defectare pentru
structurile digitale

Viteza de apariie a defectelor hardware

Viteza de defectare a componentelor hardware este unicul i cel mai important


parametru utilizat n analiza fiabilitii sistemelor hardware.
Aceast vitez se refer la numrul de defecte n unitatea de timp ce urmeaz s
afecteze o component, iniial funcionnd corect, pe durata utilizrii viitoare a
acesteia ntr-un anumit sistem.

Viteza de defectare este influenat de vrsta respectivei componente dar i de


ocurile de tensiune ori ale altor parametri de funcionare cum ar fi temperatura dar
chiar i tehnologia de manufacturare poate avea o contribuie important n acest sens.
Pentru o structur digital, o unitate de calcul, dependena fa de durata de utilizare
are, de regul, aspectul unei czi de baie, aa cum se poate vedea n figura 1.
Atunci cnd componentele structurii digitale sunt nceputul la funcionrii acestora,
viteza de defectare este pronunat.
Acest fapt se datoreaz ntmplrii care face ca anumite componente s treac prin
controlul de calitate al manufacturrii i chiar s fie utilizate.
Pe msur ce trece timpul aceste componente sunt ndeprtate, viteza de defectare
scade, iar circuitele parcurg grosul duratei lor de funcionare cu o vitez relativ
constant de defectare.
Pe durata utilizrii lor aceste componente mbtrnesc lent, n timp, efectele uzurii
ncep s se fac simite iar viteza de defectare ncepe s creasc din nou.
Impactul celorlali factori asupra unei componente este exprimat printr-o formul
empiric care determin viteza de defectare a respectivei componente:

= L Q (C1 T V + C2 E )

(1)

n relaia (1) notaiile au urmtoarele semnificaii:

este viteza de defectare a componentei;


L acesta cuantific maturitatea tehnologiei de fabricaie a componentei;
Q reprezint factorul de calitate, reprezentnd controlul de calitate al procesului de
manufacturare (cu valori cuprinse ntre 0,25 i 20,00);
T simbolizeaz factorul de temperatur, cu valori cuprinse ntre 0,1 i 1000. Acesta
este proporional cu e Ea / kT , unde s-a notat prin Ea energia de activare (n electronvoli) asociat tehnologiei, k este constanta lui Boltzmann (0,862510-4eV/K) iar prin
T s-a notat temperatura (msurat n grade Kelvin).
V reprezint factorul de stres n tensiune pentru circuitele CMOS. Acest factor are
valori cuprinse n intervalul [1, 10], depinznd de tensiunea de alimentare i de
temperatur. Nu se aplic altor tehnologii (pentru alte tehnologii are valoarea 1).
E este factorul de oc al mediului i are valori foarte mici (aproximativ 0,4) atunci
cnd componenta este plasat ntr-un mediu cu aer condiionat, similar celui unui
birou, dar poate lua valori mari (13,0) atunci cnd mediul este mai aspru.
C1 , C2 sunt factori de complexitate; sunt determinai funcie de numrul de pori dintrun circuit i de numrul de pini ai capsulei.
Dispozitivele aflate, spre exemplu, la bordul autovehiculelor, ori n medii industriale
se pot defecta mai des dect alte dispozitive, similare, dar situate n aparate care
funcioneaz n medii cu temperatur controlat (birouri cu aer condiionat, bunoar).

Viteza de defectare, fiabilitatea i timpul mediu pn la defectare

Se consider o singur component, dintr-un sistem complex, care este funcional de


la momentul t = 0 i pn cnd se defecteaz.
Toate defectrile, care pot s apar, se presupune c sunt iremediabile i au un
caracter permanent.
Se noteaz, tradiional, prin T durata de via a componentei i prin f(t) i F(t) funcia
de densitate a probabilitii a duratei de via i, respectiv, funcia de distribuie
cumulativ a duratei de via T.
Aceste funcii sunt definite doar pentru t 0, deoarece timpul de via nu poate fi
negativ i sunt exprimate analitic astfel:
t

f (t ) =

dF (t )
, F (t ) = f ( )d
dt
0

(1)

Funcia f(t) reprezint, probabilitatea de defectare la momentul t.


Astfel, pentru un interval de timp suficient de mic t, se poate scrie
f(t) t Prob{t T t + t}.
Deoarece f(t) este o funcie densitate, aceasta trebuie s ndeplineasc condiiile:

f(t) 0, pentru t 0 i

f (t )dt = 1.

(2)

Funcia F(t) reprezint probabilitatea defectrii componentei la momentul t ori


naintea acestui moment t.
F(t) = Prob{T t}
Fiabilitatea unei componente, notate prin R(t), este probabilitatea ca respectiva
component s supravieuiasc cel puin pn n momentul t este calculat prin
expresia:
R(t) = Prob{T > t} = 1 - F(t)

(3)

Funcia f(t) este asociat probabilitii defectrii unei noi componente la momentul t,
n viitor.
O noiune cu mai mult semnificaie este probabilitatea ca o component cu vrsta
curent t s se defecteze ntr-un moment ulterior dup un timp, suficient de scurt, cu
durata dt.
Aceasta este o probabilitate condiionat, deoarece se cunoate faptul c respectiva
component a supravieuit cel puin pn n momentul t.
1

Probabilitatea aceasta condiionat este reprezentat prin viteza defectrii (numit de


asemenea i viteza hazardului) unei componente la momentul t, notat prin (t), care
este determinat astfel:

(t ) =

Deoarece

f (t )
1 F (t )

(4)

dR(t )
= f (t ) , relaia (4) devine:
dt

(t ) =

1 dR(t )

R(t ) dt

(5)

Anumite tipuri de componente nu sufer vreo mbtrnire, dar au o defectare care este
constant n timp, (t) = .
Pentru astfel de situaii:

dR(t )
= R(t )
dt

(6)

Iar soluia acestei ecuaii difereniale ( cu condiia la momentul iniial R(0) = 1) este:
R(t) = e-t

(7)

n consecin, o vitez de defectare constant implic faptul c durata vieii T a unei


componente are o distribuie exponenial, cu un parametru care este chiar viteza
constant a defectrii :
f(t) = e-t ,
F(t) = 1 - e-t i
R (t) = e-t ,
pentru t 0.
n cazul unei componente ireparabile, timpul MTTF este egal cu media timpului de
via (media variabilei T este notat, tradiional, prin E[T]):

MTTF = E[T ] = tf (t )dt


0

(8)

Substituind

dR(t )
= f (t ) rezult:
dt

dR(t )

MTTF = t
dt = tR (t ) |0 + R(t )dt = R(t )dt
dt
0
0
0

(9)

(termenul tR(t) este nul atunci cnd t = 0 dar i atunci cnd t = , deoarece R()=0).
n cazul n care viteza defectrii este constant, pentru care:
R(t) = e-t,

(10)

rezult c:

MTTF = e t dt =
0

(11)

Modele probabilistice ale defectrii cu vitez variabil

Se consider, n cele mai multe situaii, o vitez constant a defectrii. Acest fapt este
datorat, n primul rnd, simplitii calculelor.
Dar exist cazuri n care aceast presupunere simplificatoare este inoportun.
Viteza de
defectare

Faza
copilriei

Faza
final

Durata
(ani)
Figura 1. Curba caracteristic a vitezei de defectare pentru
structurile digitale

Zonele copilriei i uzurii din figura 1 sunt dou exemple, n acest sens.
Pentru aceste zone se utilizeaz distribuia Weibull.
Aceast distribuie are doi parametrii, i , i are urmtoarea funcie a densitii
timpului de via T a unei componente:
f (t ) = t 1e t

(1)

Corespunztor viteza de defectare este:

(t ) = t 1

(2)

Aceast vitez de defectare este o funcie cresctoare pentru > 1, este constant
pentru = 1 i este o funcie descresctoare pentru < 1.
Aceste proprieti fac distribuia aceasta foarte flexibil i n mod deosebit
corespunztoare pentru fazele copilriei i uzurii componentelor.

Fiabilitatea unei componente cu distribuie Weibull este:


R (t ) = e t

(3)

Iar timpul MTTF al unei componente este:


MTTF =

( 1 )

(4)

n (4)

( x) = y x 1e y dy
0

este funcia Gamma.


Aceast funcie este generalizarea funciei factorial, pentru numere reale, i are
urmtoarele proprieti:
(i) ( x) = ( x 1) pentru valori x > 1;

(5)

(ii) (0) = (1) = 1;

(6)

(iii) (n) = (n 1)! pentru n ntreg, n > 0.

(7)

Este de remarcat faptul c distribuia Weibull include ca un caz particular (pentru


valoarea particular = 1) distribuia exponenial cu vitez constant a defectrii.

Structurile canonice i resiliente

Se vor considera cteva dintre structurile canonice, cu ajutorul crora se pot construi
alte structuri mai complexe.
Pentru nceput se vor aborda structurile de baz, structurile serie i paralele.
Sistemele serie i paralele

Cele mai cunoscute structuri sunt structurile serie i paralele de sisteme, aa cum se
pot vedea n figura 1.
Un sistem serie se definete ca fiind un set de N de module conectate mpreun astfel
nct defectarea unui modul face ca ntreg sistemul s cad. Este de reinut c
diagrama din figura 1a este o diagram de fiabilitate i nu constituie ntotdeauna i o
diagram de funcionare electric.

(a) Sisteme Serie.

(b) Sisteme paralele.

Figura 1. Sisteme serie i paralele.

Cele patru module din diagrama 1a pot reprezenta, spre exemplu, unitatea de
decodificare a instruciunii, unitatea de execuie, memoria imediat (cache) i
memoria imediat de instruciuni a procesorului.
Aceste patru uniti trebuie s funcioneze fr erori pentru ca microprocesorul s
funcioneze corect. Se poate remarca diferena dintre diagrama de fiabilitate i
diagrama electric.
Presupunnd c modulele din figura 1a se defecteaz independent unul de cellalt,
fiabilitatea ntregului sistem serie este produsul fiabilitii modulelor acestuia.
Se noteaz prin Ri(t) fiabilitatea modulului i i prin Rs(t) fiabilitatea ntregului sistem:

Rs (t ) = Ri (t )
i =1

(1)

Presupunnd c modulul i are o vitez constant de defectare i, atunci Ri (t ) = e it ,


iar relaia (1) se rescrie astfel:

RS (t ) = e S t

(2)

n relaia (2) s-a notat prin S = i .


i =1

Din (2) se poate vedea c sistemele serie au o vitez de defectare (cdere) constant
egal cu S (suma vitezelor individuale de cdere) iar MTTF pentru sistemele serie
este:
1
MTTFS =
.

Un sistem paralel se definete ca fiind un set de N module conectate laolalt astfel


nct sistemul se defecteaz atunci cnd toate modulele acestuia se defecteaz.
Aceast proprietate conduce la urmtoarea expresie a fiabilitii unui sistem paralel,
notat prin Rp(t):
N

R p = 1 (1 Ri (t ))

(3)

i =1

Presupunnd c modul i are viteza de defectare i, atunci


N

R p = 1 (1 e it )

(4)

i =1

Fiabilitatea unui sistem paralel care const din trei module avnd vitezele constante de
defectare 1, 2 i 3, spre exemplu, este exprimat prin relaia:
R p (t ) = e 1t + e 2t + e 3t e ( 1 + 2 )t e ( 2 + 3 ) t e ( 3 + 1 )t + e ( 1 + 2 + 3 )t

Se poate remarca, n cazul sistemelor paralele, c sistemul nu are o vitez constant de


defectare, de cdere.
Viteza de cdere a unui sistem paralel descrete odat cu fiecare defectare a unui
modul.
Se poate arta c timpul MTTF al unui sistem paralel, n cazul n care toate modulele
au aceeai vitez de defectare , are expresia:
N
1
MTTFp =
.
k =1 k

Sisteme cu alte structuri dect paralele ori serie

Exist sisteme a cror diagrame de fiabilitate nu sunt conforme cu structurile paralele


ori serie.
Un astfel de sistem este descris n figura 1. Fiabilitatea acestui sistem se nu se poate
calcula prin formulele descrise pentru sistemele cu structur paralel ori serie.

B
A

D
Figura 1. Sistem cu alt structur dect
paralel ori serie.

Se poate remarca existena mai multor ci n sistemul acesta. Calea B, E i F arat c


sistemul poate opera corect dac modulele B, E i F funcioneaz corect.
O cale este corect, valid, ntr-o astfel de diagram doar dac toate modulele sunt
parcurse de la stnga spre dreapta.
Din acest punct de vedere privind calea B,C,D,F se stabilete c aceast cale nu este o
cale valid.
Nu sunt admise transformri ale grafului dac acestea nu este respect aceast regul.
Pentru simplitatea scrierii, n cele ce urmeaz, dependena fiabilitii n raport cu
timpul va fi omis, aceasta subnelegndu-se.
Utiliznd formula clasic de probabilitate fa de evenimentele condiionate se va
deduce formula fiabilitii sistemului din figura 1 prin dezvoltarea acesteia n raport
cu un modul oarecare i al acestui sistem:
Rsistem = RiProb{Sistemul funcioneaz | i este funcional } +
(1 - Ri)Prob{Sistemul funcioneaz | i este defect }

(1)

n formula (1) s-a notat prin = Ri fiabilitatea modulului i (A, B, C, D, E, F).


Utiliznd formula (1) diagrama iniial se poate descompune n dou diagrame de
fiabilitate ale sistemului iniial din figura 3.
Prima corespunde situaiei n care modulul i este funcional, iar n a doua modulul
este defect.
Alegerea modului i trebuie fcut astfel nct cele dou diagrame nou introduse s
aib structuri ct mai apropiate de tipurile serie i - ori paralel.

Pentru aceste structuri nou introduse se vor putea utiliza formulele deja stabilite
pentru structurile serie
N

Rs (t ) = Ri (t )
i =1

i paralele
N

R p = 1 (1 Ri (t )) .
i =1

Prin alegerea modulului C se obin cele dou diagrame din figura 2.


B

(a) Modulul C este


nefuncional
B
A

D
(b) Modulul C este
funcional
Figura 2. Descompunerea diagramei din
figura 1, n raport cu modulul C.

Procesul de descompunere se poate relua, se poate re-itera, pn cnd se obin doar


combinaii de diagrame de tip serie ori paralel.
Aa cum se poate remarca din figura 2.a aceasta este constituit doar din diagrame
serie i paralel.
Figura 2.b, spre deosebire de figura 2.a, nu este alctuit exclusiv din combinaii serie
i paralel.
n acest sens trebuie remarcat faptul c modulele A i B nu sunt n paralel, aa cum sar putea aprecia la o prim privire.

Dac aceste module ar fi n paralel, aa cum ar apare datorit funcionrii corecte a


modulului C, atunci ar trebui s existe n diagrama iniial, din figura 1, o cale BCDF,
ceea nu se-ntmpl s fie.
n figura 2.b acest fapt este marcat de sub-segmentul aflat ntre conexiunile modulelor
D i B (corespunztor prezenei funcional sigure a modulului C).
Cu aceste remarci, se poate rescrie relaia (1) astfel:
Rsistem = RCProb{Sistemul funcioneaz | C este funcional} +
(1 RC)RF[1 (1 RARD)(1 RBRE)]

(2)

Pentru calculul probabilitii condiionate a sistemului (n raport cu faptul c modulul


C este funcional) diagrama din figura 2.b va fi descompus n raport cu modulul E,
aa cum se poate urmri n figura 3.

B
A
D

(a) Modulul E este


nefuncional
B
F

A
D
(b) Modulul E este
funcional

Figura 3. Descompunerea diagramei


din figura 2.b, n raport cu modulul E.

Atunci cnd modulul E este nefuncional diagrama de fiabilitate arat ca n figura 3.a.
Este important de reinut c modul C este funcional att n figura 3.a, ct i n figura
3.b.
Expresia probabilitii sistemului atunci cnd C funcioneaz iar modul E este
nefuncional se calculeaz pentru conectarea n serie a modulelor A, D i F.

Se poate remarca n aceast situaie c modulul B este prezent n sistem dar nu este
conectat la modul F de ieire, ntruct nu exist o cale ntre modulul B i F n
diagrama iniial de fiabilitate a sistemului.
Expresia algebric a probabilitii sistemului condiionat de faptul c modulul C este
funcional, iar modulul E este nefuncional arat astfel:
Prob{Sistemul funcioneaz | C este funcional i E este nefuncional} =
(1 - RE)RARDRF.
Iar cealalt probabilitate arat astfel:
Prob{Sistemul funcioneaz | C i E sunt funcionale} = RE RF[1 (1 - RA)(1 RB)].
Dup determinarea acestei expresii se poate exprima fiabilitatea sistemului ca fiind:
Rsistem = RC[RERF(RA + RB RARB) + (1 RE)RARDRF] +
(1 RC)[RF(RARD + RARE - RARDRBRE)]

(3).

Dac blocurile acestei diagrame de fiabilitate au fiabiliti identice:


RA = RB = RC = RD = RE = RF = R,
atunci fiabilitatea sistemului are expresia:
Rsistem = R3(R3 3R2 + R + 2)

(4)

Atunci cnd o diagram are o structur foarte complicat pentru aplicarea unei
proceduri similare celei parcurse anterior se pot calcula margini inferioare i
superioare a fiabilitii sistemului, Rsistem.
O margine superioar este determinabil prin expresia:
Rsistem 1 (1 Rcaleai )

(5)

Fiabilitatea unei ci se calculeaz ca pentru conectarea n serie a modulelor ce


alctuiesc acea cale.
Marginea superioar din expresia (5) presupune c toate cile sunt n paralele, pe de-o
parte i independena respectivelor ci, pe de-alt parte.
Cazurile reale pot prezenta situaii n care dou astfel de ci au un modul n comun iar
defectarea unui astfel de modul va conduce la defectarea ambelor ci.
Aceasta este raiunea pentru care termenul din dreapta expresiei (5) constituie doar o
margine superioar i nu o valoare exact.

O margine inferioar poate fi calculat n baza determinrii unor seturi minimale de


tieturi ale diagramei de fiabilitate a sistemului.
Un set minimal de tieturi este o list de module cu proprietatea c prin ndeprtarea
tuturor modulelor dintr-un set (datorit defectrilor) aceasta va conduce la defectarea
sistemului, presupus iniial perfect funcional.
Marginea inferioar se calculeaz din expresia:
Rsistem (1 Qcuti )

(6)

n relaia (6) s-a notat prin Qcuti probabilitatea ca respectiva tietur i s fie defect.
Referitor la figura 1, seturile minimale de tieturi ale diagramei de fiabilitate din
aceast figur sunt:
F, AB, AE, DE i BCD.
Formula algebric a marginii inferioare determinat prin seturile minimale de tieturi
arat astfel:
Rsistem RF[1 (1 RA)( 1 RB)][1 (1 RA)( 1 RE)][1 (1 RD)( 1 RE)]
[1 (1 RB)( 1 RC)( 1 RD)]

Dac RA = RB = RC = RD = RE = RF = R, atunci:
Rsistem R5(24 60R + 62R2 33R3 + 9R4 R5).

(7)

SISTEME M DIN N REDUNDANTE

Un sistem M din N redundant const din N module care are nevoie de cel puin M
dintre acestea ca s funcioneze corespunztor.
Un astfel de sistem nceteaz s mai funcioneze atunci cnd mai puin dect M
module sunt funcionale.
Cel mai cunoscut exemplu, din aceast categorie, este sistemul triplex. Un astfel de
sistem const din trei module identice ale cror ieiri sunt votate.
Ct vreme exist o majoritate (cel puin 2 din 3) a modulelor care produc rezultate
corecte, sistemul va fi funcional.
Evaluarea fiabilitii unui sistem M din N

Se presupune c defectarea diferitelor module este statistic independent i c nu se


pot repara modulele defecte.
Prin R(t) se noteaz, tradiional, fiabilitatea individual a unui modul (semnificnd
probabilitatea ca modul s fie nc operaional la momentul t).
Fiabilitatea unui sistem M din N este probabilitatea ca M ori mai multe module s
fie funcionale la momentul t.
Astfel, fiabilitatea sistemului M din N este exprimat prin formula:
N

RM _ din _ N (t ) = CNi R i (t )[1 R(t )]N i

(1)

i=M

Ipoteza c defectrile sunt independente este un factor cheie, un factor deosebit de


important, n realizarea fiabilitii ridicate a sistemelor M din N.
Chiar i doar ntr-o mic msur prezent o corelaie a defectrilor, aceasta poate
diminua drastic fiabilitatea acestor sisteme.
Presupunnd o probabilitate nenul qcor a corelaiei unui defect n sistem, considerat n
totalitatea sa, atunci expresia fiabilitii arat astfel:
N

RMcor_ din _ N (t ) = (1 qcor ) CNi R i (t )[1 R(t )]N i

(2)

i=M

ntr-un sistem inadecvat proiectat, factorul de defectare corelat poate domina


probabilitatea defectrii globale.

Defectrile corelate pot fi foarte dificil de estimat, n practic.


Expresia (2) a fost scris cu asumpia existenei unei mal-funcionri care s afecteze
ntreg grupul celor N module din sistem.
Exist, de asemenea, i alte moduri de defectare dect cel presupus n formula (2).
Sunt 2N N 1 submulimi distincte care ar conine dou sau mai multe module i n
acest mod apare ca fiind extrem de dificil de realizat experimental ori prin alte
mijloace probabilitile asociate acestor submulimi, fie i doar pentru valori moderate
ale numrului total de module.
Modul
Circuitul
de Vot

Modul
Modul

Figura 1. Structura unui sistem


Triplu-Modul Redundant (TMR).

Dintre sistemele M din N, e foarte posibil s fie cel mai cunoscut sistemul triplex,
ca un astfel de sistem.
Diagrama sistemului triplex, ori a sistemului Triplu-Modul Redundant (TMR), este
prezentat n figura 1. n astfel de sisteme, M = 2 i N = 3, sunt trei module i un
circuit de vot care decide majoritatea rezultatelor.
Prin utilizarea unui singur circuit de vot, acesta devine o entitate critic. Fiabilitatea
sistemului, innd seama de fiabilitatea circuitului de vot (notat prin Rvot (t)), arat
astfel:
3

RTMR (t ) = Rvot (t ) C3i R i (t )[1 R (t )]3i

(3)

i=2

Prin dezvoltarea binomului se obine o exprimare mai compact de forma:

RTMR (t ) = Rvot (t )(3R 2 (t ) 2 R 3 (t ))

(4)

Cazul general al TMR se numete N-Modul Redundant avnd N module, N fiind


impar, iar M este egal cu unu plus partea ntreag a expresiei N/2.
Pentru sisteme constituite cu module avnd fiabilitate ridicat, cu cte este mai mare
redundana cu att se obin sisteme mai fiabile.
Atunci cnd fiabilitatea modulelor are valori mai mici, avantajele redundanei scad.
Astfel, pentru sisteme constituite cu module a cror fiabilitate este joas, aceasta
revine la inegalitatea R(t) < 0,5 , redundana ajunge s constituie un dezavantaj iar un

sistem simplu (cu un singur modul, sistem numit adesea i simplex) devine mai fiabil
dect orice combinaie constituit cu modulele respective.
Acest fapt se reflect n valoarea MTTRTMR, care poate fi determinat pentru:
Rvot(t) = 1 i R(t) = e-t astfel:

MTTRTMR = (3R 2 (t ) 2 R 3 (t )) dt = (3e2 t 2e 3t ) dt =

5
6

(5)

Se poate uor aprecia faptul c:

MTTFTMR =

5 1
< = MTTFSimplex
6

n cele mai multe dintre situaiile reale, totui, R(t) >> 0,5 pentru valori practice ale
variabilei t iar sistemul este fie reparat, fie nlocuit mult nainte ca R(t) < 0,5 astfel
nct configuraia triplex s confere creteri semnificative ale fiabilitii.
Expresia fiabilitii sistemului Triplu-Modul Redundant s-a dedus avnd, presupus
implicit, ipoteza c orice defect al circuitului de vot va implica o ieire eronat a
sistemului i orice defectare a dou module, din trei, este determinant pentru malfuncionarea sistemului.
Astfel de situaii nu sunt, totui, ntotdeauna necesare pentru declararea ncetrii
funcionrii sistemului.
Aceasta se poate uor constata din urmtorul exemplu:
Dac un modul are, la una dintre ieirile sale, permanent valoarea logic 1 iar un al
doilea modul are permanent valoarea logic 0, la ieirea omoloag, atunci TMR va
continua, aparent, s funcioneze corect, spre exemplu.
Similar, o situaie comparabil poate s se ntmple i n circuitul de vot (majoritate).
Aceste exemple vizeaz, n esen, compensarea reciproc a defectelor.
Paradoxal, astfel de situaii conduc la o cretere a fiabilitii sistemelor TMR.
Circuitele de vot

Astfel de circuite au, n principiu, N linii de intrare x1, x2 , xN la care sunt conectate
liniile de ieire omoloage din sistemul redundant M din - N.
Cu valorile recepionate pe liniile de intrare, circuitul de vot genereaz corespunztor
o valoare reprezentativ.
Cea mai simpl metod este compararea bit cu bit a valorilor liniilor de intrare
omoloage i determinarea valorii majoritare.
Aceast metod presupune c fiecare din cel N module ale sistemului va genera ieiri
similare, comparabile bit cu bit, cu ale celorlalte module.

Dac modulele sunt constituite cu procesoare identice care primesc aceleai valori de
intrare, ruleaz aplicaii identice i sunt conduse prin impulsuri de ceas mutual
sincronizate, atunci procedeul de vot este imediat.
Dar, dac modulele sunt construite cu procesoare diferite ori ruleaz aplicaii distincte
pentru aceeai sarcin de calcul atunci este foarte posibil s fie valori ntructva
divergente, (n zona biilor de rang inferior, spre exemplu) chiar dac, n fapt,
reprezint rezultate corecte.
Astfel, dou rezultate u i v sunt practic identice dac are loc relaia:
|u v| < ,
unde valoarea parametrului este dinainte specificat.
Este de reinut faptul c relaia practic identice nu este o relaie tranzitiv.
Aceasta nseamn c atunci cnd m este practic identic cu n, iar n este practic identic
cu p, nu rezult c i m este practic identic cu p.
Se consider o valoare = 0,1 i un set cu cinci rezultate {1,11; 1,32; 3,00; 1,10;
1,49}.
Un circuit de vot bi-valoric cu parametrul = 0,1 va genera, pentru acest set de
rezultate, subsetul {1,10; 1,11}.
n consideraiile care au stat la baza construciilor teoretice de fiabilitate ale sistemelor
TMR s-a introdus implicit ipoteza c toate liniile de ieire conectate la intrrile
circuitului de vot sunt caracterizate printr-o probabilitatea de defectare identic.
Sunt numeroase situaii cnd aceast ipotez este invalidat.
Circuitele ori aplicaiile care produc un anumit rezultat pot avea probabiliti diferite
de defectare, din raiuni care guverneaz modul de funcionare i de evaluare a
fiabilitii (tehnologiile diferite, spre exemplu).
Din aceste considerente rezult utilizarea un circuit de vot care funcioneaz ponderat
i genereaz ieiri care sunt asociate la mai mult dect jumtatea sumei ponderilor
sale de funcionare.

VARIAII ALE REDUNDANEI N-MODULARE

Independent de utilizarea replicrii modulelor i de introducerea circuitelor de vot la


nivelul sistemului, se poate face uz de aceeai metod chiar i la nivelul fiecrui
subsistem.
Redundana modular la nivelul unitilor

O versiune a sistemului triplu-modular redundant aplicat la nivelul fiecrei uniti


(u1, u2, u3, i u4) dintr-un sistem constituit cu patru uniti este prezentat n figura 1.
n aceast diagram se poate remarca faptul c scade criticitatea circuitelor de vot
(blocurile V, n figura 1) din sistemele NMR. n acest caz defectarea unui singur circuit
de vot va afecta doar o unitate singular iar efectul su nu va depi urmtorul nivel al
unitii.

u1

u1

u1

u2

u2

u2

u3

u3

u3

u4

u4

u4

Figura 1. Triplu-Modular Redundant


implementat la nivelul subsistemelor.

Sistemul triplu-modular redundant implementat la nivelul unui sistem ntre procesoare


i memorii, prezentat n figura 2 are o structur deosebit de interesant.
Procesor

Memorie

Procesor

Memorie

Procesor

Memorie

Figura 2. Circuite de vot triplicate ntr-un sistem triplumodular redundant la nivelul procesoarelor i memoriilor.

n acest sistem toate comunicaiile n orice direcie dintre procesoarele triplicate i


memoriile triplicate trec prin circuitele de vot majoritar. Aceast organizare a

sistemului este mai fiabil dect votul majoritar singular al unei structuri avnd
triplicat binomul procesor memorie.
Redundana dinamic

Variantele N-modular redundante (NMR) considerate pn acum utilizeaz volume


importante de circuite hardware n scopul mascrii imediate a erorilor care pot s
apar pe durata operrii sistemelor.
Cu toate acestea, n multe arii de aplicaii, rezultatele eronate care i-au fcut temporar
simit prezena s-au dovedit a fi tolerabile n msura n care sistemul este capabil s
detecteze independent aceste erori i s se auto-reconfigureze prin nlocuirea unui
modul defect cu un altul care funcioneaz corect, care s-a aflat n rezerv pn n
momentul n care s-a decis reconfigurarea sistemului.
Diagrama generic a unui sistem redundant dinamic este artat n figura 3. Sistemul
const din N module inactive aflate n rezerv, un modul activ i unitatea deteciei
defectelor i reconfigurrii.
Modul Activ
Modul Rezerv 1

Unitatea
Deteciei
Erorilor
i
Reconfigurrii

Modul Rezerv 2
.
.
.
Modul Rezerv N

Figura 3. Redundana dinamic.

Unitatea deteciei erorilor i reconfigurrii se presupune c are capacitatea identificrii


oricrei valori eronate aflate la ieirea modulului activ.
Urmare a detectrii erorii aceast unitate deconecteaz modulul activ curent, dovedit
defect, i conecteaz n locul acestuia un modul funcional aflat n rezerv, dac mai
este vreunul disponibil.
Dac toate modulele de rezerv sunt active (sunt puse sub tensiune i alimentate) este
posibil s aib aceeai vitez de defectare ca i unicul modul activ.
Redundana acestei structuri este, practic, similar cu cea a sistemului paralel iar
fiabilitatea sa are expresia:

Rdinamic = Rudr (t )(1 [1 R(t )]N +1 )

(1)

n (1) s-a notat prin R(t) fiabilitatea fiecrui modul iar Rudr este fiabilitatea unitii de
detecie i reconfigurare.
2

Dar dac modulele aflate n rezerv nu sunt alimentate (se economisete energie)
acestea pot avea o vitez de defectare neglijabil atunci cnd nu sunt active.
Apariia defectelor n modulul activ are loc cu viteza .
Se noteaz prin c factorul de acoperire, definit ca fiind probabilitatea ca modulul activ
defect s fie corect diagnosticat i deconectat iar apoi nlocuit cu succes printr-un
modul funcional disponibil aflat n rezerv.
Astfel, probabilitatea ca o defectare s nu fie recuperat este 1 c . Iar viteza cu care
au loc defectrile irecuperabile este ( 1 c ).
Prin urmare probabilitatea ca s aib loc o defectare irecuperabil a modulului activ
peste o durat t este determinat prin e (1c ) t .
Fiabilitatea unitii de detecie i reconfigurare a fost notat prin Rudr(t), rezultnd
expresia fiabilitii redundanei dinamice:
Rdinamic (t ) = Rudr (t )e (1c ) t .
(2)

REDUNDANA HIBRID

Un sistem NMR este capabil s mascheze att defectri permanente ct i defectri


intermitente dar, fiabilitatea acestuia scade sub aceea a unui singur modul pe durata
unor misiuni foarte ndelungate dac nu are loc repararea ori nlocuirea modulelor
defecte.
Scopul unei redundane hibride este s depeasc acest neajuns prin introducerea
unor module de rezerv care vor fi destinate s nlocuiasc modulele active dendat
ce acestea s-au defectat.
Unitatea de
Comparaie

Primar 1

Ieiri ale
unitilor
active

Semnale de
dezacord
Unitatea de
Reconfigurare

Primar N

Rezerv 1

Rezerv K
Figura 1. Redundana hibrid.

n figura 1 este prezentat diagrama unui sistem hibrid constnd dintr-un nucleu cu N
procesoare care constituie un sistem NMR i un set de K procesoare de rezerv.
Ieirile modulelor primare active sunt comparate (n Unitatea de Comparaie) urmare
a unui semnal al circuitului de vot (V) n vederea identificrii unui posibil procesor
defect (dac exist vreunul).
n cazul detectrii unei astfel de situaii Unitatea de Comparaie genereaz un semnal
de dezacord care va determina Unitatea de Reconfigurare s deconecteze procesorul
primar activ defect i s conecteze un procesor de rezerv, substituind procesorul
primar defect.
Fiabilitatea unui sistem hibrid cu un nucleu TMR i K procesoare de rezerv are
forma:

Rhibrid (t ) = Rvot (t ) Rrec (t )(1 mR(t )[1 R (t )]m 1 [1 R(t )]m )

(1)

n formul s-a notat prin m numrul total de procesoare, m = K + 3, iar prin Rvot(t)
fiabilitatea circuitului de vot i comparaie i prin i Rrec(t) fiabilitatea unitii de
reconfigurare.

n expresia (1) se presupune c orice defect care apare fie n circuitul de vot, fie n
unitatea de comparaie i configurare va cauza defectarea sistemului.
Practic, nu toate defectele din aceste circuite sunt capitale i din acest motiv, n
realitate, fiabilitatea sistemului hibrid este mai mare dect fiabilitatea evaluat prin
aceast formul.
E posibil o expresie mai precis a fiabilitii sistemelor hibride care se poate
determina printr-o analiz amnunit a cilor de defectare ale circuitului de vot ca i
ale circuitelor de comparaie i reconfigurare.

REDUNDANA MODULAR CU FILTRARE

Similar structurii NMR, toate cele N module din schema redundanei modulare cu
filtrare sunt active (figura 1) iar sistemul este operaional atta vreme ct exist cel
puin dou module funcionale.
Ceea ce deosebete aceast structur redundant de structura de referin NMR este
introducerea unor noi blocuri.
Caracteristic sunt introduse blocurile Comparator, Detector i Colector care
nlocuiesc circuitul de vot majoritar.

Modulul 1
Modulul 2

Colector

Modulul N

F1 F2

FN

E12
Detector

Comparator
E(N-1)N

Figura 1. Structura redundanei modulare cu filtrare.

Blocul Comparator efectueaz comparaia liniilor de ieire ale modulelor considerate


dou cte dou.
Liniile de ieire ale comparatorului Eij, cte una pentru fiecare pereche distinct de
module, sunt asertate atunci cnd liniile de ieire ale celor dou module, respectiv
Modulul i i Modulul j, nu se potrivesc.
Utiliznd valorile liniilor Eij, n blocul Detector, pe interfaa cu blocul Colector, se
genereaz semnalele logice F1, F2, , FN.
Atunci cnd aceste linii Fi sunt asertate, corespunztor lor modulele respective sunt
detectate ca fiind defecte.
Blocul Colector produce un semnal pe linia de ieire a sistemului corespunztor
disjunciei liniilor de ieire ale modulelor corect funcionale din structur.

n acest mod, liniile de ieire ale modulelor care nu corespund celorlalte linii de ieire
sunt filtrate i nceteaz s contribuie la formarea ieirii sistemului.
Implementarea acestei structuri este apreciat ca fiind mai simpl dect a structurii
redundanei hibride, spre exemplu.
Un punct sensibil al acestui sistem rezid n determinarea pragului de severitate al
procesului de filtrare.
Marea majoritate a defectrilor, n astfel de sisteme, au tendina s prezinte un
caracter tranzitoriu i dispar, din raiuni proprii, dup un timp.
Prin prisma acestor raiuni pragmatice, se prefer filtrarea definitiv a unui modul abia
atunci cnd a livrat ieiri incorecte pe durata unui interval susinut de timp.

SISTEMELE REDUNDANTE DUPLEX

Sistemele duplex sunt cele mai simple exemple de redundan modular.


Un exemplu de sistem duplex compus din dou procesoare i un comparator este
ilustrat n figura 1.
Ambele procesoare execut aceleai sarcini, iar dac blocul Comparator stabilete c
sunt concordante ieirile celor dou procesoare se conchide c rezultatul calculat este
corect.
Este implicit aplicat ipoteza unei extrem de mici probabiliti ca ambele procesoare
s fie defecte dar, astfel nct s produc rezultate care s concorde.

Modul
Comparator
Modul

Figura 1. Structura unui sistem duplex.

Dar dac rezultatele sunt diferite atunci, fiind dovedit o mal-funcionare evident, se
apeleaz o rutin de nivel nalt care decide modul de tratare al erorii.
Faptul c rezultatele calculate prin cele dou procesoare difer nu poate decide
identificarea rezultatului corect implic introducerea unor criterii i metodele
corespunztoare detectrii procesorului defect.
Fiabilitatea sistemelor duplex utilizeaz factorul de acoperire. Acest factor este
probabilitatea ca un procesor defect s fie corect diagnosticat, identificat i deconectat
din structur.
Presupunnd utilizarea a dou procesoare identice n sistemul duplex, fiecare avnd
fiabilitatea T(t), atunci fiabilitatea sistemului duplex este:
Rduplex (t ) = Rcomparator (t )( R 2 (t ) + 2cR(t )(1 R(t )))

(1)

n relaia (1) s-a notat prin Rcomparator(t), fiabilitatea comparatorului.


Dac se ia n consideraie o vitez constant de defectare a fiecrui procesor i un
comparator ideal (foarte fiabil Rcomparator(t) = 1), atunci expresia MTTF pentru
sistemul duplex arat astfel:

MTTFduplex =

1 c
+
2

Diferena major dintre TMR i sistemul duplex rezid n faptul c pentru sistemul
duplex procesorul defect trebuie identificat.

Platformdeelearningicurriculecontent
pentrunvmntulsuperiortehnic

SistemeTolerantelaDefecte

20.Tehnicilesoftwarepentrutolerantaladefecte

TEHNICILE SOFTWARE PENTRU TOLERANTA LA DEFECTE

n continuare vor fi considerate cele mai utilizate metode de identificare a


procesorului defect.
Mult utilizat pentru identificarea procesorului defect este aplicarea unor seturi de
procedee care s verifice rezultatul fiecrui procesor. Aceste seturi de procedee sunt,
adesea, numite teste de acceptare.
Testul gamei de valori, este reprezentativ pentru astfel de teste.
Verificarea gamei de valori este un test simplu i foarte potrivit n cele mai multe din
cazuri.
Dac rezultatul n discuie este nivelul unui lichid dintr-un un container, spre
exemplu, atunci este de dorit compararea gamei valorilor posibile ale nivelului
lichidului cu valorile calculate de cele dou procesoare.
O valoare calculat n afara gamei respective (depete volumul real al containerului,
spre exemplu) va fi, cu siguran, declarat eronat.
Determinarea intervalului de valori acceptabile pentru rezultatele calculate este cu att
mai bun, cu ct intervalul de valori este mai strns, mai ngust. Un interval mai mic
al valorilor acceptabile va crete probabilitatea identificrii corecte a rezultatului
eronat i va micora ansele declarrii greite a unui rezultat ca fiind eronat.
Se definete sensibilitatea unui test ca fiind probabilitatea condiionat ca testul s
detecteze o eroare, dat fiind faptul c ieirea calculatorului este actualmente eronat.
Similar se introduce specificitatea unui test ca fiind probabilitatea condiionat ca
ieirea calculatorului s fie eronat, dat fiind faptul c testul de acceptare declar o
eroare.
Un interval ngust al valorilor acceptate va avea o sensibilitate ridicat i o
specificitate joas.
Aceasta nseamn c testul este foarte probabil s nu piard o ieire eronat dar n
acelai timp este posibil s genereze multe rezultate fals-pozitive (adic, rezultate
corecte pe care testul le declar eronate).
Un interval larg al gamei de valori va avea sensibilitate joas dar, va avea
specificitatea ridicat.
Gama de valori este cea mai simpl metod dar, n nici un caz, nu este unica. Se
presupune, spre exemplu, c se dorete s se verifice un rezultat de forma ex.
Simpla aplicare a logaritmului natural asupra rezultatului n dubiu poate, mijlocind o
eventual pierdere de precizie, stabili adevrul (dar doar att de cert ct va permite
precizia de calcul).

Testarea hardware-ului. A doua categorie de metode de identificare a procesoarelor

defecte este supunerea ambelor procesoare unor rutine de test specifice.


Astfel de teste de diagnostic sunt utilizate de regul atunci cnd se verific
funcionarea corect a circuitelor procesoarelor.
Rularea acestor teste poate identifica procesorul care a produs ieirea eronat doar
dac defectul din procesor este permanent prezent. Cea mai mare parte a defectelor
hardware sunt tranzitorii, n general.
Din acest motiv testarea hardware-ului are o probabilitate mic de identificare a
procesorului care a produs, la un moment dat, anterior o ieire eronat.
Chiar i atunci cnd defectul hardware este permanent rularea testelor hardware nu
poate garanta identificarea defectului.
Testarea hardware este, n practic, arareori impecabil i exist ntotdeauna o
probabilitate diferit de zero ca testele s treac fr s semnaleze nici o eroare,
declarnd ca fiind perfect funcional un procesor care, n realitate, este defect.
Sensibilitatea unui test hardware sau probabilitatea ca testul s identifice un procesor
defect ca atare, se mai numete adesea - n cazul testelor hardware - acoperirea
defectelor.
Recuperarea ulterioar. A treia metod utilizat pentru identificarea procesorului

defect dintr-un duplex, utilizeaz un al treilea procesor.


Al treilea procesor este folosit ca s repete calculul desfurat anterior n sistemul
duplex.
Dac doar un singur procesor din cele trei procesoare (duplexul plus cel de-al treilea
procesor) este defect atunci acesta este identificat prin faptul c rezultatele sale nu
concord cu rezultatele celui de-al treilea procesor.
Este utilizat i o combinaie a acestor metode.
Testul de acceptare este cel mai rapid de aplicat i cel mai comod dar este, adesea,
mai puin sensibil.
De multe ori rezultatul testului de acceptare este considerat doar ca o indicaie
provizorie a identificrii a procesorului defect. Aceasta indicaie provizorie poate fi
confirmat, ulterior, prin utilizarea unei sau alteia din celelalte abordri.

TESTELE DE ACCEPTARE

n continuare vor fi considerate cele mai utilizate metode de identificare a


procesorului defect.
Mult utilizat pentru identificarea procesorului defect este aplicarea unor seturi de
procedee care s verifice rezultatul fiecrui procesor. Aceste seturi de procedee sunt,
adesea, numite teste de acceptare.
Testul gamei de valori, este reprezentativ pentru astfel de teste.
Verificarea gamei de valori este un test simplu i foarte potrivit n cele mai multe din
cazuri.
Dac rezultatul n discuie este nivelul unui lichid dintr-un un container, spre
exemplu, atunci este de dorit compararea gamei valorilor posibile ale nivelului
lichidului cu valorile calculate de cele dou procesoare.
O valoare calculat n afara gamei respective (depete volumul real al containerului,
spre exemplu) va fi, cu siguran, declarat eronat.
Determinarea intervalului de valori acceptabile pentru rezultatele calculate este cu att
mai bun, cu ct intervalul de valori este mai strns, mai ngust. Un interval mai mic
al valorilor acceptabile va crete probabilitatea identificrii corecte a rezultatului
eronat i va micora ansele declarrii greite a unui rezultat ca fiind eronat.
Se definete sensibilitatea unui test ca fiind probabilitatea condiionat ca testul s
detecteze o eroare, dat fiind faptul c ieirea calculatorului este actualmente eronat.
Similar se introduce specificitatea unui test ca fiind probabilitatea condiionat ca
ieirea calculatorului s fie eronat, dat fiind faptul c testul de acceptare declar o
eroare.
Un interval ngust al valorilor acceptate va avea o sensibilitate ridicat i o
specificitate joas.
Aceasta nseamn c testul este foarte probabil s nu piard o ieire eronat dar n
acelai timp este posibil s genereze multe rezultate fals-pozitive (adic, rezultate
corecte pe care testul le declar eronate).
Un interval larg al gamei de valori va avea sensibilitate joas dar, va avea
specificitatea ridicat.
Gama de valori este cea mai simpl metod dar, n nici un caz, nu este unica. Se
presupune, spre exemplu, c se dorete s se verifice un rezultat de forma ex.
Simpla aplicare a logaritmului natural asupra rezultatului n dubiu poate, mijlocind o
eventual pierdere de precizie, stabili adevrul (dar doar att de cert ct va permite
precizia de calcul).

Testarea hardware-ului. A doua categorie de metode de identificare a procesoarelor

defecte este supunerea ambelor procesoare unor rutine de test specifice.


Astfel de teste de diagnostic sunt utilizate de regul atunci cnd se verific
funcionarea corect a circuitelor procesoarelor.
Rularea acestor teste poate identifica procesorul care a produs ieirea eronat doar
dac defectul din procesor este permanent prezent. Cea mai mare parte a defectelor
hardware sunt tranzitorii, n general.
Din acest motiv testarea hardware-ului are o probabilitate mic de identificare a
procesorului care a produs, la un moment dat, anterior o ieire eronat.
Chiar i atunci cnd defectul hardware este permanent rularea testelor hardware nu
poate garanta identificarea defectului.
Testarea hardware este, n practic, arareori impecabil i exist ntotdeauna o
probabilitate diferit de zero ca testele s treac fr s semnaleze nici o eroare,
declarnd ca fiind perfect funcional un procesor care, n realitate, este defect.
Sensibilitatea unui test hardware sau probabilitatea ca testul s identifice un procesor
defect ca atare, se mai numete adesea - n cazul testelor hardware - acoperirea
defectelor.
Recuperarea ulterioar. A treia metod utilizat pentru identificarea procesorului

defect dintr-un duplex, utilizeaz un al treilea procesor.


Al treilea procesor este folosit ca s repete calculul desfurat anterior n sistemul
duplex.
Dac doar un singur procesor din cele trei procesoare (duplexul plus cel de-al treilea
procesor) este defect atunci acesta este identificat prin faptul c rezultatele sale nu
concord cu rezultatele celui de-al treilea procesor.
Este utilizat i o combinaie a acestor metode.
Testul de acceptare este cel mai rapid de aplicat i cel mai comod dar este, adesea,
mai puin sensibil.
De multe ori rezultatul testului de acceptare este considerat doar ca o indicaie
provizorie a identificrii a procesorului defect. Aceasta indicaie provizorie poate fi
confirmat, ulterior, prin utilizarea unei sau alteia din celelalte abordri.

Sistemele Duplex cu Rezerve Duplex

Au fost propuse i descrise cteva structuri resiliente mai complicate care utilizeaz
sistemul duplex drept un bloc de construcie.
Sistemele duplex cu rezerve duplex, aa cum se poate vedea din figura 1, sunt sisteme
n care modulele sunt grupate n perechi iar fiecare pereche are un comparator care
verific dac cele dou ieiri sunt egale (ori suficient de apropiate).

Modul
Comparator
Modul
Comparator
Comutator
Modul
Comparator
Modul

Figura 1. Structura unui sistem duplex cu rezerve duplex.

Dac ieirile celor dou module primare nu coincid acest fapt indic o eroare a unui
dintre cele dou procesoare dar nu indic i care anume este cel ce a produs eroarea.
Rularea testelor de diagnostic, aa cum s-a artat anterior, ar provoca o ntrerupere a
serviciului furnizat de sistemul respectiv.
n scopul evitrii ntreruperii serviciului ntreaga pereche este deconectat iar calcul
va fi continuat de o pereche de procesoare aflate, pn atunci, n rezerv.
Cele dou procesoare excluse din sistem pot fi, n acest context, testate separat i
independent de activitatea sistemului.
Testarea are n vedere stabilirea naturii erorii - eroare tranzitorie ori eroare
permanent, pentru procesorul n cauz.
n cazul n care eroarea s-a stabilit ca fiind de natur tranzitorie, perechea de
procesoare poate fi, eventual, declarat ca fiind o pereche funcional i introdus n
rezerv.

Platformdeelearningicurriculecontent
pentrunvmntulsuperiortehnic

SistemeTolerantelaDefecte

23.TolerantaladefecteaplicatacircuitelorVLSI

Sisteme Tolerante la Defecte


TOLERANA LA DEFECTE APLICAT CIRCUITELOR VLSI

Toate structurile resiliente descrise prin modul de interconectare al acestora pot fi


aplicate unei palete foarte largi de module, ncepnd cu cele mai simple module logice
combinaionale i pn la cele mai complexe microprocesoare ori chiar plci complete
cu microprocesoare. Duplicarea complet a unor microprocesoare, care nu sunt
proiectate s fie utilizate n aplicaii critice, poate impune un efort complex, posibil
prohibitiv de costisitor care, adesea, se dovedete nejustificat.
Pentru astfel de situaii s-au dezvoltat modaliti mai simple necesitnd dotri
suplimentare mai puin costisitoare. Aceste tehnici se bazeaz pe ipoteza c un astfel
procesor execut aplicaii curente iar n cazul apariiei unei erori aplicaia, ori o parte
din aceasta, poate fi reluat i re-executat dac sunt ndeplinite dou condiii
eseniale:
(1) eroarea este detectat iar cauza erorii este un defect de scurt durat,
tranzitoriu,
(2) atunci cnd se reia execuia aplicaiei este foarte probabil dispariia erorii.
Simularea defectelor, experimente de injectare a defectelor i analiza log-urilor de
erori ale sistemelor operaionale au artat c erorile, n mare lor majoritate, sunt
provocate de defecte tranzitorii.
Tabelul 1.
Efectele iradierii cu ioni grei [KGT89]
Benchmark
Quicksort

permanent
62%

Control flux
temporar
8%

Control

Date

Altele

8%

4%

2%

latent
16%

Defectele tranzitorii din microprocesoare afecteaz mai cu seam controlul fluxului de


date i instruciuni. Din aceste raiuni, operarea tolerant a defectelor n sistemele
digitale impune tehnici de abordare concurente ale erorilor.
Clasificarea erorilor din sistemele cu microprocesoare

Investigarea tipurilor de erori ca i a efectelor acestora n sistemele cu


microprocesoare constituie un curent constant de cercetare. Pe msur ce crete
complexitatea i viteza dispozitivelor digitale se dovedete necesar considerarea a
noi defecte i tipuri de erori. n marea majoritate a cazurilor, complexitatea
dispozitivelor sau incompleta cunoatere a structurii interne ori chiar a operrii
constituie obstacole n constituirea modelelor defectelor la nivel cobort (nivelul
porilor ori nivelul transferului la nivel de registre).
Tabelul 2.
Efectele injectrii defectelor hardware asupra magistralei sistemului

[STDM82]
[MQS90]

Execuie
invalid
program
63%

Adresa
codului
operaiei
59%
45%

Adres
citire
invalid
44%

Adres
memorie
invalid
56%
72%

Cod
operaie
inexistent
37%
1%

Adres
scriere
invalid
19%
9%

Memorie
inexistent
8%

Astfel, este dificil de stabilit o estimare analitic a consecinelor defectelor de nivel


inferior asupra comportamentului sistemelor, nivel superior. Toate consideraii sunt

Ion I. Bucur, note de curs


aplicabile, cu precdere, defectelor tranzitorii deoarece aceast clas de defecte nu a
dobndit o deplin caracterizare.
Atunci cnd se cunoate structura dispozitivului investigat se poate apela la tehnici
bazate pe simulare. Aceast abordare s-a dovedit deosebit fructuoas atunci cnd s-a
aplicat n faza de proiectare a dispozitivelor digitale. n faza prototipului
dispozitivului respectiv cele mai frecvente evaluri au la baz tehnici de injectare a
defectelor. O alt surs de analize sunt fiierele de erori, log-urile de sistem, din faza
operaional a dispozitivelor digitale.
Tabelul 3.
Efectele simulrii injectrii defectelor n procesoarele RISC [ORG92].

Efecte

Erori
controlul
fluxului
33%

Erori
Date

Alte
erori

Erori
magistrale

Erori
adresare

Erori
de baz

60%

7%

28%

8%

37%

Cteva din rezultatele cunoscute ale cercetrilor asupra erorilor din microprocesoare
sunt prezentate n tabelele 1, 2 i 3. Sunt considerate erorile relativ uor de detectat
din microprocesoare.
Tehnicile ntrebuinate sunt, ntre altele, simularea [ORG92], injectarea defectelor
prin iradiere cu ioni grei [KGT89], disturbaiile de putere i modificarea semnalelor
de pe magistralele sistemelor [MKS90], [STDM82].
Cel mai important rezultat al acestor studii este faptul c defectele tranzitorii i
intermitente constituie principala cauz a defectrii sistemelor digitale. Se estimeaz
c aceste categorii de defecte apar cu o frecven de 10 pn la de 30 de ori mai mare
dect defectele permanente. Aceasta conduce la concluzia c 90% din defectele
calculatoarelor sunt tranzitorii i intermitente [SL81].
Defectele tranzitorii pot fi cauzate n primul rnd de zgomotul sursei de alimentare
(variaii ale frecvenei de comutaie), interferene electro-magnetice (reele de
comunicaii fr fir i altele), ionizri ale razelor cosmice ori particule alfa din
materialele utilizate pentru ncapsularea circuitelor.
ntr-o mai mic msur, defectele intermitente, pot fi cauzate de erori ale proiectrii.
Printre acestea sunt menionate cteva deficiene tipice, cum ar fi:
Depirea numrului liniilor de intrare n anumite pori,
Circuitele funcionnd cu semnale marginale,
Oscilaiile circuitelor cu stri (oscilaii ntre strile active i cele inactive) etc.
O concluzie esenial a acestor studii a fost determinarea celor mai eficiente
mecanisme de detecie a erorilor.
Printre acestea, n afar de verificarea datelor, sunt:
o verificarea fluxului de comenzi (controlul),
o verificarea modului de adresare al memoriei i
o verificarea codurilor instruciunilor.
Este de reinut c, verificarea codurilor instruciunilor este eficient, mai cu seam, n
cazul n care nu sunt utilizate toate codurile posibile pentru codificarea instruciunilor
procesorului.

Sisteme Tolerante la Defecte


Tehnici de detecie concurent a erorilor

Aa cum s-a dovedit pe cale experimental, cea mai mare parte a defectelor sunt
defecte tranzitorii. Acest tip de defecte sunt dificil de evitat prin proiectare i prin
testare pe durata procesului de manufacturare.
Testele clasice planificate sistematic, n afara rulajului normal al unui microprocesor,
sunt consumatoare importante de timp i nu sunt capabile s detecteze defectele
tranzitorii. Sunt de preferat tehnici concurente on-line de detecie a erorilor [KK07].
Se dovedete c unica abordare pentru creterea dependabilitii microprocesoarelor
sunt tehnicile de toleran a defectelor. Deoarece dependabilitatea unui sistem este
deosebit de sensibil fa de defectele nedetectate ori impropriu tratate [Sos94]
aplicarea tehnicilor de detecie eficient a erorilor este de extrem interes.
ntruct defectele tranzitorii nu produc defecte permanente n sisteme, ansele de
recuperare sunt importante, cu att mai mult atunci cnd acoperirea erorilor este mare
iar latena este mic (evitndu-se rspndirea efectelor erorilor i compromiterea
recuperrii datelor).
Din punctul de vedere al nivelului la care se face verificarea, detectoarele concurente
de erori pot fi clasificate n trei mari clase:
Circuitul
Sistemul
Aplicaia
Cea mai simpl tehnic de acest tip mandateaz executarea oricrui program de dou
ori urmnd ca utilizarea rezultatelor s fie condiionat de congruena acestora.
Aceast abordare este, adesea, numit redundana temporal i are drept urmare
direct reducerea cu 50% a performanei sistemului de calcul. Tehnica aceasta nu
impune detectarea erorii.
Memoria
Magistrala
de date

Procesorul
principal

Procesorul de
monitorizare

Magistrala
de adrese

Figura 1. Detecia erorilor prin utilizarea unui procesor


de monitorizare.

Dar, dac este implementabil un mecanism care s detecteze erorile ce pot s apar pe
durata execuiei unei instruciuni, atunci instruciunea respectiv trebuie re-executat,
preferabil dup un anumit timp care s permit dispariia defectului tranzitoriu.
O astfel de abordare care vizeaz doar re-execuia unei singure instruciuni, la un
anumit moment, are un impact mult mai mic asupra performanei, comparativ cu reexecuia n ntregime a programului.
Au fost dezvoltate i alte tehnici, care implic costuri mici, pentru tratarea concurent
a erorilor.

Ion I. Bucur, note de curs


n acest sens s-a introdus un procesor simplu destinat s monitorizeze fluxul de date i
comenzi la nivelul procesorului principal. Un astfel de procesor de monitorizare mai
este numit i procesor de veghe (watchdog).
Procesorul de monitorizare

Un astfel de procesor realizeaz concurent, la nivelul sistemului, detecia erorilor prin


monitorizarea magistralelor sistemului care conecteaz procesorul i memoria (aa
cum se poate vedea n figura 1). Aceast monitorizare se focalizeaz, n primul rnd,
asupra verificrii controlului fluxului de date. Se verific, astfel, faptul c procesorul
principal execut blocuri corecte de cod, n ordinea corespunztoare.
Monitorizarea poate detecta erori hardware dar i erori software care s aib drept
urmare fie execuia unor instruciuni eronate, fie a unor ci necorespunztoare prin
aplicaii.
V1

V2

V3

V4

V5

(a)
accept semntura(V1);
fie
accept semntura (V2);
fie
accept semntura (V3);
ori
accept semntura (V4);
accept semntura (V5);
ori
accept semntura (V5);

accept i verific semntura (V1);


fie
accept i verific semntura (V2);
fie
accept i verific semntura (V3);
ori
accept i verific semntura (V4);
accept i verific semntura (V5);
ori
accept i verific semntura (V5);

(b)

(c)

Figura 2.
(a) Graful fluxului de control.
(b) Verificarea fluxului de control.
(c) Verificarea nodurilor i a fluxului de control.

Sisteme Tolerante la Defecte


Pentru realizarea monitorizrii fluxului de control, este necesar ca procesorul s
primeasc informaia care trebuie verificat. Aceast informaie faciliteaz verificarea
n timp real a corectitudinii execuiei programelor prin procesorul principal.
Informaia care este furnizat procesorului de monitorizare (Figura 2.(a)), este dedus
din Graful Fluxului de Control, denumire abreviat GFC. Acest graf reprezint fluxul
de control ce trebuie s fie executat de procesorul principal.
Un nod din acest graf reprezint un bloc compact de instruciuni, fr ramificaii, din
secvena de calcul. ntr-un astfel de bloc nu exist instruciuni de salt spre instruciuni
din bloc ori spre alte instruciuni din afara blocului i nici nu exist alte salturi din
program care s ajung la o instruciune din blocul considerat.
O ramificaie reprezint un flux de control permis, corespunznd adesea unei
instruciuni de salt. Etichetele din graf, numite semnturi, sunt atribuite nodurilor din
GFC i sunt stocate n procesorul de monitorizare mpreun cu GFC.
Pe durata execuiei aplicaiei, semnturile nodurilor curent aflate n execuie sunt
trimise procesorului de monitorizare de la procesorul principal. n aceast manier,
procesorul de monitorizare poate verifica validitatea cii curente din GFC
corespunztor.
Programul executat de monitorul de monitorizare pentru GFC din figura 2.(a) este cel
din figura 2.(b). Acest program de verificare va detecta orice cale invalid din
execuia programului, aa cum ar fi calea {V1, V3}, spre exemplu. Dar, orice eroare
dintr-un nod (din secvena corespunztoare nodului) nu va putea fi identificat, prin
acest sistem de monitorizare.
n vederea creterii rezoluiei procesorului de monitorizare ca s se poat detecta i
erorile instruciunilor individuale se pot utiliza semnturi calculate n locul
semnturilor atribuite. Semntura unui nod dat poate fi determinat prin sumarea
(modulo 2) a tuturor instruciunilor din nod prin orice alt sum de control, ori cod
similar.
Ca i n cazul precedent, semnturile sunt stocate n procesorul de monitorizare i
sunt, apoi comparate cu semnturile determinate pe durata execuiei programului de
procesorul de monitorizare. Programul care va fi executat de procesorul de
monitorizare pentru GFC din figura 2.(a) cu semnturile calculate va fi cel din figura
2.(c).
Funcionalitatea procesorului de monitorizare poate fi, n principiu, extins s acopere
o larg mulime de erori ale datelor prin includerea unor aseriuni n programul
executat de procesorul de monitorizare.
Aseriunile sunt teste de rezonabilitate care verific relaiile predeterminate dintre
variabilele din program i sunt, n acest sens, o generalizare a testelor de acceptan.
Aceste aseriuni le introduce programatorul n program i sunt mai degrab o parte a
software-ului de aplicaie.
O aseriune, ca o entitate care servete pentru verificarea corectitudinii execuiei unui
program, este o relaie invariant ntre variabilele programului. Aseriunea este

Ion I. Bucur, note de curs


inserat, de programator, n diverse puncte din program semnificnd intenia acestuia
de a-i asocia valoarea de adevr n raport cu variabilele asociate respectivei aseriuni.
Aseriunile pot fi definite n baza specificaiilor ori n raport cu anumite proprieti ale
algoritmului.
Utilizarea aseriunilor pentru detectarea defectelor din hardware ori din software a fost
propus n [And79] i n [MMA84], spre exemplu.
Eficiena utilizrii aseriunilor a fost dovedit prin msurtori [AB81]. Anumite
proiecte propuse s utilizeze aseriunile sunt sofisticate i au un grad nalt de
complexitate, deoarece s-a intenionat nu doar detectarea erorilor dar i recuperarea
ultimei stri verificate [LS84].
Creterea performanei prin verificarea aseriunilor pe procesorul de monitorizare
poate fi ntructva diminuat din cauza transferurilor valorilor relevante pentru
aplicaie de la procesorul principal spre procesorul de monitorizare. Aceste transferuri
pot fi, uneori foarte frecvente.
Mai mult, procesorul de monitorizare, prin introducerea aseriunilor, devine mai
complicat deoarece acesta trebuie s aib capacitatea s execute instruciuni aritmetice
i logice, care pn n acest punct nu erau necesare.
Exist i soluii ingenioase care reuesc s in la un nivel rezonabil efortul de calcul
al procesorului de monitorizare n cazul aseriunilor. Codul aseriunilor este depus n
memoria local a procesorului de monitorizare ca o bibliotec de funcii. Dac
procesorul de monitorizare verific aplicaiile n care fluxul de date este cunoscut i
invariant atunci, procesorul de monitorizare poate s capteze datele necesare prin
supravegherea magistralei de date a procesorului verificat. Astfel de metode au fost
propuse pentru comutarea telefoanelor i pentru sistemele de control a zborurilor.
n sistemele de uz general transferul datelor poate fi organizat printr-o memorie
partajat ori printr-o coad de mesaje. Prima abordare necesit tehnici de sincronizare
mai complicate. naintea execuiei programului acesta este modificat. Expresia
aseriunii este nlocuit printr-o singur instruciune care transfer valorile
argumentelor aseriunii i identificatorul funciei de verificare (funcia aseriunii)
procesorului de monitorizare.
Codul aseriunii este descrcat ntr-o memorie local a procesorului de monitorizare.
Pe durata execuiei programului, procesorul de monitorizare recepioneaz datele i
execut funcia cerut. Dac instruciunea logic reprezentat prin funcia aseriunii
este fals atunci se semnaleaz o eroare.
Este posibil evitarea utilizrii aseriunilor prin aplicarea unor tehnici superioare de
detecie a erorilor (cum ar fi codurile evoluate de paritate etc.) implementate la nivelul
procesorului de monitorizare.
Prin introducerea procesorului de monitorizare s-a introdus un bloc de circuite de
verificare care este independent de circuitele verificate sunt evitate astfel, erorile
comune ori corelate dintre cele dou blocuri. Aceasta este o trstur esenial a
utilizrii procesorului de monitorizare.

Sisteme Tolerante la Defecte


O protecie similar poate fi introdus n structurile duplex prin utilizarea diversitii
tehnologice utilizarea unor procesoare manufacturate distinct, provenind de la
productori diferii.
Separarea, diferenierea, dintre procesorul de monitorizare i procesorul principal
devine tot mai dificil de realizat n tendina actual a microprocesoarelor de nivel
nalt, n care simpla monitorizare a magistralei procesor - memorie este insuficient ca
s se determine care instruciuni vor fi eventual executate i care au fost pregtite
speculativ i vor fi pierdute, avortate.
Suportul procesrii simultane a mai multor fire crete complexitatea proiectrii
procesorului de monitorizare.
Procesarea multi-fir pentru tolerana defectelor

Procesoarele actuale de vrf realizeaz performane superioare att prin exploatarea


procesrii n band de asamblare ct i prin paralelism. Tehnologiile nanometrice de
realizarea a circuitelor digitale faciliteaz mult paralelismul prin existena unor uniti
funcionale multiple ceea ce face posibil execuia suprapus a ct mai multor
instruciuni este posibil.
Din cauza datelor i a dependenelor de control, cea mai mare parte a aplicaiilor au
limite severe asupra paralelismului care poate fi iniiat n fiecare fir de execuie. Studii
efectuate asupra unor colecii de programe etalon (benchmark-uri) au artat c n
medie se pot suprapune doar aproximativ 1,5 instruciuni.
Prin prisma acestui rezultat, cea mai mare a timpului, marea majoritate a unitilor
funcionale vor rmne n ateptare, fiind ne-utilizate.
Un salt calitativ important prin comparaie cu paralelismul este introducerea
simultaneitii procesrii multi-fir.
Elementul cheie al procesrii multi-fir const n execuia n acelai timp, pe durata
aceluiai impuls de ceas, a unor instruciuni aparinnd mai multor fire.
Arhitectura microprocesorului trebuie dezvoltat corespunztor pentru ca s poat
asigura suportul corespunztor. Un registru numrtor program este necesar pentru
fiecare dintre firele executate simultan n sistem.
Dac setul instruciunilor specific o arhitectur cu un set de k-registre fizice, atunci
execuia simultan a n fire va cere cel puin nk registre fizice (cte un set de registre
fizice pentru fiecare fir de execuie). Arhitecturile avansate au i registre care nu sunt
vizibile extern prin setul de instruciuni. Spre deosebire de registrele arhitecturale,
registrele interne sunt partajate de toate firele de execuie simultane care partajeaz de
asemenea i existena unei cozi comune.
Este necesar s se implementeze o politic corespunztoare pentru pregtirea i
pentru lansarea instruciunilor ca i pentru atribuirea registrelor interne i ale altor
resurse, astfel nct nici un fir s nu fie defavorizat.
Diferena dintre rularea unei aplicaii pe un multiprocesor cu n procesoare i pe un
microprocesor care ruleaz n fire const din modul n care sunt atribuite resursele.

Ion I. Bucur, note de curs


n cazul multiprocesoarelor, tradiionale, fiecare procesor ruleaz un fir independent
iar acel fir va avea acces doar la unitile funcionale i la registrele pe care le va
redenumi, asociate respectivului procesor.
n cazul sistemelor multi-fir exist un set de fire care au acces la o mulime de uniti
funcionale i care redenumesc registre. Utilizarea acestor entiti va depinde de
disponibilul paralelism din cadrul unui fir la un anumit moment. Aceasta situaie se
poate schimba n timp, deoarece cerinele de resurse din cadrul unui fir i nivelul de
paralelism inerent se modific n fiecare fir, simultan, de execuie.
Utilizarea proceselor de execuie multi-fir n scopul deteciei defectelor deschide
oportuniti de implementare a unor faciliti de toleran la defecte.
Sfera de
replicare

Copia
primar
Compararea
ieirilor
Copia
secundar

Figura 3. Sfera de replicare a celor


dou fire de execuie

n acest scop, pentru fiecare aplicaie se deschid dou fire independente de execuie.
Aceste fire execut acelai cod i se are n vedere s primeasc aceleai intrri.
Dac operarea decurge corect atunci aceste fire produc aceleai ieiri. O divergen a
ieirilor denot un defect i se impun msurile de recuperare corespunztoare.
Ideea de baz este furnizarea aceluiai nivel de protecie, mpotriva defectelor
tranzitorii, ce poate fi oferit ntr-o abordare tradiional care ar rula, n mod
independent, dou copii ale aceleiai aplicaii.
Pentru micorarea penalizrii cauzate prin re-execuie, a doua execuie a aplicaiei
urmeaz ntotdeauna prima execuie. Cele dou execuii se vor numi copia primar i
respectiv copia secundar a aplicaiei. Avantajul acestei abordri const n faptul c se
poate transmite informaie de la copia primar, spre copia secundar pentru creterea
vitezei de rulare a secundarei dar i pentru micorarea consumului de resurse al
acesteia.
Pentru cele dou fire de execuie independente dar identice, ca aplicaie, se vor aloca
dou seturi distincte de componente hardware.
Se vor aloca dou seturi distincte de registre arhitecturale, astfel nct un defect dintrun registru utilizat ntr-un fir de execuie nu avea nici un impact asupra execuiei
celuilalt fir.

Sisteme Tolerante la Defecte


Aceste considerente conduc la introducerea unei sfere de replicare. Unitile replicate
pentru cele dou fire de execuie se spune c aparin acestei sfere, iar cele care nu sunt
replicate sunt exterioare acestei sfere (Figura 3).
Fluxul de date traverseaz suprafaa acestei sfere de replicare. Entitile replicate sunt
stabilite n funcie de costuri i de suprasarcina pe care acestea le implic dar i n
raport cu eficiena implicat.
Toate elementele ce nu sunt cuprinse n sfera de replicare dar ar putea fi inta unor
poteniale erori tranzitorii pot fi protejate prin alte mijloace, cum ar fi codurile
redundante auto-detectoare (auto-corectoare) etc.
Bibliografie

[AB81]

D.M. Andrews and J.P. Benson. An automated program testing


methodology and its implementation. In Proc. 5th Int. Conf. Software
Eng., paginile 254-261, 1981.
[And79]
D.M. Andrews. Using executable assertions for testing and fault
tolerance. In Proc. 9th Int. Symposium on Fault Tolerant Computing,
paginile 102-105, 1979.
[KGT89]
J. Karlsson, U. Gunneflo, and J. Torin. The effect of heavy-ion induced
single event upsets in the mc6890e microprocessor. In Fault Tolerant
Computing Systems, volume 214 of Informatik Fachberichte, paginile
296-307. Springer Verlag, Berlin, 1989.
[KK07]
I. Koren, and C.M. Krishna. Fault-tolerant Systems, Elsevier Morgan
Kaufmann, 2007.
[LS84]
Y.H. Lee and K.G. Shin. Design and evaluation of a fault tolerant
multiprocessor using hardware recovery blocks. IEEE Trans. on Comp.,
33:113-124, February 1984.
[MEM85] A. Mahmood, A. Ersoz, and E.J. McCluskey. Concurrent system-level
error detection using a watchdog processor. In Proc. 15th Int.
Symposium on Fault Tolerant Computing, paginile 145-152, 1985.
[MM88]
A. Mahmood, and E. J. McCluskey. Concurrent error detection using
watchdog processors a survey. IEEE Trans. On Comp., 37(2):160-174,
1988.
[MMA84] A. Mahmood, E. J. McCluskey, and D.M. Andrews. Writing executable
assertions to test flight software. In Conf. rec. 18th Annual Asilomar
Conf. Circuits and System Conf., paginile 262-266, 1984.
[MQS90]
H. Madeira, G. Quadros, and J.G. Silva. Experimental evaluation of a set
of simple error detection mechanism. Microprocessing and
Microprogramming, 30:315-520, 1990.
[SL81]
D. P. Siewiorek and L. K. Lai. Testing of digital systems. Proceedings
of the IEEE, 69:1321-1333, October 1981.
[Sos94]
J. Sosnowski. Transient fault tolerance in digital systems. IEEE Micro,
paginile 24-35, February 1994.
[STDM82] M.E. Schmid, R.L. Trapp, A.E. Davidoff, and G.M. Mason. Upset
exposure by means of abstraction verification. In proc. 12th Int.
Symposium on Fault Tolerant Computing, paginile 237-244, 1982.

Platformdeelearningicurriculecontent
pentrunvmntulsuperiortehnic

SistemeTolerantelaDefecte

24.Retelesisistemedistribuitetoleranteladefecte

RETELE SI SISTEME DISTRIBUITE TOLERANTE LA DEFECTE

Heartbeats

Heartbeats reprezint o abordare comun a detectrii mal-funcionrii proceselor din


diverse noduri ale unui calcul distribuit.
Periodic, o entitate din reea care monitorizeaz, trimite un anumit mesaj (numit a
heartbeat, ce se poate interpreta ca nsemnnd o btaie de inim, n traducere liber)
unui anumit nod ori unui anumit proces monitorizat i ateapt o anumit replic.
Dac nodul monitorizat nu rspunde ntr-un interval de timp prestabilit, acesta este
declarat nefuncional i se iniiaz un proces corespunztor de recuperare.
Durata intervalului de timp este, eventual, pre-negociat ori adaptat volumului de
trafic din reea, dar i strii de ncrcare a nodurilor etc.
n funcie de natura aplicaiei monitorizate acest procedeu poate fi mai laborios.
Aplicaiile dezvoltate multi-fir au un fir de execuie dedicat rspunsului la heartbeat.
Pe de-alt parte, dac unul sau mai multe dintre firele aplicaiei monitorizate nu
progreseaz, sau sunt blocate, firul care rspunde monitorizrii trebuie s aib acces la
starea proceselor dedicate sarcinii respective.
Riscul este s fie considerat procesul monitorizat ca fiind blocat i re-iniiat ceea ce
poate constitui o situaie eventual ciclic, posibil nedorit, chiar foarte grav ntr-un
sistem n timp real etc.
Conceptul de baz n redundana temporal este repetarea calculului de dou ori de
mai multe ori cu compararea rezultatelor pentru a detecta apariia unor posibile
deosebiri.
Dac se detecteaz o deosebire, calculele pot fi re-executate pentru a stabili dac
deosebirea continu s fie prezent ori dispare.
Aceste abordri sunt utile pentru detectarea erorilor datorate unor defecte tranzitorii
dar sunt mai puin eficiente n raport cu erorile care provin din defecte permanente din
sistem.
O alt metod de redundan temporal, de data aceasta pentru tratarea defectelor
permanente, vizeaz modificarea manierei n care se execut calculele aritmetice
atunci cnd are loc repetarea acestora.
O soluie posibil pune n valoare o logic combinaional auto-dual (pentru calcul
aritmetic binar).

Astfel, se execut o anumit funcie aritmetic corespunztor unui set de operanzi


ntr-o prim etap i re-execut aceeai funcie aritmetic cu intrrile complementate
la cea de-a doua execuie.
Rezultatul celui de-al doilea calcul ar trebui s fie complementul primului rezultat
obinut. Dac al doilea rezultat al calculului aritmetic nu este complementarul
primului, aceasta constituie detecia unei erori.
Abordarea urmtoare utilizeaz o reefectuare a calculului cu operanzii deplasai spre
stnga i este aplicabil unor uniti aritmetico-logice cu lungime suficient a
registrelor. n prima etap se execut calculul normal al operanzilor. n a doua etap
operanzii sunt deplasai spre stnga cu k bii (multiplicai cu 2k), iar rezultatul astfel
obinut va fi corectat n registrul acumulator. Adic acesta va fi deplasat spre dreapta
tot cu k bii iar rezultatul se va compara cu cel din calculul precedent.
Timerele watchdog

Timerele watchdog sunt o categorie important de ntreruperi n orice sistem de


calcul. Atunci cnd se starteaz un anumit proces, pentru care exist o evaluare
acoperitoare a timpului de execuie, se declaneaz un astfel de timer. Procesul
supravegheat, la ncheierea sa trebuie s blocheze declanarea timerului nainte ca
acesta s expire; altminteri procesul este considerat ca fiind defect.
Un avantaj important al acestei metode const n faptul c nu utilizeaz un model
anume al defectului. Printre dezavantaje se poate cita o limitare, cumva, a acestei
metode. Astfel, daca procesul supravegheat genereaz o eroare, cu mult naintea
declanrii timerului, timerul va fi resetat prin mecanisme de sistem i vor trebui
declanate rutine corespunztoare care sa investigheze cauzele generrii erorii.

Sistemele Tolerante la Defecte


Modelele Markov n Modelarea Sistemelor cu Reparare

Modelele Markov sunt utilizate n sistemele complexe, presupuse ca avnd viteze de


defectare constante, dar pentru care abordarea prin argumente combinatorice este
ineficient n analiza fiabilitii respectivelor sisteme.
Modelele Markov ofer un tratament structural pentru determinarea fiabilitii
sistemelor care conin procese de reparare i faciliti de acoperire a erorilor.
Un lan Markov este un tip special de proces stohastic.
Un proces stohastic X(t), n general, este un numr infinit de variabile aleatoare
indexate prin timpul t.
Se consider un proces stohastic X(t) care ia valori dintr-o mulime (numit spaiul
strilor) de entiti discrete. Se va utiliza pentru spaiul strilor o submulime a
numerelor ntregi {0, 1, 2, }.
Procesul stohastic X(t) este numit Markov dac:
Prob{ X(tn) = j | X(t0) = i0, X(t1) = i1, , X(tn-1) = i n-1 } =
Prob{ X(tn) = j | X(tn-1) = i n-1 },
pentru fiecare t0 < t1< < tn-1 < tn .
Dac X(t) = i, pentru un anumit t i i, se spune c lanul este n starea i la momentul t.
n cele ce urmeaz se vor considera lanuri Markov cu stri discrete pentru care timpul
este real i pozitiv (0 t < ), iar X(t) {0, 1, 2, }.
Proprietatea Markov nseamn c pentru determinarea traiectoriei viitoare a lanului
(valorile viitoare X(t) ) este suficient cunoaterea strii prezente.
Independena strii viitoare a lanului Markov de totalitatea istoriei sale anterioare este
deosebit de important pentru analiza proceselor stohastice.
Comportamentul probabilistic al unui lan Markov are o descriere simpl. Odat ce
lanul Markov a ajuns ntr-o stare oarecare i, acesta va rmne n aceast stare pentru
un timp care are distribuie exponenial cu parametrul i.
Aceasta implic o vitez constant i a prsirii strii i.
Probabilitatea ca, atunci cnd lanul Markov prsete starea i, s ajung n starea j
(cu i j) se noteaz prin pij ( j i pij = 1 ).

Viteza de tranziie din starea i n starea j este:

ij = piji ( j i ij = i ).
Se noteaz, n general, prin Pi(t) probabilitatea ca procesul s fie n starea i la
momentul t, dat fiind startarea acestuia din starea i0 la momentul t = 0 .
1

Ion I. BUCUR, note de curs

Pentru un anumit moment de timp t i pentru o stare dat i i pentru un foarte scurt
interval de timp t, lanul va fi n starea i la momentul t + t, ntr-unul din
urmtoarele cazuri:
1. Lanul a fost n starea i la momentul t i nu a tranzitat ntr-o alt stare pe durata
intervalului de timp t.
Acest eveniment are probabilitatea Pi(t)(1 - it) la care se adaug, posibil,
termeni n t2.
2. Lanul a fost n starea j la momentul t (j i) i a tranzitat din starea j n starea
i pe durata intervalului de timp t.
Acest eveniment are probabilitatea
Pj(t)jit la care se adaug, posibil,
termeni n t2.
Probabilitatea efecturii mai multor tranziii pe durata intervalului de timp t este
neglijabil (este de ordinul t2) dac intervalul de timp t este suficient de mic.
Astfel, pentru un interval scurt de timp t,
Pi(t + t) Pi(t)(1 - it) +

P (t )
i j

ji

t .

Aceast aproximaie devine mai precis atunci cnd intervalul de timp considerat t
tinde spre zero, t 0 i rezult:

dPi (t )
= i Pi (t ) + ij Pj (t ) ,
dt
j i

Deoarece

j i

ij = i , relaia anterioar se rescrie astfel:


dPi (t )
= ij Pi (t ) + ij Pj (t )
dt
j i
j i

Acest set de ecuaii difereniale (pentru i = 0, 1, 2, )poate fi soluionat utiliznd


condiiile Pi0 = 1 i Pj(0) = 0 pentru j i0 (deoarece i0 este starea iniial a lanului

Markov.

Sistemele Tolerante la Defecte

Ambele
funcionale

1 funcional
1 defect

(1-c)

0
Sistemul
este defect

Figura 1. Modelul Markov al unui sistem duplex cu un procesor activ i unul n


rezerv.

Se consider, spre exemplu, un sistem duplex care un singur procesor active i un


singur procesor de rezerv, n ateptare. Procesorul de rezerv este conectat numai
atunci cnd s-a detectat o eroare n procesorul activ.
Fie viteza, fix, de defectare a unui procesor atunci cnd acesta este activ i fie c
factorul de acoperire. Modelul Markov al acestui sistem este prezentat n figura 1.
Deoarece ntregii atribuii diferitelor stri sunt, n general, arbitrari acetia pot fi
asociai unei semnificaii pentru sistemul modelat.
Starea reprezint numrul de procesoare funcionale (0, 1, sau 2 procesoare
funcionale - n starea iniial fiind dou procesoare funcionale).
Ecuaiile difereniale care descriu acest lan Markov sunt:
dP2 (t )
= P2 (t )
dt
dP1 (t )
= cP2 (t ) P1 (t )
dt
dP0 (t )
= (1 c) P2 (t ) + P1 (t )
dt

(1)

Soluionarea sistemului (1) cu condiiile iniiale P2(0) =1, P1(0) = P0(0) = 0, conduce
la expresiile probabilitilor celor trei stri:
P2 (t ) = e t ,
P1 (t ) = c te t ,
P0 (t ) = 1 P2 (t ) P1 (t ).

(2)

Ion I. BUCUR, note de curs

Fiabilitatea sistemului duplex considerat are expresia:


Rduplex (t ) = 1 P0 (t ),
Rduplex (t ) = P2 (t ) + P1 (t ),

(3)

Rduplex (t ) = e t + c e t .

Un alt sistem duplex care este imediat analizabil prin modelul lanurilor Markov este
cel care are o vitez constant de defectare dar i o vitez constant de reparaie .
Modelul Markov al acestui sistem este prezentat n figura 2.
2

Ambele
funcionale

1 funcional
1 defect

Sistemul
este defect

Figura 2. Modelul Markov al unui sistem duplex cu reparaie.

Similar cazului anterior starea din acest lan Markov este reprezentat prin numrul de
procesoare funcionale.
Ecuaiile difereniale care descriu acest lan Markov sunt descrise prin sistemul (4):
dP2 (t )
= 2 P2 (t ) + P1 (t )
dt
dP1 (t )
= 2 P2 (t ) + 2 P0 (t ) ( + ) P1 (t )
dt
dP0 (t )
= P2 (t ) 2 P0 (t )
dt

(4)

Soluia sistemului (4) cu condiiile iniiale P2(0) = 1, P1(0) = P0(0) = 0, arat astfel:
P2 (t ) =

2
2
2
( + )t
+
e
+
e2( + )t ,
2
2
2
( + ) ( + )
( + )

2
2 ( ) ( + )t
2 2
+
e
+
e2( + )t ,
( + ) 2 ( + ) 2
( + ) 2
P0 (t ) = 1 P1 (t ) P2 (t ).
P1 (t ) =

Se poate remarca faptul c s-au determinat doar expresiile pentru P1(t) i P2(t).

(5)

Sistemele Tolerante la Defecte


Prin utilizarea condiiei de nsumare a celor trei probabiliti s-a determinat i cea de-a
treia probabilitate (P0(t)). Prin aceast metod se reduce cu o unitate numrul de
ecuaii difereniale care trebuiesc rezolvate.
Este de reinut faptul c sistemul acesta nu se defecteaz complet niciodat.
Redevine operaional dup ce a stat un timp n starea 0, i dup ce s-a reparat revine n
funciune.
Pentru sistemele cu reparare calculul disponibilitii este mai semnificativ, mai
important, dect calculul fiabilitii.
Disponibilitatea sau probabilitatea ca sistemul s fie operaional la momentul t este:
A(t) = P1(t) + P2(t)

(6)

Deoarece n cele mai multe din cazuri procesoarele sunt reparate atunci cnd s-au
defectat amndou, disponibilitatea pe termen lung a sistemului duplex este mult mai
relevant dect fiabilitatea aceluiai sistem.
Pentru calculul acesteia trebuie determinate P2(), P1() i P0().
Acestea probabiliti pot fi obinute prin trecerea la limit a variabilei t n expresiile
corespunztoare sau prin anularea tuturor derivatelor din sistemul (5) i soluionnd
sistemul de ecuaii rezultat.
A = P2 () + P1 () =

2
2
,
+
2
( + ) ( + ) 2

( + )
2
A=
1
.
=

( + ) 2
( + ) 2

(7)

Platformdeelearningicurriculecontent
pentrunvmntulsuperiortehnic

SistemeTolerantelaDefecte

26.RedundanatemporalCheckpoint

REDUNDANA TEMPORAL (CHECKPOINT)

Multe dintre aplicaiile curente pot s se deruleze pe durate lungi de timp. n acest
sens se pot cita aplicaii mari consumatoare de timp ca fiind:
-

simulrile unor circuite complexe (microprocesoarele) naintea producerii


mtilor (sunt raportate durate de ordinul sptmnilor)
aplicaiile de proiectare i optimizare automat a circuitelor digitale
laborioase,
calcul financiar-bancar previzional etc.

Orice eroare semnalat i detectat, la un moment dat, poate declana reluarea unei
astfel de aplicaii cu masive implicaii asupra costurilor dar chiar i asupra
oportunitii relurii respectivei aplicaii.
Duratele lungi de calcul fac ntotdeauna ca probabilitile de apariie ale unor erori s
creasc, indiferent de cauzele care favorizeaz ori produc respectivele erori.
Un model analitic al unei astfel de situaii poate fi creionat astfel:

Rularea complet a programului dureaz T ore. Sistemul


este afectat de defecte tranzitorii cu o medie de l erori
ntr-o or.
Defectul este tranzitoriu dar tot volumul de calcul pn
n momentul apariiei defectului este iremediabil
pierdut.

STUDII DE CAZ

Se presupune c sistemul este afectat de defecte tranzitorii modelabile printr-un


proces Poisson cu viteza de defecte ntr-o unitate de timp.
Se consider c timpul de reluare a procesului de calcul al sistemului, urmare a unei
defectri aleatorii, este neglijabil.
Se noteaz prin E timpul mediu de execuie al proceselor de calcul, incluznd orice
timp al unor calcule pierdute ca urmare a apariiei erorilor tranzitorii.
Exist dou situaii:
- nu are loc nici o defectare a sistemului pe durata procesului de calcul dorit,
- exist cel puin o defectare a sistemului pe durata procesului de calcul dorit.
n primul caz durata execuiei procesului de calcul dorit este T.
Probabilitatea s nu apar nici un defect ntr-un interval de timp cu durata T este:
p = e T .
Astfel, durata medie a timpului de execuie a procesului de calcul fr defecte este de
forma:
(01)
Tmediu = Te t
1

Dar dac se consider i apariia unui defect tranzitoriu n intervalul de timp [0, T] la
momentul [0, T], atunci timpul mediu de execuie are expresia:
e T 1
E=
(02)

Se poate aprecia c media timpului de execuie este deosebit de sensibil cu T. n


adevr E crete exponenial cu T.
Penalizarea indus de procesul de apariie al unui defect tranzitoriu poate fi evaluat
prin expresia: E T.
Adic, timpul suplimentar impus prin pierderea unui volum de calcule la un moment
dat datorit defectului tranzitoriu.
Prin normalizarea acestei penalizri fa de durata nominal de execuie se obine
metrica adimensional a acestei penalizri:
e T 1
=
1
(03)
T
De remarcat faptul c penalizarea depinde numai de produsul T.
Produsul T reprezentnd c numrul mediu de defectri care va afecta procesorul pe
durata unei execuii.
Este evident c pentru valori mici ale numrului mediu de defectri penalizarea are
valori modeste dar dendat ce produsul T va lua valori mai mari, penalizarea
atinge valori mult mai importante.
Faptul c n urma apariiei unui defect tranzitoriu se pierde tot ceea ce s-a calculat
pn n acel moment devine foarte suprtor atunci cnd apariia defectului tranzitoriu
are loc ct mai aproape de ncheierea procesului de calcul.
O soluie este introducerea periodic a salvrii, undeva pe un mediu (eventual extern)
suficient de fiabil, a tuturor rezultatelor pariale ale calculelor de pn n acel moment.
Astfel nct, s se poat relua calculul pornind de la acestea, dac n viitor, naintea
unei altei salvri periodice reapare un defect tranzitoriu.
Salvarea la un moment dat a informaiilor cheie astfel nct s se poat relua calculul
pornind de la acele informaii, este un checkpoint.
Mediul de salvare al informaiei trebuie s fie nu numai fiabil dar s poate gzdui,
eventual, un volum suficient de mare de informaie cu costuri reduse. Nu sunt rare
situaiile n care informaia salvat periodic are volume de ordinul sutelor de megaoctei.
n aceste condiii sunt preferate discurile clasice ca mediu de salvare. Chiar i dac se
ntrerupe sursa de alimentare a acestora, nu se pierde informaia stocat, atta timp ct
nu este afectat mediul de stocare (suprafaa, n cazul discurilor clasice).

Sunt i situaii cnd memoria RAM, asigurat eventual i printr-o surs suplimentar
foarte stabil de alimentare electric (cum ar fi bateriile, spre exemplu), poate gzdui
astfel de checkpoint-uri.
O frecvent salvare a informaiilor necesare i suficiente pentru reluare procesului de
calcul poate induce o cretere a timpului de execuie, indiferent dac apar sau nu apar
defecte tranzitorii.
Aceast cretere a timpului de calcul, impus de procesul de salvare definete
suprasarcina indus de procesul de checkpoint-are.
Legat de procesul de checkpoint-are este de luat n consideraie i timpul de salvare al
informaiilor. Aceste timp este numit n literatur latena checkpoint-rii.
n cele mai multe dintre aplicaiile foarte simple suprasarcina i latena checkpointrii sunt aproape identice.
Dar, n cazul sistemelor mari care permit o suprapunere a operaiilor de salvare cu
execuia aplicaiei, latena poate fi substanial mai mare dect suprasarcina.
Latena checkpoint-rii depinde mult de volumul salvrilor.

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