capitolul 7 fiabilitatea echipamentelor de … studenti/note de curs/ionescu gh/3... · fiabilitate...

28
CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE CALCUL 7.1. Introducere În acest capitol se prezint arhitectura echipamentelor de calcul dintr-un singur punct de vedere, i anume cel al fiabilitii. Prezentarea nu va fi exhaustiv i nici matematizat; se vor folosi mai ales exemple pentru a ilustra cum felurite consideraii despre fiabilitate influeneaz structura echipamentelor de calcul. Principalul subiect al teoriei fiabilitii const în construirea de echipamente cât mai fiabile din componente nefiabile. Dac un echipament ar funciona numai atunci când toate componentele sale ar fi funcionale, ar fi virtual imposibil de construit un echipament complex, pentru c fiabilitatea ar descrete exponenial cu numrul de componente din structura sa. Principala unealt folosit în construirea echipamentelor complexe este abstracia. Un echipament este construit pe nivele: nivelul B este alctuit din componente de nivel A. La rândul lor, componente de nivel B sunt folosite ca i cum ar fi atomice, indivizibile, pentru a construi nivelul C, i aa mai departe. Acest proces este inspirat din matematic, unde lemele i teoremele sunt folosite drept componente elementare în demonstraiile altor leme i teoreme. În acest capitol se prezint alctuirea unor nivele din arhitectura echipamentelor de calcul din punctul de vedere al fiabilitii pe care o ofer nivelelor superioare. Astfel putem distinge: Nivele care mresc fiabilitatea, construind un echipament mai fiabil din componente mai puin fiabile. Acest lucru este obinut folosind redundan în stocarea sau calculul informaiei. Acest tip de nivel este cel mai adesea folosit în construcia calculatoarelor contemporane. Nivele care expun lipsa de fiabilitate nivelelor superioare, lsându-le pe acestea s rezolve imperfeciunile. Nivelele superioare au adesea informaii suplimentare despre cerinele reale de fiabilitate ale echipamentului i ca atare pot construi fiabilitatea pe msura necesitilor.

Upload: dinhtruc

Post on 11-Sep-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

CAPITOLUL 7

FIABILITATEA ECHIPAMENTELOR DE CALCUL 7.1. Introducere

În acest capitol se prezint� arhitectura echipamentelor de calcul dintr-un singur punct de vedere, �i anume cel al fiabilit��ii. Prezentarea nu va fi exhaustiv� �i nici matematizat�; se vor folosi mai ales exemple pentru a ilustra cum felurite considera�ii despre fiabilitate influen�eaz� structura echipamentelor de calcul. Principalul subiect al teoriei fiabilit��ii const� în construirea de echipamente cât mai fiabile din componente nefiabile. Dac� un echipament ar func�iona numai atunci când toate componentele sale ar fi func�ionale, ar fi virtual imposibil de construit un echipament complex, pentru c� fiabilitatea ar descre�te exponen�ial cu num�rul de componente din structura sa. Principala unealt� folosit� în construirea echipamentelor complexe este abstrac�ia. Un echipament este construit pe nivele: nivelul B este alc�tuit din componente de nivel A. La rândul lor, componente de nivel B sunt folosite ca �i cum ar fi atomice, indivizibile, pentru a construi nivelul C, �i a�a mai departe. Acest proces este inspirat din matematic�, unde lemele �i teoremele sunt folosite drept componente elementare în demonstra�iile altor leme �i teoreme. În acest capitol se prezint� alc�tuirea unor nivele din arhitectura echipamentelor de calcul din punctul de vedere al fiabilit��ii pe care o ofer� nivelelor superioare. Astfel putem distinge:

� Nivele care m�resc fiabilitatea, construind un echipament mai fiabil din componente mai pu�in fiabile. Acest lucru este ob�inut folosind redundan�� în stocarea sau calculul informa�iei. Acest tip de nivel este cel mai adesea folosit în construc�ia calculatoarelor contemporane.

� Nivele care expun lipsa de fiabilitate nivelelor superioare, l�sându-le pe acestea s� rezolve imperfec�iunile. Nivelele superioare au adesea informa�ii suplimentare despre cerin�ele reale de fiabilitate ale echipamentului �i ca atare pot construi fiabilitatea pe m�sura necesit��ilor.

Page 2: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 154

� Anumite nivele parti�ioneaz� resursele în p�r�i oarecum independente, izolate una de alta. Parti�ionarea are drept efect izolarea defectelor (fault isolation), astfel încât o defec�iune într-o parte s� nu afecteze celelalte p�r�i. În calculatoare aceast� tehnic� este folosit� în sistemele de operare �i clustere-le de calculatoare.

La ora actual� circuitele integrate pe scar� larg� (Very Large Scale Integrated circuits, VLSI) au ajuns la nivele incredibile de fiabilitate. Ca atare arhitec�ii calculatoarelor privesc în general nivelul hardware ca fiind ”perfect” �i folosesc aceast� abstrac�ie foarte convenabil� în proiectarea nivelelor superioare. Anumite clase de aplica�ii au nevoie îns� de o fiabilitate foarte ridicat� (de exemplu, controlul de trafic aerian, supervizarea centralelor nucleare sau a echipamentelor militare). În astfel de misiuni critice proiectan�ii echipamentelor de calcul iau în considerare �i posibilitatea defectelor hardware, pe care le trateaz� în software.

Miniaturizarea continu� a circuitelor integrate va conduce la schimb�ri în aceast� stare de fapt, astfel încât trebuie s� ne a�tept�m ca în viitor circuitele s� con�in� din ce în ce mai multe defec�iuni �i s� fie din ce în ce mai sensibile la fluctua�ii termodinamice �i particule de înalt� energie din radia�ia cosmic� sau chiar din degradarea radioactiv� a circuitului integrat respectiv. Astfel de schimb�ri vor necesita o reproiectare complet� a arhitecturii echipamentelor de calcul.

Ingredientul cel mai folosit pentru a construi echipamente fiabile este redundan�a. În cazul echipamentelor de calcul putem distinge dou� genuri de redundan��, spa�ial� �i temporal�:

� Redundan�a spa�ial� folose�te mai multe componente decât strictul necesar pentru a implementa un anumit echipament de calcul. Resursele adi�ionale fac calcule suplimentare �i rezultatele sunt comparate între ele. În general, cu cât redundan�a unui echipament de calcul este mai mare, cu atât poate detecta sau tolera mai multe erori.

� Redundan�a temporal� const� în folosirea aceluia�i dispozitiv pentru a calcula acela�i lucru în mod repetat, dup� care rezultatele sunt comparate între ele.

Defectele ce afecteaz� componenta soft a unui echipament de calcul se pot clasifica în dou� mari categorii:

� Erori tranzitorii, care se manifest� printr-o func�ionare temporar eronat� a unei componente, dar nu prin defectarea ei definitiv�. În echipamentele de calcul contemporane, cea mai mare parte a erorilor sunt tranzitorii.

Page 3: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 155

� Erori permanente care se produc la un moment dat �i persist� pân� când echipamentul este reparat. În aceast� categorie includem �i defectele din faza de proiectare sau din fabrica�ie.

Rezult� c� redundan�a temporal� poate fi folosit� numai pentru a tolera defectele tranzitorii. Pentru a tolera efecte permanente trebuie s� avem o form� de redundan�� spa�ial�. 7.2. Proiectarea echipamentelor de calcul

Când proiect�m un echipament complex este foarte important s� ”echilibr�m” fiabilitatea p�r�ilor. De exemplu, dac� memoria unui echipament de calcul are o fiabilitate mult mai mare decât procesorul, atunci echipamentul se va defecta cel mai adesea cu probleme de procesor. Faptul c� memoria este de foarte bun� calitate nu ne ajut� cu nimic, dimpotriv� probabil c� am pl�tit un pre� mai mare pentru memorie decât ar fi fost strict necesar. În general, o component� este ”destul de bun�” dac� nu are cea mai mare probabilitate de defectare. În cazul analizei fiabilit��ii unui echipament trebuie s� socotim nu numai costul componentelor fiabile, ci �i costul între�inerii echipamentului în timpul misiunii sale (vezi figura 1.2). Dac� utiliz�m componente foarte fiabile pl�tim prea mult pentru construc�ia echipamentului, iar dac� utiliz�m componente cu fiabilitate prea redus�, ne va costa prea mult între�inerea echipamentului. Numai contextul poate dicta cât de fiabil trebuie s� fie un echipament: de exemplu, în aplica�iile critice descrise mai sus, costul ne-func�ion�rii echipamentului este uria�, a�a încât are sens s� investim în componente extrem de fiabile. Evitarea defectelor echipamentelor de calcul este o metodologie idealizat�, care presupune c� toate componentele sunt perfecte. Pentru c� hardware-ul actual are o calitate excep�ional�, nivelul software în calculatoarele obi�nuite adopt� o astfel de viziune idealizat�. Programatorii presupun c� echipamentul pe care se ruleaz� programele lor este lipsit de defec�iuni. Fiabilitatea excelent� a dispozitivelor hardware este ob�inut� printr-o combina�ie de tehnici, cum ar fi felurite forme de redundan��, proiectare �i fabrica�ie cu precizie foarte ridicat�, �i o faz� agresiv� de testare �i ”ardere” (burn-in). Empiric s-a observat c� echipamentele de calcul tind s� aib� o mortalitate care urm�re�te o curb� în form� de cad� de baie, echivalent� ratei

