Wprowadzenie do systemów rozproszonych - pytania.docx

(27 KB) Pobierz

1.    Co to jest system rozproszony?

System rozproszony - zbiór komputerów połączonych siecią i

wyposażony w oprogramowanie mające zapewnić zintegrowane

środowisko przetwarzania. System rozproszony jest zbiorem niezależnych komputerów (aspekt sprzętowy), które z punktu widzenia użytkowników systemu sprawiają wrażenie pojedynczego komputera (aspekt programowy).

 

2.    Jakie są różnice między wieloprocesorami a multikomputerami?

Systemy rozproszone mogą być dwojakiego rodzaju: wieloprocesory i multikomputery.

Wieloprocesory to zespół dwóch lub więcej jednostek centralnych korzystających ze wspólnej

pamięci operacyjnej. Multikomputery natomiast to odrębne procesory, każdy z prywatną pamięcią,

połączone za pomocą sieci. Zanim pojawiło się pojęcie rozproszonej pamięci współdzielonej, podczas

budowy systemów rozproszonych borykano się z problemami wynikającymi z powyższego podziału.

Z punktu widzenia programisty maszyna wieloprocesorowa jest bardziej pożądana. Wynika to z

faktu, iż jest ona łatwa do programowania. Komunikacja między jednostkami centralnymi odbywa się

poprzez wpisywanie wiadomości do pamięci przez jeden procesor i odczytanie jej przez drugi.

Problem synchronizacji rozwiązywany jest podobnie jak w przypadku komunikacji międzyprocesowej

w pojedynczym procesorze. Chodzi tu oczywiście o zastosowanie sekcji krytycznych z semaforami

lub monitorów. Niestety problem stanowi projektowanie takiej maszyny. Systemy wieloprocesorowe

są stosunkowo drogie i wolne lub też mało skalowalne.

Multikomputery są natomiast łatwe w konstrukcji. Procesory wyposażone we własną pamięć i

interfejs sieciowy można łączyć w wielotysięczne zespoły. Problem pojawia się przy programowaniu

takich maszyn. Do komunikacji trzeba stosować przekazywanie komunikatów (message passing).

Wprowadza to trudności związane z m.in. zaginionymi komunikatami, blokowaniem, buforowaniem

wiadomości, nadzorowaniem przepływu.

 

 

 

 

 

 

 

 

 

3.    Czym różni się architektura powiązań szynowych od przełączanych?

 

W architekturze powiązanej szynowo mamy dostępną tylko jedną szynę danych łączącą procesory (posiadające własną pamięć podręczną) z główna pamięcią.

W architekturze przełączanej mamy pewną ilość procesorów i pewna ilość modułów pamięci. Każdy procesor jest połączony z każdym modułem pamięci przy pomocy wybieraka krzyżowego.

 

Architektura szynowa - cechy:

·         Wprowadzona na szeroką skalę w minikomputerach.

·         Podstawą architektura jest szyna (zespół przewodów połączonych z gniazdami).

·         Komputer ma postać kasety lub szafy z wymiennymi modułami –szufladami

·         Moduły:
» procesory
» pamięci
&sterowniki wejścia - wyjścia

·         Łatwa rekonfiguracja i rozbudowa komputera.

·         Stosunkowo niska cena.

·         Sterowniki urządzeń wejścia-wyjścia dostępne do procesora w taki sam sposób jak pamięć.

·         Model szynowy stanowi wygodny model logiczny komputera, niezależnie od fizycznej implementacji (wszystkie współczesne komputery mają model logiczny (programowy) bazujący na modelu szynowym).

Architektura powiązań przełączanych:

 

·         Nie ma szyny wolnych urządzeń wejścia-wyjścia.

·         Część połączeń szynowych została zastąpiona połączeniami typu punkt-punkt, o dużo większej przepustowości.

·         Mostek północny zawiera sterownik pamięci.

·         Mostek południowy nie pełni roli mostu pomiędzy szynami, lecz zawiera sterowniki większości niezbędnych w komputerze PC urządzeń zewnętrznych.

a)Od 2006:

·         Sterownik pamięci umieszczony jest w procesorze.

