作业序列是一系列作业,这些作业执行相同的操作和资源要求,但是输入输出文件不同。这些作业共享同一个作业ID,并可以通过索引来区分每个子作业。

  bsub时使用-J "arrayName[indexList, ...]"参数命名并创建一个作业序列,也可以理解为一个作业数组,中括号里面就是数组的下标,可以是一维数组也可以是多维数组。indexList = start[-end[:step]] 下标的起始、结束和步长均可指定。

  作业调度系统提供了两个运行时变量%I和%J,%I为子作业的索引值,%J为作业ID,一般用于输入输出文件名中;以及运行时环境变量LSB_JOBINDEX。

 

例如:

  • 提交一个有10个子作业的作业:bsub -J "myArray[1-10]" myJob
  • 每个子作业定义不同的输入输出文件:bsub -J "myArray[1-10]" -i "input.%I" -o "output.%I" myJob
  • 假设jobid是123,针对单个子作业操作:bkill 123[1];对整个作业序列操作:bkill123