Я новичок в Scala и Akka и собираюсь использовать его для решения проблемы. Предположим, у меня есть механизм расчета (который ищет решение). Я хотел бы распараллелить этот поиск как по процессорам, так и по узлам, предоставив каждому процессору на каждом узле свой экземпляр механизма.
Входные данные двигателя состоят из небольшого числа скалярных входных данных и очень большой хеш-таблицы. Каждый экземпляр механизма будет использовать свои скалярные входные данные, чтобы внести небольшое локальное изменение в хеш-таблицу, вычислить достоверность, а затем отбросить свои изменения (их не нужно фиксировать / просматривать другим экземпляром механизма). Значение добродетели будет возвращено какому-то координатору, который выберет один из результатов.
Я читал о STM TransactionalMap как о средстве совместного использования. Это кажется идеальным, но я не вижу полных примеров использования его в качестве общего состояния.
Вопросы:
- Кажется ли модель актера / stm подходящей для этой проблемы?
- Можете ли вы показать конкретный пример того, как распределить общее состояние? (это Ref [TransactionalMap [,]] как сообщение?
- Есть ли что-то отличное в распределении общего состояния внутри узла, в отличие от разных узлов?
Спрашивающий разум хочет знать,
Allan