Вопрос

Я ищу распределенную вычислительную платформу, которую можно легко встроить в приложение.

Я исследовал MPI (и некоторые его реализации), но из того, что я видел, он включает в себя создание исполняемого для каждой задачи, и это запускается с использованием mpirun.Я не исключаю этого, я просто хочу, чтобы он был встроен в приложение, а не как внешний исполняемый (если возможно).

Вы, поэтому пользователи, знаете такую структуру (желательно открытый источник)?Кроме того, для того, чтобы принять решение, некоторые образцы использования будут хорошими.

Я заинтересован в решении поперечной платформы, если это возможно, поскольку станции в локальной сети, где необходимо развернуть решение, является неоднородным.

Любые предложения и особенно примеры кода высоко ценятся.

Это было полезно?

Решение

Четыре системы помимо mpi: amqp, zeromq , Cilk и актеры.

AMQP использует сообщение, передающее сообщение для связи между системами, используя центральное сообщение Broker для обработки / распространения сообщений. Некоторые реализации Guarentee правильная доставка в приемник, но медленнее (похоже на TCP). Некоторые реализации являются огнем и забывают, запрещают доставку Guarenteed, но являются быстрее (похоже на UDP). Примечание. AMQP - это протокол, а не внедрение - популярные реализации включают activemq и rabbitmq .

zeromq - это немного похоже на AMQP Minus Central Message Broker. Он в основном актеров в стиле я верю, где он будет более программным, позвольте вам разработать вашу систему в конце концов. Он децентрализован (без центрального сообщений Broker) и ориентиры, похоже, показывают, что он намного быстрее, чем реализации AMQP.

У меня нет большого опыта с Cilk кроме того, что это хорошо Поддерживаемый проект от MIT, который предназначен для работы с C / C ++. Актеры

- это абстракция, чтобы помочь с местными / распределенными параллелизмом, популяризированным Erlang и совсем недавно, Akka Project (Scala, Java). C ++ Совместимые версии, которые я знаю, есть Терон, Actor-CPP и libCPPA, хотя я не уверен, что из этих поддерживает удаленные актеры.

Другие советы

Я думаю, что Cazeelcast Ещесно такая вещь;Встраиваемый распределенный вычислений.Но это в Java, а не C. Но вы можете назвать C от Java.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top