Background:
There are several distinct types of provisioning that might need to be done before a jobs can run. So far PBS has two:
...
This RFE would introduce a third class with added capabilities:
- Provisioning of the Infrastructure Operating Environment (ioe) - hardware "hardware" configuration
These three operations have a hierarchical relationship: ioe "hardware" then aoe then eoe
This new capabilities required of this class of provisioning tasks would be:
- Provision per chunk - one chunk specifying a particular host that needs to be provisioned with new "hardware" settings
- Provision multi-vnoded hosts, specifically a Cray system where each login node includes many vnodes, each representing a compute node
- It would be nice but not critical to extend this latter capability to all platforms
It will be left to the design discussion whether we extend the existing provisioning attribute (i.e. aoe) or create a new one (e.g. ioe)
Use cases for
...
:
- configuring KNL memory models
- resetting the HPE system cache configuration
- enabling/disabling hyperthreading in system BIOS
Requirements:
- Provisioning an ioe shall follow all the same rules as provisioning an aoe, specifically:
- A host shall list which ioe'"oe"s it supports
- A host shall list which ioe "oe" is currently instantiated (if anyknown)
- A job shall be able to request which ioe"oe"(s) it needs to run on a per chunk basis
- Different chunks can specify a different ioe "oe" or no ioe at all"oe" at all
- Each "type" of node requested (e.g. cray_compute_knl) must request the same "oe"
- "type" could be specified via the vntype node attribute
- A job shall still be able to specify an aoe on a per-job basis, but not at the same time as per-chunk if we decide to extend the aoe
- It shall be possible to provision multi-vnode hosts with a new ioe"oe" (specifically on a Cray)
- This would be a nice to have on other platforms as well
- It would be nice to be able to allow an admin specify their own custom "oe"s though not critical to this RFE
- If more than one type of provisioning task is requested by a job they shall take place in the following order:
1) ioe"hardware"
2) aoe
3) eoe