У меня есть этот Баш скрипт:Запуск питон параллельно
#!/bin/bash
for i in `seq 1 32`;
do
python run.py file$i.txt &
if (($i % 10 == 0)); then wait; fi
done
wait
Я хочу, чтобы запустить его на кластере с 64 ядрами. Как распределить 10 файлов среди ядер? ЕСЛИ у меня есть 10 бесплатных ядер одновременно, каждое ядро будет принимать один файл, или есть более сложный способ? Кроме того, если все руды бесплатны, я должен запускать 64 файла за раз, или он может столкнуться с проблемами, если я буду использовать их все (например, программа может быть замедлен из-за проблем с памятью?
Я бы просто использовал пакет многопроцессорности (https://docs.python.org/2/library/multiprocessing.html). создать пул вакансий и определить максимальное количество ядер. Каждый из них просто вернется в бассейн, как только он выполнит свою работу, и выберите новый, если есть один ... –