IBM LSF交互式作业

集群管理 9 1510 张长瑞 收藏

交互式作业

从系统管理的角度,通过一个单一的集中调度器,来控制所有的工作,有时是非常可取的。

对于资源密集型作业,交互式作业可通过LSF的批处理系统提交,从而能够使用到批处理调度策略和机器选择功能。你可以提交一个作业,并且指定最低的加载主机去运行该作业。

由于所有的交互式作业受LSF策略影响,对于系统,你将有更多的控制权。例如,你可以指定只将集群中两台服务器作为交互式服务器。通过定义一个交互式队列并指定其只能使用该两台交互式服务器的,从而禁止交互式作业访问所有其他的服务器。

调度策略

对于资源密集型作业,交互式作业可让你利用批处理调度策略和机器选择功能。在一个队列中,交互式批处理作业和其它作业一样,使用相同的策略来调度。这意味着,交互式作业在被派发之前,可能需要等待很长的时间。如果需要快速反应时间,交互式作业应该被提交到调度限制比较松散,但优先级很高的队列中。

交互式队列

你可以通过lsb.queues文件中的INTERACTIVE参数,来配置队列,使其只支持交互式作业,只支持批处理作业,或者是两者都支持。参见Platform LSF Configuration Reference, 在lsb.queues文件中关于配置交互式队列的信息。

非批处理的公用交互式作业

非批处理的作业,例如lsrun,lsgrun,等等,当运交互式认为时,使用LIM的简单安置建议来选择主机。参见第42章“交互式和远程任务的运行”,以获得使用非批处理公用命令来运行交互式作业的详细信息。

提交交互式作业

使用

bsub –I

选项来提交批处理交互式作业,使用

bsub –Is和-Ip

选项在伪终端提交批处理交互式作业。Windows不支持伪终端。

参见bsub命令以获得更详细的信息。

找出哪些队列接受交互式作业

在你提交交互式作业之前,需要使用bqueues –l命令来找出哪些队列接受交互式作业。如果该命令的输出中包含下面的信息,说明该队列只支持批处理作业,不支持交互式作业:

SCHEDULING POLICIES: NO_INTERACTIVE

如果该命令的输出中包含下面的信息,说明该队列只支持交互式作业:

SCHEDULING POLICIES: ONLY_INTERACTIVE

如果以上两种信息都没有,或者SCHEDULING POLICIES没有在

bqueeues –l

命令的输出中,那么该队列既支持交互式作业,也支持批处理作业。

您可以在lsb.queues文件中配置交互式队列。

提交一个交互式作业

1 使用bsub –I选项来提交一个交互式批处理作业。

例如:

bsub –I ls

提交一个交互式批处理作业:在用户的终端显示ls的输出结果。

% bsub -I -q interactive -n 4,10 lsmake
<<Waiting for dispatch ...>>

该命令在4至10个处理器上启动Platform Make,并在终端显示输出结果。直到交互式作业完成或终止,才能提交新的作业。

当交互式作业被提交,作业在等待调度时,会有信息显示。bsub命令将停止显示从shell的输出,直到该作业完成,默认没有邮件发送给用户。用户可以使用

ctrl +c

在任何时候来终止该作业。

交互式作业不能设置检查点。

交互式作业不能重运行(bsub -r)。

您可以将交互式批处理作业提交到可重运行的队列(在lsb.queues文件中RERUNNABLE=y)中,或者可重运行的应用(在lsb.applications文件中RERUNNABLE=y)中。

使用伪终端提交交互式作业

在Windows下,不管是lsrun或者bsubLSF命令,都不支持使用伪终端来提交交互式作业。

bsub –Ip

使用bsub –Ip选项,用伪终端来提交一个批处理交互式作业。

例如:

% bsub -Ip vi myfile

提交一个编辑myfile的交互式作业。

当你指定-Ip选项时,bsub命令提交一个批处理交互式作业,并且在该作业开始时建立一个伪终端。一些应用,例如vi,需要一个伪终端,以便正常运行。

bsub –Is

使用bsub –Is选项,提交批处理交互式作业时,能创建一个特定shell模式的伪终端。