Page 4: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 156

mortalit��ii din studiile demografice. Echipamentele foarte tinere �i cele foarte uzate se stric� mult mai des decât echipamentele ”mature”. ”Burn-in” este o faz� de testare care folose�te componentele pân� devin mature �i în acest fel, componentele cu mortalitate infantil� ridicat� sunt eliminate în aceast� etap�. În plus fabrican�ii proiecteaz� �i testeaz� echipamentele de calcul în condi�ii mai nefavorabile decât cele specificate. De exemplu, pe acest fapt se bazeaz� cei care fac ”overclocking”: specifica�iile unui procesor indic� frecven�a de ceas la care acesta poate opera, îns� în mod frecvent un procesor cu specifica�ie de ceas de 1Ghz poate opera la 1.2Ghz, datorit� marginilor de toleran�� din fabrica�ie. Metoda evit�rii defectelor este cu adev�rat extrem�. Întrucât s-a constatat c� oricare dintre componente se poate defecta, se utilizeaz� proceduri de men�inere a echipamentului în func�ionare prin implementarea ”toleran�ei la defectare” (fault-tolerance). 7.2.1. Structuri tolerante la defect�ri O metod� foarte simpl�, dar scump�, de a tolera erori este de a multiplica fiecare component�. De exemplu, dac� duplic�m întreg echipamentul de calcul, apari�ia unui defect poate fi detectat� comparând rezultatele celor dou� echipamente cu structur� identic�. O alt� modalitate de a tolera defectele const� în utilizarea structurilor TMR (§ 4.3.1.1). În aceast� structur� trei module fac aceea�i opera�ie �i un modul de decizie (”voter”) alege rezultatul majoritar. Structura va avea performan�e net superioare unui singur modul, îns� cu un pre� considerabil mai ridicat. Întrucât voterul devine elementul ”slab” al structurii, exist� �i scheme în care echipamentul de votare este multiplicat, pentru ca decizia s� nu depind� de o singur� component�. Un astfel de echipament de votare este folosit în calculatoarele care controleaz� navetele spa�iale: echipamentul este compus din cinci calculatoare, din care patru fac acelea�i calcule �i al cincilea este folosit pentru opera�iuni ne-critice. Rezultatele celor patru calculatoare se duc pân� la echipamentele controlate (exemplu: motoare de propulsie), care calculeaz� local rezultatul votului. În plus, fiecare calculator compar� rezultatele cu celelalte trei, iar atunci când unul dintre ele d� rezultate diferite este scos din func�iune.

Page 5: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 157

Dac� dou� calculatoare se defecteaz�, echipamentul intr� într-un mod de func�ionare în care rezultatele sunt comparate �i recalculate atunci când difer�. Al cincilea calculator con�ine un echipament de control complet separat, dezvoltat de alt� companie, care intr� în func�iune când un bug identic este detectat în celelalte patru programe.

În continuare vor fi prezentate o serie de structuri de echipamente de calcul tolerante la defect�ri:

A) Procesorul IBM G5 din echipamentul S/390. În cazul acestui procesor se folose�te un tip de redundan�� hibrid�, care utilizeaz� redundan�a spa�ial� pentru a detecta erori tranzitorii �i redundan�a temporal� pentru a le remedia. Acest echipament este asem�n�tor cu modul de func�ionare cu dou� defec�iuni folosit de naveta spa�ial�, descris mai înainte.

Microprocesorul G5 con�ine dou� benzi de execu�ie identice, care sunt controlate de acela�i ceas. Toate instruc�iunile sunt executate în mod sincron de ambele benzi, iar la sfâr�itul execu�iei rezultatele sunt comparate. Dac� rezultatele sunt identice, rezultatul instruc�iunii este scris în registrul destina�ie sau în memorie. Dac� nu, se genereaz� o excep�ie software, care de obicei se soldeaz� cu re-execu�ia instruc�iunii-problem�. Erorile tranzitorii sunt astfel reparate în mod transparent. Aceast� schem� este func�ional� pentru c� probabilitatea ca o eroare tranzient� s� afecteze ambele benzi în acela�i mod este una foarte mic�.

B) Procesor superscalar tolerant la erori tranzitorii. O schem� foarte original� care folose�te doar redundan�� temporal� pentru a tolera erori tranzitorii a fost propus� în anul 2001 la conferin�a de microarhitectur� MICRO 2001 de un grup de cercet�tori de la universitatea Carnegie Mellon. În aceast� schem� unui procesor superscalar obi�nuit i se fac câteva modific�ri simple, astfel încât fiecare instruc�iune citit� s� fie lansat� în execu�ie în mod repetat. Metodele de redenumire a regi�trilor folosite în procesorul superscalar fac din executarea unor instruc�iuni suplimentare, care nu afecteaz� echipamentul, un lucru foarte simplu. La sfâr�itul benzii de asamblare rezultatele copiilor lansate în execu�ie sunt comparate între ele. Robuste�ea depinde de gradul de redundan��: dac� fiecare instruc�iune este executat� de dou� ori, o eroare se manifest� prin rezultate diferite �i instruc�iunea trebuie re-executat�; dac� o instruc�iune este executat� de mai mult de dou� ori, se poate folosi o schem� de votare cu majoritate.

Un astfel de procesor poate fi proiectat s� lucreze fie în mod normal, fie în mod cu fiabilitate crescut�, depinzând de tipul de program executat. Performan�a în modul cu fiabilitate ridicat� este invers propor�ional� cu

Page 6: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 158

gradul de redundan��; de exemplu, dac� fiecare instruc�iune este executat� de dou� ori, ar putea rezulta o sc�dere a vitezei de calcul la 50%. În realitate, penalizarea este ceva mai mic�, din cauz� c� un program nu folose�te toate resursele computa�ionale. De exemplu, dac� un program folose�te 80% din resurse, când executam programul duplicând fiecare instruc�iune avem nevoie de 160% resurse, ceea ce se traduce într-o degradare a performan�ei cu 37,5% (100/160 = 62,5 = 100 - 37,5). C) Echipament de calcul tolerant la defect�ri având arhitectur� cu verificare dinamic�. Aceast� structur�, propus� în anul 1999 de c�tre cercet�torii de la universitatea Michigan este cunoscut� sub numele de DIVA, de la Dynamic Implementation Verification Architecture (arhitectur� cu verificare dinamic�). Spre deosebire de schemele anterioare, structura DIVA e proiectat� pentru a tolera atât erori tranzitorii, cât �i permanente (cele din urm� doar în anumite p�r�i ale echipamentului). Observa�ia central� pe care se bazeaz� DIVA rezid� din faptul c� este c� e mai u�or de verificat dac� rezultatul unui calcul e corect decât este de efectuat calculul însu�i. Ca atare, arhitectura DIVA este compus� din dou� procesoare diferite, fiind prezentat� în figura 7.1.

Fig.7.1. Structura echipamentului de calcul DIVA Aceast� structur� con�ine:

� Un procesor complex, superscalar, foarte optimizat, care face calculele în mod normal.

� Un procesor extrem de simplu, mai lent, dar foarte fiabil, care execut� instruc�iunile în ordine, �i este construit folosind tehnici de evitare a defectelor.

Page 7: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 159

Echipamentul de calcul DIVA func�ioneaz� astfel:

� Procesorul complex execut� toate instruc�iunile �i calculeaz� rezultatele lor. Rezultatele îns� nu sunt scrise, ci sunt transmise procesorului simplu (lent �i fiabil).

� Procesorul simplu merge ceva mai încet, �i verific� în paralel toate detaliile rezultatelor primite. De�i acest procesor este mai simplu, are o treab� mai u�oar�, �i ca atare poate atinge aceea�i performan�� ca cel rapid (exprimat� în instruc�iuni procesate pe secund�). Când verificarea descoper� o eroare, procesorul simplu calculeaz� rezultatul corect �i re-porne�te procesorul complex de la instruc�iunea urm�toare.

Foarte interesant este faptul c� o arhitectur� DIVA poate tolera chiar erori de proiectare în procesorul foarte complicat, pentru c� acestea sunt detectate �i corectate de procesorul lent �i simplu. Poate fi chiar avantajos ca procesorul rapid s� fie proiectat ”incorect”, dar extrem de rapid, în cazul în care nu produce rezultate eronate prea frecvent. De exemplu, într-un procesor normal foarte multe circuite suplimentare sunt introduse pentru a trata corect cazul programelor care se auto-modific�. În realitate, practic nici un program modern nu folose�te aceast� tehnic� în mod curent; procesorul rapid f�r� aceste circuite poate fi f�cut mult mai eficient, iar corectitudinea calculelor va fi asigurat� de c�tre procesorul lent. 7.2.2. Coduri detectoare �i corectoare de erori S-au prezentat deja mai multe exemple de folosire a redundan�ei spa�iale pentru detectarea �i corectarea erorilor. Costul schemelor prezentate mai înainte este substan�ial: ele cer o multiplicare identic� a unui întreg echipament. De exemplu, redundan�a modular� tripl� are o eficien�� de 33%, pentru c� hardware-ul este multiplicat de trei ori. E interesant de explorat dac� nu putem ob�ine acelea�i beneficii cheltuind mai pu�ine resurse suplimentare. Deschiz�tori de drumuri au fost în aceast� privin�� Claude Shannon �i Richard Hamming, spre sfâr�itul anilor ’40. În continuare se prezint� metodele propuse de ei pentru a stoca informa�ie utilizând structuri tolerante la defect�ri. S� presupunem c� dorim s� stoc�m ni�te informa�ii codificate în baza doi într-un mod fiabil. Putem atunci de pild� face dou� copii ale informa�iei. Dar o defec�iune a unui singur bit va face informa�ia de nerecuperat, pentru c� acel bit va fi diferit în cele dou� copii, �i nu putem deduce care este

