System tolerujący awarie – Wikipedia, wolna encyklopedia
System tolerujący awarie (ang. fault tolerant system) – urządzenie zaprojektowane i zbudowane tak, aby móc pracować nawet w przypadku wystąpienia błędów lub zaistnienia awarii jego elementów. Obecnie termin ten jest powszechnie stosowany do opisu systemów komputerowych, które zapewniają nieprzerwane działanie nawet w przypadku powstania awarii lub błędów po stronie sprzętu lub oprogramowania.
Problem sprzętu fault tolerant jest znany od lat i istnieją stosowne zasady jego konstruowania. System taki powinien zawierać dwie lub więcej identycznych kopii każdego pracującego elementu, połączonych w taki sposób, że część zapasowa może przejąć działanie w przypadku dowolnej awarii. Wymagane jest także aby zepsute części mogły być wymienione na sprawne podczas normalnej pracy systemu i nie wpływały na jego działanie.
Implementacja takiego systemu z pojedynczym elementem zapasowym znana jest pod nazwą: Single Point Tolerant i reprezentuje obecnie znaczącą większość systemów klasy fault tolerant. W systemach tych średni czas pomiędzy awariami jest wystarczająco długi aby wymiana zepsutej części została dokonana na długo przed możliwą awarią innego elementu. W przypadku oprogramowania wymagana jest obsługa awarii i błędów zgłaszanych przez sprzęt oraz możliwość ponowienia atomowych operacji (instrukcji lub transakcji) które uległy przerwaniu w wyniku wystąpienia błędu oprogramowania.
Należy zauważyć podstawową różnicę pomiędzy systemami klasy fault tolerant, które mogą pracować nawet w przypadku zaistnienia awarii, a systemami wysoko dostępnymi (HA), które psują się bardzo rzadko. Systemy takie (HA) potrafią obsłużyć sytuację awaryjną i minimalizować czas niedostępności, lecz nawet najmniejsza niedostępność będzie występowała i z tego powodu nie można ich zaliczyć do fault tolerant.
Systemy fault tolerant osiągnęły spory sukces w środowiskach systemów aplikacyjnych. Dla przykładu firma Tandem Computers oparła cały swój biznes na tego typu systemach, budując maszyny typu single point tolerance nazwane NonStop, które potrafiły pracować nieprzerwanie przez dziesiątki lat.