Разница между Kahn Process Network и моделью актера
Вопрос
Мне было интересно, какова фактическая разница между сетью процесса KAHN и модели актера.Действительно, если я смотрю на определение, они оба являются моделями, в которых вычислительные объекты (называемые актерами в обоих случаях ...) сообщений обмена сообщениями через неограниченные буферы.Более того, в обоих случаях эти сообщения отправляются асинхронно, поскольку процедура всегда может отправить сообщение.Не нужно ждать, пока получатель будет готов к получению.
Следовательно, мой вопрос, есть ли фактическая разница?
Большое спасибо!
Решение
Kahn Process Network гарантируется детерминированным. Все Соединения FIFO между процессами являются привышеми известными, и они нельзя динамически изменять в ходе выполнения. Напротив, в случае модели актера (цитирующая Википедия):
В ответ на сообщение о том, что он получает, актер может внести локальные решения, создавать больше актеров, отправлять больше сообщений и определить, как ответить на следующее сообщение.
Actor Model, поэтому не гарантируется детерминированным. Цитирование Википеды:
Модель актера обладает неограниченным недетерминизмом, который был захвачен в математической модели, будет крепнуть с помощью теории домена.
Другое важное различие заключается в том, как связь имеет место
В случае KPN - чтобы сохранить детерминизм, все общение через каналы FIFO. Но нет такого требования в случае модели актера. Цитирование Википедии:
[В КПН есть] Нет требования к порядку поступления сообщения [....] Если желаемо желаемое заказывать выходные сообщения, то он может быть смоделирован актером очереди, который предоставляет эту функциональность. Такой актер очереди бросит в очередь сообщения, которые прибыли, чтобы их можно было получить в порядке FIFO. Итак, если ACTOR X отправил сообщение M1 на актер Y, а позже X отправил другое сообщение M2 к Y, нет необходимости, чтобы M1 поступает в Y до M2.
В этом отношении уважают системы коммутационных коммутационных систем, которые не гарантируют, что пакеты должны быть получены в приглашенном порядке. Не предоставление порядка гарантии доставки позволяет пакету переключаться на буферные пакеты, используйте несколько путей для отправки пакетов, повторные поврежденные пакеты и предоставляют другие оптимизации.
Как совершенно ясно из вышеупомянутой дискуссии, KPN является гораздо более ограниченным сценарием, который может быть смоделирован с использованием модели актера, добавляя дополнительные ограничения.