Page 8: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 160

valoarea original�. Sl�biciunea acestei metode const� în faptul c� bi�ii stoca�i nu sunt ”robu�ti”: fiecare bit din mesaj este reprezentat în doar doi bi�i din cod. Pentru a ob�ine toleran�� la erori trebuie s� ad�ug�m redundan�� în cod; astfel, vom codifica n bi�i de informa�ie folosind m > n bi�i de cod. Cu cât m e mai mare ca n, cu atât mai robust va fi codul nostru. Cuvintele de m bi�i care reprezint� coduri corecte se numesc ”cuvinte de cod” (code words). Se observ� c� nu toate cuvintele de m bi�i sunt cuvinte de cod, ci numai 2n dintre ele. Se poate defini distan�a Hamming între dou� �iruri de bi�i ca fiind num�rul de diferen�e între cele dou� �iruri. De exemplu, distan�a Hamming dintre 1111 �i 1010 este 2, pentru c� cele dou� �iruri difer� în pozi�iile a doua �i a patra. Cea mai mic� distan�� Hamming dintre cuvintele unui cod este o m�sur� foarte bun� a robuste�ii codului. De exemplu, dac� distan�� Hamming între oricare dou� cuvinte este mai mare decât 3, atunci o schimbare de 1 bit poate fi întotdeauna corectat�: cel mai apropiat cuvânt de cod este cel care a fost modificat de eroare, pentru c� toate celelalte cuvinte de cod se vor afla la o distan�� mai mare de 2 de cuvântul eronat. Astfel, un cod cu distan�� Hamming 3 poate corecta orice eroare de 1 bit, �i poate detecta orice eroare de doi bi�i. Un astfel de cod va detecta �i alte erori, de exemplu va detecta unele erori de trei bi�i, dar nu orice eroare de trei bi�i. Exist� efectiv zeci de coduri diferite, fiecare potrivit în alte circumstan�e. Codurile detectoare �i corectoare de erori sunt folosite pe larg în re�elele de calculatoare. Depinzând de caracteristicile canalului de comunica�ii (distan��, cost de transmisiune, viteza semnalului, zgomot) se pot folosi coduri mai mult sau mai pu�in robuste. În anumite cazuri e preferabil ca erorile s� fie detectate �i datele incorecte s� fie retransmise, în alte cazuri costul retransmisiei este prea mare, �i ca atare se folosesc coduri corectoare. Folosirea unui cod corector în transmisiunea de date se mai nume�te �i codare preventiv� (Forward Error Correction). Pentru comunica�ia cu sondele spa�iale se folosesc coduri corectoare de erori extrem de robuste, pentru c� la astfel de distan�e semnalul electromagnetic are nevoie de multe minute pentru a se propaga. În 1993 un grup de cercet�tori francezi a inventat o clas� de coduri extrem de robuste numite Turbo-coduri care, folosind o redundan�� relativ redus� de 200%, ob�in o rezilien�� excep�ional� la zgomot, fiind foarte aproape de limitele maxime teoretice.

Page 9: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 161

Turbo-codurile ilustreaz� un nou tip de compromis pe care proiectantul îl poate face în rela�ia robuste�e/cost: costul cel mare al unui turbo-cod nu este în cantitatea mare de informa�ie suplimentar�, ci în algoritmul de decodificare, care este foarte complicat �i necesit� multe itera�ii. Dup� cum am v�zut �i în cazul memoriilor, cu aceea�i redundan�� putem ob�ine garan�ii diferite de fiabilitate, în func�ie de algoritmul de codificare folosit. În cazul comunica�iei interplanetare costul transmisiunii face costul decodific�rii insignifiant, deci turbo-codurile sunt potrivite. 7.2.3. Memorii tolerante la defect�ri În func�ie de modalit��ile utilizate în scopul protec�iei împotriva erorilor, memoriile în structura unui echipament de calcul se pot clasifica astfel: Memoriile neprotejate. Aceste memorii stocheaz� fiecare bit de date în mod separat �i nu ofer� nici o protec�ie împotriva erorilor. Ca atare sunt cele mai ieftine. Cum îns� dimensiunea memoriilor a crescut foarte repede, la ora actual� aceast� solu�ie este riscant�, c�ci probabilitatea ca nici un bit s� nu se defecteze este foarte redus�. Memoriile cu paritate. Aceste memorii folosesc o metod� foarte simpl� pentru a detecta erori de un bit în fiecare octet (�i, în general, erori care schimb� un num�r impar de bi�i). Pentru fiecare 8 bi�i de date aceste memorii stocheaz� un al nou�lea bit de paritate, a c�rui valoare este calculat� astfel încât oricare cuvânt de nou� bi�i are un num�r par de bi�i ”1” (de aici �i numele schemei). Când hardware-ul acceseaz� memoria, automat verific� �i paritatea. Dac� paritatea nu este corect� se declan�eaz� o excep�ie �i echipamentul de operare decide cum trebuie s� ac�ioneze. O solu�ie este de a opri programul care folosea acea memorie �i de a marca memoria ca fiind defect�, astfel încât alte programe s� nu o poat� refolosi. Verificarea parit��ii este o opera�ie foarte rapid�, care se poate face foarte simplu folosind structuri hardware, în paralel cu transferul informa�iei. Memoriile ECC. Acestea sunt protejate cu un cod sofisticat de corec�ie a erorilor (Error Corecting Code). Acest cod poate corecta automat orice eroare de 1 bit care apare într-un cuvânt de 64 de bi�i. Pentru acest scop memoria stocheaz� fiecare cuvânt de 64 de bi�i folosind cuvinte de cod de 72 de bi�i. Se observ� c� ”risipa” (overhead) acestei scheme este aceea�i cu cea a parit��ii (9/8 = 72/64). Aceast� schem� ofer� corec�ie cu o robuste�e

Page 10: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 162

mai mic�, pentru c� poate corecta o eroare la 64 de bi�i, spre deosebire de cealalt� schem� care poate detecta o eroare la 8 bi�i. La fiecare acces la memorie hardware-ul verific� dac� cuvântul de cod este corect, iar dac� nu, calculeaz� automat cel mai apropiat cuvânt de cod pe care apoi îl decodific�. Aceste opera�ii sunt destul de complicate, astfel încât un echipament cu memorii ECC func�ioneaz� cu aproximativ 5% mai lent decât unul cu memorii ce utilizeaz� principiul parit��ii. Discuri. Cel mai comun suport permanent de informa�ie este discul, în multiplele lui implement�ri: hard-disc, dischet�, disc optic, compact-disc, flash-disk etc. Informa�iile din aceast� sec�iune sunt valabile pentru multe dintre aceste tipuri de discuri. Discurile folosesc simultan dou� metode diferite de redundan�� spa�ial�; o protec�ie sporit� este necesar� din cauz� c� discurile func�ioneaz� într-un mediu mult mai aspru decât memoriile: unele discuri au p�r�i mecanice în mi�care, care se uzeaz� �i se pot strica mai u�or. Informa�ia este stocat� pe discurile clasice în sectoare. Un sector este relativ mare (comparat cu un cuvânt de memorie), fiind de ordinul a jum�tate de kilooctet (512 octe�i). Discurile folosesc sectoare mari pentru c� la viteza lor de rota�ie (peste 5000 de rota�ii pe minut) capetele de citire/scriere nu se pot plasa foarte precis pe suprafa��. Astfel, unitatea elementar� în care se scrie pe un disc este sectorul: chiar dac� vrem s� modific�m un singur bit, trebuie s� rescriem tot sectorul. În figura 7.2 este prezentat formatul unui sector de disc. Informa�ia servo este folosit� pentru controlul mi�c�rii capului, identificatorul indic� num�rul sectorului curent, iar informa�ia de sincronizare este folosit� pentru a sincroniza pozi�ia capului cu începutul sectorului.

Fig. 7.2. Formatul unui sector

de disc

Page 11: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 163

