Яка різниця між акторською моделлю одночасності та послідовними комунікаційними процесами


26

Я намагаюся обернути голову навколо того, які реальні відмінності між моделлю паралельності актора та комунікаційними послідовними процесами (CSP) одночасності.

Поки що найкраще, що мені вдалося придумати, - це те, що модель Actor дозволяє змінювати кількість та компонування вузлів, тоді як CSP має фіксовану структуру вузлів.


1
Дивіться також Модель актора о ~ 14: 45 на 9 каналі, де Карл Хьюітт дещо розглядає модель актора. Він зазначає, що різниця між дійовими особами та CSP полягає у використанні каналів для комунікації в CSP проти прямого спілкування в Акторській моделі.
Whymarrh

Відповіді:


18

Я вважаю, що основна відмінність полягає в тому, що в CSP процеси синхронізуються при отриманні повідомлень (тобто повідомлення не можна надсилати з одного процесу, якщо інший процес не знаходиться в режимі прийому), тоді як модель Actor за своєю суттю асинхронна (тобто повідомлення негайно надсилаються до адресу інших процесів, незалежно від того, активно вони чекають на повідомлення чи ні).

Однак має бути ще одна відповідь, яка є більш розвиненою.


1
Це вже відповідь, яку я написав би. У оригінальній акторській моделі (Хьюїтт, Ага) процес отримання навіть не автоматично забезпечував доступ до імені відправника, хоча більш сучасні реалізації (такі як актори Скали) роблять. Інша відмінність полягає в тому, що суб'єкти дозволяють надсилати ідентифікаційні дані акторів у повідомленнях, як це натякано на запитання, тоді як це не можливо в CSP. (Можливо також у підрахунку, але не в CCS.)
Дейв Кларк

Отже, в основному, це все в поштовій скриньці?
Йорг W Міттаг

Як щодо перелічених тут відмінностей: en.wikipedia.org/wiki/… та en.wikipedia.org/wiki/… ? Ще одна важлива відмінність для більш ранніх версій CSP - це необмежений недетермінізм (див. Ці посилання).
Blaisorblade

2
Я не впевнений, чи це основна різниця, оскільки CSP може мати буферизовані канали, що дозволяють асинхронно надсилати повідомлення. Можливо, мова йде більше про ідентифікатор процесу, у процесах CSP - анонімні, а учасники називаються.
CMCDragonkai
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.