01 - defectele si erorile_merged.pdf

69
Defectele şi Erorile Un circuit sumator se dovedeşte că are una din liniile sale de ieşire blocată permanent la valoarea 1, independent de valorile operanzilor săi. Această situaţie descrie doar un defect fizic, nu o eroare (încă). Defectul acesta va cauza o eroare atunci când sumatorul este utilizat iar rezultatul corect, pe linia de ieşire defectă, este zero (nicidecum 1). Timpul scurs între momentul apariţiei defectului fizic (este foarte greu de stabilit acest moment, oricum) şi momentul producerii erorii poartă numele de latenţa erorii. În literatură se apreciază că va fi mai dificil de detectat defectul fizic atunci când latenţa erorii este mai lungă. O lungă latenţă a defectului sugerează că sunt mai puţine cazuri care fac vizibil defectul fizic. O latenţă lungă poate fi independentă de arhitectura şi stilul de proiectare al maşinii 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 prevăzute să fie utilizate în regim de test – cum ar fi tehnicile scan design etc.). Un exemplu simplu ar putea fi o aplicaţie software care sumează de fiecare dată câteva numere întregi având lungime mică (întregi scurţi) şi toate pozitive. O eroare în bitul de semn care blochează acest bit în valoarea „0” poate fi extrem de dificil de detectat atâta vreme cât se va rula această aplicaţie (casa de marcat a unei prăvălii de cartier, spre exemplu). Sistemele de calcul care rulează aplicaţii de al căror rezultate depind acţiuni al căror risc poate fi extrem de grav sunt periodic supuse unor testări cu largă acoperire a unui spectru de defecte dinainte stabilite. Astfel de sisteme de calcul pot fi din domeniul aparaturii medicale, aplicaţiilor spaţiale, supravegherii reactoarelor nucleare etc. Aceste testări pot fi efectuate distinct de aplicaţiile curente (sesiuni dedicate) dar pot fi şi rulate concurent (în paralel cu sarcinile nominale prin facilităţi dedicate de felul celor grupate sub sintagma Built-In Self Testing BIST). Dispozitive dedicate stabilesc oportunitatea derulării desfăşurării unor sesiuni de teste, dinainte stocate, având durate suficient de scurte ca să nu fie perturbate activităţile 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 comparaţiei poate fi un element limitativ al sesiuni de teste – timpul este adeseori un factor critic în astfel de cazuri. O comparaţie dintre semnătura rezultatelor determinate în sesiune de test şi semnătura corespunzătoare funcţionării corecte, este în cele mai multe dintre cazuri preferată. Semnăturile, șiruri de valori binare, au lungimi semnificativ mai scurte decât rezultatele propriu-zise (vectorii binari) respective iar timpul de determinare al 1

Upload: alina-mirion

Post on 13-Sep-2015

51 views

Category:

Documents


3 download

