Cechy i wymagania mechanizmów komunikacji

Systemy klastrowe z punktu widzenia potrzeb dostępu do danych można podzielić na dwie główne kategorie: systemy zorientowane obliczeniowo (ang. compute-bound) lub systemy zorientowane na wejście-wyjście (ang. I/O-bound). W przypadku pierwszych wymagania są raczej małe, nawet w przypadku systemów charakteryzujących się wysoką dostępnością -- wystarczają standardowe mechanizmy komunikacji w sieci lokalnej oparte na protokole TCP/IP i sieci (fast) ethernet. Tego rodzaju systemy powstawały głównie w ośrodkach naukowych.

Zastosowania komercyjne najczęściej dotyczą systemów drugiego rodzaju, gdzie niezawodna i wydajna komunikacja ma kluczowe znaczenie. Tradycyjne mechanizmy komunikacji takie jak TCP/IP, nawet wykorzystujące współczesne szybkie rozwiązania sprzętowe, jak np. giganet ethernet, nie spełniają wymogów takich zastosowań z uwagi na duże narzuty związane z następującymi parametrami:

Na przestrzeni ostatnich lat prowadzono wiele prac w ośrodkach akademickich (m.in. projekt SHRIMP [1] na Uniwersytecie Princeton) nad stworzeniem oprogramowania i sprzętu pozwalającego obniżyć narzuty związane z komunikacją. Głównym pomysłem było pominięcie jądra systemu operacyjnego1.4 przy wymianie danych, co miało pozwolić na osiągnięcie wydajności bliskiej fizycznym możliwościom sprzętu i zmniejszenie narzutów (w szczególności skrócenie opóźnień), powodowanych przez tradycyjne protokoły sieciowe. Komercyjnym rozwiązaniem opartym na wynikach tych prac jest standard Virtual Interface Architecture (VIA), szczegółowo opisany w rozdziale 2.


Grzegorz Całkowski 2001-02-28