Pr-1st-1.1-m01-Slajd04: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
==Problemy | ==Problemy związane z konstrukcją systemów rozproszonych== | ||
[[Image:pr-1st-1.1-m01-Slajd04.png|Problemy | [[Image:pr-1st-1.1-m01-Slajd04.png|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 | * optymalne zrównoleglenie algorytmów przetwarzania; | ||
* ocena | * ocena poprawności i efektywności algorytmów rozproszonych; | ||
* alokacja | * alokacja zasobów rozproszonych; | ||
* synchronizacja | * synchronizacja procesów; | ||
* ocena globalnego stanu przetwarzania; | * ocena globalnego stanu przetwarzania; | ||
* realizacja zaawansowanych modeli 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. | |||
[[pr-1st-1.1-m01-Slajd03 | << Poprzedni slajd]] | [[pr-1st-1.1-m01-toc|Spis | 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. | |||
[[pr-1st-1.1-m01-Slajd03 | << Poprzedni slajd]] | [[pr-1st-1.1-m01-toc|Spis treści ]] | [[pr-1st-1.1-m01-Slajd05 | Następny slajd >>]] |
Aktualna wersja na dzień 18:02, 1 wrz 2006
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.