TRANSCRIPT

  • 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

    1

  • 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.

    2

  • 3

    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.

    CALCULATORUL (Subsistem)

    Resursele de Calcul ale Sistemului (Hardware)

    OPERATORUL

    Intrri Feedback

    MEDIUL

    SISTEMUL

    SERVICII ALE SISTEMULUI

    INTERFAA SISTEM -

    CALCULATOR

    SERVICII ALE CALCULATORULUI

    OFERITE SISTEMULUI

    ALTE FACILITI

    ALE SISTEMULUI

    UTILIZATORUL SERVICII ALE SISTEMULUI

    Diagrama Sistem-Utilizator

    1

  • 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.

    1

  • 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.

    1

  • 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.

    1

  • 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

  • 2

    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 Sistemele telefonice, o Sistemele bancare, terminalele de tip bancomat (ATM), o Sistemele burselor de valori, o Educaia asistat de calculatoare: examinri, note, proiecte etc., o 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:

    1

  • 2

    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.

    1

  • 2

    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.

    1

  • 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:

    2

    t

    lim ( )t

    A A= . 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

    Durata (ani)

    Faza copilriei

    Faza final

    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.

    1

  • 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:

    2

    )

    1 2(L Q T V EC C = + (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 , unde s-a notat prin Ea energia de activare (n electron-voli) asociat tehnologiei, k este constanta lui Boltzmann (0,862510-4eV/K) iar prin T s-a notat temperatura (msurat n grade Kelvin).

    /aE kTe

    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.

    1 2,C C sunt factori de complexitate; sunt determinai funcie de numrul de pori dintr-un 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:

    ( )( ) ,dF tf tdt

    = 0

    ( ) ( )t

    F t f d = (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 0

    ( ) 1.f t dt

    = (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:

    ( )( )1 ( )

    f ttF t

    = (4)

    Deoarece ( ) ( )dR t f tdt

    = , relaia (4) devine:

    1 (( )( )

    dR tt )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 tdt

    = (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]):

    0

    [ ] ( )MTTF E T tf t dt

    = = (8)

    2

  • Substituind ( ) ( )dR t f tdt

    = rezult:

    00 0

    ( ) ( ) | ( ) ( )dR t

    0

    MTTF t dt tR t R t dt R t dtdt

    = = + = (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:

    0

    1tMTTF e dt

    = = . (11)

    3

  • 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

    Durata (ani)

    Faza copilriei

    Faza final

    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:

    1( ) tf t t e = (1)

    Corespunztor viteza de defectare este:

    1( )t t = (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.

    1

  • Fiabilitatea unei componente cu distribuie Weibull este:

    ( ) tR t e= (3)

    Iar timpul MTTF al unei componente este:

    1

    1

    (MTTF )

    = (4) n (4)

    1

    0

    ( ) x yx y e dy

    = este funcia Gamma. Aceast funcie este generalizarea funciei factorial, pentru numere reale, i are urmtoarele proprieti:

    (i) ( ) ( 1)x x = pentru valori x > 1; (5) (ii) (0) (1) 1; = = (6)

    (iii) ( ) ( 1)!n n = 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.

    2

  • 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:

    1

    ( ) ( )N

    si

    iR t R=

    = t (1)

    1

  • Presupunnd c modulul i are o vitez constant de defectare i, atunci ( ) itiR t e = , iar relaia (1) se rescrie astfel:

    ( ) StSR t e= (2)

    n relaia (2) s-a notat prin 1

    N

    S ii

    =

    = . 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:

    1S

    S

    MTTF = . 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):

    1

    1 (1 (N

    pi

    ))iR R t=

    = (3) Presupunnd c modul i are viteza de defectare i, atunci

    1

    1 (1 iN

    tp

    iR

    == )e

    1 2 3 )t + +

    (4)

    Fiabilitatea unui sistem paralel care const din trei module avnd vitezele constante de defectare 1, 2 i 3, spre exemplu, este exprimat prin relaia:

    3 2 3 3 11 2 1 2 ( ) ( ) (( )( ) t t tt t tpR t e e e e e e e + + += + + +

    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:

    1

    1Np

    kMTTF

    k== .

    2

  • 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. 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.

    A C E F

    B

    D

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

    1

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

    1

    ( ) ( )N

    s ii

    R t R=

    = t

    ))

    i paralele

    1

    1 (1 (N

    p ii

    R R t=

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

    Figura 2. Descompunerea diagramei din figura 1, n raport cu modulul C.

    A

    EF

    B

    D

    (a) Modulul C este nefuncional

    (b) Modulul C este funcional

    E F

    B

    D

    A

    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 s-ar putea aprecia la o prim privire.

    2

  • 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.

    Figura 3. Descompunerea diagramei din figura 2.b, n raport cu modulul E.

    (a) Modulul E este nefuncional

    (b) Modulul E este funcional

    F

    B

    D

    A

    F

    B

    D

    A

    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.

    3

  • 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:

    1 (1i)sistem caleaR R (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.

    4

  • 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:

    (1 )sistem iR Qcut (6) n relaia (6) s-a notat prin probabilitatea ca respectiva tietur i s fie defect. Referitor la figura 1, seturile minimale de tieturi ale diagramei de fiabilitate din aceast figur sunt:

    iQcut

    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)] (7) Dac RA = RB = RC = RD = RE = RF = R, atunci:

    Rsistem R5(24 60R + 62R2 33R3 + 9R4 R5).

    5

  • 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:

    _ _ ( ) ( )[1 ( )]N

    i i N iM din N N

    i MR t C R t R t

    == (1)

    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:

    _ _ ( ) (1 ) ( )[1 ( )]N

    cor i i N iM din N cor N

    i MR t q C R t R t

    == (2)

    ntr-un sistem inadecvat proiectat, factorul de defectare corelat poate domina probabilitatea defectrii globale.

    1

  • 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 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:

    33

    32

    ( ) ( ) ( )[1 ( )]i i iTMR voti

    R t R t C R t R t =

    = (3) Prin dezvoltarea binomului se obine o exprimare mai compact de forma:

    2 3( ) ( )(3 ( ) 2 ( ))TMR votR t R t R t R 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

    Modul

    Modul

    Figura 1. Structura unui sistem Triplu-Modul Redundant (TMR).

    2

  • 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:

    2 3 2 3

    0 0

    5(3 ( ) 2 ( )) (3 2 )6

    t tTMRMTTR R t R t dt e e dt

    = = = (5)

    Se poate uor aprecia faptul c:

    5 16TMR Simplex

    MTTF MTTF = < = 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 mal-funcionarea 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.

    3

  • 4

    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. Sistemul triplu-modular redundant implementat la nivelul unui sistem ntre procesoare i memorii, prezentat n figura 2 are o structur deosebit de interesant. n acest sistem toate comunicaiile n orice direcie dintre procesoarele triplicate i memoriile triplicate trec prin circuitele de vot majoritar. Aceast organizare a

    u1 V

    u1 V

    u1 V

    u V2

    u2 V

    u2 V

    u3 V

    u3 V

    u3 V

    u4 V

    u4 V

    u4 V

    Figura 1. Triplu-Modular Reduimplementat la nivelul subsiste

    ndant melor.

    Procesor V

    Procesor V

    Procesor V

    Memorie

    Memorie

    Memorie

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

    1

  • 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

    Modul Rezerv 2

    Modul Rezerv N

    .

    .

    .

    UnitateDetecErorilor

    i Reconfigur

    a iei

    rii

    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:

    1( )(1 [1 ( )] )Ndinamic udrR R t R t+= (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 (1 )c te . Fiabilitatea unitii de detecie i reconfigurare a fost notat prin Rudr(t), rezultnd expresia fiabilitii redundanei dinamice:

    (1 )( ) ( ) c tdinamic udrR t R t e = . (2)

    3

  • 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 Compara

    ie

    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:

    1( ) ( ) ( )(1 ( )[1 ( )] [1 ( )] )mhibrid vot recR t R t R t mR t R t 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.

    Primar 1 Unitatea de

    Reconfigurare V

    Primar N

    Rezerv 1

    Rezerv K

    Figura 1. Redundana hibrid.

    Semnale de dezacord

    Ieiri ale unitilor

    active

    1

  • 2

    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.

    Colector

    Modulul 1

    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.

    Modulul 2

    Modulul N

    Comparator

    Detector

    E12

    E(N-1)N

    F1 F2 FN

    Figura 1. Structura redundanei modulare cu filtrare.

    1

  • 2

    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.

    Comparator

    Modul 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:

    2( ) ( )( ( ) 2 ( )(1 ( )))duplex comparatorR t R t R t cR t 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:

    duplex1MTTF

    2c

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

    1

  • Platformdeelearningicurriculecontentpentrunvmntulsuperiortehnic

    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).

    1

  • 2

    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).

    1

  • 2

    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

    Modul

    Modul

    Modul

    Comparator

    Comparator

    Comparator Comutator

    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.

    1

  • Platformdeelearningicurriculecontentpentrunvmntulsuperiortehnic

    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 Control flux Control Date Altele

    permanent temporar latent

    62% 8% 16% 8% 4% 2% Quicksort 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 Execuie

    invalid program

    Adresa codului

    operaiei

    Adres memorie invalid

    Adres citire

    invalid

    Cod operaie

    Adres Memorie scriere inexistent

    inexistent invalid [STDM82] 63% 59% 56% 44% 37% 19% 8%

    [MQS90] 45% 72% 1% 9% Astfel, este dificil de stabilit o estimare analitic a consecinelor defectelor de nivel inferior asupra comportamentului sistemelor, nivel superior. Toate consideraii sunt

    1

  • 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]. Erori

    controlul fluxului

    Erori Date

    Alte erori

    Erori magistrale

    Erori adresare

    Erori de baz

    Efecte 33% 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.

    2

  • 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

    Magistrala de adrese

    Procesorul principal

    Procesorul de monitorizare

    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 re-execuia n ntregime a programului. Au fost dezvoltate i alte tehnici, care implic costuri mici, pentru tratarea concurent a erorilor.

    3

  • Ion I. Bucur, note de curs

    4

    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

    V3 V4

    V2

    V5

    (a)

    accept semntura(V1); fie accept semntura (V2); fie accept semntura (V3); ori

    accept semntura (V4); accept semntura (V5); ori accept semntura (V5);

    (b)

    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);

    (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

    5

  • 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.

    6

  • 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.

    7

  • Ion I. Bucur, note de curs

    n cazul multiprocesoarelor,