·         Mostek północny wyposażony w indywidualne łącza dla sterowników urządzeń zewnętrznych, zrealizowane w standardzie PCI express.

·         Mostek południowy jest zintegrowanym sterownikiem urządzeń zewnętrznych.

·         Szyna PCI została zachowana w celu umożliwienia podłączenia starszych sterowników urządzeń (skazana na usunięcie podobnie jak kiedyś EISA).

 

 

4.    Co to jest szyna? Jak procesory korzystają z szyny porozumiewając się z pamięcią?

 

Szyna jest połączeniem między jednostką centralną i pamięcią komputera. Ze względu na specyfikacje połączeń wyróżniamy:

 

Szyna sterująca (ang. control bus) - połączenie między jednostką centralną i pamięcią oraz układem wejścia-wyjścia, które przenosi sygnały od mikroprocesora, określające jaki rodzaj operacji ma wykonać układ współpracujący (np. odczyt lub zapis pamięci).

Szyna adresowa (ang. address bus) – połączenie między jednostką centralną i pamięcią, które przenosi adres z/do miejsc, gdzie jednostka centralna chce czytać lub pisać. Liczba bitów szyny adresowej określa maksymalną wielkość pamięci, do jakiej procesor ma dostęp.

Szyna danych (ang. data bus) – część magistrali odpowiedzialna za transmisję właściwych danych, w odróżnieniu od danych adresowych (za co odpowiedzialna jest szyna adresowa), czy sygnałów sterujących. Podział taki ma sens jedynie dla magistrali, w których taka część jest wydzielona, czyli na ogół dla magistral równoległych.

Szerokość szyny danych (liczba linii danych, a więc równolegle przesyłanych bitów) oraz częstotliwość z jaką dane są na nią podawane (najczęściej jest to częstotliwość cyklu zegarowego magistrali) określa szybkość transmisji danych danej magistrali.

W bardziej złożonych systemach komputerowych, gdzie jest wiele różnych magistral, może być również wiele szyn danych.

Przykładowo moduły pamięci DDR SDRAM używają 64-bitowej szyny danych, a dane są na nią podawane z częstotliwością dwukrotnie większą niż cykl zegara.

 

 

5.    Wyjaśnić pojęcie spójności pamięci w wieloprocesorach.

 

W wieloprocesorze, każdy procesor posiada własna pamięć podręczną oraz ogólną pamięć dla dostępna dla wszystkich procesorów. Muszą istnieć mechanizmy zapewniające przechowywanie takich samych informacji w pamięci podręcznej procesora i wspólnej pamięci wszystkich procesorów.

 

 

 

Niewielkie wieloprocesory używają protokołu spójnośc. Posiada on

trzy ważne cechy:

– Spójność jest osiągana poprzez monitorowanie szyny przez wszystkie pamięci podręczne.

– Protokół jest wbudowany w jednostkę zarządzającą pamięcią.

– Cały algorytm jest wykonany w ramach cyklu pamięci.

 

Spójność pamięci utrzymywana jest w sposób

sprzętowy, podobny do zastosowanego w przypadku wieloprocesorów szynowych. Jednostkami

przesyłania danych, na które podzielona jest pamięć wspólna, są 32-bajtowe bloki.

 

6.Jakie właściwości muszą posiadać pamięci podręczne w wieloprocesorach, aby zapewnić spójność pamięci.

 

Pamięć podręczna musi być przepisy walna – powinna przepisywać dane do pamięci ogólnej. Podglądająca – powinna podsłuchiwać szynę i sprawdzać czy dane zapisywane do pamięci ogólnej są aktualne z tymi przechowywanymi w pamięci podręcznej i w razie konieczności aktualizować dane.

Pamięć podręczna przepisywalna (angielskie write--through cache), pamięć podręczna, która powoduje automatyczne przepisywanie uaktualnianych w niej informacji do pamięci operacyjnej.

Pamięć podręczna podglądająca (angielskie snoopy cache, snooping cache), pamięć podręczna obserwująca ruch w szynie wieloprocesora, dzięki czemu może automatycznie unieważniać własne bloki danych uaktualniane w innych pamięciach podręcznych systemu wieloprocesorowego.

 