Datele sunt stocate într-un �ir compact �i codificate folosind un cod detector de erori. Între dou� sectoare consecutive este un blanc (spa�iu liber), care-i d� capului ceva libertate când rescrie sectorul (niciodat� nu va rescrie începând chiar din acela�i loc). Codurile folosite pentru discuri se numesc CRC, de la Cyclic Redundancy Check: coduri ciclice. Un cuvânt de cod const� din chiar cuvântul de date urmat de informa�ii de control. Decodificarea codurilor CRC este foarte simpl�: se extrage direct cuvântul de date, dup� care codul de control verific� dac� vreunul dintre bi�ii stoca�i e incorect. Un cod ciclic are proprietatea c� orice permutare a datelor este protejat� de acela�i cuvânt de control. Când codul de control indic� defectarea unui sector, discurile folosesc în mod automat a doua form� de redundan�� spa�ial�: sectoare de rezerv�. Pe disc sunt ascunse sectoare invizibile, care sunt folosite atunci când sectoarele de date încep s� dea rateuri. În mod transparent software-ul aloc� un sector de rezerv� în locul unuia defect. Identificatorul de sector este folosit pentru a indica cine pe cine înlocuie�te. Discurile stocheaz� o hart� de defecte care indic� sectoarele înlocuite, acest lucru permi�ând o func�ionare corect� �i dup� ce apar defec�iuni, �i permite, de asemenea, un proces de fabrica�ie mai imperfect �i mai ieftin. Pentru stocarea de înalt� fiabilitate a datelor se utilizeaz� Flash Disk-uri. Aceste dispozitive au ap�rut din necesitatea ca în aplica�iile industriale sau de comunica�ii portabile, s� fie nevoie de o capacitate de memorie de numai 80 MB sau mai pu�in, fiind necesar� �i o foarte bun� rezisten�� la �ocuri �i vibra�ii. În astfel de cazuri, solu�ia folosirii unor unit��i de hard-disk conven�ionale este improprie, fie �i numai pentru motivul c� ast�zi nu se mai fabric� HDD-uri cu capacit��i a�a de mici. Pân� acum singura solu�ie era utilizarea unui hard-disk cu o capacitate minim� de 3-4 GB. În pofida excedentului de memorie, se putea întâmpla ca acesta s� se defecteze în mai pu�in de o lun� de func�ionare efectiv�, datorit� mediului de lucru sever în care se desf��ura misiunea. În mod normal, hard-diskurile au o fiabilitate ridicat� în mediul de birou sau laborator, MTBF fiind de ordinul a multe zeci de mii de ore (echivalent a 8 ani de func�ionare continu� sau 30 ani de utilizare normal�). Îns� acestea nu suport� lovituri sau �ocuri puternice, care le pot scoate definitiv din func�iune, iar dac� mediul de lucru prezint� vibra�ii, capetele se vor pozi�iona eronat pe pist�, generând erori soft (de citire) sau crescând considerabil timpul de acces (dureaz� pân� când se repozi�ioneaz� pe pista corect�).

Page 12: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 164

O solu�ie par�ial� ar fi HDD-rile pentru notebook-uri, deoarece prezint� o rezisten�� mecanic� considerabil sporit�, fiind compacte �i special proiectate pentru o utilizare în medii cu �ocuri �i vibra�ii. Îns� capacitatea este tot excedentar�, iar pre�ul este foarte ridicat. Odat� cu apari�ia Flash Disk-urilor, problema pare a fi solu�ionat�. Ideea înlocuirii mediilor magnetice cu memorii semiconductoare nu este nou�, dar la început pre�ul era prohibitiv, iar capacitatea redus�. Au ap�rut apoi memoriile reprogramabile Flash. Ini�ial, acestea erau doar un fel de EEPROM-uri mai performante, nu puteau fi �terse decât de un num�r limitat de ori (de circa 10.000). Desigur, aceast� valoare este excelent� pentru o memorie programabil�, dar cu totul insuficient� pentru a înlocui un disk magnetic. Ulterior au fost perfec�ionate, iar acum rezist� la un milion de cicluri de scriere/citire. De asemenea, dac� la început erau disponibile doar sub forma de cartele de memorie, acum emuleaz� perfect o unitate de disk IDE, astfel c� ofer� o solu�ie de stocare a datelor cu o mare fiabilitate hardware �i software. Absen�a total� a componentelor în mi�care face modulele de memorie Flash mai rapide �i mai robuste decât mediile magnetice rotative, respectiv unit��ile de hard-disk. Principalul dezavantaj îl reprezint� pre�ul mai ridicat, dar pentru capacit��i de stocare mici, ele reprezint� o alternativ� convenabil� la HDD. Termenul ”mici” este ceva relativ: dac� la începutul anului 1993 însemna 1-2MB, acum se refer� la 100-400MB. În momentul de fa�� sunt disponibile �i Flash Disk-uri de peste 500MB, dar odat� cu sporirea capacit��ii, pre�ul creste considerabil. În continuare se prezint� o compara�ie între Flash Disk-uri �i unit��ile de hard-disk miniatur� (de 1,3 sau 2,5 inch). La capacit��i mici, pân� la 100MB, modulele Flash sunt categoric competitive. De fapt, la aceste valori mici, principalul concurent al Flash Disk-urilor îl reprezint� memoria RAM static�, nu hard-diskurile. Pre�ul memoriei Flash este propor�ional cu capacitatea, deoarece capacitatea de stocare este direct propor�ional� cu num�rul de circuite integrate Flash folosite. Unit��ile de disk magnetic au un pre� de baz� ce include pre�ul componentelor mecanice �i al controlerului. Pre�ul hard-diskului nu poate scade sub aceast� valoare de pornire, dar, m�rind suprafa�a mediului magnetic sau num�rul de fe�e, se poate m�ri capacitatea cu o cre�tere de pre� foarte mic�. În privin�a rezistentei la �ocuri fizice, (cum ar fi simpla c�dere a aparatului), modulele Flash sunt clar superioare hard-diskurilor. Gama de

Page 13: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 165

temperaturi de lucru este similar� la cele dou� categorii. Intervine îns�, din nou, conceptul de fiabilitate software: în cazul unor varia�ii rapide de temperatur�, HDD-urile clasice nu sunt disponibile imediat. Când este adus de la o temperatur� sc�zut� într-o înc�pere înc�lzit�, unitatea de hard-disk trebuie l�sat� s� se aclimatizeze, pentru a nu apare probleme cu condensarea umidit��ii. Dac� temperatura ambiant� se modific� rapid �i frecvent, sistemul de urm�rire a pistelor pierde un timp considerabil cu opera�iile de recalibrare. În aceste cazuri, disponibilitatea unit��ii de disk este redus�. Flash Disk-urile nu prezint� asemenea probleme. O compara�ie direct� a vitezelor este greu de realizat. Scrierea efectiv� este mai lent� la Flash, dar hard-diskul necesit� un timp pentru atingerea vitezei de rota�ie de regim �i prezint� întârzieri de rota�ie �i în trecerea de la o pist� la alta. Într-o aplica�ie tipic�, memoria Flash este de 2-10 ori mai rapid� decât hard-diskul. ”Aplica�ie tipic�” este cea în care datele sunt citite de 4-5 ori mai des decât sunt scrise, iar transferurile de date tind s� fie scurte �i nu foarte frecvente. Debitul de date în cazul unui transfer continuu este mai redus: 0,7-1 Moctet pe secund� la citire �i 2-300 Kocte�i pe secund� la scriere, fa�� de valoarea de 5 Mocteti pe secund� în mod rafal� (burst). Alte avantaje ale FlashDisk-urilor sunt nivelul sonor foarte redus în timpul func�ion�rii (unele hard-diskuri pot fi destul de zgomotoase) �i posibilitatea lucrului la altitudini foarte ridicate. Hard-diskurile au nevoie de o presiune atmosferic� minim� pentru a realiza perna de aer pe care plutesc capetele. Caracteristicile generale ale Flash Disk-urilor sunt prezentate în continuare:

� au dimensiunile clasice ale HDD-urilor obi�nuite; � sunt Disk-uri cu interfa�a IDE, bazate pe o tehnologie Flash; � au capacit��i de stocare extrem de flexibile: între 4MB �i 512 MB; � sunt mult mai stabile decât HDD-urile conven�ionale. Ele pot rezista la �ocuri �i vibra�ii fiind astfel foarte potrivite pentru aplica�ii ce se desf��oar� în medii cu cerin�e severe;

� au un consum redus de energie; � sunt 100% compatibile IDE, nefiind necesar� instalarea vreunui driver; � folosesc algoritmul de detec�ie �i corec�ie al erorilor Reed Solomon pe

16 biti; � cu o interfa�� de 3,3V sau 5V, Flash Disk-urile suport� gestiunea

automat� a consumului de energie (APM) precum �i comenzi ATA de întrerupere a aliment�rii �i mod ”sleep” (a�ipire).

Page 14: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 166

