Pr-1st-1.1-m07-Slajd17
Stan globalny systemu
W systemach rozproszonych, bardzo wiele problemów praktycznych i teoretycznych sprowadza się wprost do ciągłej lub okresowej obserwacji stanu globalnego systemu, określonego jako zbioru stanów lokalnych procesów oraz wiadomości znajdujących się w kanałach komunikacyjnych.
Znajomość takiego stanu pozwala bowiem na wykrycie specyficznych sytuacji, niewidocznych z perspektywy pojedynczego procesu, i podjęcie stosownych działań.
Przykładami problemów redukujących się w istocie do oceny stanu globalnego są:
- śledzenie i sterowanie wykonywaniem programu rozproszonego (ang. monitoring and debugging ),
- detekcja stanów awaryjnych (np. utraty wiadomości, zakleszczenia) lub też oczekiwanych (np. zakończenia obliczeń rozproszonych). Stany takie można wykryć tworząc obraz stanu globalnego i następnie dokonując jego analizy (Należy jednak wspomnieć w tym miejscu, że rozwiązania specjalizowane są często bardziej efektywne).
- dostosowywanie konfiguracji i funkcji systemu do zmieniającego się obciążenia (np. podział i równoważenie obciążenia, adaptacyjny wybór połączeń).
- wyliczenie pewnej globalnej wartości zarządzanej przez program rozproszony.
- utworzenie kopii zapasowych stanu globalnego programu.
Obraz stanu globalnego nazywa się też czasami migawką stanu globalnego (ang. global snapshot ).
Nieformalnie, obraz stanu globalnego określić można jako spójny, jeżeli dla każdego z procesów wygląda, jak gdyby został wyznaczony w jednej chwili w wszystkich częściach systemu. Można tutaj określić stan globalny jako zbiór stanów wyznaczonych w jednej chwili w wszystkich częściach systemu – w asynchronicznym środowisku rozproszonym taka definicja jest jednak nierealna. Zamiast tego więc mówi się raczej o zbiorze stanów niezależnych wzajemnie od siebie.