Pr-1st-1.1-m01-Slajd04

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Problemy związane z konstrukcją systemów rozproszonych

Problemy związane z konstrukcją systemów rozproszonych


Pełne wykorzystanie powyższych cech systemów rozproszonych wymaga jednak efektywnego rozwiązania wielu problemów. Podstawowa trudność związana jest z konstrukcją poprawnych, efektywnych i niezawodnych algorytmów rozproszonych opisujących procesy rozproszone. Charakterystyczny dla systemów rozproszonych asynchronizm komunikacji i działania procesów implikuje niedeterminizm przetwarzania. Dodatkowo brak wspólnej pamięci ogranicza dostępne wprost mechanizmy komunikacji i synchronizacji. Dlatego też konstrukcja i weryfikacja procesów (algorytmów) rozproszonych ma swoją specyfikę i rodzi wiele trudnych problemów, takich jak:

  • optymalne zrównoleglenie algorytmów przetwarzania;
  • ocena poprawności i efektywności algorytmów rozproszonych;
  • alokacja zasobów rozproszonych;
  • synchronizacja procesów;
  • ocena globalnego stanu przetwarzania;
  • realizacja zaawansowanych modeli przetwarzania;
  • niezawodność;
  • bezpieczeństwo.

Jak wiadomo, problem zrównoleglenia sprowadza się do takiej transformacji algorytmu rozwiązywania zadania obliczeniowego w zbiór wzajemnie powiązanych procesów (wątków) wykonywanych równolegle albo sekwencyjnie, by zminimalizować najdłuższą ścieżkę obliczeń sekwencyjnych, abstrahując od ograniczeń fizycznych i funkcjonalnych rzeczywistego środowiska przetwarzania.

Trudność oceny poprawności i efektywności algorytmów rozproszonych związana jest z koniecznością analizy wszelkich możliwych realizacji niedeterministycznego w ogólności algorytmu rozproszonego.

Problem alokacji zasobów polega na takim przydziale (alokacji) dostępnych zasobów (procesorów, pamięci, urządzeń wejścia/wyjścia, danych, programów itd.) do procesów (zadań), by przy spełnieniu przyjętych bądź narzuconych warunków podzielności i ograniczeń kolejnościowych, zoptymalizować wybrane kryterium efektywności.

Problem synchronizacji procesów, związany w ogólności z kooperacją procesów lub ich współzawodnictwem o dostęp do wspólnych zasobów, polega na realizacji w asynchronicznym środowisku rozproszonym mechanizmów umożliwiających wzajemne oddziaływanie procesów na ich względne prędkości przetwarzania, w celu dochowania ograniczeń kolejnościowych i zagwarantowania poprawności obliczeń.

Problem oceny stanu globalnego polega natomiast na wyznaczaniu wartości parametrów lub predykatów związanych z globalnymi stanami procesów rozproszonych. W asynchronicznym środowisku rozproszonym wyznaczanie stanu globalnego jest trudne i w ogólności niemożliwe bez wstrzymywania przetwarzania.

Problem realizacji zaawansowanych modeli przetwarzania sprowadza się do transparentnej realizacji w środowisku rozproszonym systemu stosowniejszego dla danego zastosowania lub wygodniejszego z punktu widzenia użytkownika (rozproszona pamięć współdzielona, synchronizm przetwarzania lub komunikacji, przetwarzanie transakcyjne itp.).

Problemy niezawodności i bezpieczeństwa związane są z potrzebą zagwarantowania wymaganego poziomu jakości pracy systemu niezależnie od nieuniknionych błędów, przypadkowych lub celowych prób zniszczenia systemu, czy naruszenia poufności i autentyczności informacji.

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