Cel mai important lucru este c� ofer� o stabilitate mult mai bun� a aplica�iilor, în medii de lucru dure, cu �ocuri �i vibra�ii. În astfel de medii, unit��ile de hard-disk clasice chiar dac� nu se defecteaz�, prezint� erori de c�utare, astfel c� r�spunsul devine lent, iar comportarea - aleatoare. Consumul redus de energie contribuie la cre�terea duratei de via�� a întregului sistem. Capacitatea de stocare flexibil� înseamn� c� se poate utiliza un model cu capacitate foarte apropiat� de cea necesar� pentru aplica�ie, pentru a nu cre�te costurile aferente cu memoria suplimentar� ce nu va fi niciodat� folosit�. Comenzile interfe�ei IDE sunt conforme cu standardului industrial ATA-4. Flash-Disk-urile au fost verificate cu succes sub urm�toarele sisteme de operare: MS-DOS, Windows 95/98/NT, Windows CE, OS2 Warp, Linux, QNX, Unix Ware. Media timpului de bun� func�ionare (MTBF) este de peste 1.000.000 de ore. Fiabilitatea datelor memorate este asigurat� prin func�ii încorporate de detectare �i corec�ie a erorilor. Flash-Disk-urile au performan�e foarte bune în ceea ce prive�te anduran�a: pentru opera�ii de scriere/citire sunt garantate pentru circa un milion de cicluri, iar pentru opera�ii de citire se prevede un num�r nelimitat de astfel de opera�ii. În ceea ce prive�te viteza de transfer pe magistral�, aceasta este de peste 700 KB/sec în caz de citire sus�inut� �i de peste 250 KB/sec la opera�ii de scriere sus�inut�. Flash-Disk-urile se remarc�, de asemenea, prin gama temperaturilor de lucru (de la -25oC la +85oC) �i prin altitudinea maxim� la care pot func�iona corect (16.000m). Valorile prezentate mai înainte sunt valabile pentru FlashDisk-urile tipice. Realiz�rile de vârf, ”state of the art”, au performan�e net superioare, îns� �i costurile de produc�ie sunt mai ridicate. Astfel, firma BiT Microsystems produce seria E-Disk cu performan�e deosebite �i cu o capacitate de stocare foarte ridicat�. Se urm�re�te înlocuirea unit��ilor de hard-disk cu module semiconductoare cu viteza de lucru mare, fiabilitate, longevitate �i scalabilitate superioare. Rata de transfer este de 40 MB/sec în mod �i de 34 MB/sec în mod sus�inut, iar capacitatea poate ajunge pân� la valoarea de 13.312 MB. Aceste dispozitive nu con�in componente în mi�care, care reprezint� principala cauza a defect�rilor �i întârzierilor electromecanice la HDD-urile clasice.

Page 15: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 167

Ca dovad� suplimentar� a performan�elor ridicate, E-Disk sunt prev�zute nu cu obi�nuita interfa�� EIDE, ci cu variante avansate de SCSI: SCA Ultra Wide SCSI cu tensiune diferen�ial� redus�. Media timpului de bun� func�ionare ajunge la 1,9 milioane de ore, se folosesc coduri detectoare �i corectoare de erori foarte performante, astfel c� rata erorilor nedetectate este foarte sc�zut�. Astfel de dispozitive de stocare de înalt� fiabilitate sunt ideale pentru telecomunica�ii, transporturi, aplica�ii industriale, aerospa�iale sau militare, unde sistemele sunt supuse unor condi�ii de temperaturi extreme, câmpuri magnetice puternice, vibra�ii, praf, mizerie �i vapori corosivi. Sunt de asemenea potrivite pentru aplica�iile unde este esen�ial un coeficient foarte ridicat de disponibilitate �i o vitez� mare: depozite de date, multimedia, financiare, furnizori de servicii Internet, comer� electronic, servere proxy etc. În continuare se prezint� un alt tip de echipament fiabil redundant, care, spre deosebire de alte solu�ii prezentate, are o performan�� mai bun� decât echipamentul de baz�. În plus, acest echipament adaug� o dimensiune nou� în spa�iul op�iunilor fiabilit��ii, �i anume capacitatea de a fi reparat în timp ce func�ioneaz� (maintainability). Structura este cunoscut� sub numele de RAID, care este o prescurtare de la Redundant Array of Inexpensive Disks, sau set redundant de discuri ieftine. Ideea a fost introdus� în 1987 de cercet�tori de la universitatea Berkeley din California. Ideea central� a structurii RAID este de a stoca informa�ie pe mai multe discuri simultan. Informa�ia este codificat� redundant, astfel încât s� poat� fi recuperat� dac� oricare dintre discuri se defecteaz�. Aceast� proprietate este foarte util� pentru echipamentele care trebuie s� func�ioneze continuu. Exist� mai multe tipuri de echipamente RAID, îns� în continuare se prezint� unul singur, în care informa�ia este scris� pe 5 discuri, din care 4 con�in date �i unul paritate. Un astfel de echipament RAID se poate afla într-unul dintre trei moduri de func�ionare: Func�ionare normal�: opera�iile de citire extrag date de pe cele patru discuri cu date. O opera�ie de scriere îns� strânge patru blocuri de informa�ie �i calculeaz� un al cincilea bloc de paritate; fiecare bloc este stocat pe alt disc. Acest mod de scriere se nume�te ”striping”, adic� ”feliere”, pentru c� datele sunt scrise în paralel, câte o felie pe fiecare disc.

Page 16: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 168

Func�ionarea degradat�: este început� când un disc se defecteaz�. Atunci citirile �i scrierile de pe discul stricat trebuie s� acceseze celelalte patru discuri �i s� calculeze informa�ia lips�. Avantajul parit��ii este c� oricare din bi�ii lips� poate fi recalculat ca paritate a celorlal�i patru bi�i. Reconstruc�ia: este început� când un disc defect este înlocuit. Un proces secundar recalculeaz� informa�ia lips� �i o scrie pe noul disc. În continuare se prezint� un echipament de calcul dezvoltat de cercet�tori de la Hewlett-Packard, care demonstreaz� o metodologie extrem� în tratamentul fiabilit��ii echipamentelor. Acest echipament, cunoscut sub numele de Teramac, este construit din componente defecte: mai mult de 70% dintre circuitele sale componente au o malfunc�ie oarecare. Cu toate acestea, echipamentul func�ioneaz� corect �i poate efectua calcule extrem de performante. Arhitectura echipamentului Teramac tolereaz� numai defec�iuni permanente, care sunt prezente înc� de la fabrica�ie. Componentele Teramac sunt circuite hardware de un tip anume, numit hardware reconfigurabil. Înainte de a prezenta echipamentul Teramac se va face o prezentare succint� a structurii hardware-ului reconfigurabil, ar�tând cum un echipament fiabil poate fi construit din componente reconfigurabile nefiabile. Într-o prim� aproxima�ie, circuitele digitale obi�nuite sunt compuse din elemente computa�ionale simple, numite por�i logice, conectate între ele prin sârme. Por�ile logice sunt construite din tranzistori. Fiecare poart� logic� face calcule pe mai multe valori de 1 bit. Por�ile logice sunt universale, în sensul c� orice proces calcul poate fi exprimat în termeni de opera�ii ale por�ilor logice. În hardware-ul reconfigurabil por�ile logice nu au o func�ionalitate fixat�, iar sârmele formeaz� o gril�. Fiecare poart� este configurabil�, adic� poate fi for�at� s� efectueze orice opera�ie logic�. La fiecare intersec�ie de sârme se afl� un mic comutator configurabil, care poate fi, de asemenea, programat s� conecteze sârmele. Configurarea por�ilor �i a sârmelor se face prin semnale electrice. Fiecare poart� �i fiecare comutator are o mic� memorie asociat�, în care-�i stocheaz� configurarea. Pentru c� schimbând con�inutul acestor memorii putem schimba func�ionalitatea hardware-ului, circuitele acestea se numesc ”reconfigurabile” (figura 7.3).

Page 17: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 169

a) b)

Figura 7.3. Structura unui circuit reconfigurabil

Hardware-ul reconfigurabil este echivalent cu cel obi�nuit, în sensul c� orice circuit poate fi implementat folosind ambele tehnologii. Hardware-ul reconfigurabil tinde îns� s� fie ineficient: memoriile �i por�ile configurabile ocup� mult mai mult loc decât por�ile obi�nuite. Pe de alt� parte, semnalele electrice care traverseaz� doar sârme într-un circuit obi�nuit, trebuie s� treac� printr-o serie de comutatoare în hardware-ul reconfigurabil, ceea ce face circuitele mai lente. Un factor de 10, diferen�� în vitez� �i densitate, este de a�teptat între un hardware obi�nuit �i cel configurabil de aceea�i genera�ie. Pentru a programa un circuit reconfigurabil cu func�iunea unui circuit obi�nuit, trebuie s� asociem fiecare poart� din circuit cu o poart� configurabil�; acest proces se nume�te ”plasare”; de asemenea, fiecare sârm� trebuie asociat� cu succesiuni de segmente legate prin comutatoare, în procesul de ”rutare”. În figura 7.3-a procesul de plasare asociaz� fiecare poart� logic� din circuitul de implementat cu o poart� universal�. Procesul de rutare conecteaz� por�ile universale folosind segmente de sârm� legate cu comutatoare. În cazul defect�rii unora dintre por�ile universale plasarea �i rutarea le pot ocoli, sintetizând un circuit perfect func�ional, situa�ie ilustrat� în figura 7.3-b.

Page 18: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 170

