Sr-1-wyk-1.0-Slajd23

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Rozproszona pamięć dzielona

Rozproszona pamięć dzielona


Jedną z form komunikacji pomiędzy procesami w systemie rozproszonym jest zastosowanie pamięci dzielonej. W przypadku multikomputerów jest to możliwe poprzez emulowanie działania takiej pamięci. Celem jest utworzenie wirtualnej pamięci, rozproszonej pomiędzy wieloma komputerami, która umożliwi tworzenie aplikacji dla takiego systemu rozproszonego analogicznie jak dla wieloprocesorów. Efekt pamięci dzielonej uzyskuje się poprzez podział wirtualnej przestrzeni adresowej na strony, których lokalizacje rozrzucone są po wszystkich komputerach. Odwołanie do strony nieobecnej lokalnie powoduje wystąpienie pułapki i sprowadzenie strony z węzła posiadającego odpowiednie dane. Idea jest więc taka sama jak w przypadku stronicowania, z tym że zamiast lokalnego dysku jako pamięci pomocniczej wykorzystywana jest zdalna pamięć RAM.

Efektywne zagospodarowanie koncepcji rozproszonej pamięci dzielonej napotyka jednak na poważne problemy, związane głównie z efektywnością pracy takiego systemu. Sprowadzenie strony jest operacją bardzo kosztowną, stąd tworzy się lokalne kopie stron, które nie są modyfikowane. Zwielokrotnianie stron modyfikowanych może prowadzić do powstania niespójności poszczególnych kopii, niespójności, które będą utrudniały pracę programiście, komplikując pierwotnie prosty interfejs. Oddzielną kwestią jest problem doboru wielkości strony. Duże strony optymalizują kwestie komunikacji, ale mogą prowadzić do nasilonego zjawiska fałszywego dzielenia . Zjawisko to pojawia się gdy dwa procesy odwołują się do różnych zmiennych, ale ulokowanych na tej samej stronie, co powoduje niepotrzebne przesyłanie zawartości tej strony w celu przeprowadzenia aktualizacji.


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