Toleranță la erori

Toleranță la defecte (sau „vina insensibilitate“) se referă la o metodă de proiectare , care permite unui sistem să continue să funcționeze, eventual , într - un mod redus (să spunem , de asemenea , în „  modul degradat  “), în loc de a cădea complet în jos, atunci când unul dintre ei componentele nu mai funcționează corect.

Expresia este utilizată în mod obișnuit pentru sistemele informatice studiate astfel încât să rămână mai mult sau mai puțin operaționale în cazul unei defecțiuni parțiale, adică posibil cu o reducere a debitului sau o creștere a timpului de răspuns. Cu alte cuvinte, sistemul nu încetează să funcționeze, indiferent dacă există o defecțiune hardware sau software.

Un exemplu în afara IT este un autovehicul proiectat să fie întotdeauna tehnic, chiar dacă una dintre anvelopele sale este plată.

Criterii de toleranță la erori

Nicio mașină , chiar și în electronică și IT , nu este 100% fiabilă, nici indestructibilă. Producătorul, sau altfel un laborator de testare independent, definește, după testele care arată o utilizare mai mult sau mai puțin grea, un criteriu de toleranță la erori al mașinii.

Acest criteriu este exprimat fie în numărul mediu de ore între defecțiuni ( MTBF în limba engleză sau timpul mediu între defecțiuni ), fie în numărul de ore de funcționare înainte de sfârșitul duratei de viață a mașinii. Un alt parametru este în general asociat cu acesta, MTTR ( timpul mediu de reparare ), timpul mediu până la reparare . Combinația celor două stabilește rata de disponibilitate previzibilă.

Disponibilitatea corespunde .

Gradele de severitate a eșecului

  1. clear failure , sau shutdown on failure (în engleză fail stop ): fie sistemul funcționează normal (rezultatele sunt corecte), fie nu face nimic. Acesta este cel mai simplu tip de eșec;
  2. eșec prin omisiune sau eșec tranzitoriu  : mesajele se pierd la intrare sau ieșire sau la ambele. Este considerat ca un eșec temporal de durată infinită;
  3. eșec temporal  : timpul de răspuns al sistemului depășește cerințele specificațiilor;
  4. Eșecul bizantin  : sistemul oferă rezultate aleatorii.

Clasificarea disponibilității

Clasificarea sistemelor în termeni de disponibilitate duce în mod obișnuit la 7 clase, de la clasa care nu este luată în considerare (sistem disponibil 90% din timp și, prin urmare, indisponibil mai mult de o lună pe an) la clasa ultra disponibilă (disponibil 99.99999) .% din timp și, prin urmare, indisponibil doar 3 secunde pe an): aceste clase diferite corespund numărului de 9 din procentul de timp în care sunt disponibile sistemele clasei.

Tip Indisponibilitate (în minute pe an) Disponibilitate procentuală Clasă
nu este gestionat 50.000 (34 zile, 17 ore și 20 min) 90% 1
a reușit 5.000 (3 zile, 11 ore și 20 min) 99% 2
bine administrat 500 (8 ore 20 minute) 99,9% 3
toleranță defectuoasă 50 (puțin sub o oră) 99,99% 4
Valabilitate ridicată 5 minute 99,999% 5
disponibilitate foarte mare 0,5 (30 de secunde) 99,9999% 6
disponibilitate foarte mare 0,05 (3 secunde) 99,99999% 7

NB  : Un an durează 8.760 de ore sau 525.600 de minute.

Metodele

Dezavantaje

Avantajele unui sistem tolerant la defecte sunt evidente, dar ce zici de dezavantaje?

Când se folosește un sistem de toleranță la erori?

Ca regulă generală, nu este vorba de proiectarea unui sistem în care fiecare componentă este insensibilă la eșec. Pentru a determina care dintre componente ar trebui să fie tolerante la erori, se pot pune următoarele întrebări:

Un exemplu de componentă care trece toate testele este sistemul de imobilizare a pasagerilor.

