У меня есть сценарий оболочки, который содержит следующий цикл.
i=0
upperlimit=$verylargevariable
do
complexstuff RunManager file $i
i= 'expr $i +1'
done
Этот скрипт выполняется на четырехъядерной машине и, согласно top
, использует около 15% каждого ядра при выполнении одной итерации цикла. Я хотел бы распределить его по четырем ядрам, чтобы каждая итерация цикла выполнялась complexstuff
четыре раза, по одному на каждое ядро, чтобы ресурсы использовались более эффективно. Мы говорим о вычислениях, которые в настоящее время занимают несколько часов, поэтому эффективность - это больше, чем просто хорошая практика. (Вывод каждой итерации, очевидно, не зависит от предыдущей.)
PS: Хост - это сервер под управлением Cent-OS, если это помогает.