Лучший совет - просто: попробуйте разные значения и измерения.
При распараллеливании есть ооочень много факторов, которые могут повлиять на результаты: дисковый ввод-вывод, общий кэш ЦП и общая пропускная способность ОЗУ, просто чтобы назвать 3.
top
ваш друг при измерении. Если вам удастся заставить все ЦП работать на <5% простоя, вы вряд ли сможете go быстрее - независимо от того, что вы делаете. </p>
top - 14:49:10 up 10 days, 5:48, 123 users, load average: 2.40, 1.72, 1.67
Tasks: 751 total, 3 running, 616 sleeping, 8 stopped, 4 zombie
%Cpu(s): 17.3 us, 6.2 sy, 0.0 ni, 76.2 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
GiB Mem : 31.239 total, 1.441 free, 21.717 used, 8.081 buff/cache
GiB Swap: 117.233 total, 104.146 free, 13.088 used. 4.706 avail Mem
Эта машина простаивает на 76,2%. Если ваши процессы используют нагрузку на ЦП, то здесь может помочь запуск дополнительных процессов параллельно. Если они используют много дискового ввода-вывода, это может помочь, а может и не помочь. Единственный способ узнать это - проверить и измерить.
top - 14:51:00 up 10 days, 5:50, 124 users, load average: 3.41, 2.04, 1.78
Tasks: 759 total, 8 running, 619 sleeping, 8 stopped, 4 zombie
%Cpu(s): 92.8 us, 6.9 sy, 0.0 ni, 0.1 id, 0.0 wa, 0.0 hi, 0.2 si, 0.0 st
GiB Mem : 31.239 total, 1.383 free, 21.772 used, 8.083 buff/cache
GiB Swap: 117.233 total, 104.146 free, 13.087 used. 4.649 avail Mem
Эта машина простаивает 0,1%. Запуск большего количества процессов вряд ли сделает вещи go быстрее.
Поэтому увеличивайте распараллеливание до тех пор, пока время простоя не достигнет минимума или пока среднее время обработки не достигнет минимума (--joblog my.log
может быть полезно, чтобы узнать, как долго выполняется задание принимает).
И да: GNU Parallel, вероятно, ускорит биоинформатику (написана другим биоинформатиком).
Рассмотрите возможность чтения GNU Parallel 2018 (статья: http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html скачать: https://doi.org/10.5281/zenodo.1146014) Прочтите хотя бы главу 1 + 2. Это займет у вас менее 20 минут. Ваша командная строка полюбит вас за это.