Как запустить параллельную программу на нескольких компьютерах (указанные пользователем IP-адреса)? - PullRequest
4 голосов
/ 25 мая 2011

Я новичок в параллельном программировании.Я много исследовал использование модели программирования SOA MPI и Windows HPC-сервера.Но сейчас я запутался как никогда.Задача состоит в том, чтобы запустить программу на нескольких компьютерах (IP-адрес будет предоставлен пользователем), эта программа принимает входной файл, полный миллионов строк, и извлекает определенные области.Я завершил программирование (в C # & .net4 fw) и успешно протестировал его на одном компьютере.Но проблема в том, что я должен сделать это параллельно, чтобы ускорить процесс.Я просто хочу, чтобы кто-то показал мне направление к подходу, который не предполагает использование MPI.Надеюсь, мой вопрос достаточно ясен.

Спасибо.

Ответы [ 4 ]

5 голосов
/ 25 мая 2011

Вы можете попробовать Дриада .Он включает в себя LINQ-подобный API.

0 голосов
/ 25 мая 2011

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

Рабочая программа, работающая на многих компьютерах, является "службой", а программа отправителя заданий - "клиентом".

0 голосов
/ 25 мая 2011

Вы можете попробовать переработать приложение, чтобы использовать silverlight в качестве клиентских процессоров.

http://www.codeproject.com/KB/silverlight/gridcomputing.aspx

0 голосов
/ 25 мая 2011

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

В зависимости от вашей среды, безопасность часто представляет собой интересное препятствие для этого типа проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...