Domanda

Mi stavo chiedendo qual è la differenza reale tra Kahn Process Network and Atortor Model.Infatti, se guardo la definizione, entrambi sono modelli in cui le entità computazionali (chiamate attori in entrambi i casi ...) scambiano messaggi tramite buffer non tamponi.Inoltre, in entrambi i casi, questi messaggi vengono inviati in modo asincrono poiché una procedura può sempre inviare un messaggio.Non è necessario attendere che il destinatario sia pronto a ricevere.

Da qui la mia domanda, c'è qualche differenza effettiva?

Grazie mille!

È stato utile?

Soluzione

Kahn Process Network è garantito per essere deterministici. Tutte le connessioni FIFO tra i processi sono precedenti e non modificano dinamicamente durante il corso dell'esecuzione. Al contrario, in caso di modello attore (citando Wikipedia):

.

In risposta a un messaggio che riceve, un attore può effettuare decisioni locali, creare più attori, inviare ulteriori messaggi e determinare come rispondere al messaggio successivo ricevuto.

Modello dell'attore, quindi non è garantito per essere deterministici. Citando Wikipeda:

.

Il modello dell'attore Caratteristiche il nonderminismo illimitato che è stato catturato in un modello matematico da Clinger utilizzando la teoria del dominio.

Un'altra distinzione importante è il modo in cui la comunicazione avviene

In caso di KPN - per preservare il determinismo, tutta la comunicazione è attraverso i canali FIFO. Ma non vi è tale requisito in caso di modello attore. Citando Wikipedia:

.

[In KPN non è presente alcun requisito sull'ordine del messaggio Arrivo [....] Se si desidera che l'ordine del messaggio di uscita sia desiderato, può essere modellato da un attore coda che fornisce questa funzionalità. Tale attore coda posa i messaggi che arrivarono in modo che potessero essere recuperati nell'ordine FIFO. Quindi se un attore X ha inviato un messaggio M1 a un attore Y, e successivamente X ha inviato un altro messaggio M2 a Y, non c'è requisito che M1 arrivi a y prima di m2.

A tale riguardo, i sistemi di commutazione del pacchetto del pacchetto del modello attore che non garantiscono che i pacchetti debbano essere ricevuti nell'ordine inviato. Non fornire l'ordine della garanzia di consegna consente la commutazione dei pacchetti ai pacchetti del buffer, utilizzare più percorsi per inviare pacchetti, inviare nuovamente i pacchetti danneggiati e per fornire altre ottimizzazioni.

Come è abbastanza chiaro dalla discussione di cui sopra, KPN è uno scenario molto più limitato che può essere modellato utilizzando il modello dell'attore aggiungendo ulteriori restrizioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top