Rodzaje mechanizmów komunikacji

Jest wiele różnych rozwiązań pozwalających na komunikację pomiędzy węzłami w klastrze. Można je próbować klasyfikować rozważając dwa aspekty: sposób fizycznego połączenia węzłów oraz model komunikacji [7]. Ponieważ zgodnie z definicją klastra węzły go tworzące są pełnymi niezależnymi komputerami, istnieją zasadniczo dwie możliwości ich fizycznego połączenia: poprzez podsystem wejścia-wyjścia oraz podsystem pamięci. Podział sposobów komunikacji sprowadza się do rozróżnienia czy wymiana danych odbywa się na zasadzie przesyłania komunikatów (ang. message-passing), czy za pośrednictwem dzielonej pamięci, którą może być zarówno pamięć operacyjna (RAM), jak i pamięć stała (dysk). W wyniku analizy wszystkich kombinacji powyższych możliwości uzyskujemy cztery główne kategorie:

Pierwsze dwie z wymienionych kategorii są najbardziej rozpowszechnione. Właściwie tylko w ich przypadku jest możliwa komunikacja pomiędzy węzłami zbudowanymi na różnych platformach sprzętowych i pracujących pod kontrolą różnych systemów operacyjnych. Należy zwrócić uwagę, że różnice pomiędzy tymi dwoma, oprócz oczywistych różnic w rozwiązaniach sprzętowych, sprowadzają się do przyjętego modelu programowania. Nie da się jednoznacznie stwierdzić, które z przyjętych podejść jest lepsze, różne też mogą być zastosowania. Rozwiązania polegające na jawnej wymianie komunikatów wydają się być bardziej powszechne i osiągalne w praktyce z uwagi na dostępność i standaryzację protokołów komunikacji sieciowej (np. TCP/IP, IPX). Ponadto współczesne wysokowydajne sieci typu SAN oferują wydajność znacznie wyższą niż wydajność rozwiązań polegających na wymianie danych za pośrednictwem dysków stałych. Dodatkowo rozwiązania takie wydają się być bardziej skalowalne -- łatwiej rozbudować sieć niż dołączyć następny węzeł do pamięci dzielonej1.3.

 


Grzegorz Całkowski 2001-02-28