Хелперная библиотека для распределенных алгоритмов программирования?
Когда вы кодируете распределенный алгоритм, используете ли вы какую-либо библиотеку для моделирования абстрактных вещей, таких как процессор, регистр, сообщение, ссылка и т. Д.? Есть ли библиотека, которая делает это?
Я имею в виду, например, самостабилизирующиеся алгоритмы, такие как самостабилизирующиеся алгоритмы минимального связующего дерева.
3 ответа
Существует система DVM, которую можно использовать для реализации различных распределенных алгоритмов. Это работает поверх MPI.
Однако это больше для матрично-ориентированных научных алгоритмов, где распределение осуществляется в терминах блоков данных. У меня был небольшой опыт его использования - он намного удобнее, чем прямое использование MPI, и позволяет создавать гораздо более читаемый и поддерживаемый код.
Я думаю, что вам могут помочь распределенные проекты Apache:
- Apache Hadoop предоставляет распределенные файловые системы и обработку
- Apache Zookeeper - это координационная служба, которая может оказаться прямо в вашем переулке. Он может использоваться как механизм публичной подписки.
Есть также Java Parallel Processing Framework, который абстрагирует целые машины и их состав, позволяя вам сосредоточиться на обработке.
Зависит от ваших потребностей.