Введение

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

Сила модели актера

Начались исследования базовой вычислительной мощности модели акторов. Карл Хьюитт [1985] утверждал, что благодаря использованию арбитров модель акторов была более мощной, чем логическое программирование (см. недетерминированность в параллельных вычислениях). Семья систем, подобных Prolog, осуществляющих параллельный обмен сообщениями с использованием унификации общих переменных и потоков структур данных для сообщений, была разработана Китом Кларком, Эрве Галлером, Стивом Грегори, Виджаем Сарасватом, Уди Шапиро, Казунори Уэдой и др. Некоторые из этих авторов заявляли, что эти системы основаны на математической логике. Однако, как и модель акторов, системы, подобные Prolog, основывались на передаче сообщений и, следовательно, подвергались недетерминированности в порядке следования сообщений в потоках, аналогичной недетерминированности в порядке поступления сообщений, отправленных акторам. В результате Карл Хьюитт и Гул Ага [1991] заключили, что системы, подобные Prolog, не были ни дедуктивными, ни логическими. Они не были дедуктивными, поскольку вычислительные шаги не выводились дедуктивно из предшествующих, и не были логическими, поскольку ни одна система математической логики не могла вывести факты последующих вычислительных состояний из предшествующих.

Композиционность

Композиционность связана с построением систем из подсистем. Проблемы композиционности оказались серьезными ограничениями для предыдущих теорий вычислений, включая лямбда-исчисление и сети Петри. Например, два лямбда-выражения не являются лямбда-выражением, а две сети Петри не образуют сеть Петри и не могут взаимодействовать друг с другом. В своей докторской диссертации Гул Ага исследовал вопросы композиционности в модели акторов. Конфигурации акторов имеют приемники, которые могут получать сообщения извне и могут располагать адресами приемников других конфигураций акторов. Таким образом, две конфигурации акторов можно объединить в новую конфигурацию, в которой подконфигурации могут обмениваться сообщениями. Конфигурации акторов обладают преимуществом в том, что они могут иметь несколько акторов (то есть приемников), принимающих сообщения извне, без недостатка необходимости постоянного опроса для получения сообщений из множества источников (см. проблемы, связанные с получением сообщений из нескольких каналов).

Компьютерные архитектуры

Исследователи из Калифорнийского технологического института под руководством Чака Зайца разработали Cosmic Cube, одну из первых архитектур, основанных на передаче сообщений и акторах. Впоследствии в MIT исследователи под руководством Билла Далли разработали J Machine.

Попытки соотнести семантику актора с алгеброй и линейной логикой

Кохей Хонда и Марио Токоро в 1991 году, Хосе Месэгуер в 1992 году, Уго Монтанари и Кэролин Талкотт в 1998 году, М. Гаспари и Г. Заваттаро в 1999 году пытались соотнести семантику акторов с алгеброй. Кроме того, Джон Дарлингтон и Ю. К. Гуо в 1994 году пытались соотнести линейную логику с семантикой акторов. Однако ни один из вышеперечисленных формализмов не рассматривает ключевое свойство – гарантию качества обслуживания (см. неограниченный недетерминизм).

Последние события

Недавние достижения в области модели Actor обусловлены несколькими источниками. Развитие аппаратного обеспечения способствует увеличению как локальной, так и нелокальной массовой параллельности. Локальная параллельность обеспечивается новым оборудованием, таким как 64-битные многоядерные микропроцессоры, многочиповые модули и высокопроизводительные соединения. Нелокальная параллельность обеспечивается новым оборудованием для проводных и беспроводных широкополосных коммуникаций с пакетной коммутацией. Объемы как локальной, так и нелокальной памяти растут экспоненциально. Эти достижения в области аппаратного обеспечения ставят перед нами огромные задачи моделирования. Хьюитт [Hewitt 2006a, 2006b] пытается использовать модель Actor для решения этих задач.