7
我想將LSF commandbsub
的作業限制編程到我的Perl腳本中,該腳本在引擎蓋下啓動LSF作業。如果我有2000個職位,我想在任何時候最多可以運行20個職位。我已經看到,推出20個職位,然後等待他們全部啓動另一個20如何在Perl中同時從一個大隊列中運行多個作業?
我想將LSF commandbsub
的作業限制編程到我的Perl腳本中,該腳本在引擎蓋下啓動LSF作業。如果我有2000個職位,我想在任何時候最多可以運行20個職位。我已經看到,推出20個職位,然後等待他們全部啓動另一個20如何在Perl中同時從一個大隊列中運行多個作業?
幾個現有的Perl模塊,包括Parallel::ForkManager
和Forks::Super
(其中我的作者)之前完成提供此功能的腳本。
還有一個LSF::JobManager
模塊,我什麼都不知道。
並行:: ForkManager骨架
use Parallel::ForkManager;
$pm = new Parallel::ForkManager(20);
foreach $job (@jobsToRun) {
$pm->start and next;
system("bsub -K $job"); # bsub -K job to wait until job finishes, right?
$pm->finish;
}
而在福克斯::超級
use Forks::Super MAX_PROC => 20;
foreach $job (@jobsToRun) {
fork { cmd => "bsub -K $job" };
}
這太棒了!非常感謝 – Gordon 2010-09-23 19:22:23
在使用LSF所有這些年後,我剛剛瞭解了'bsub -K'。謝謝! – 2015-05-15 14:27:46