Co to jest aktywna wiadomość?
Komunikat aktywny (AM) jest rodzajem komunikacji międzyprocesowej stosowanej w obliczeniach, w której podprogram lub funkcja programu komputerowego może być wykonywana przez zupełnie inny komputer niż miejsce, w którym się znajduje. Ten rodzaj wiadomości ma tak podstawowy 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 synchronizacji z programem.
W modelu komunikacji z aktywnym przesyłaniem wiadomości większość pracy odbywa się na poziomie sprzętu, na którym sprzęt wchodzi w interakcję ze sterownikami systemu operacyjnego. Ponieważ ten niższy poziom jest zwykle zarezerwowany dla działalności systemu operacyjnego, komunikaty są konstruowane w taki sposób, że są w stanie przenosić instrukcje dotyczące dostępu do sekwencji funkcji użytkownika wyższego poziomu. W nagłówku AM znajduje się adres tak zwanego programu obsługi. 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ść aktywnego komunikatu jest zatem argumentem funkcji lub danymi, na podstawie których obliczenia muszą działać.
Biorąc pod uwagę zasadniczą naturę budowy aktywnego komunikatu, może on ominąć istniejące protokoły komunikacyjne sieci IP. Podstawową różnicą jest jednak to, że działa się natychmiast po otrzymaniu, w przeciwieństwie do wymagania wielofazowego, wysyłania, potwierdzania odbioru, metody dostawy. W ten sposób aktywny komunikat traktuje sieć jako otwartą rurę do przejścia. Jedynymi ograniczeniami są ograniczenia sieci fizycznej, w których odległość między węzłami może wpływać na opóźnienie wiadomości.
Działanie aktywnego systemu wiadomości polega na tym, że nadawca wypełnia sieć wiadomościami. Po stronie odbierającej nie ma buforowania, którego jedyną odpowiedzią na AM jest krótkie przerwanie obliczeń dla procedury obsługi wiadomości, pobranie wiadomości z sieci i kontynuowanie działalności. Buforowanie wiadomości następuje tylko po stronie nadawcy, gdzie wiadomości są wstrzymywane na podstawie tego, czy sieć osiąga swoje limity. Metoda odpytywania kontroluje sieć, dzięki czemu system wie, kiedy wstrzyknąć więcej wiadomości. W ten sposób aktywne wiadomości pozwalają na ciągłe nakładanie się wiadomości wysyłanych z obliczeniami występującymi na zdalnych komputerach, a także zapewniają ich koordynację.
Chociaż metoda aktywnego komunikatu może być prosta, napotyka kilka problemów związanych z implementacją. Mimo że mają tak prymitywną budowę, często wymagane są niestandardowe sterowniki interfejsu do obsługi komunikatów w systemie komputerowym. Aktywne komunikaty są również przeznaczone do działania między węzłami komputerów, na których wszystkie uruchamiają ten sam program. W ten sposób instrukcje wysłane i odebrane są specyficzne dla programu już uruchomionego na komputerze docelowym.
Ze względu na swój charakter aktywne komunikaty znalazły szerokie zastosowanie w środowiskach przetwarzania równoległego, 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łużą do przekazywania instrukcji i danych między komputerami. Takie systemy rozproszone wykorzystują tę metodę do wydajnego przetwarzania ogromnych ilości danych, które w innym przypadku zajęłyby zbyt wiele czasu na pojedynczej maszynie.