2012-03-13 6 views
6

Me preguntaba cuál es la diferencia real entre Kahn Process Network y Actor Model. De hecho, si miro la definición, ambos son modelos en los que las entidades computacionales (llamadas Actores en ambos casos ...) intercambian mensajes a través de búferes ilimitados. Además, en ambos casos, estos mensajes se envían de forma asíncrona, ya que un procedimiento siempre puede enviar un mensaje. No necesita esperar a que el destinatario esté listo para recibir.Diferencia entre Kahn Process Network y Actor Modelo

De ahí mi pregunta, ¿hay alguna diferencia real?

Gracias mucho!

Respuesta

3

La red de procesos de Kahn está garantizada para ser determinista. Todas las conexiones FIFO entre procesos son conocidas previamente y no se alteran dinámicamente durante el curso de la ejecución. Por el contrario, en el caso del modelo Actor (citando a Wikipedia):

en respuesta a un mensaje que se recibe, un actor puede tomar decisiones locales, crear más actores, envíe más mensajes, y determinar cómo responder a la siguiente mensaje recibido.

Actor modelo, por lo tanto, no se garantiza que sea determinista. Citando a Wikipeda:

El modelo Actor presenta un no determinismo ilimitado que fue capturado en un modelo matemático por Will Clinger usando la teoría de dominio.

Otra distinción importante es la forma en la comunicación tiene lugar

En caso de KPN - para preservar el determinismo, toda la comunicación es a través de los canales FIFO. Pero no hay tal requisito en el caso del modelo Actor. Citando a Wikipedia:

[En KPN hay] requisito en el orden de llegada de mensajes [....] Si se desea ordenar mensaje de salida, entonces puede ser modelado por un Actor colas que proporciona esta funcionalidad. Tal cola El actor pondría en cola los mensajes que llegaron para poder recuperarlos en orden FIFO. Entonces, si un Actor X envió un mensaje M1 a un Actor Y, y luego X envió otro mensaje M2 a Y, no hay ningún requisito de que M1 llegue a Y antes de M2.

En este sentido, el modelo Actor refleja los sistemas de conmutación de paquetes que no garantizan que los paquetes se reciban en el orden enviado. No proporcionar el orden de garantía de entrega permite la conmutación de paquetes a paquetes de memoria intermedia, usar múltiples rutas para enviar paquetes, reenviar paquetes dañados y proporcionar otras optimizaciones.

Como es evidente de la discusión anterior, KPN es un escenario mucho más limitado que puede ser modelada usando el modelo de actor mediante la adición de restricciones adicionales.

Cuestiones relacionadas