Sr-11-wyk-1.0-Slajd31

From Studia Informatyczne

Problemy odtwarzania

Problemy odtwarzania


Odtworzenie poprzedniego stanu po błędzie jest operacją bardzo kosztowną, podobnie jak i samo okresowe rejestrowanie stanu przetwarzania. Co gorsze: poniesienie tych kosztów nie zawsze gwarantuje sukces, ponieważ ten sam błąd może wystąpić ponownie. Całkowite maskowanie pewnych błędów nie będzie więc możliwe, gdyż groziłoby zapętleniem operacji odtwarzania stanu.

Innym problemem wstecznego odtwarzania jest niemożliwość wycofania pewnych operacji, szczególnie jeśli dotyczą one świata zewnętrznego.

Tworzenie punktów kontrolnych również jest dużym obciążeniem dla systemu. W przeciwieństwie do samej operacji odtwarzania, która wykonywana jest w momencie zajścia awarii, tworzenie punktów kontrolnych musi być realizowane nieustannie i to możliwie często. Z tego względu chętnie łączy się metodę odtwarzania wstecznego z rejestrowaniem komunikatów (ang. message logging ). Rejestrowanie może się odbywać po stronie nadawcy (ang. sender-based logging ) lub po stronie odbiorcy (ang. receiver-based logging ). W przypadku wystąpienia załamania procesu można wycofać go do ostatniego punktu kontrolnego i dostarczyć aplikacji wiadomości, które były do niej dostarczone od momentu utworzenia tego punktu kontrolnego. W ten sposób można dokonać odtworzenia pojedynczego procesu bez konieczności wycofywania przetwarzania innych procesów systemu rozproszonego.

Rejestrowanie komunikatów ma dodatkową zaletę w postaci zachowania determinizmu przetwarzania. W systemie rozproszonym kolejność dostarczania komunikatów może być za każdym razem inna, co może powodować, że powtórne wykonanie tego samego programu da inny efekt. Wycofanie procesu i dostarczenie mu tych samych komunikatów pozwala na zachowanie spójności przetwarzania względem innych procesów.


<< Poprzedni slajd | Spis treści | Następny slajd >>