zalety_i_wady_systemow_rozproszonych

# Zalety i wady systemów rozproszonych.

## Def. SYSTEM ROZPORSZONY

System rozproszony

## Zalety w porównaniu z systemami scentralizowanymi:

- Ekonomia – prawo Grosch’a – moc obliczeniowa procesora jest proporcjonalna do kwadratu jego ceny (lata 80, obecnie to prawo nie obowiązuje)
- Współczynnik= cena/ wydajność. Dla systemów rozproszonych ten współczynnik jest dużo lepszy. Najtańszym sposobem zwiększenia mocy obliczeniowej jest połączenie tanich komputerów siecią (można otrzymać dużo większą wydajność)
- Szybkość - moc obliczeniowa systemów rozproszonych jest wielokrotnie większa od systemów scentralizowanych
- Wewnętrzne rozproszenie – pozwala na pracę zespołową pracowników, którzy nie znajdują się w tym samym miejscu
- Niezawodność
- Stopniowe rozszerzanie – pozwala na stopniowe rozszerzanie możliwości sytemu przy czym nie trzeba na raz w kupować cały system ( jak w sys. Scentralizowanych) i koszt takiej rozbudowy jest znacznie mniejszy

## Zalety w porównaniu z komputerami osobistymi:

- Dzielenie danych – wielu użytkowników może korzystać ze wspólnych danych
- Wspólne urządzenia – współdzielenie urządzeń zewnętrznych co pozwala na obniżenie kosztów
- Komunikacja
- Elastyczność:
  - awarie – podczas awarii jednej z maszyn nie następuje awaria całego systemu, tylko pozostałe maszyny przejmują obliczenia zepsutej
  - rozkład obciążenia na wszystkie dostępne komputery. Dzielenie powinno być uzależnione od mocy obliczeniowej każdego z komputerów w systemie oraz obciążenia poszczególnych komputerów

## Zalety systemów rozproszonych:

- Podział zasobów: system rozproszony pozwala dzielić zasoby sprzętowe i programowe (dzielenie danych: w zespołach projektowych) pomiędzy wielu użytkowników pracujących na różnych komputerach pracujących w sieci.
- Otwartość: – Zdolność do rozszerzania
  - na poziomie sprzętu (dodawanie nowych komputerów do sieci)
  - na poziomie oprogramowania (wprowadzanie nowych usług, umożliwiających programom użytkowym dzielenie zasobów)
- Współbieżność: w systemie rozproszonym wiele procesów może działać w tym samym czasie na różnych komputerach w sieci.
  - Procesy te mogą komunikować się podczas swego działania.
  - Współbieżny dostęp do wspólnie wykorzystywanych zasobów i ich aktualizacje muszą być synchronizowane
- Skalowalność: Moc i możliwości przetwarzania może wzrastać w miarę dodawania do systemu nowych zasobów, w szczególności komputerów.
  - W praktyce skalowalność jest często ograniczona poprzez przepustowość sieci oraz (niekiedy) poprzez np. specyficzne protokoły wymiany informacji.
  - Niemniej skalowalność systemu rozproszonego jest nieporównywalnie lepsza w stosunku do systemu scentralizowanego.
- Tolerancja błędów: Dostępność wielu komputerów oraz umożliwienie zdublowania informacji (replikacje) oznacza, że rozproszony system jest tolerancyjny w stosunku do pewnych błędów zarówno sprzętowych jak i programowych.
  - Redundancja sprzętowa (zwielokrotnienie sprzętu jak pierwszy się zepsuje to drugi przejmie jego obowiązki)
  - Odtwarzanie programowe (komputer podejmuje działania naprawcze)
  - Aktywne zwielokrotnienie – więcej niż jeden procesor. W normalnych warunkach pracują wszystkie procesory, w razie awarii reszta przejmuje pracę zepsutej jednostki
  - Zasoby rezerwowe – tak samo popularne ja aktywne zwielokrotnieni. Zalety: łatwiejsze działanie w czasie normalnej pracy, wymaga mniejszych nakładów. Wady: złożony i czasochłonny proces przywracania jednostki podstawowej do pracy (praca normalna: jeden procesor pracuje drugi czeka, awaria: drugi procesor przejmuje pracę zepsutej jednostki)
- Przezroczystość: Oznacza ukrycie przed użytkownikiem szczegółów rozproszenia, np. gdzie ulokowane są zasoby lub jak są one fizycznie zaimplementowane, pod jakim systemem pracują, itd.
  - Przezroczystość ma zasadnicze znaczenie dla komfortu działania użytkownika oraz dla niezawodności budowanego oprogramowania.
  - Niekiedy, np. dla celów optymalizacyjnych, użytkownik może zrezygnować z pełnej przezroczystości.
  - Przykładem przezroczystości jest Internet: klikając w aktywne pole na stronie WWW nie interesujemy się, gdzie znajduje się odpowiadająca mu strona, oraz jak i na czym jest zaimplementowana.

## Wady systemów rozproszonych:

- Złożoność: systemy rozproszone są trudniejsze do zaprogramowania i do administrowania niż systemy scentralizowane.
  - Zależą od własności sieci, np. jej przepustowości i czasu transmisji, co utrudnia zaprojektowanie i zrealizowanie wielu algorytmów i procesów przetwarzania.
- Ochrona: Dla systemu scentralizowanego wystarcza w zasadzie pojedynczy firewall. System rozproszony nie może być chroniony w ten sposób, przez co może być narażony na różnorodne ataki (włamania, wirusy, sabotaż, odmowa płatności, itd.) z wielu stron, które trudno zidentyfikować.
- Zdolność do zarządzania: jest ona utrudniona wskutek tego, że konsekwencje różnych działań administracyjnych w systemie rozproszonym są trudniejsze do zidentyfikowania.
  - Podobnie z przyczynami sytuacji anormalnych, w szczególności awarii.
- Nieprzewidywalność: system rozproszony jest nieprzewidywalny w swoim działaniu, ponieważ zakłócenia mogą być powodowane przez wiele przyczyn: małą przepustowość i awarię łączy, awarię komputerów, zbyt duże obciążenie danego serwera, lokalne decyzje administracji serwera, itd.; patrz WWW.
- Sieć – problem sieci polega na ścisłym uzależnieniu systemów rozproszonych od działania sieci. Nasycenie sieci – powoduje duże opóźnienia w komunikacji pomiędzy komputerami w systemie, a następstwem tego jest zniwelowanie zalet sys. Rozproszonych

## Przydatne linki:

http://rainbow.mimuw.edu.pl/SO/Wyklady-html/11_distr/

# Pobierz dokument

9.1.doc