Распределенный характер задачи и акка
Это упрощенная версия моей проблемы:
- На сервере у нас есть
n*m
- матрица типаint[][]
мы разбиваем эту матрицу на множествоn
строки-векторы и поставить их в очередь. - Когда очередь готова (заполнена векторами), мы зациклимся и отправим каждый вектор в один из
k
клиенты где-нибудь в сети, если и только если клиент может свободно брать вектор (некоторая проверка статуса клиента в форме передачи сообщений будет полезна). - Все клиенты делают то же самое с данным вектором - они вычисляют норму (длину) вектора и отправляют результат обратно на сервер, где он хранится.
- Когда все клиенты завершены, сервер печатает результаты на компьютере, на котором было запущено начальное задание.
Я собираюсь использовать среду распределенных вычислений Akka с Java. Не могли бы вы сказать мне, где начать изучать инструменты Akka, потому что я пока не знаю, как его использовать. Актеры, вероятно, будут этими клиентами..
1 ответ
Решение
У Akka есть учебник по началу работы, который вычисляет Pi с помощью процесса, очень похожего на то, что вы описали.
Также есть версия Scala.