Calitatea circuitelor reconfigurabile exploatat� de Teramac pentru a ob�ine fiabilitate este faptul c� por�ile logice configurabile sunt esen�ialmente interschimbabile. Cercet�torii proiectului Teramac au dezvoltat un program de plasare care folose�te o hart� de defecte ale circuitelor reconfigurabile. Aceast� program ocole�te por�iunile inutilizabile �i ruteaz� conexiunile în jurul defectelor, exploatând doar por�iunile func�ionale ale fiec�rui circuit (figura 7.3-b). Cercet�torii au creat �i o serie de programe, care descoper� �i catalogheaz� defectele. Programele acestea folosesc chiar programabilitatea circuitelor pentru a le configura ca dispozitive care se auto-testeaz�. Fiecare por�iune din fiecare circuit este programat� s� efectueze calcule simple �i s� verifice corectitudinea rezultatelor. Micile programe de test sunt ”plimbate” pe suprafa�a circuitului, acoperind toate por�ile logice. Proiectarea unor programe de auto-testare este o sarcin� mai complicat� decât ar putea p�rea la prima vedere. Programele trebuie s� descopere o mul�ime de defecte posibile �i trebuie s� nu poat� fi p�c�lite de defec�iuni (de exemplu, dac� chiar partea care compar� rezultatele cu cele corecte este defect�). Programele de testare aplic� în mod repetat calcule care amestec� to�i bi�ii: astfel, apari�ia unei singure erori se va propaga rapid la to�i bi�ii din rezultat, fiind u�or de depistat. Proiectul Teramac a avut un succes enorm, principala sa contribu�ie a constat în a demonstra c� defectele din hardware pot fi expuse nivelelor superioare, �i pot fi tratate în întregime în software, f�r� ca costul pl�tit în performan�� s� fie prohibitiv. Aceast� metodologie este o schimbare complet� de paradigm� în arhitectura calculatoarelor, care probabil va avea din ce în ce mai multe aplica�ii în viitor. 7.3. Fiabilitatea programelor Ne-am putea a�tepta ca spre deosebire de hardware, software-ul s� nu aib� nici un fel de probleme de fiabilitate deoarece programele nu se uzeaz�, �i sunt executate într-un mediu foarte specializat; în plus, programele sunt obiecte deterministe, deci ar trebui s� se comporte de fiecare dat� în acela�i fel când proceseaz� acelea�i date de intrare. Cu toate acestea, de fapt fiabilitatea programelor este mult mai sc�zut� decât a echipamentelor hardware; este potrivit s� model�m deci programele ca echipamente cu fiabilitate imperfect�. În aceast� sec�iune se prezint� în mod superficial unele dintre motivele lipsei de fiabilitate a programelor �i se men�ioneaz� unele tehnici care pot fi folosite pentru a realiza programe fiabile.

Page 19: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 171

Cea mai important� cauz� a defectelor programelor sunt bug-urile, adic� implement�ri incorecte. Chiar �i programatori foarte pricepu�i produc programe cu defecte. Complexitatea componentelor software este pur �i simplu prea mare, în momentul de fa��, pentru a putea fi st�pânit� de c�tre oameni. Cu tot progresul în tehnici de programare, cum ar fi descompunerea programelor în module mici, folosirea unor limbaje de programare evoluate �i a unor scule complexe pentru dezvoltarea, testarea �i analiza programelor, rezultatele sunt înc� foarte departe de perfec�iune, iar productivitatea programatorilor nu a crescut substan�ial în ultimele dou� decenii. Cel mai adesea problemele rezolvate în software sunt atât de complicate încât nici nu pot fi specificate în mod precis. În consecin�� programatorii întâlnesc tot felul de incertitudini când încearc� s� implementeze solu�iile. O cauz� fundamental� a lipsei de fiabilitate a programelor este deci specifica�ia de proiectare incomplet� �i imprecis�. Cele mai imprevizibile defec�iuni software se manifest� numai cu ocazia unor anumite combina�ii de valori pentru datele de intrare sau pentru anumite succesiuni de evenimente externe, care nu au fost prev�zute de programator. Asemenea combina�ii apar cu probabilitate foarte mic� în timpul procedurilor normale de testare, deci adesea supravie�uiesc pân� în faza opera�ional�. A vedea programele software ca pe o entitate monolitic� este o aproximare grosolan� a realit��ii: un program trece prin nenum�rate revizii �i îmbun�t��iri. Versiunile noi sunt construite pe scheletul celor vechi, reparând defec�iunile descoperite �i ad�ugând noi func�ionalit��i. Cu toate acestea, procesul repar�rii defec�iunilor introduce adesea noi defec�iuni, pentru c� efectele unei repara�ii au uneori consecin�e imprevizibile. Cre�terea continu� a performan�elor hardware-ului este o motiva�ie constant� pentru reînnoirea echipamentelor software. Pe m�sur� ce dispozitivele hardware devin mai ieftine �i mai compacte, ele pot fi integrate în dispozitive electronice mai ”de�tepte”. Toate aceste noi dispozitive au nevoie de un nou software, care s� le manipuleze. Pe m�sur� ce costul dispozitivelor de stocare a informa�iei scade, din ce în ce mai complexe �i mai bogate tipuri de informa�ie pot fi stocate �i prelucrate. De exemplu, imagini �i muzic� sunt tipuri curent manipulate de PC-urile contemporane, iar capacitatea lor de prelucrare a devenit de curând suficient de puternic� pentru a manipula în mod interactiv chiar filme.

Page 20: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 172

Un fenomen legat de acest ciclu permanent de înnoiri este cel cunoscut sub denumirea ”putrezirea bi�ilor” (bit rot). Acest fenomen se manifest� pe dou� planuri: datele stocate cu mult timp în urm� nu mai pot fi folosite în noile echipamente de calcul, pentru c� dispozitivele periferice învechite nu mai sunt suportate de fabrican�i, �i programe vechi, care mergeau foarte bine, încep s� manifeste erori. ”Boala” programelor este legat� de mediul în care programele se execut�, �i care este în continu� schimbare. De exemplu, multe programe vechi f�ceau anumite presupuneri despre cât de mari vor fi seturile de date pe care le vor prelucra. Cea mai faimoas� astfel de presupunere este cea care a cauzat bug-ul Y2K: programatorii din anii ’60 au presupus c� programele lor nu vor manipula niciodat� date calendaristice al c�ror an nu va începe cu cifrele 19. Chiar dac� Y2K a f�cut mai mult zgomot decât pagube, astfel de presupuneri se întâlnesc la tot pasul în programele de ast�zi. De exemplu, pot apare dificult��i în a transporta programe de la procesoare pe 32 de bi�i la procesoare pe 64 de bi�i. Din moment ce orice valoare pe 32 de bi�i se poate reprezenta exact atunci când folosim 64 de bi�i, teoretic nu ar trebui s� fie nici o problem�, �i vechile programe ar trebui s� func�ioneze corect. În realitate multe programe depind în feluri subtile de precizia datelor pe care le manipuleaz�. Când un astfel de program este mutat pe o platform� nou� toate aceste dependin�e se transform� în bug-uri. 7.3.1. Cre�terea fiabilit��ii produselor software Domeniul ingineriei programelor (software engineering) se ocup� de metode prin care se poate cuantifica �i îmbun�t��i calitatea programelor. Una dintre solu�iile studiate este foarte înrudit� cu tehnicile de votare folosite pentru toleran�a erorilor hardware. Numele acestei solu�ii în lumea software este ”programare cu N versiuni”. Votarea folose�te redundan�� spa�ial�: dispozitivul de calcul este replicat de N ori �i rezultatul final este ob�inut prin votul majoritar al rezultatelor individuale. Bug-urile software sunt persistente: aflat în acelea�i condi�ii programul se va comporta în acela�i fel. Tehnicile de votare sunt neputincioase dac� toate componentele fac aceea�i eroare în acela�i timp. Votarea este util� pentru tratamentul erorilor tranzitorii. Programarea cu N versiuni se face deci prin executarea în paralel a N programe diferite, scrise de echipe diferite de programatori, dac� e posibil, folosind scule �i tehnologii diferite. Toate cele N programe rezolv� aceea�i problem�, dar în moduri diferite. Numai folosind o astfel de strategie tehnica vot�rii poate func�iona în cazul programelor.

Page 21: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 173

Specifica�ii imprecise ale problemei pot fi detectate cu u�urin�� de aceast� tehnic�, pentru c� implement�rile diferite pot lua decizii diferite pentru cazurile nespecificate clar. Din nefericire, programarea cu N versiuni este o metodologie foarte scump�, folosit� numai pentru aplica�ii critice, unde siguran�a este fundamental�. Diferen�a fundamental� între hardware �i software este aceea c� un program poate avea o stare intern� arbitrar de complicat�. În general, dispozitivele hardware pot fi aproximate ca fiind automate finite (adic� spa�iul st�rilor în care se pot afla, chiar dac� este foarte mare, este totu�i finit). Chiar �i cele mai simple programe au un spa�iu de st�ri infinit, mai exact, nu putem pune nici o limit� arbitrar� dimensiunii spa�iului lor. Aceast� diferen�� este foarte important� �i din punct de vedere teoretic: foarte multe propriet��i interesante ale automatelor finite se pot decide, adic� se pot scrie algoritmi care atunci când primesc descrierea unui automat finit, pot r�spunde în mod exact la întreb�ri legate de orice evolu�ie viitoare a automatului. Din p�cate, acelea�i întreb�ri pentru un echipament cu stare infinit� adesea nu pot fi decise. Într-adev�r, matematicienii au ar�tat în anii ’30 c� foarte multe dintre propriet��ile unui echipament software, în general, nu pot fi calculate de un alt echipament software. O consecin�� practic� a dimensiunii infinite a spa�iului de st�ri ale programelor este c�, pe m�sur� ce un program se execut� mai mult timp, cu atât mai complicat� poate deveni starea sa intern�. Dac� un program nu î�i întrerupe execu�ia, chiar dac� va primi acelea�i date la intrare, ar putea calcula un r�spuns diferit. Un bug în program poate corupe starea intern�, dar efectele acestei defect�ri pot deveni vizibile mult mai târziu în execu�ia programului, când programul ia o decizie bazat� pe elementele de stare incorecte. Un tip faimos de problem�, în mod normal benign�, asociat� cu programele care se execut� un timp îndelungat, este scurgerea de memorie (memory leak). Adesea programele aloc� spa�iu temporar de memorie, pe care îl elibereaz� dup� ce au terminat calculele care aveau nevoie de el. Dac� programatorul uit� s� elibereze aceast� memorie se spune c� memoria se scurge (leak). Aceasta este o eroare frecvent întâlnit� în programare, relativ greu de descoperit. În mod normal o astfel de eroare nu afecteaz� corectitudinea programului: rezultatele produse la final sunt corecte. Când programul î�i termin� execu�ia, echipamentul de operare recupereaz� automat memoria scurs�. În cazul programelor care se execut� timp îndelungat, cum ar fi echipamentele de operare sau serverele de web, dac� o scurgere se

