pbs_resources.7B 33 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613
  1. .\" Copyright (C) 1994-2018 Altair Engineering, Inc.
  2. .\" For more information, contact Altair at www.altair.com.
  3. .\"
  4. .\" This file is part of the PBS Professional ("PBS Pro") software.
  5. .\"
  6. .\" Open Source License Information:
  7. .\"
  8. .\" PBS Pro is free software. You can redistribute it and/or modify it under the
  9. .\" terms of the GNU Affero General Public License as published by the Free
  10. .\" Software Foundation, either version 3 of the License, or (at your option) any
  11. .\" later version.
  12. .\"
  13. .\" PBS Pro is distributed in the hope that it will be useful, but WITHOUT ANY
  14. .\" WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  15. .\" FOR A PARTICULAR PURPOSE.
  16. .\" See the GNU Affero General Public License for more details.
  17. .\"
  18. .\" You should have received a copy of the GNU Affero General Public License
  19. .\" along with this program. If not, see <http://www.gnu.org/licenses/>.
  20. .\"
  21. .\" Commercial License Information:
  22. .\"
  23. .\" For a copy of the commercial license terms and conditions,
  24. .\" go to: (http://www.pbspro.com/UserArea/agreement.html)
  25. .\" or contact the Altair Legal Department.
  26. .\"
  27. .\" Altair’s dual-license business model allows companies, individuals, and
  28. .\" organizations to create proprietary derivative works of PBS Pro and
  29. .\" distribute them - whether embedded or bundled with other software -
  30. .\" under a commercial license agreement.
  31. .\"
  32. .\" Use of Altair’s trademarks, including but not limited to "PBS™",
  33. .\" "PBS Professional®", and "PBS Pro™" and Altair’s logos is subject to Altair's
  34. .\" trademark licensing policies.
  35. .\"
  36. .TH pbs_resources 7B "18 April 2018" Local "PBS Professional"
  37. .SH NAME
  38. .B pbs_resources
  39. \- computational resources for PBS jobs
  40. .SH DESCRIPTION
  41. PBS provides computational resources for jobs, limits on using
  42. resources, and control over how
  43. jobs are placed on the vnodes from which resources may be allocated for
  44. a job.
  45. PBS provides built-in resources and custom resources for some systems,
  46. and allows the administrator to define
  47. custom resources. The administrator can specify which resources are
  48. available on a given vnode, as well as at the queue or server level
  49. (e.g. walltime). Resources can be "stretched" across vnodes.
  50. See the
  51. .I qmgr(8B)
  52. man page and the
  53. .I PBS Professional Administrator's Guide.
  54. Resources defined at the queue or server level apply to an entire job.
  55. If resources are defined at the host level, they apply only to the part of
  56. the job running on that host.
  57. For information on defining resources, see the
  58. .I PBS Professional Administrator's Guide.
  59. .B Allocating Resources to Jobs
  60. .br
  61. Resources are allocated to jobs when jobs explicitly request them,
  62. when hooks assign them, and when defaults are assigned by PBS.
  63. Resources are explicitly requested in this order of precedence:
  64. .RS 3
  65. Through a
  66. .B qalter
  67. operation
  68. .br
  69. Via the
  70. .B qsub
  71. command line
  72. .br
  73. Via PBS job script directives
  74. .RE
  75. The administrator writes
  76. any hooks that assign resources to jobs. Default resources can be
  77. specified by the administrator (in order of precedence) for
  78. .B qsub
  79. arguments,
  80. queues, the server, and vnodes.
  81. .B Limits on Resource Usage
  82. .br
  83. A resource allocated to a job, whether explicitly requested or
  84. assigned via hooks or defaults, places a limit on the amount of that
  85. resource a job can use. This limit applies to how much the job can
  86. use on each vnode and to how much the whole job can use.
  87. .B Placing Jobs on Vnodes
  88. .br
  89. Jobs are placed on vnodes according to their explicit placement request,
  90. or according to default placement rules.
  91. The explicit placement request can be specified (in order of precedence) using
  92. .B qalter, qsub,
  93. and PBS job script directives.
  94. Default placement rules can be specified for queues and the server,
  95. and rules for default placement take effect if no other placement
  96. specifications exist.
  97. A job's placement request is specified in its
  98. .I place statement.
  99. .B Old Syntax
  100. .br
  101. A job submitted with the old node or resource specification syntax
  102. will be converted to the new select and place syntax. If the job is
  103. submitted with
  104. .I -lnodes=
  105. or
  106. .I -lncpus=
  107. it will be converted to
  108. .I -l select=
  109. and
  110. .I -l place=. See
  111. .B BACKWARD COMPATIBILITY.
  112. Jobs cannot use both new and old syntax for resource requests.
  113. .B Allocating Chunks and Job-wide Resources
  114. .br
  115. Job resource requests are defined either at the host level in
  116. .I chunks
  117. specified in a
  118. .I selection statement,
  119. or as job-wide resources.
  120. .br
  121. Job-wide format:
  122. .RS 3
  123. .nf
  124. .I qsub ... -l <resource name>=<value>
  125. .RE
  126. Chunk format:
  127. .RS 3
  128. .I -l select=<chunks>
  129. .fi
  130. .RE
  131. The only resources that can be
  132. requested in chunks are host-level resources, such as
  133. .I mem
  134. and
  135. .I ncpus.
  136. The only resources that can be in a job-wide request are server-level
  137. or queue-level resources, such as
  138. .I walltime.
  139. .IP " " 3
  140. .RS
  141. .B Requesting Resources in Chunks
  142. .br
  143. A
  144. .I chunk
  145. declares the value of each resource in a set of resources
  146. which are to be allocated as a unit to a job. All of a chunk
  147. must be taken from a single vnode.
  148. A
  149. .I chunk
  150. request is a host-level request, and it must be for a host-level resource.
  151. A
  152. .I chunk
  153. is the smallest
  154. set of resources that will be allocated to a job. It is one or
  155. more
  156. .I <resource name>=<value>
  157. statements separated by a colon, e.g.:
  158. .RS 3
  159. ncpus=2:mem=10GB:host=Host1
  160. .br
  161. ncpus=1:mem=20GB:arch=linux
  162. .RE
  163. .I Chunks
  164. are described in a
  165. .I selection statement,
  166. which specifies how many of each kind of chunk.
  167. A selection statement is of the form:
  168. .RS 3
  169. .I -l select=[<N>:]<chunk>[+[<N>:]<chunk> ...]
  170. .RE
  171. If
  172. .I N
  173. is not specified, it is taken to be 1.
  174. .br
  175. No spaces are allowed between chunks.
  176. Example of multiple chunks in a
  177. .I selection statement:
  178. .RS 3
  179. -l select=2:ncpus=1:mem=10GB+3:ncpus=2:mem=8GB
  180. .RE
  181. .B Requesting Job-wide Resources
  182. .br
  183. A job-wide resource request is for resource(s) at the server or queue
  184. level. This resource must be a server-level or queue-level resource.
  185. A job-wide resource is designed to be used by the entire job, and is
  186. available to the complex, not just one execution host. Job-wide
  187. resources are requested outside of a
  188. .I selection statement,
  189. in this form:
  190. .RS 3
  191. .I -l <resource name>=<value>[,<resource name>=<value> ...]
  192. .RE
  193. where
  194. .I resource name
  195. is either a consumable resource or a time-based resource such
  196. as
  197. .I walltime.
  198. Example of job-wide resources: walltime
  199. .B Do not mix old style resource or node specification with the new select and place statements.
  200. Do not use one in a job script and the other on the command line.
  201. This will result in an error.
  202. See the qsub(1B) man page for a detailed description of how to request
  203. resources and place jobs on vnodes.
  204. .B Applying Resource Defaults
  205. .br
  206. When a default resource is defined, it is applied to a job when that
  207. job does not explicitly request the resource. Jobs get default
  208. resources, both
  209. .I job-wide
  210. and per-
  211. .I chunk
  212. with the following order of precedence, from
  213. .RS 3
  214. Default
  215. .B qsub
  216. arguments
  217. .br
  218. Default queue resources
  219. .br
  220. Default server resources
  221. .RE
  222. For each
  223. .I chunk
  224. in the job's selection statement, first queue chunk defaults are
  225. applied, then server chunk defaults are applied. If the chunk does not
  226. contain a resource defined in the defaults, the default is
  227. added. The chunk defaults are specified with "default_chunk.<resource name>".
  228. For example, if the queue in which the job is enqueued has the
  229. following defaults defined:
  230. .RS 3
  231. default_chunk.ncpus=1
  232. .br
  233. default_chunk.mem=2gb
  234. .RE
  235. a job submitted with this selection statement:
  236. .RS 3
  237. select=2:ncpus=4+1:mem=9gb
  238. .RE
  239. will have this specification after the
  240. .I default_chunk
  241. elements are applied:
  242. .RS 3
  243. select=2:ncpus=4:mem=2gb+1:ncpus=1:mem=9gb
  244. .RE
  245. In the above, mem=2gb and ncpus=1 are inherited from
  246. .I default_chunk.
  247. If a default job-wide resource is defined which is not specified in a
  248. job's resource request, it is added to the resource request.
  249. Queue defaults are applied first, then server defaults are applied
  250. to any remaining gaps in the resource request.
  251. .B Specifying Default Resources
  252. .br
  253. The administrator can specify default resources on the server and
  254. queue. These resources can be job-wide or apply to chunks. Job-wide
  255. resources are specified via
  256. .I resources_default
  257. on the server or queue, and chunk
  258. resources are specified via
  259. .I default_chunk
  260. on the server or queue.
  261. The administrator can specify default resources to be added to
  262. any qsub arguments via the server's
  263. .I default_qsub_arguments
  264. attribute.
  265. .B Specifying Default Placement
  266. .br
  267. The administrator can specify default job placement by setting
  268. a value for
  269. .I resources.default
  270. at the queue or server.
  271. See the qmgr(8B) man page for how to set default resources.
  272. .B How Default Resources Work When
  273. .B Moving Jobs Between Queues
  274. .br
  275. If the job is moved from the current queue to a new queue, any default
  276. resources in the job's resource list are removed. This
  277. includes a select specification and place directive generated by the
  278. rules for conversion from the old syntax. If a job's resource is
  279. unset (undefined) and there exists a default value at the new queue or server,
  280. that default value is applied to the job's resource list. If either
  281. .I select
  282. or
  283. .I place
  284. is missing from the job's new resource list, it will
  285. be automatically generated,
  286. using any newly-inherited default values.
  287. Example:
  288. .RS 3
  289. Given the following set of queue and server default values:
  290. .IP Server 3
  291. resources_default.ncpus=1
  292. .IP "Queue QA" 3
  293. resources_default.ncpus=2
  294. .br
  295. default_chunk.mem=2gb
  296. .IP "Queue QB" 3
  297. default_chunk.mem=1gb
  298. .br
  299. no default for ncpus
  300. .LP
  301. The following illustrate the equivalent select specification for jobs
  302. submitted into queue QA and then moved to (or submitted directly to)
  303. queue QB:
  304. .IP "qsub -l ncpus=1 -lmem=4gb" 3
  305. In QA: select=1:ncpus=1:mem=4gb - no defaults need be applied
  306. .br
  307. In QB: select=1:ncpus=1:mem=4gb - no defaults need be applied
  308. .IP "qsub -l ncpus=1" 3
  309. In QA: select=1:ncpus=1:mem=2gb
  310. .br
  311. In QB: select=1:ncpus=1:mem=1gb
  312. .IP "qsub -lmem=4gb" 3
  313. In QA: select=1:ncpus=2:mem=4gb
  314. .br
  315. In QB: select=1:ncpus=1:mem=4gb
  316. .IP "qsub -l nodes=4" 3
  317. In QA: select=4:ncpus=1:mem=2gb
  318. .br
  319. In QB: select=4:mem=1gb
  320. .IP "qsub -l mem=16gb -l nodes=4" 3
  321. In QA: select=4:ncpus=1:mem=4gb
  322. .br
  323. In QB: select=4:ncpus=1:mem=4gb
  324. .RE
  325. .RE
  326. .LP
  327. .B Limits on Resource Usage
  328. .br
  329. Each chunk's
  330. per-chunk limits determine how much of any resource can be used in
  331. that chunk.
  332. Per-chunk resource usage limits are established by per-chunk
  333. resources, both from explicit requests and from defaults.
  334. .I Job-wide resource limits
  335. set a limit for per-job resource usage.
  336. .I Job-wide resource limits
  337. are established both by requesting job-wide resources and
  338. by summing per-chunk consumable resources.
  339. .I Job-wide resource limits
  340. from sums of all chunks, including defaults, override those from
  341. job-wide defaults and resource requests. Limits include both
  342. explicitly requested resources and default resources.
  343. If a job-wide resource limit exceeds queue or server restrictions, it
  344. will not be put in the queue or accepted by the server. If, while
  345. running, a job exceeds its limit for a consumable or time-based
  346. resource, it will be terminated. See the
  347. .I PBS Professional Administrator's Guide.
  348. .B Controlling Placement of Jobs
  349. .br
  350. Jobs are placed on vnodes according to their
  351. .I place
  352. statements. The
  353. .I place
  354. statement is specified, in order of precedence, via:
  355. .RS 3
  356. Explicit placement request in
  357. .B qalter
  358. .br
  359. Explicit placement request in
  360. .B qsub
  361. .br
  362. Explicit placement request in PBS job script directives
  363. .br
  364. Default
  365. .B qsub
  366. place statement
  367. .br
  368. Queue default placement rules
  369. .br
  370. Server default placement rules
  371. .br
  372. Built-in default conversion and placement rules
  373. .RE
  374. The
  375. .I place
  376. statement may be not be used without the
  377. .I select
  378. statement.
  379. For a detailed description of the
  380. .I place
  381. statement, see the qsub(1B) man page, or the
  382. .I PBS Professional User's Guide.
  383. Note that vnodes can have sharing attributes that override
  384. job placement requests. See the
  385. .I pbs_node_attributes(7B)
  386. man page.
  387. .LP
  388. .RS 3
  389. .B Default Placement
  390. .br
  391. If, after all defaults have been applied to a resource request that
  392. contains a selection statement, there is no place statement, then
  393. .I arrangement
  394. is set to
  395. .I free.
  396. Default
  397. .I sharing
  398. is
  399. .I shared.
  400. If the job's place statement does not contain
  401. .I group=resource,
  402. then a grouping defined at the queue level may be used,
  403. or a grouping defined at the server level if there is
  404. none at the queue level.
  405. .B Placement of Jobs Submitted
  406. .B with Old Syntax
  407. .br
  408. A job submitted with a
  409. node (
  410. .I -lnodes=
  411. ) or resource (
  412. .I -lncpus=
  413. ) specification will be converted to select and place,
  414. according to the rules described below in
  415. .B BACKWARD COMPATIBILITY.
  416. .RE
  417. .B Boolean Resources
  418. .br
  419. A Boolean resource can be either true or false. A resource request
  420. for a Boolean specifies the required value for the Boolean resource. For
  421. example, if some vnodes have
  422. .I green=true
  423. and some have
  424. .I red=true,
  425. a selection statement for two vnodes, each with one CPU, all green and
  426. no red, would be:
  427. .RS 3
  428. -l select=2:green=true:red=false:ncpus=1
  429. .RE
  430. .B Consumable Resources
  431. .br
  432. Consumable resources are those whose use by a job reduces the amount
  433. available to other concurrent jobs, e.g. memory
  434. .I (mem),
  435. CPUs (ncpus) and licenses.
  436. Non-consumable resources include time-based resources such as
  437. .I walltime
  438. and CPU time
  439. .I (cput),
  440. and string-value resources such as architecture
  441. .I (arch).
  442. .B Custom Resources
  443. .br
  444. Custom resources are site-defined and site-dependent. The
  445. administrator defines custom resources. These are typically used for
  446. licenses and scratch space. PBS provides custom resources
  447. specifically for Cray systems. See the
  448. .I PBS Professional Administrator's Guide.
  449. A job requesting a floating license must specify it outside of a
  450. selection statement, as a job-wide resource limit. A job requesting a
  451. node-locked license must specify it inside a selection statement in a
  452. chunk. See your system administrator. Refer to the
  453. .I PBS Professional User's Guide.
  454. Custom resources can be created to be invisible or read-only for
  455. unprivileged users. See the pbsnodes(8B), pbs_rstat(1B), pbs_rsub(1B),
  456. qalter(1B), qselect(1B), qstat(1B), and qmgr(8B) man pages.
  457. These restricted resources cannot be requested by a job via the
  458. .B qsub
  459. command, regardless of privilege.
  460. .B Behavior of Unset Resources
  461. .br
  462. An unset resource is undefined. An unset numerical resource
  463. (i.e. float, long, size, or time) at the host level behaves as if its
  464. value is zero, but at the server or queue level it behaves as if it
  465. were infinite. An unset string or string array resource at the
  466. server, queue or vnode level cannot be matched by a job's resource
  467. request. An unset Boolean resource at a server, queue, or vnode
  468. behaves as if that resource is set to "false".
  469. .SH Resources Built Into PBS
  470. .IP accelerator 8
  471. Indicates whether this vnode is associated with an accelerator.
  472. Used for requesting accelerators.
  473. .br
  474. On Cray, this resource exists only when there is at least one associated
  475. accelerator.
  476. .br
  477. Behavior:
  478. .RS
  479. .IP True 3
  480. On Cray, this is set to
  481. .I True
  482. when there is at least one associated accelerator whose state is UP.
  483. .IP False 3
  484. On Cray, set to
  485. .I False
  486. when all associated accelerators are in state DOWN.
  487. .RE
  488. .IP
  489. Host-level. Can be requested only inside of a select statement.
  490. .br
  491. Not consumable.
  492. .br
  493. Format:
  494. .I Boolean
  495. .br
  496. Python type:
  497. .I bool
  498. .br
  499. Default:
  500. .I False
  501. .IP accelerator_memory 8
  502. Indicates amount of memory for accelerator(s) associated with this
  503. vnode.
  504. .br
  505. On Cray, PBS sets this resource only on vnodes with at
  506. least one accelerator with state = UP. For Cray, PBS sets this
  507. resource on the 0th NUMA node (the vnode with PBScrayseg=0), and the
  508. resource is shared by other vnodes on the compute node.
  509. .br
  510. For example, on vnodeA_2_0:
  511. .br
  512. .nf
  513. resources_available.accelerator_memory=4196mb
  514. On vnodeA_2_1:
  515. resources_available.accelerator_memory=@vnodeA_2_0
  516. .fi
  517. .br
  518. A scheduler rounds all resources of type
  519. .I size
  520. up to the nearest kb.
  521. .br
  522. Host-level. Can be requested only inside of a select statement.
  523. .br
  524. Consumable.
  525. .br
  526. Format:
  527. .I Size
  528. .br
  529. Python type:
  530. .I pbs.size
  531. .br
  532. Default: No default
  533. .IP accelerator_model 8
  534. Indicates model of accelerator(s) associated with this vnode.
  535. .br
  536. On Cray, PBS sets this resource only on vnodes with at
  537. least one accelerator with state = UP.
  538. .br
  539. Host-level. Can be requested only inside of a select statement.
  540. .br
  541. Non-consumable.
  542. .br
  543. Format:
  544. .I String
  545. .br
  546. Python type:
  547. .I str
  548. .br
  549. Default: No default
  550. .IP aoe 8
  551. List of AOEs (Application Operating Environments)
  552. that can be instantiated on this vnode. Case-sensitive.
  553. An AOE is the environment that results from provisioning a vnode.
  554. Each job can request at most one AOE. Cannot be set on server's host.
  555. .br
  556. Valid values: Allowable values are site-dependent.
  557. .br
  558. Host-level. Can be requested only inside of a select statement.
  559. .br
  560. Non-consumable.
  561. .br
  562. Type:
  563. .I String_array
  564. .br
  565. Python type:
  566. .I str
  567. .br
  568. Default: No default
  569. .IP arch 8
  570. System architecture. One architecture
  571. can be defined for a vnode. One architecture can be requested per
  572. vnode.
  573. .br
  574. Valid values:
  575. .RS 11
  576. Allowable values and effect on job placement are site-dependent.
  577. .RE
  578. .IP
  579. Host-level. Can be requested only inside of a select statement.
  580. .br
  581. Non-consumable.
  582. .br
  583. Type:
  584. .I String
  585. .br
  586. Python type:
  587. .I str
  588. .br
  589. Default: No default
  590. .IP cput 8
  591. Amount of CPU time used by the job for all processes on all
  592. vnodes. Establishes a job-wide resource limit.
  593. .br
  594. Job-wide. Can be requested only outside of a select statement.
  595. .br
  596. Non-consumable.
  597. .br
  598. Type:
  599. .I Duration
  600. .br
  601. Python type:
  602. .I pbs.duration
  603. .br
  604. Default: No default
  605. .IP energy 8
  606. The energy used by a job. Set by PBS.
  607. .br
  608. Consumable.
  609. .br
  610. Format:
  611. .I Float
  612. .br
  613. Units:
  614. .I kWh
  615. .br
  616. Default: No default
  617. .IP eoe 8
  618. Stands for "Energy Operational Environment". When set on a vnode in
  619. .I resources_available.eoe,
  620. contains the list of available power profiles. When set for a job
  621. in
  622. .I Resource_List.eoe,
  623. can contain at most one power profile. (A job can request only one
  624. power profile.)
  625. .br
  626. Non-consumable.
  627. .br
  628. Format:
  629. .I String_array
  630. .br
  631. Python type:
  632. .I str
  633. .br
  634. Default value for
  635. .I resources_available.eoe:
  636. unset
  637. .br
  638. Default value for
  639. .I Resource_List.eoe:
  640. no default
  641. .IP exec_vnode 8
  642. The vnodes that PBS estimates this job will use. Cannot
  643. be requested for a job; used for reporting only. Read-only.
  644. .br
  645. Type:
  646. .I String
  647. .br
  648. Python type:
  649. .I str
  650. .br
  651. Default: No default
  652. .IP file 8
  653. Size of any single file that may be created by the job.
  654. .br
  655. The scheduler rounds all resources of type
  656. .I size
  657. up to the nearest kb.
  658. .br
  659. Job-wide. Can be requested only outside of a select statement.
  660. .br
  661. Type:
  662. .I Size
  663. .br
  664. Python type:
  665. .I pbs.size
  666. .br
  667. Default: No default
  668. .IP hbmem 8
  669. High-bandwidth memory. Available only on some architectures such as
  670. Xeon Phi KNL.
  671. .br
  672. Valid values: Greater than or equal to zero.
  673. .br
  674. Host-level.
  675. .br
  676. Format:
  677. .I Size
  678. .br
  679. Python type:
  680. .I pbs.size
  681. .br
  682. Default: No default
  683. .IP host 8
  684. Name of execution host. Cannot be changed. Site-dependent.
  685. .br
  686. Can be requested only inside of a select statement.
  687. .br
  688. Behavior:
  689. .RS 11
  690. Automatically set to the short form of the hostname in the
  691. .I Mom
  692. attribute.
  693. .br
  694. On Cray compute node, set to
  695. .I <mpp_host>_<nid>.
  696. .RE
  697. .IP
  698. Type:
  699. .I String
  700. .br
  701. Python type:
  702. .I str
  703. .IP max_walltime 8
  704. Maximum walltime allowed for a shrink-to-fit job. Job's actual
  705. walltime is between
  706. .I max_walltime
  707. and
  708. .I min_walltime.
  709. PBS sets
  710. .I walltime
  711. for a shrink-to-fit job. If
  712. .I max_walltime
  713. is specifed,
  714. .I min_walltime
  715. must also be specified.
  716. Cannot be used for
  717. .I resources_min
  718. or
  719. .I resources_max.
  720. Cannot be set on job arrays or reservations.
  721. .br
  722. Valid values: Must be greater than or equal to
  723. .I min_walltime.
  724. .br
  725. Can be requested only outside of a select statement.
  726. .br
  727. Non-consumable.
  728. .br
  729. Format:
  730. .I Duration
  731. .br
  732. Python type:
  733. .I pbs.duration
  734. .br
  735. Default:
  736. .I 5 years
  737. .IP mem 8
  738. Amount of physical memory i.e. workingset allocated to
  739. the job, either job-wide or host-level.
  740. .br
  741. The scheduler rounds all resources of type
  742. .I size
  743. up to the nearest kb.
  744. .br
  745. Can be requested only inside of a select statement.
  746. .br
  747. Consumable.
  748. .br
  749. Format:
  750. .I Size
  751. .br
  752. Python type:
  753. .I pbs.size
  754. .br
  755. Default: No default
  756. .IP min_walltime 8
  757. Minimum walltime allowed for a shrink-to-fit job. When
  758. .I min_walltime
  759. is specified, job is a shrink-to-fit job. If this attribute is set,
  760. PBS sets the job
  761. .I walltime.
  762. Job's actual
  763. .I walltime
  764. is between
  765. .I max_walltime
  766. and
  767. .I min_walltime.
  768. Cannot be used for
  769. .I resources_min
  770. or
  771. .I resources_max.
  772. Cannot be set on job arrays or reservations.
  773. .br
  774. Valid values: Must be less than or equal to
  775. .I max_walltime.
  776. .br
  777. Can be requested only outside of a select statement.
  778. .br
  779. Non-consumable.
  780. .br
  781. Type:
  782. .I Duration
  783. .br
  784. Python type:
  785. .I pbs.duration
  786. .br
  787. Default: No default
  788. .IP mpiprocs 8
  789. Number of MPI processes for this chunk. Cannot use sum from chunks
  790. as job-wide limit.
  791. .br
  792. The number of lines in PBS_NODEFILE is the sum of the values
  793. of
  794. .I mpiprocs
  795. for all chunks requested by the job. For each chunk with
  796. .I mpiprocs=P,
  797. the host name for that chunk is written to the PBS_NODEFILE
  798. .I P
  799. times.
  800. .br
  801. Host-level. Can be requested only inside of a select statement.
  802. .br
  803. Format:
  804. .I Integer
  805. .br
  806. Python type:
  807. .I int
  808. .br
  809. Default:
  810. .RS 11
  811. .nf
  812. If ncpus > 0
  813. \ \ \ 1
  814. Otherwise
  815. \ \ \ 0
  816. .fi
  817. .RE
  818. .IP
  819. .IP naccelerators 8
  820. Number of accelerators on the host. PBS sets this resource to the
  821. number of accelerators with state =
  822. .I UP.
  823. .br
  824. On Cray, PBS sets this resource only on vnodes whose hosts have at
  825. least one accelerator with state =
  826. .I UP.
  827. For Cray, PBS sets this resource on the 0th NUMA
  828. node (the vnode with PBScrayseg=0), and the resource is shared by
  829. other vnodes on the compute node.
  830. .nf
  831. For example, on vnodeA_2_0:
  832. resources_available.naccelerators=1
  833. On vnodeA_2_1:
  834. resources_available.naccelerators=@vnodeA_2_0
  835. .fi
  836. Host-level. Can be requested only inside of a select statement.
  837. .br
  838. Consumable.
  839. .br
  840. Format:
  841. .I Integer
  842. .br
  843. Python type:
  844. .I int
  845. .br
  846. Default: No default
  847. .IP nchunk 8
  848. Number of chunks requested between plus symbols in a
  849. select statement. For example, if the select statement is
  850. .br
  851. \ \ \ -lselect=4:ncpus=2+12:ncpus=8
  852. .br
  853. the value of nchunk for the first part is 4, and
  854. for the second part it is 12. The
  855. .I nchunk
  856. resource cannot be named in
  857. a select statement; it can only be specified as a number preceding the
  858. colon, as in the above example. When the number is omitted,
  859. .I nchunk
  860. is
  861. .I 1.
  862. .br
  863. This resource can be used to specify the default
  864. number of chunks at the server or queue
  865. Example:
  866. .br
  867. \ \ \ set queue myqueue default_chunk.nchunk=2
  868. .br
  869. This resource cannot be used in server and queue
  870. .I resources_min
  871. and
  872. .I resources_max.
  873. .br
  874. Non-consumable.
  875. .br
  876. Format:
  877. .I Integer
  878. .br
  879. Python type:
  880. .I int
  881. .br
  882. Default value:
  883. .I 1
  884. .IP ncpus 8
  885. Number of processors.
  886. .br
  887. Can be requested only inside of a select statement.
  888. .br
  889. Consumable.
  890. .br
  891. Format:
  892. .I Integer
  893. .br
  894. Python type:
  895. .I int
  896. .br
  897. Default: No default
  898. .IP nice 8
  899. Nice value with which the job is to be run. Host-dependent.
  900. .br
  901. Can be requested only outside of a select statement.
  902. .br
  903. Format:
  904. .I Integer
  905. .br
  906. Python type:
  907. .I int
  908. .br
  909. Default: No default
  910. .IP nodect 8
  911. .B Deprecated.
  912. Number of chunks in resource request from selection
  913. directive, or number of nodes requested from node specification.
  914. Otherwise defaults to value of 1. Can be requested only outside
  915. of a select statement. Read-only.
  916. .br
  917. Format:
  918. .I Integer
  919. .br
  920. Python type:
  921. .I int
  922. .br
  923. Default:
  924. .I 1
  925. .IP nodes
  926. .B Deprecated.
  927. .br
  928. Number of hosts requested.
  929. .br
  930. Format:
  931. .I Integer
  932. .br
  933. See
  934. .B BACKWARD COMPATIBILITY.
  935. .IP ompthreads 8
  936. Number of OpenMP threads for this chunk.
  937. .br
  938. Cannot use sum from chunks as job-wide limit.
  939. .br
  940. For the MPI process with rank 0, the environment variables NCPUS and
  941. OMP_NUM_THREADS are set to the value of
  942. .I ompthreads.
  943. For other MPI processes, behavior is dependent on MPI implementation.
  944. See the
  945. .I PBS Professional Administrator's Guide.
  946. .br
  947. Can be requested only inside of a select statement.
  948. .br
  949. Non-consumable.
  950. .br
  951. Format:
  952. .I Integer
  953. .br
  954. Python type:
  955. .I int
  956. .br
  957. Default: Value of
  958. .I ncpus
  959. .IP PBScrayhost 8
  960. Used to differentiate a Cray system, containing
  961. ALPS, login nodes running PBS MoMs, and compute nodes, from a separate
  962. Cray system with a separate ALPS.
  963. .br
  964. Non-consumable.
  965. .br
  966. Format:
  967. .I String
  968. .br
  969. Python type:
  970. .I str
  971. .br
  972. Default: Value of
  973. .I mpp_host
  974. for this system
  975. .IP "PBScraylabel_<label name>" 8
  976. Tracks labels applied to compute nodes.
  977. .br
  978. For each label on a compute node, PBS creates a custom resource
  979. whose name is a concatenation of
  980. .I PBScraylabel_
  981. and the name of the label.
  982. Name format: PBScraylabel_<label name>
  983. .br
  984. For example, if the label name is
  985. .I Blue,
  986. the name of this resource is
  987. .I PBScraylabel_Blue.
  988. .br
  989. Behavior:
  990. .RS 11
  991. PBS sets the value of the resource to
  992. .I True
  993. on all vnodes representing the compute node.
  994. .RE
  995. .IP
  996. Format:
  997. .I Boolean
  998. .br
  999. Python type:
  1000. .I bool
  1001. .br
  1002. Default: No default
  1003. .IP PBScraynid 8
  1004. Tracks the node ID of the associated compute node. All vnodes
  1005. representing a particular compute node share a value
  1006. for
  1007. .I PBScraynid.
  1008. .br
  1009. Non-consumable.
  1010. .br
  1011. Format:
  1012. .I String
  1013. .br
  1014. Python type:
  1015. .I str
  1016. .br
  1017. Default: Value of
  1018. .I node_id
  1019. for this compute node
  1020. .IP PBScrayorder 8
  1021. Tracks the order in which compute nodes are listed in the Cray
  1022. inventory. All vnodes associated with a particular compute node share
  1023. a value for
  1024. .I PBScrayorder.
  1025. .br
  1026. Behavior:
  1027. .RS 11
  1028. Vnodes for the first compute node listed are assigned a value of
  1029. .I 1
  1030. for
  1031. .I PBScrayorder.
  1032. .br
  1033. The vnodes for each subsequent compute node listed are assigned a value
  1034. one greater than the previous value.
  1035. .RE
  1036. .IP
  1037. Do not use this resource in a resource request.
  1038. .br
  1039. Non-consumable.
  1040. .br
  1041. Format:
  1042. .I Integer
  1043. .br
  1044. Python type:
  1045. .I int
  1046. .br
  1047. Default: No default
  1048. .IP PBScrayseg 8
  1049. Not used.
  1050. .br
  1051. Format:
  1052. .I String
  1053. .br
  1054. Default: No default
  1055. .IP pcput 8
  1056. Amount of CPU time allocated to any single process in the job.
  1057. Establishes a per-process resource limit.
  1058. .br
  1059. Can be requested only outside of a select statement.
  1060. .br
  1061. Non-consumable.
  1062. .br
  1063. Format:
  1064. .I Duration
  1065. .br
  1066. Python type:
  1067. .I pbs.duration
  1068. .br
  1069. Default: No default
  1070. .IP pmem 8
  1071. Amount of physical memory (workingset) for use by any single
  1072. process of the job. Establishes a
  1073. per-process resource limit.
  1074. .br
  1075. The scheduler rounds all resources of type
  1076. .I size
  1077. up to the nearest kb.
  1078. .br
  1079. Can be requested only outside of a select statement.
  1080. .br
  1081. Non-consumable.
  1082. .br
  1083. Format:
  1084. .I Size
  1085. .br
  1086. Python type:
  1087. .I pbs.size
  1088. .br
  1089. Default: No default
  1090. .IP preempt_targets
  1091. List of resources and/or queues. Jobs requesting those resources or
  1092. in those queues are preemption targets.
  1093. .br
  1094. Job-wide. Can be requested only outside of a select statement.
  1095. .br
  1096. Non-consumable.
  1097. .br
  1098. Format:
  1099. .I String_array
  1100. .br
  1101. Syntax:
  1102. .RS 11
  1103. preempt_targets="Queue=<queue name>[,Queue=<queue name>],
  1104. Resource_List.<resource>=<value>[,Resource_List.<resource>=<value>]"
  1105. .RE
  1106. .IP
  1107. or
  1108. .RS 11
  1109. preempt_targets=None
  1110. .RE
  1111. .IP
  1112. Keywords "queue" and "none" are case-insensitive. You can
  1113. list multiple comma-separated targets.
  1114. .br
  1115. Python type:
  1116. .I str
  1117. .br
  1118. Default: No default
  1119. .IP pvmem 8
  1120. Amount of virtual memory for use by any single process in the
  1121. job. Establishes a per-process resource limit.
  1122. .br
  1123. The scheduler rounds all resources of type
  1124. .I size
  1125. up to the nearest kb.
  1126. .br
  1127. Can be requested only outside of a select statement.
  1128. .br
  1129. Non-consumable.
  1130. .br
  1131. Format:
  1132. .I Size
  1133. .br
  1134. Python type:
  1135. .I pbs.size
  1136. .br
  1137. Default: No default
  1138. .IP site 8
  1139. Arbitrary string resource.
  1140. .br
  1141. Can be requested only outside of a select statement.
  1142. .br
  1143. Non-consumable.
  1144. .br
  1145. Format:
  1146. .I String
  1147. .br
  1148. Python type:
  1149. .I str
  1150. .br
  1151. Default: No default
  1152. .IP software 8
  1153. Site-specific software specification.
  1154. .br
  1155. Values: Allowable values and effect on job placement are site-dependent.
  1156. .br
  1157. Can be requested only outside of a select statement.
  1158. .br
  1159. Format:
  1160. .I String
  1161. .br
  1162. Python type:
  1163. .I pbs.software
  1164. .br
  1165. Default: No default
  1166. .IP soft_walltime 8
  1167. Soft limit on walltime. Similar to
  1168. .I walltime,
  1169. but cannot be requested by unprivileged users, and job is not killed
  1170. if it exceeds its
  1171. .I soft_walltime.
  1172. A job's
  1173. .I soft_walltime
  1174. cannot exceed its
  1175. .I walltime.
  1176. Can be set by Manager only.
  1177. .br
  1178. Format:
  1179. .I Duration
  1180. .br
  1181. Python type:
  1182. .I pbs.duration
  1183. .br
  1184. Default: No default
  1185. .IP start_time 8
  1186. The estimated start time for this job. Cannot be requested
  1187. for a job; used for reporting only. Appears only in job's
  1188. .I estimated
  1189. attribute. Read-only.
  1190. .br
  1191. Host-level.
  1192. .br
  1193. Consumable.
  1194. .br
  1195. Format:
  1196. .I Integer
  1197. .br
  1198. Python type:
  1199. .I int
  1200. .br
  1201. Default: No default
  1202. .IP vmem 8
  1203. Amount of virtual memory for use by all concurrent processes in
  1204. the job. Establishes a per-chunk resource limit.
  1205. .br
  1206. The scheduler rounds all resources of type
  1207. .I size
  1208. up to the nearest kb
  1209. .br
  1210. Can be requested only inside of a select statement.
  1211. .br
  1212. Consumable.
  1213. .br
  1214. Format:
  1215. .I Size
  1216. .br
  1217. Python type:
  1218. .I pbs.size
  1219. .br
  1220. Default: No default
  1221. .IP vnode 8
  1222. Name of virtual node (vnode) on which to execute. Site-dependent.
  1223. See the
  1224. .I pbs_node_attributes(7B)
  1225. man page.
  1226. .br
  1227. Can be requested only inside of a select statement.
  1228. .br
  1229. Format:
  1230. .I String
  1231. .br
  1232. Python type:
  1233. .I str
  1234. .br
  1235. Default: No default
  1236. .IP vntype 8
  1237. The type of the vnode.
  1238. Automatically set by PBS to one of two specific values for Cray vnodes.
  1239. Has no meaning for non-Cray vnodes.
  1240. .br
  1241. Automatically assigned values for Cray vnodes:
  1242. .RS 11
  1243. .IP cray_compute 3
  1244. This vnode represents part of a compute node.
  1245. .IP cray_login 3
  1246. This vnode represents a login node.
  1247. .RE
  1248. .IP
  1249. Can be requested only inside of a select statement.
  1250. .br
  1251. Non-consumable.
  1252. .br
  1253. Format:
  1254. .I String_array
  1255. .br
  1256. Python type:
  1257. .I str
  1258. .br
  1259. Default: No default
  1260. .IP walltime 8
  1261. Amount of wall-clock time. Establishes a job-wide resource limit.
  1262. .br
  1263. Actual elapsed time may differ from
  1264. .I walltime
  1265. during Daylight Savings transitions.
  1266. .br
  1267. Can be requested only outside of a select statement.
  1268. .br
  1269. Non-consumable.
  1270. .br
  1271. Format:
  1272. .I Duration
  1273. .br
  1274. Python type:
  1275. .I pbs.duration
  1276. .br
  1277. Default:
  1278. .I 5 years
  1279. .SH BACKWARD COMPATIBILITY
  1280. .B Conversion to Select and Place
  1281. .br
  1282. For backward compatibility, a legal node specification or resource
  1283. specification is converted into selection and placement directives.
  1284. .B Node Specification Conversion
  1285. .br
  1286. Node specification format:
  1287. .IP " " 3
  1288. -lnodes=[<N>:<spec list> | <spec list>]
  1289. .br
  1290. [[+<N>:<spec list> | +<spec list>] ...]
  1291. .br
  1292. [#<suffix> ...][-lncpus=Z]
  1293. .LP
  1294. where:
  1295. .IP " " 3
  1296. .I spec list
  1297. has syntax:
  1298. .I <spec>[:<spec> ...]
  1299. .br
  1300. .I spec
  1301. is any of:
  1302. .I <hostname> | <property> | ncpus=X | cpp=X | ppn=P
  1303. .br
  1304. .I suffix
  1305. is any of:
  1306. .I <property> | excl | shared
  1307. .br
  1308. .I N
  1309. and
  1310. .I P
  1311. are positive integers
  1312. .br
  1313. .I X
  1314. and
  1315. .I Z
  1316. are non-negative integers
  1317. .LP
  1318. The node specification is converted into selection and placement directives as follows:
  1319. .IP " " 3
  1320. Each
  1321. .I spec list
  1322. is converted into one chunk,
  1323. so that
  1324. .I <N>:<spec list>
  1325. is converted into
  1326. .I N
  1327. chunks.
  1328. If
  1329. .I spec
  1330. is
  1331. .I hostname
  1332. :
  1333. .br
  1334. The chunk will include
  1335. .I host=<hostname>
  1336. If
  1337. .I spec
  1338. matches any vnode's
  1339. .I resources_available.host
  1340. value:
  1341. .br
  1342. The chunk will include
  1343. .I host=<hostname>
  1344. If
  1345. .I spec
  1346. is
  1347. .I <property>
  1348. :
  1349. .br
  1350. The chunk will include
  1351. .I <property>=true
  1352. .br
  1353. where
  1354. .I property
  1355. must be a site-defined host-level Boolean resource.
  1356. If
  1357. .I spec
  1358. is
  1359. .I ncpus=X
  1360. or
  1361. .I cpp=X
  1362. :
  1363. .br
  1364. The chunk will include
  1365. .I ncpus=X
  1366. If no
  1367. .I spec
  1368. is
  1369. .I ncpus=X
  1370. and no
  1371. .I spec
  1372. is
  1373. .I cpp=X
  1374. :
  1375. .br
  1376. The chunk will include
  1377. .I ncpus=1
  1378. If
  1379. .I spec
  1380. is
  1381. .I ppn=P
  1382. :
  1383. .br
  1384. The chunk will include
  1385. .I mpiprocs=P
  1386. .br
  1387. Example:
  1388. -lnodes=4:ppn=2
  1389. .br
  1390. is converted into
  1391. .br
  1392. -lselect=4:ncpus=2:mpiprocs=2
  1393. If
  1394. .I -lncpus=Z
  1395. is specified and no
  1396. .I spec
  1397. contains
  1398. .I ncpus=X
  1399. and no
  1400. .I spec
  1401. is
  1402. .I ccp=X
  1403. :
  1404. .br
  1405. Every chunk will include
  1406. .I ncpus=W,
  1407. .br
  1408. where
  1409. .I W
  1410. is
  1411. .I Z
  1412. divided by the total number of chunks.
  1413. .br
  1414. (Note:
  1415. .I W
  1416. must be an integer;
  1417. .I Z
  1418. must be evenly divisible by the number of chunks.)
  1419. If
  1420. .I property
  1421. is a
  1422. .I suffix
  1423. :
  1424. .br
  1425. All chunks will include
  1426. .I <property>=true
  1427. If
  1428. .I excl
  1429. is a
  1430. .I suffix
  1431. :
  1432. .br
  1433. The placement directive will be
  1434. .I -lplace=scatter:excl
  1435. If
  1436. .I shared
  1437. is a
  1438. .I suffix
  1439. :
  1440. .br
  1441. The placement directive will be
  1442. .I -lplace=scatter:shared
  1443. If neither
  1444. .I excl
  1445. nor shared is a
  1446. .I suffix
  1447. :
  1448. .br
  1449. The placement directive will be
  1450. .I -lplace=scatter
  1451. .LP
  1452. Example:
  1453. .IP " " 3
  1454. -l nodes=3:green:ncpus=2:ppn=2+2:red
  1455. .LP
  1456. is converted to:
  1457. .IP " " 3
  1458. -l select=3:green=true:ncpus=4:mpiprocs=2+2:red=true:ncpus=1
  1459. .br
  1460. -l place=scatter
  1461. .LP
  1462. Node specification syntax for requesting properties is
  1463. .B deprecated.
  1464. The new Boolean resource syntax "<property>=<value>" is accepted only in a
  1465. selection directive. It is erroneous to mix old and new syntax.
  1466. .B Resource Specification Conversion
  1467. .br
  1468. The resource specification is converted to select and place statements
  1469. after any defaults have been applied.
  1470. Resource specification format:
  1471. .IP " " 3
  1472. -l<resource>=<value>[:<resource>=<value> ...]
  1473. .LP
  1474. The resource specification is converted to:
  1475. .IP " " 3
  1476. select=1[:<resource>=<value> ...]
  1477. .br
  1478. place=pack
  1479. .br
  1480. .LP
  1481. with one instance of
  1482. .I <resource>=<value>
  1483. for each of the following
  1484. host-level resources in the resource request:
  1485. .IP " " 3
  1486. Built-in resources:
  1487. .I ncpus
  1488. |
  1489. .I mem
  1490. |
  1491. .I vmem
  1492. |
  1493. .I arch
  1494. |
  1495. .I host
  1496. Site-defined host-level resources with flags including "h"
  1497. .SH SEE ALSO
  1498. The
  1499. .I PBS Professional Administrator's Guide,
  1500. the
  1501. .I PBS Professional User's Guide,
  1502. pbs_node_attributes(7B),
  1503. pbs_rsub(1B),
  1504. qalter(1B),
  1505. qmgr(8B),
  1506. qstat(1B),
  1507. qsub(1B)