7.Czy wieloprocesory szynowe mogą być budowane z większej liczby procesorów niż przełączane, czy z mniejszej? Wyjaśnić, dlaczego?

Wieloprocesory szynowe mogą być budowane z mniejszej liczby procesorów niż przełączane ze względu na charakter współpracy z pamięcią. W architekturze szynowej tylko jeden procesor może komunikować się w danej chwili z pamięcią, a w architekturze przełączanej każdy procesor może współpracować z odrębnym modułem pamięci w danej chwili, co jest bezpośrednim efektem użycia wybieraków krzyżowych. 

 

8.Wyjaśnić ideę przełącznika krzyżowego stosowanego w wieloprocesorach.

 

Przełącznik krzyżowy łączy proces z modułem pamięci. W przypadku gdy mamy dostępnych n procesorów i m modułów pamięci możemy skonstruować macierz n x m, gdzie na przecięciu każdego wiersza i kolumny umieszczamy jeden przełącznik krzyżowy. Umożliwia na to połączenie dowolnego z procesorów z dowolnym z dostępnych modułów pamięci.

 

Wybierak krzyżowy (z angielskiego crossbar switch), elektromechaniczny lub elektroniczny przełącznik zawierający prostopadle biegnące ścieżki, które można łączyć ze sobą parami (pionowa z poziomą). W wykonaniu elektronicznym wybierak krzyżowy służy do przełączania między procesorami a modułami pamięci.

 

9.Wyjaśnić ideę sieci „Omega” stosowaną w wieloprocesorach.

 

Sieć omega (angielskie omega network), organizacja wieloprocesora alternatywna wobec wybieraka krzyżowego; sieć przełączająca kojarząca moduły pamięci z procesorami za pomocą wielopunktowych przełączników.

W sieci Omega dzięki zastosowaniu przełączników poczwórnych możemy stworzyć sieć przełączającą łącząca dowolny procesor z dowolnym modułem pamięci tylko przy użyciu tej samej liczby przełączników co procesorów czy modułów pamięci. Dodatkowo sposób łączenie przełączników z procesorami i modułami pamięci umożliwia zestawienie wielu bezkonfliktowych połączeń pomiędzy wybranymi procesorami a modułami pamięci.

 

10. Czym różnią się prawdziwe systemy rozproszone od stosowanych obecnie powszechnie systemów sieciowych?

 

Sieciowe systemy operacyjne:

Stacje robocze połączone są siecią LAN.

Każda maszyna ma własny system operacyjny

Prawdziwe systemy rozproszone:

Wiele komputerów połączonych siecią

Wrażenie jednolitego systemu (wirtualny monoprocesor)

Wszyscy wykonują jeden system operacyjny w n kopiach

Dzielenie plików na dobrze określoną semantykę.

 

 

 

Sieciowe systemy operacyjne

● Jest to powszechnie obecnie stosowane podejście do systemów operacyjnych

dla komputerów pracujących w środowisku rozproszonym. Polega ono na

uzupełnieniu istniejącego systemu (np. Unix, Windows) o funkcje związane z

obsługą sieci.

– Zdalne logowanie i praca na innej maszynie.

– Transfer plików do/i zdalnej maszyny.

– Sieciowy system plików (zaimplementowany na jednej maszyn)

– e-mail, www, etc.

● Generalnie w tym podejściu użytkownicy są świadomi istnienie wielu maszyn,

a korzystanie z zasobów innej maszyny odbywa się w sposób jawny.

 

Systemy rozproszone

● W tego typu systemach korzystanie z zasobów zdalnych wygląda tak samo, jak

korzystanie z zasobów lokalnych.

● Użytkownicy nie są świadomi istnienia wielu maszyn.

● Migracja procesów. Proces (lub jego część) z maszyny obciążonej może

migrować do maszyn mniej obciążonych.

● Migracja danych. Dane z maszyny zdalnej mogą migrować na maszyne lokalną.

● Systemy rozproszone są obecnie przedmiotem intensywnych badań

podstawowych i stosowanych .

● Przykład: OpenMosix cluster

● Przykład: klastry wykorzystujące systemy kolejkowe.

 

11....

Zgłoś jeśli naruszono regulamin