Page 22: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 174

întâlne�te în interiorul unei bucle, cu timpul memoria pierdut� va cre�te pân� când toat� memoria echipamentului este pierdut�. În astfel de cazuri de obicei echipamentul î�i înceteaz� execu�ia, sau func�ionarea sa devine extrem de lent� din cauz� c� resursele r�mase sunt insuficiente. Utilizatorii echipamentului de operare Windows de la Microsoft au descoperit �i o solu�ie pentru aceast� problem�: reboot-area calculatorului. Numele �tiin�ific pentru aceast� solu�ie este ”reîntinerirea programelor” (software rejuvenation). Reîntinerirea este cauzat� de repornirea periodic� a programelor. Repornirea cauzeaz� ini�ializarea st�rii interne la o aceea�i valoare ini�ial�. Tehnica aceasta este aplicabil� numai dac� starea intern� a programului nu este important� �i poate fi pierdut�; altfel, întinerirea trebuie s� fie combinat� cu ”checkpoint”-uri. Un checkpoint salveaz� informa�ia important� pe un mediu de memorie persistent, �i o restaureaz� dup� ce programul este repornit. Reîntinerirea se aplic� cu prec�dere programelor de tip server, care execut� tot timpul o bucl�, acceptând cereri de la clien�i �i r�spunzându-le. Multe servere sunt lipsite de stare (stateless), adic� nu p�streaz� nici un fel de informa�ii despre o tranzac�ie cu un client dup� ce tranzac�ia s-a consumat. Reîntinerirea este eficace dac� costul repornirilor periodice este mai redus decât costul repornirii dup� o c�dere catastrofic�, care poate s� implice o procedur� sofisticat� de recuperare a datelor pierdute. Reîntinerirea este de asemenea folosit� cu succes când serverele care ofer� serviciul au rezerve, astfel încât serverele de rezerv� pot r�spunde clien�ilor în timp ce altele se reini�ializeaz�. O alt� modalitate de cre�tere a fiabilit��ii programelor de calcul const� în utilizarea unei tehnici numit� verificare formal�. Acesta este un nume generic pentru o serie întreag� de tehnici sofisticate care certific� corectitudinea, mai ales a echipamentelor hardware, dar în ultima vreme �i a unor echipamente software. Verificarea formal� se ocup� de descoperirea �i eliminarea bug-urilor, �i în acest sens este o tehnic� de cre�tere a fiabilit��ii programelor. Cheia metodelor de verificare formal� este specificarea foarte precis� a comport�rii componentelor echipamentului de analizat (folosind formule matematice) �i verificarea automat� a propriet��ilor echipamentului în întregime. Dac� �tim cum este construit echipamentul, �i dac� �tim comportarea fiec�reia dintre componente, putem ra�iona despre comportarea ansamblului. Ra�ionamentele pot fi f�cute foarte precise folosind diferite variante de logici matematice. Fiecare ra�ionament este o serie de deriv�ri, în care din fapte �tiute ca fiind adev�rate deducem alte

Page 23: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 175

adev�ruri. Verificarea formal� studiaz� aceste deriv�ri, �i verific� faptul c� sunt corecte. Dou� aspecte fac din verificarea formal� o tehnic� foarte puternic�: 1) calculele minu�ioase sunt efectuate de c�tre calculatoare, a c�ror

aten�ie nu obose�te niciodat�; 2) certitudinea nu vine din faptul c� demonstr�m ceva, ci din faptul

c� putem verifica dac� demonstra�ia este corect�.

Când s-a descris echipamentul DIVA s-a f�cut men�iunea c� a verifica corectitudinea unui rezultat este mult mai simplu decât a demonstra rezultatul însu�i. Acest fapt este extrem de folositor în contextul verific�rii formale, în care programul care face demonstra�iile este extrem de complicat, �i ca atare poate con�ine erori (ca orice alt program complex) �i deci poate genera demonstra�ii eronate. Un program care verific� dac� o demonstra�ie este corect� îns� este mult mai simplu, �i ca atare ne ofer� mai mult� încredere. 7.4. Re�eaua internet Una dintre cele mai uimitoare tehnologii ale secolului dou�zeci este cu siguran�� Internetul. Acesta este o re�ea de calculatoare, proiectat� ini�ial pentru a conecta re�ele militare de calculatoare �i de a le permite s� opereze chiar �i în condi�iile distrugerii unui mare num�r de echipamente din re�ea, de exemplu în cazul unei conflagra�ii nucleare. Internetul a evoluat ast�zi într-o re�ea comercial� care acoper� toate continentele, cu mai mult de 125 de milioane de calculatoare �i peste 1 miliard de utilizatori. Internetul nu este prima re�ea de dimensiune global�; cu mai mult de un secol înainte de crearea Internetului a ap�rut telefonul; re�elele telefonice au cu siguran�� întâietatea în acoperirea planetei. Ne-am a�tepta ca proiectan�ii Internetului s� fi folosit multe din tehnologiile folosite în construc�ia re�elelor telefonice, despre care exist� o cantitate mare de informa�ii �i o experien�� substan�ial�. În realitate, nimic nu poate fi mai departe de adev�r: arhitectura Internetului pare a fi în mod deliberat opus� re�elei de telefonie. Nic�ieri nu se vede mai bine diferen�a dintre cele dou� re�ele decât în felul în care trateaz� fiabilitatea. Re�eaua telefonic� a fost proiectat� de la început pentru o fiabilitate excep�ional�. O central� telefonic� trebuie s� însumeze mai pu�in de trei minute de indisponibilitate în fiecare an. Numai în circumstan�e absolut excep�ionale o conversa�ie ini�iat� poate fi întrerupt� datorit� unor

Page 24: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 176

probleme din re�ea. Re�eaua telefonic� va permite stabilirea unei leg�turi numai dup� ce a rezervat toate resursele necesare pentru transmisiunea prompt� a semnalelor vocale pe întregul traseu dintre cele dou� puncte care comunic�. Standarde stricte dicteaz� cât de mult timp poate dura faza de construc�ie a leg�turii; dac� nu pot fi ob�inute toate resursele utilizatorul prime�te un ton de ocupat. Capacitatea re�elei este planificat� atent pe baza unor statistici detaliate despre comportarea vorbitorilor, astfel încât în condi�ii normale, �ansa ob�inerii unui ton de ocupat din cauza resurselor insuficiente din re�ea s� fie extrem de redus�. Un factor crucial care garanteaz� calitatea conexiunilor telefonice este prealocarea tuturor resurselor necesare înainte ca leg�tura s� fie stabilit�. Pornind de la num�rul format, prima central� telefonic� calculeaz� o secven�� de centrale prin care semnalul trebuie s� treac� pentru a lega apelantul cu apelatul; acest calcul se bazeaz� pe tabele de rutare pre-calculate cu mare grij� �i stabilite de c�tre proiectan�ii re�elei. Fiecare central� negociaz� apoi cu cea succesiv� folosind un protocol sofisticat de semnalizare, �i aloc� capacitate pentru transportul datelor �i pentru comutarea acestora (care în central� leag� circuitul de intrare cu cel de ie�ire). Când toate conexiunile punct-la-punct între centrale sunt stabilite se genereaz� un ton de ”apel”. Când conversa�ia a fost ini�iat�, semnalul vocal este e�antionat �i digitizat în prima central�. Pentru fiecare bit din acest semnal s-a prealocat deja o cuant� periodic� de timp pe fiecare dintre circuitele pe care le va traversa. Bi�ii sunt transmi�i unul câte unul �i traverseaz� toate trunchiurile în aceea�i ordine în care au fost genera�i, sosind la destina�ie la timp pentru a fi reasambla�i �i converti�i la loc într-un semnal auditiv. Din cauza prealoc�rii, de îndat� ce un bit intr� în re�ea, cu o probabilitate extrem de ridicat� el va ajunge la cel�lalt cap�t exact când trebuie. Când unul dintre vorbitori închide telefonul, protocolul de semnalizare intr� din nou într-o faz� complicat�, prin care elibereaz� toate resursele alocate la momentul apelului. Re�eaua Internet are o arhitectur� fundamental diferit�. Nu numai c� nu exist� garan�ii despre timpul necesar pentru a ajunge de la emi��tor la receptor, dar nu exist� nici o garan�ie c� datele nu sunt pierdute sau modificate în timpul transferului. Utilizatorii Internetului ob�in un serviciu extrem de ”slab”, care poate fi enun�at pe scurt astfel: ”tu pui date în re�ea �i zici unde vrei s� ajung�, iar re�eaua o s� încerce s� livreze datele acolo”. Felul în care informa�ia circul� în re�eaua Internet este complet diferit de re�eaua telefonic�: datele sunt divizate în pachete care sunt introduse în re�ea în ordinea sosirii. Fiecare pachet poate c�l�tori pe o rut� complet

