Разница между Каннской технологической сетью и актерской моделью - PullRequest
7 голосов
/ 13 марта 2012

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

Отсюда мой вопрос, есть ли реальная разница?

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

1 Ответ

4 голосов
/ 27 октября 2012

Кан-технологическая сеть гарантированно будет детерминированной.Все соединения FIFO между процессами известны заранее, и они не изменяются динамически в ходе выполнения.Напротив, в случае модели актера (цитируя Википедию):

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

Актерская модель, поэтому не гарантируется, что она будет детерминированной.Цитируя Википеду:

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

Другое важное различие заключается в том, как происходит общение.

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

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

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

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

...