У меня есть папка с 500 входными файлами (общий размер всех файлов ~ 500[МБ]).
Я хотел бы написать скрипт python
, который делает следующее:
(1) загрузить все входные файлы в память
(2) инициализирует пустой список python
, который будет использоваться позже... см. маркер (4)
(3) запускать 15 разных (независимых) процессов: каждый из них использует одни и те же входные данные [из (1)
], но использует разные алгоритмы для их обработки, что приводит к разным результатам.
(4) Я хочу, чтобы все независимые процессы [из шага (3)
] сохраняли свои выходные данные в одном и том же списке python
[тот же список, который был инициализирован на шаге (2)
]
Как только все 15 процессов завершат свое выполнение, у меня будет one python list
, включающий результаты всех 15 независимых процессов.
Мой вопрос в том, возможно ли сделать это эффективно в python
? если да, можете ли вы предоставить схему/пример кода, иллюстрирующий, как это сделать?
Примечание №1: я буду запускать это на сильном многоядерном сервере; поэтому цель здесь состоит в том, чтобы использовать всю вычислительную мощность, разделяя часть памяти {input data
, output list
} между всеми независимыми процессами.
Примечание 2. Я работаю в среде Linux
.
output list
будет иметь размер ~ 100 [МБ]). - person user3262424   schedule 01.07.2011#1
--› нет, нет сторонних библиотек; В основном я использую только стандартные библиотекиpython
;#2
--› выходной список, вероятно, будет многомерным массивом, в идеале с использованиемnumpy
; в любом случае он будет содержать только числа (или массивы с числами, учитывая многомерность). Не могли бы вы уточнить, как здесь следует использоватьzeromq
? будет ли это решение использовать всю вычислительную мощность сервера? - person user3262424   schedule 01.07.2011python
? Если да, можете ли вы предложить, какие библиотеки использовать/как к этому подойти? - person user3262424   schedule 01.07.2011zeroMQ
если кто-то хочет запустить одинmaster
процесс и много (скажем,N
) связанных с ним дочерних процессов? (скажем, использовать одну и ту же память? один и тот же вывод?) - person user3262424   schedule 01.07.2011SUB
иPUB
-- не могли бы вы объяснить подробнее? Кроме того, что произойдет со всеми процессами, если главный узел выйдет из строя? - person user3262424   schedule 01.07.2011