Многопроцессорная обработка Python МЕЖДУ облачными экземплярами Amazon - PullRequest
4 голосов
/ 23 июня 2011

Я хочу запустить длительный процесс анализа Python на нескольких экземплярах Amazon EC2.Код уже выполняется с использованием модуля python multiprocessing и может использовать все ядра на одном компьютере.

Анализ полностью разбит на части, и каждому экземпляру не нужно взаимодействовать с каким-либо другим.Вся работа «на основе файлов», и каждый процесс работает с каждым файлом индивидуально ... поэтому я планировал просто смонтировать один и тот же том S3 на все узлы.

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

Ответы [ 3 ]

4 голосов
/ 27 июня 2011

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

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

просто убедитесь, что ваши машины находятся в одной группе безопасности :-)

0 голосов
/ 28 июня 2011

Я недавно начал копаться в IPython, и похоже, что он поддерживает параллельную обработку на нескольких хостах прямо из коробки:

http://ipython.org/ipython-doc/stable/html/parallel/index.html

0 голосов
/ 24 июня 2011

Я бы использовал Дамбо . Это оболочка Python для Hadoop, совместимая с Amazon Elastic MapReduce. Напишите небольшую обертку вокруг вашего кода для интеграции с dumbo. Обратите внимание, что вам, вероятно, нужна работа только для карты без шага уменьшения.

...