Разница между Kahn Process Network и моделью актера

StackOverflow https://stackoverflow.com//questions/9683043

  •  13-12-2019
  •  | 
  •  

Вопрос

Мне было интересно, какова фактическая разница между сетью процесса KAHN и модели актера.Действительно, если я смотрю на определение, они оба являются моделями, в которых вычислительные объекты (называемые актерами в обоих случаях ...) сообщений обмена сообщениями через неограниченные буферы.Более того, в обоих случаях эти сообщения отправляются асинхронно, поскольку процедура всегда может отправить сообщение.Не нужно ждать, пока получатель будет готов к получению.

Следовательно, мой вопрос, есть ли фактическая разница?

Большое спасибо!

Это было полезно?

Решение

Kahn Process Network гарантируется детерминированным. Все Соединения FIFO между процессами являются привышеми известными, и они нельзя динамически изменять в ходе выполнения. Напротив, в случае модели актера (цитирующая Википедия):

В ответ на сообщение о том, что он получает, актер может внести локальные решения, создавать больше актеров, отправлять больше сообщений и определить, как ответить на следующее сообщение.

Actor Model, поэтому не гарантируется детерминированным. Цитирование Википеды:

Модель актера обладает неограниченным недетерминизмом, который был захвачен в математической модели, будет крепнуть с помощью теории домена.

Другое важное различие заключается в том, как связь имеет место

В случае KPN - чтобы сохранить детерминизм, все общение через каналы FIFO. Но нет такого требования в случае модели актера. Цитирование Википедии:

[В КПН есть] Нет требования к порядку поступления сообщения [....] Если желаемо желаемое заказывать выходные сообщения, то он может быть смоделирован актером очереди, который предоставляет эту функциональность. Такой актер очереди бросит в очередь сообщения, которые прибыли, чтобы их можно было получить в порядке FIFO. Итак, если ACTOR X отправил сообщение M1 на актер Y, а позже X отправил другое сообщение M2 к Y, нет необходимости, чтобы M1 поступает в Y до M2.

В этом отношении уважают системы коммутационных коммутационных систем, которые не гарантируют, что пакеты должны быть получены в приглашенном порядке. Не предоставление порядка гарантии доставки позволяет пакету переключаться на буферные пакеты, используйте несколько путей для отправки пакетов, повторные поврежденные пакеты и предоставляют другие оптимизации.

Как совершенно ясно из вышеупомянутой дискуссии, KPN является гораздо более ограниченным сценарием, который может быть смоделирован с использованием модели актера, добавляя дополнительные ограничения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top