Mechanizmy przesyłania danych

Dostępne mechanizmy przesyłania danych, podobnie jak w VIA, polegają na wymianie danych w formie pakietów. Wyróżniono dwa rodzaje przesyłanych pakietów: komunikaty oraz dane4.2

Cechy operacji związanych z przesyłaniem komunikatów i danych zależą od typu kanału4.3. W szczególności dany typ kanału może dostarczać operacje przesyłania jednego lub obu rodzaju pakietów (tj. komunikatów i danych) z różnymi ograniczeniami na ich rozmiar, kontrolę przepływu itp. Pozwala to optymalnie dostosować dany protokół do wymagań protokołów wyższego poziomu. W paragrafie 4.11 omówiono zastosowanie poszczególnych typów kanałów w ISS. 

Konfigurację kanałów ustala użytkownik. Każdy z procesów klastrowych musi określić typ kanału, jego parametry (specyficzne dla typu) oraz indeks kanału w połączeniu danego typu (serwerowego lub klienckiego). Aby nawiązać połączenie pomiędzy procesami, muszą być spełnione określone warunki -- kanały o danych indeksach muszą być tego samego typu, a ich parametry zgodne, ale niekoniecznie identyczne. Przykładowo liczba buforów odbiorczych może być różna dla każdego z połączonych procesów. 

Z założenia kanały w ACL dostarczają niezawodną komunikację, to znaczy gwarantują wykrycie błędów transmisji takich jak uszkodzenia, zgubienie pakietu itp. W obecnej implementacji funkcjonalność tę zapewnia VIA -- kanały w ACL wykorzystują usługę poziomu niezawodnego odbierania VI. Nic nie stoi jednak na przeszkodzie implementacji kanału, wykorzystującego inny poziom niezawodności czy wręcz inny mechanizm komunikacji, np. datagramy w protokole UDP/IP. 

Na użytek operacji przesyłania danych w ACL wprowadzono pojęcie wektora pamięci (ang. memory vector). Wektor pamięci to obiekt opisujący zbiór rozłącznych obszarów pamięci procesu klastrowego. Wektor pamięci może opisywać pamięć lokalnego lub zdalnego procesu -- wektor utworzony i zainicjowany przez proces można przesłać do innego procesu.


Grzegorz Całkowski 2001-02-28