Cos'è un messaggio attivo?
Un messaggio attivo (AM) è un tipo di comunicazione tra process utilizzata nel calcolo, per cui la subroutine o la funzione di un programma per computer può essere eseguita da un computer completamente diverso da dove risiede. Questo tipo di messaggio è di un formato così fondamentale che consente un maggiore utilizzo della larghezza di banda di rete rispetto ai protocolli Internet standard (IP). È anche considerato un sistema di passaggio di messaggi asincrono, in quanto viene immediatamente agito invece di aspettare un momento particolare per sincronizzare con il programma.
Con il modello di comunicazione di messaggistica attiva, gran parte del lavoro avviene a livello di hardware in cui l'hardware interagisce con i driver del sistema operativo. Dato che questo livello inferiore è normalmente riservato per l'attività del sistema operativo, i messaggi sono costruiti in modo tale da essere in grado di trasportare istruzioni per accedere a una sequenza di funzioni utente di livello superiore. All'interno dell'intestazione di un AM c'è l'indirizzo di ciò a cui si fa riferimentocome un gestore. Il gestore è un'istruzione speciale a livello di utente che consente di elaborare il corpo del messaggio da un calcolo che esegue il processore. Il corpo di un messaggio attivo, quindi, è l'argomento della funzione o i dati su cui il calcolo deve agire.
Data la natura essenziale della costruzione di un messaggio attivo, è in grado di trasmettere protocolli di comunicazione di rete IP esistenti. La differenza principale, tuttavia, è che viene agito all'istante al ricevimento, invece di richiedere un metodo multi-fase, invio, di riconoscimento, di consegna. In questo modo, un messaggio attivo considera la rete semplicemente un tubo aperto per l'attraversamento. Le sue uniche limitazioni sono quelle della rete fisica, in cui la distanza tra i nodi può fare attenzione alla latenza dei messaggi.
Il modo in cui funziona un sistema di messaggi attivo è da un mittente che riempie la rete con i messaggi. Non c'è bufferingDall'estremità ricevente, la cui unica risposta a un AM è interrompere brevemente il suo calcolo per il gestore del messaggio, prendere il messaggio dalla rete e andare avanti sulla sua attività. L'unico buffering dei messaggi di tempo è alla fine del mittente, in cui i messaggi sono sostenuti in base al fatto che la rete sta raggiungendo i suoi limiti. Un metodo di polling tiene sotto controllo la rete in modo che il sistema sappia quando iniettare più messaggi. I messaggi attivi consentono quindi la continua sovrapposizione di messaggi inviati con i calcoli che si verificano su macchine remote, oltre a mantenerli tutti coordinati.
Mentre il metodo del messaggio attivo può essere di natura semplice, deve affrontare alcuni problemi rispetto all'implementazione. Anche se sono di così costruzione così primitiva, sono spesso richiesti driver di interfaccia progettati su misura per gestire i messaggi per un sistema informatico. I messaggi attivi sono inoltre progettati per operare tra nodi del computer che eseguono tutti lo stesso programma. In questo modo, le istruzioniinviati e ricevuti sono specifici del programma già in esecuzione sul computer di destinazione.
A causa della loro natura, i messaggi attivi hanno trovato un ampio uso in ambienti di elaborazione paralleli, come singolo processo, applicazioni di più dati (SPMD). Questi programmi vengono eseguiti su grandi reti di sistemi informatici in cui vengono utilizzati messaggi attivi per passare istruzioni e dati tra le macchine. Tali sistemi distribuiti utilizzano il metodo per elaborare in modo efficiente enormi quantità di dati che altrimenti richiederebbero troppo tempo su una singola macchina.