Page 25: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 177

diferit� pân� la destina�ie. Unele pachete se pot pierde, alte pot fi duplicate, �i ele pot sosi la destina�ie în alt� ordine decât au fost emise, sau chiar sparte în pachete mai mici. Pachetele sunt plimbate prin Internet de un protocol numit IP, Internet Protocol. IP func�ioneaz� aproximativ astfel: când un calculator intermediar prime�te un pachet se uit� întâi la adresa destina�ie înscris�. Apoi el face ni�te calcule simple pentru a decide în ce direc�ie pachetul trebuie trimis, mai precis, c�ruia dintre vecinii s�i trebuie s�-i dea pachetul. Pachetul este apoi trimis vecinului. Dac� la un calculator intermediar pachetele vin mai repede decât apuc� s� le trimit� mai departe, �i dac� nici nu are unde s� le stocheze pentru o vreme, are dreptul s� le fac� pierdute. Aceasta este principala cauz� pentru care datele se pot pierde în Internet. Spre deosebire de re�eaua telefonic�, structura Internetului nu este controlat� de un num�r mic de companii, ci este în continu� schimbare, de la zi la zi �i de la or� la or�, pe m�sur� ce noi calculatoare se conecteaz�, noi utilizatori sun� folosind modemuri �i noi linii de transmisiune sunt instalate. Calculatoarele responsabile pentru transmiterea datelor, numite rutere, discut� între ele permanent pentru a afla care este forma curent� aproximativ� a re�elei. Aceste informa�ii sunt utilizate în procesul de decizie care selecteaz� vecinul folosit pentru transmisiunea fiec�rui pachet spre destina�ie. Dat� fiind aceast� infrastructur�, este uimitor c� Internetul func�ioneaz� câtu�i de pu�in, �i c� informa�ia ajunge câteodat� neperturbat� la destina�ie. Fiabilitatea aplica�iilor din Internet este construit� pe baza acestui mediu extrem de nefiabil, folosind dou� ingrediente: 1) Lipsa de stare. Ruterele din Internet nu stocheaz� nici un fel de informa�ii despre traficul care le parcurge. Prin contrast, în re�eaua telefonic�, comutatoarele �tiu despre fiecare bit care le traverseaz� de unde vine, unde se duce, �i când va sosi succesorul lui. Un ruter prime�te un pachet, calculeaz� vecinul c�ruia s�-i dea pachetul �i livreaz� pachetul. Starea intern� a ruterului dup� livrarea pachetului este aceea�i cu cea de dinainte. A�a cum am v�zut în cazul reîntineririi programelor, lipsa st�rii interne face mult mai simpl� repornirea unui ruter dup� o defec�iune. O defec�iune nu pierde informa�ii vitale, care nu pot fi recuperate prin alte metode. De asemenea, lipsa st�rii face relativ u�oar� sarcina altor rutere de a prelua traficul în cazul defect�rii unuia. 2) Protocolul TCP. Realizarea unei transmisii fiabile prin re�eaua Internet se face utilizând un protocol numit Transmission Control Protocol (TCP),

Page 26: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 178

care se execut� deasupra protocolului IP. Dac� într-o re�ea toate nodurile din interior execut� IP, numai sursa �i destina�ia execut� TCP. TCP este protocolul care construie�te o transmisiune fiabil�: el asigur� c� toate pachetele trimise ajung la destina�ie, f�r� lipsuri sau duplicate, în ordinea în care au fost trimise. TCP reu�e�te aceast� performan�� folosind urm�toarele mecanisme: � numeroteaz� pachetele trimise; � folose�te pachete de confirmare pentru a anun�a sosirea datelor la

cap�tul cel�lalt; � folose�te alarme pentru a detecta pachetele care nu sunt confirmate

pentru un timp îndelungat; � folose�te retransmisii pentru a retrimite pachetele care se pierd în re�ea. Din cauz� c� pachetele cu confirm�ri se pot pierde la rândul lor, unele pachete sunt injectate în mod repetat în re�ea, ceea ce poate duce la livrarea unor duplicate; TCP trebuie s� le elimine folosind numerele de serie ale pachetelor. Întregul Internet este construit pe nucleul nefiabil oferit de IP: nu numai datele �i confirm�rile sunt trimise în mod nefiabil, dar chiar �i mesajele de control schimbate între rutere, prin care afl� despre schimb�rile din topologia re�elei �i traficul folosit pentru monitorizarea �i mentenan�a re�elei folosesc acelea�i mecanisme nefiabile de transmisiune. În pofida structurii sale aparent �ubrede, Internetul este un competitor formidabil al altor forme de distribu�ie a informa�iei: radio, televiziune �i telefonie. Costul transmisiunii vocii prin Internet este mult mai sc�zut decât folosind re�elele specializate de telefonie. Multe companii importante de telefonie investesc în mod serios în echipamente care transport� voce peste protocolul IP. Internetul mut� problema fiabilit��ii la un nivel superior, de la IP la TCP. TCP ofer� o fiabilitate perfect adecvat� pentru multe aplica�ii. TCP este executat numai de c�tre calculatoarele terminale implicate în comunica�ie, �i nu de c�tre rutere. Ca atare algoritmii complica�i folosi�i de acest protocol nu taxeaz� resursele re�elei, care scaleaz� în mod natural la dimensiuni globale. Mai mult, unele aplica�ii care nu au nevoie de livrarea fiabil� a datelor nu sunt obligate s� foloseasc� protocolul TCP. De exemplu, protocoalele folosite pentru posturile de radio din Internet folosesc coduri puternice de corec�ie a erorilor �i nu au nevoie de retransmisii. Pachete pierdute sau

Page 27: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 179

întârziate sunt pur �i simplu ignorate. Acest lucru este acceptabil pentru c� utilizatorul final, omul, tolereaz� semnale cu zgomot. 7.5. Concluzii În acest capitol au fost prezentate unele considera�ii privind modul cum fiabilitatea influen�eaz� construc�ia echipamentelor de calcul. O concluzie foarte important� care rezult� din analiza f�cut� este c� de�i fiabilitatea ridicat� este dezirabil�, un proiectant trebuie întotdeauna s� ia în considera�ie �i costul pl�tit pentru a o ob�ine. Calculatoarele moderne sunt construite dintr-o serie de nivele abstracte, care ofer� func�ionalit��i din ce în ce mai puternice. Fiecare nivel are o fiabilitate diferit� �i folose�te tehnici diferite pentru a oferi nivelelor superioare imaginea unei fiabilit��i sporite. În general hardware-ul ofer� lumii software aparen�a perfec�iunii în aceast� privin��, adic� o fiabilitate excep�ional de ridicat�. Tendin�ele tehnologiei indic� îns� c� arhitectura calculatoarelor viitorului va fi supus� unor schimb�ri radicale, unul dintre motive fiind chiar schimbarea major� a fiabilit��ii unora dintre nivele. De exemplu, miniaturizarea continu� a componentelor electronice va fi înso�it� de o degradare a fiabilit��ii înso�it� de apari�ia tot mai frecvent� a defec�iunilor permanente �i tranzitorii. Costul pl�tit pentru a masca aceste defecte prin tehnici tradi�ionale cre�te extrem de rapid: costul extrem de ridicat al unei fabrici de semiconductoare din ultima genera�ie, de ordinul a câteva miliarde de dolari, este doar primul simptom al acestui fenomen. În prezent, departamentele de cercetare ale firmelor produc�toare de echipamente de calcul lucreaz� în mod activ pentru a defini arhitecturile structurilor de calcul al viitorului. Direc�iile urm�rite sunt prezentate în continuare:

� Iluzia unui hardware perfect trebuie eliminat�, imperfec�iunile din nivelul hardware trebuie s� fie expuse nivelului software �i rezolvate de acesta. Pentru a face acest lucru, baza echipamentelor de calcul trebuie s� fie hardware-ul reconfigurabil, care este suficient de flexibil pentru a fi reprogramat dup� nevoi.

� Microprocesorul trebuie s� fie redus la un rol secundar �i înlocuit cu hardware generat specific, pentru fiecare aplica�ie, cu ajutorul compilatoarelor.

Page 28: CAPITOLUL 7 FIABILITATEA ECHIPAMENTELOR DE … Studenti/Note de curs/Ionescu Gh/3... · fiabilitate foarte ridicat (de exemplu, controlul de trafic aerian, supervizarea centralelor

Cap. 7. Fiabilitatea echipamentelor de calcul 180

� Num�rul de nivele abstracte trebuie s� fie mic�orat în mod dramatic, pentru a reduce costul suplimentar pl�tit, care cre�te exponen�ial.

� Trebuie folosite în mod constant tehnici care descoper� defecte �i folosesc rezerve pentru a ocoli defectele de fabrica�ie.

� Calculele trebuie s� fie efectuate folosind date codificate utilizând coduri robuste, pentru a preveni efectele erorilor tranzitorii.

� Utilizarea pe scar� larg� a metodelor de verificare formal� pentru a ne asigura c� echipamentele de calcul pe care le folosim sunt corect construite.

�tiin�a calculatoarelor este relativ tân�r� �i, cu siguran��, viitorul ne rezerv� o mul�ime de surprize în ceea ce prive�te tehnologiile, arhitectura �i algoritmii cei mai eficien�i.