@ Пользователь, пожалуйста. Zeromq действительно чертовски круто. это делает межпроцессное взаимодействие очень простым, если ваша проблема может быть выражена как смесь топологии сети, которую она поддерживает. Проведите выходные, играя с ним, следуйте документам, и вы можете обнаружить, что у меня есть, что он открывает целый мир возможностей для решения проблем, связанных с несколькими процессами.
я есть папка с 500 входными файлами (общий размер всех файлов ~ 500 [МБ]).
Я хотел бы написатьpython
скрипт, который делает следующее:
(1) загрузить все входные файлы в память
(2) инициализирует пустойpython
список, который позже будет использован ... см.(4)
(3) запустить 15 разных (независимых) процессов: каждый из них использует одни и те же входные данные [из(1)
] - но использует другие алгоритмы для его обработки, что приводит к разным результатам
(4) Я хотел бы, чтобы все независимые процессы [от шага(3)
] хранить свои выходные данные в том жеpython
list [тот же список, который был инициализирован в шаге(2)
]
Как только все 15 процессов завершат свою работу, у меня будетone python list
это включает в себя результаты всех 15 независимых процессов.
Мой вопрос заключается в том, возможно ли сделать вышеизложенное эффективно вpython
? Если да, можете ли вы предоставить схему / пример кода, который иллюстрирует, как это сделать?
Примечание № 1: Я буду работать на сильном многоядерном сервере; поэтому цель здесь состоит в том, чтобы использовать всю вычислительную мощность при совместном использовании некоторой памяти {input data
, output list
} среди всех независимых процессов.
Заметка 2: Я работаю вLinux
окружающая обстановка