管理具有亲缘关系资源需求的作业
您可以使用 -l -aff 选项 bjobs, bhist和 bacct来查看为具有 CPU 和内存亲缘关系资源需求的作业和任务分配的资源。 使用 bhosts -aff 来查看为亲缘关系作业分配的主机资源。
查看亲缘关系作业的作业资源 (-aff)
-aff 选项显示有关作业中每个任务的 CPU 和内存亲缘关系资源需求的作业信息。 一种表头AFFINITY显示作业中每个任务的详细内存和 CPU 绑定信息,每个分配的处理器单元对应一行。
仅与 bjobs, bhist和 bacct的 -l 选项配合使用。
使用 bjobs -l -aff 显示作业任务的 CPU 和内存亲和性资源需求信息。 带有标题的表AFFINITY显示包含每个任务的详细亲缘关系信息,每个分配的处理器单元对应一行。 CPU 绑定和内存绑定信息显示在屏幕中的单独列中。
bsub -n 6 -R"span[hosts=1] rusage[mem=100]affinity[core(1,same=socket,exclusive=(socket,injob))
:cpubind=socket:membind=localonly:distribute=pack]" myjob
Job <6> is submitted to default queue <normal>.bjobs -l -aff 61
Job <61>, User <user1>, Project <default>, Status <RUN>, Queue <normal>, Comman
d <myjob1>
Thu Feb 14 14:13:46: Submitted from host <hostA>, CWD <$HOME>, 6 Processors R
equested, Requested Resources <span[hosts=1] rusage[mem=10
0]affinity[core(1,same=socket,exclusive=(socket,injob)):cp
ubind=socket:membind=localonly:distribute=pack]>;
Thu Feb 14 14:15:07: Started on 6 Hosts/Processors <hostA> <hostA> <hostA
> <hostA> <hostA> <hostA>, Execution Home </home/user1
>, Execution CWD </home/user1>;
SCHEDULING PARAMETERS:
r15s r1m r15m ut pg io ls it tmp swp mem
loadSched - - - - - - - - - - -
loadStop - - - - - - - - - - -
RESOURCE REQUIREMENT DETAILS:
Combined: select[type == local] order[r15s:pg] rusage[mem=100.00] span[hosts=1
] affinity[core(1,same=socket,exclusive=(socket,injob))*1:
cpubind=socket:membind=localonly:distribute=pack]
Effective: select[type == local] order[r15s:pg] rusage[mem=100.00] span[hosts=
1] affinity[core(1,same=socket,exclusive=(socket,injob))*1
:cpubind=socket:membind=localonly:distribute=pack]
AFFINITY:
CPU BINDING MEMORY BINDING
------------------------ --------------------
HOST TYPE LEVEL EXCL IDS POL NUMA SIZE
hostA core socket socket /0/0/0 local 0 16.7MB
hostA core socket socket /0/1/0 local 0 16.7MB
hostA core socket socket /0/2/0 local 0 16.7MB
hostA core socket socket /0/3/0 local 0 16.7MB
hostA core socket socket /0/4/0 local 0 16.7MB
hostA core socket socket /0/5/0 local 0 16.7MB
...
使用 bhist -l -aff 显示有关作业任务 CPU 和内存亲和性资源需求的历史作业信息。
如果作业处于暂挂状态,那么将显示所请求的亲缘关系资源。 对于正在运行的作业,还会显示 LSF 做出的有效且组合的亲缘关系资源分配决策,以及一个标题为AFFINITY显示每个任务的详细内存和 CPU 绑定信息,每个已分配处理器单元对应一行。 对于已完成的作业 (EXIT 或 DONE 状态) ,将显示作业的亲缘关系需求以及有效和组合的亲缘关系资源需求详细信息。
下面的示例显示了工作 61 的 bhist 输出。
bhist -l -aff 61
Job <61>, User <user1>, Project <default>, Command <myjob>
Thu Feb 14 14:13:46: Submitted from host <hostA>, to Queue <normal>, CWD <$HO
ME>, 6 Processors Requested, Requested Resources <span[hos
ts=1] rusage[mem=100]affinity[core(1,same=socket,exclusive
=(socket,injob)):cpubind=socket:membind=localonly:distribu
te=pack]>;
Thu Feb 14 14:15:07: Dispatched to 6 Hosts/Processors <hostA> <hostA> <hostA>
<hostA> <hostA> <hostA>, Effective RES_REQ <sel
ect[type == local] order[r15s:pg] rusage[mem=100.00] span[
hosts=1] affinity[core(1,same=socket,exclusive=(socket,inj
ob))*1:cpubind=socket:membind=localonly:distribute=pack] >
;
AFFINITY:
CPU BINDING MEMORY BINDING
------------------------ --------------------
HOST TYPE LEVEL EXCL IDS POL NUMA SIZE
hostA core socket socket /0/0/0 local 0 16.7MB
hostA core socket socket /0/1/0 local 0 16.7MB
hostA core socket socket /0/2/0 local 0 16.7MB
hostA core socket socket /0/3/0 local 0 16.7MB
hostA core socket socket /0/4/0 local 0 16.7MB
hostA core socket socket /0/5/0 local 0 16.7MB
Thu Feb 14 14:15:07: Starting (Pid 3630709);
Thu Feb 14 14:15:07: Running with execution home </home/jsmith>, Execution CWD
</home/jsmith>, Execution Pid <3630709>;
Thu Feb 14 14:16:47: Done successfully. The CPU time used is 0.0 seconds;
Thu Feb 14 14:16:47: Post job process done successfully;
MEMORY USAGE:
MAX MEM: 2 Mbytes; AVG MEM: 2 Mbytes
Summary of time in seconds spent in various states by Thu Feb 14 14:16:47
PEND PSUSP RUN USUSP SSUSP UNKWN TOTAL
81 0 100 0 0 0 181
使用bacct-l-aff显示有关作业任务 CPU 和内存亲和资源分配的会计作业信息。 带有标题的表AFFINITY显示包含每个任务的详细亲缘关系信息,每个分配的处理器单元对应一行。 CPU 绑定和内存绑定信息显示在屏幕中的单独列中。 下面的示例显示了工作 61 的 bhist 输出。
bacct -l -aff 61
Accounting information about jobs that are:
- submitted by all users.
- accounted on all projects.
- completed normally or exited
- executed on all hosts.
- submitted to all queues.
- accounted on all service classes.
------------------------------------------------------------------------------
Job <61>, User <user1>, Project <default>, Status <DONE>, Queue <normal>, Comma
nd <myjob>
Thu Feb 14 14:13:46: Submitted from host <hostA>, CWD <$HOME>;
Thu Feb 14 14:15:07: Dispatched to 6 Hosts/Processors <hostA> <hostA> <hostA>
<hostA> <hostA> <hostA>, Effective RES_REQ <sel
ect[type == local] order[r15s:pg] rusage[mem=100.00] span[
hosts=1] affinity[core(1,same=socket,exclusive=(socket,inj
ob))*1:cpubind=socket:membind=localonly:distribute=pack] >
;
Thu Feb 14 14:16:47: Completed <done>.
AFFINITY:
CPU BINDING MEMORY BINDING
------------------------ --------------------
HOST TYPE LEVEL EXCL IDS POL NUMA SIZE
hostA core socket socket /0/0/0 local 0 16.7MB
hostA core socket socket /0/1/0 local 0 16.7MB
hostA core socket socket /0/2/0 local 0 16.7MB
hostA core socket socket /0/3/0 local 0 16.7MB
hostA core socket socket /0/4/0 local 0 16.7MB
hostA core socket socket /0/5/0 local 0 16.7MB
Accounting information about this job:
CPU_T WAIT TURNAROUND STATUS HOG_FACTOR MEM SWAP
0.01 81 181 done 0.0001 2M 137M
------------------------------------------------------------------------------
SUMMARY: ( time unit: second )
Total number of done jobs: 1 Total number of exited jobs: 0
Total CPU time consumed: 0.0 Average CPU time consumed: 0.0
Maximum CPU time of a job: 0.0 Minimum CPU time of a job: 0.0
Total wait time in queues: 81.0
Average wait time in queue: 81.0
Maximum wait time in queue: 81.0 Minimum wait time in queue: 81.0
Average turnaround time: 181 (seconds/job)
Maximum turnaround time: 181 Minimum turnaround time: 181
Average hog factor of a job: 0.00 ( cpu time / turnaround time )
Maximum hog factor of a job: 0.00 Minimum hog factor of a job: 0.00
查看亲缘关系作业的主机资源 (-aff)
使用 bhosts -aff 或 bhosts -l -aff 显示用于 CPU 和内存亲和调度的主机拓扑信息。
- 主机 [内存] host_name
主机上的可用内存。 如果无法确定内存可用性,请使用短划线 (-) 为主机显示。 如果使用 -aff 选项指定了 -l 选项,那么不会显示主机名。
对于不支持亲缘关系调度的主机,短划线 (-) 为主机内存显示,并且不显示主机拓扑。
- NUMA [numa_node: recested_mem / max_mem]
请求的可用 NUMA 节点内存。 对于 NUMA 节点,请求的内存可能大于显示的最大可用内存。
将针对每个 NUMA 节点显示套接字,核心和线程标识。
套接字 是具有直接管道到内存的核心的集合。 每个套接字都包含 1 个或更多个核心。 这并不一定是指物理套接字,而是指机器的内存架构。
核心 是能够执行计算的单个实体。 在启用了超线程功能的主机上,一个内核可包含一个或多个线程。
bhosts -l -aff hostA
HOST hostA
STATUS CPUF JL/U MAX NJOBS RUN SSUSP USUSP RSV DISPATCH_WINDOW
ok 60.00 - 8 0 0 0 0 0 -
CURRENT LOAD USED FOR SCHEDULING:
r15s r1m r15m ut pg io ls it tmp swp mem slots
Total 0.0 0.0 0.0 30% 0.0 193 25 0 8605M 5.8G 13.2G 8
Reserved 0.0 0.0 0.0 0% 0.0 0 0 0 0M 0M 0M -
LOAD THRESHOLD USED FOR SCHEDULING:
r15s r1m r15m ut pg io ls it tmp swp mem
loadSched - - - - - - - - - - -
loadStop - - - - - - - - - - -
CONFIGURED AFFINITY CPU LIST: all
AFFINITY: Enabled
Host[15.7G]
NUMA[0: 0M / 15.7G]
Socket0
core0(0)
Socket1
core0(1)
Socket2
core0(2)
Socket3
core0(3)
Socket4
core0(4)
Socket5
core0(5)
Socket6
core0(6)
Socket7
core0(7)...
Host[1.4G] hostB
NUMA[0: 1.4G / 1.4G] (*0 *1)
...将运行请求 2 个核心, 2 个套接字或 2 个 CPU 的作业。 从同一 NUMA 节点请求 2 个核心也将运行。 但是,请求来自同一套接字的 2 核心的作业将保持暂挂状态。
使用 lshosts -T 来显示每个主机的主机拓扑信息。
显示每个主机或集群的主机拓扑信息:
将显示以下字段:
- 主机 [内存] host_name
主机上的最大可用内存,后跟主机名。 如果无法确定内存可用性,请使用短划线 (-) 为主机显示。
对于不支持亲缘关系调度的主机,短划线 (-) 为主机内存显示,并且不显示主机拓扑。
- NUMA [numa_node: max_mem]
最大 NUMA 节点内存。 对于 NUMA 节点,请求的内存可能大于显示的最大可用内存。
如果不存在 NUMA 节点,那么不会显示输出中的 NUMA 层。 仍显示其他相关项,如主机,套接字,核心和线程。
如果主机不可用,那么仅显示主机名。 短划线 (-) 显示在通常显示可用主机内存的位置。
套接字 是具有直接管道到内存的核心的集合。 每个套接字都包含 1 个或更多个核心。 这并不一定是指物理套接字,而是指机器的内存架构。
核心 是能够执行计算的单个实体。 在启用了超线程功能的主机上,一个内核可包含一个或多个线程。
lshosts -T 与 bhosts -aff 输出不同:- 对于每个 NUMA 节点,不会显示套接字和核心标识。
- 未显示 NUMA 节点的请求内存
- lshosts -T 显示主机上所有已启用的 CPU ,而不仅仅是 lsb.hosts 中的 CPU 列表中定义的 CPU
节点包含套接字,套接字包含核心,如果核心支持多线程,那么核心可以包含线程。
lshosts -T
Host[15.7G] hostA
NUMA[0: 15.7G]
Socket
core(0)
Socket
core(1)
Socket
core(2)
Socket
core(3)
Socket
core(4)
Socket
core(5)
Socket
core(6)
Socket
core(7)
Host[-] hostB
Host[-] hostClshosts -T
Host[1009M] hostA
Socket (0 1)开启hostA有两个处理器单元: 0 和 1。 LSF 无法检测内核信息,因此处理器单元被连接到插座层。
对于客户端主机和混合群集或多群集环境中运行版本早于 LSF 的主机,不会显示硬件拓扑信息。 10.1.0.