Co to jest aktywna wiadomość?

Komunikat aktywny (AM) jest rodzajem komunikacji międzyprocesowej stosowanym w informatyce, w którym podprogram lub funkcja programu komputerowego może być wykonywana przez zupełnie inny komputer niż ten, w którym się znajduje. Ten rodzaj wiadomości ma tak fundamentalny format, że pozwala na większe wykorzystanie przepustowości sieci w porównaniu ze standardowymi protokołami internetowymi (IP). Jest również uważany za asynchroniczny system przekazywania wiadomości, ponieważ działa natychmiast, zamiast czekać na określony moment, aby zsynchronizować się z programem.

W modelu komunikacji z aktywnymi wiadomościami większość pracy odbywa się na poziomie sprzętu, na którym sprzęt współdziała ze sterownikami systemu operacyjnego. Ponieważ ten niższy poziom jest zwykle zarezerwowany dla działalności systemu operacyjnego, komunikaty są skonstruowane w taki sposób, że mogą przenosić instrukcje dostępu do sekwencji funkcji użytkownika wyższego poziomu. Wewnątrz nagłówka AM znajduje się adres tego, co nazywamy handler’em. Procedura obsługi to specjalna instrukcja na poziomie użytkownika, która umożliwia przetwarzanie treści komunikatu przez obliczenia przebiegające przez procesor. Treść aktywnej wiadomości jest więc argumentem funkcji lub danymi, na których obliczenia muszą działać.

Biorąc pod uwagę istotę konstrukcji aktywnej wiadomości, jest ona w stanie przejść przez istniejące protokoły komunikacyjne sieci IP. Podstawową różnicą jest jednak to, że działa natychmiast po otrzymaniu, w przeciwieństwie do wymagania wieloetapowego sposobu wysyłania, potwierdzania odbioru i dostawy. W ten sposób aktywny komunikat traktuje sieć po prostu jako otwartą rurę do przechodzenia. Jej jedynymi ograniczeniami są ograniczenia sieci fizycznej, gdzie odległość między węzłami może wpływać na opóźnienie wiadomości.

Sposób działania aktywnego systemu wiadomości polega na tym, że nadawca wypełnia sieć wiadomościami. Nie ma buforowania po stronie odbiorczej, której jedyną odpowiedzią na AM jest krótkie przerwanie obliczeń dla programu obsługi wiadomości, pobranie wiadomości z sieci i kontynuowanie pracy. Buforowanie wiadomości występuje tylko po stronie nadawcy, gdzie wiadomości są wstrzymywane w zależności od tego, czy sieć osiąga swoje granice. Metoda odpytywania utrzymuje zakładki w sieci, dzięki czemu system wie, kiedy wstrzyknąć więcej wiadomości. Aktywne wiadomości pozwalają w ten sposób na ciągłe nakładanie się wiadomości wysyłanych z obliczeniami wykonywanymi na zdalnych maszynach, a także zapewniają ich koordynację.

Chociaż metoda aktywnego przekazu może mieć prosty charakter, wiąże się z kilkoma problemami związanymi z wdrożeniem. Mimo że mają tak prymitywną konstrukcję, do obsługi komunikatów systemu komputerowego często wymagane są specjalnie zaprojektowane sterowniki interfejsu. Aktywne komunikaty są również zaprojektowane do działania między węzłami komputerów, na których działa ten sam program. W ten sposób instrukcje wysyłane i odbierane są specyficzne dla programu już uruchomionego na komputerze docelowym.

Ze względu na swój charakter aktywne wiadomości znalazły szerokie zastosowanie w równoległych środowiskach obliczeniowych, takich jak aplikacje z pojedynczym procesem i wieloma danymi (SPMD). Programy te działają w dużych sieciach systemów komputerowych, w których aktywne komunikaty są wykorzystywane do przekazywania instrukcji i danych między maszynami. Takie rozproszone systemy wykorzystują tę metodę do wydajnego przetwarzania ogromnych ilości danych, które w innym przypadku zajęłyby zbyt dużo czasu na pojedynczej maszynie.