polaris.run.pool.ResourcePool
- class polaris.run.pool.ResourcePool(nodes: List[NodeResources], local_node: str | None = None, names_gpus: bool = True)[source]
The allocation’s free resources, and what may be started against them.
- Variables:
local_node (str) – The node the scheduler itself is running on, which is the only one it can confine an unlaunched step to.
- __init__(nodes: List[NodeResources], local_node: str | None = None, names_gpus: bool = True)[source]
- Parameters:
nodes (list of polaris.run.allocation.NodeResources) – What the allocation holds, as its nodes reported it
local_node (str, optional) – The node the scheduler is on. Defaults to the first, which is where a batch script runs.
names_gpus (bool, optional) – Whether a placement names the GPUs it gives. Not where the batch system reserves GPUs by count, since it picks which itself
Methods
__init__(nodes[, local_node, names_gpus])release(reservation)Hand back everything a step was given.
reserve(step)Give a step what it needs, if what it needs is free right now.
resident(node_name)The steps on one node right now.
why_impossible(step)Say why a step could never run here, or
Noneif it could.