În mod normal, nu ne gândim la sistemul primar de imobilizare a pasagerilor, care este gravitația. În cazul în care mașina se răstoarnă sau este frânată sever la mai multe gs , este posibil ca această metodă primară de imobilizare să nu funcționeze. Imobilizarea pasagerilor în timpul unui astfel de accident este vitală pentru siguranța lor, așa că răspundem la primul test.

Accidentele care determină evacuarea pasagerilor erau obișnuite înainte de apariția centurilor de siguranță, așa că la al doilea test este răspuns.

Un sistem redundant de blocare a pasagerilor, cum ar fi centurile de siguranță, este ieftin și are o greutate și o greutate foarte mici, așa că la al treilea test este răspuns.

Din această cauză, adăugarea centurilor de siguranță la toate mașinile este o idee minunată. Sistemele suplimentare de imobilizare, cum ar fi airbagul pasagerului (în engleză airbag ), sunt mai scumpe și îndeplinesc acest test cu o marjă mai mică. Acesta este motivul pentru care mașinile ieftine nu au la fel de mult ca altele.

Exemple de toleranță la erori

Toleranța la erori hardware poate necesita uneori îndepărtarea pieselor defecte și apoi înlocuirea cu piese noi în timp ce sistemul rămâne funcțional. Se spune că un astfel de sistem redundant este „ tolerant cu un singur punct” și reprezintă marea majoritate a sistemelor tolerante la defecțiuni. În astfel de sisteme, rata medie de eșecuri dintre eșecuri ar trebui să fie suficient de mare încât administratorii să aibă timp să o repare pe cea veche înainte ca, la rândul ei, eșecul de rezervă. Cu cât timpul dintre defecțiuni este mai mare, cu atât este mai ușor, dar nu este esențial într-un sistem de toleranță la defecțiuni.

Insensibilitatea la erori funcționează deosebit de bine în sistemele informatice. Astfel, compania Tandem Computers folosește mașini de „toleranță simplă” pentru a-și crea sistemele NonStop , al căror timp de funcționare (timpul scurs de la ultimul start) (în engleză uptime ) este măsurat în decenii. Compania Netflix a înființat Chaos Monkey , un program care alege un server la întâmplare și îl neutralizează în timpul orelor sale obișnuite de activitate pentru a testa continuu rezistența sistemului său.

Diferența dintre sistemul tolerant la erori și sistemul cu câteva defecțiuni

Există o diferență între sistemele tolerante la erori și sistemele care rareori cedează. De exemplu, comutatoarele transversale Western Electric au avut o rată de defecțiune de două ore pe parcursul a patruzeci de ani și, prin urmare, au fost extrem de rezistente la defecțiuni. Dar, din moment ce s-au oprit încă atunci când a avut loc un eșec, nu au fost, prin urmare, complet imuni la eșec.

Fiabilitatea operațională

Fiabilitatea funcționării (în engleză fiabilitate ) este capacitatea de a se baza pe serviciile furnizate. Depinde de fiabilitatea operațională a componentelor utilizate.

Originea defecțiunilor

Originea erorilor care trebuie luate în considerare poate varia:

Stare de eroare

Stare de eroare internă

O eroare internă, cauzată de circumstanțele precedente, rămâne internă atâta timp cât nu a avut consecințe asupra funcționării externe a sistemului. Această eroare poate rămâne internă pentru o lungă perioadă de timp (latență de eroare), dar duce pe termen scurt sau lung la o stare de eroare externă prin eșec sau eșec.

Stare de eroare externă

Starea de eroare externă se manifestă printr-un eșec, un eșec la nivelul serviciului prestat. Sistemul este defect dacă, ca urmare a oricăruia dintre fenomenele de mai sus, nu îndeplinește niciuna dintre specificațiile sale. În general, sunt vizibile doar stările de eroare externe: cum să identificăm problema care a dus la eșec?

Evitarea eșecului

Evitarea defecțiunilor (în engleză fault avoidance ) este setul de mijloace, în amonte, pentru a evita ca sistemul să nu funcționeze. Aceasta implică în special:

Vezi și tu

linkuri externe

<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">