例如:

% bsub -Is csh

提交一个批处理交互式作业,该作业启动csh,将其作为交互式shell。

当你指定-Is选项时,bsub命令提交一个批处理交互式作业,并且在该作业开始时建立一个特定shell模式的伪终端。该选项应指定提交时的交互式shell,或者用CTRL –C 和CTRL –Z重新界定的应用(例如jove)。

提交交互式作业和重定向流文件

bsub –i, -o, -e

你能使用-I选项和-i, -o, -e选项一起,用bsub来选择重定向流文件。

当标准输入和标准输出来自终端时,为了保存标准错误流到job.err文件:

% bsub -I -q interactive -e job.err lsmake

划分stdout和stderr

如果你的环境中有一个围绕 bsub和LSF命令的封装,使最终用户不知道LSF和LSF的具体选项,就可以在批处理交互式作业中用>操作符,将标准输出和标注错误信息重定向。

默认情况下,在批处理交互式作业中,标准错误和标准输出信息都写入提交主机的stdout内。

将stderr和stdout信息写入mystdout:

bsub -I myjob 2>mystderr 1>mystdout

在lsf.conf文件中设置

LSF_INTERACTIVE_STDERR=y

或者作为环境变量,以便将stdout和stderr重定向到不同的文件。

bsub -I myjob 2>mystderr 1>mystdout

stderr重定向到mystderr,stdout重定向到mystdout。

参见Platform LSF Configuration Reference的LSF_INTERACTIVE_STDERR,

以获得更详细的信息。


相关推荐:

网友留言:

  1. fukua
    回复
    为什么建设使用(-Is)交互式伪终端shell模式来提交作业?
    1. 团子精英
      回复
      交互式会话模式,如果不使用交互式模式,你可能无法正常使用 图形界面类的工具。
  1. Just
    回复
    请教个问题,我用bsub -q long -I gvim 提交任务 一直显示在等待调度,这个是怎么回事,lsfadmin账户可以提交。
    Job is submitted to queue .
    ˂˃
    1. 团子精英
      回复
      看hostname看ntp,。还有看queue是否允许图形界面。
      1. Just
        回复
        问题找到了,是因为我防火墙的原因导致。防火墙关闭就可以正常提交。 非常感谢!!
      1. Just
        回复
        Begin HostGroup
        GROUP_NAME GROUP_MEMBER #GROUP_ADMIN # Key words
        master_hosts (node01 node02 )
        HPC_HOSTS (node03 node04 node05 node06 )
        End HostGroup
        -----------------------------------
        Begin Queue
        QUEUE_NAME = long
        PRIORITY = 31
        INTERACTIVE = Y
        HOSTS = HPC_HOSTS
        NEW_JOB_SCHED_DELAY = 0
        FAIRSHARE = USER_SHARES[[default,1]]
        DESCRIPTION = For simulation jobs
        End Queue
        我把lsb.hosts 和 lsb.queues 复制出来了。
        Begin Host
        HOSTNAME model type server RESOURCES #Keywords
        node01 ! ! 1 (mg)
        node02 ! ! 1 (mg)
        node03 ! ! 1 ()
        node04 ! ! 1 ()
        node05 ! ! 1 ()
        node06 ! ! 1 ()
        End Host
        其中node01和node02 可以提交交互式job。
        1. 团子精英
          回复
          可留下联系方式,看下现场。
      1. Just
        回复
        queue是允许图形界面的,目前测试下来在master server 上所有用户都可以提交图形界面,其他的server 全部不可以。
        HOST_NAME type model cpuf ncpus maxmem maxswp server RESOURCES
        node01 X86_64 Intel_E5 12.5 32 255.6G 127.9G Yes (mg)
        node02 X86_64 Intel_E5 12.5 40 511.6G 3.9G Yes (mg)
        node03 X86_64 Intel_E5 12.5 40 511.6G 3.9G Yes ()
        node04 X86_64 Intel_E5 12.5 40 511.6G 3.9G Yes ()
        1. 团子精英
          回复
          可否截图lsb.hosts 看下,还有lsb.queues
您需要 登录账户 后才能发表评论

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码