2011年4月20日 星期三

Torque 中,限制哪些Queue 只能在哪些 node 跑

12.1.3 Queues
Some resource managers allow queues (or classes) to be defined and then associated with a subset of available compute resources. With such systems, such as Loadleveler or PBSPro, these queue to node mappings are automatically detected. On resource managers which do not provide this service, Moab provides alternative mechanisms for enabling this feature.
12.1.3.1 TORQUE/OpenPBS Queue to Node Mapping
Under TORQUE, queue to node mapping can be accomplished by using the qmgr command to set the queue acl_hosts parameter to the mapping hostlist desired. Further, the acl_host_enable parameter should be set to False.



NOTE: Setting acl_hosts and then setting acl_host_enable to True will constrain the list of hosts from which jobs may be submitted to the queue.

The example below highlights this process and will map the queue debug to the nodes host14 through host17.

qmgr

> qmgr
Max open servers: 4
Qmgr: set queue debug acl_hosts = "host14,host15,host16,host17"
Qmgr: set queue debug acl_host_enable = false
Qmgr: quit

NOTE: All queues which do not have acl_hosts specified will continue to be global, i.e., they will show up on every node. To constrain these queues to a subset of nodes, each queue will require its own acl_hosts parameter setting.

12.1.4 Node Selection
When selecting or specifying nodes either via command line tools or via config file based lists, Moab offers 3 types of node expressions. These expressions can be based on exact match lists, node ranges, or regular expressions.

Exact Match

Node lists can be specified as one or more comma or whitespace delimited node ids. Specified node IDs can be based on either short or fully qualified hostnames.

moab.cfg SRCFG[basic] HOSTLIST=cl37.icluster,ax45,ax46 ...

Node Range

Node lists can be specified as one or more comma or whitespace delimited node ranges. Each node range can be based using either - or
[-] format. To explicitly request a range, the node expression must be preceded with the string 'r:' as in the examples below:

setres > setres r:37-472,513,516-855

moab.cfg CLASSCFG[long] HOSTLIST=r:anc-b[37-472],anc-b[480-492],anc-d[1-55]

NOTE: By default, Moab will attempt to extract a node's 'node index' assuming this information is built into the node's naming convention. If needed, this information can be explicitly specified in Moab's configuration files using NODECFG's NODEINDEX attribute or can be extracted from alternately formatted node id's by specifying the NODEIDFORMAT parameter.

Node Regular Expression

Node lists may also be specified as one or more comma or whitespace delimited regular expressions. Each node regular expression must be specified in a format acceptable by the standard 'C' regular expression libraries which allow support for wildcard and other special characters such as *, ., [], ^ and $. To explicitly request a regular expression based node list, the node expression must be preceded with the string 'x:' as in the examples below:

moab.cfg

# select nodes cl30 thru cl55

SRCFG[basic] HOSTLIST=x:cl[34],cl5[0-5]
...

2 則留言:

SilverBullet 提到...

hi, 我可以配置一个队列可用的最大节点数么?指的是所有运行在改队列上的节点个数

Gavin's Home 提到...

sorry for late replay
應該可以使用 Torque 中對 queue 的resources_available 參數來設定

resources_available
Format
Default ---
Description Specifies to cumulative resources available to all jobs running in the queue.
Example

qmgr -c "set queue batch resources_available.nodect=20"

You must restart pbs_server for changes to take effect.

Also, resources_available is constrained by the smallest of queue.resources_available and server.resources_available.