polaris.run.allocation.NodeResources

class polaris.run.allocation.NodeResources(name: str, cores: int, gpus: int, memory: int | None, memory_source: str, memory_total: int | None, memory_configured: int | None, core_ids: Tuple[int, ...] = ())[source]

What one node of the allocation holds.

Variables:
  • name (str) – The node’s hostname, which is how a placement names it.

  • cores (int) – How many cores a launch may use on it.

  • core_ids (tuple of int) – Which cores those are, by number. Not always range(cores): a site may keep some cores back for itself, and a launcher refuses a core the job was never given. Aurora keeps core 0.

  • gpus (int) – The GPUs it has.

  • memory (int or None) – The memory in MiB to credit it with, or None where nothing could say.

  • memory_source (str) – Which figure memory came from: 'cgroup' where the site holds a job to one, 'available' where the node reported what it had left, or 'config' where neither could be read and the machine’s configured figure was used.

  • memory_total (int or None) – The node’s hardware memory in MiB, for the log rather than for packing. A node well below its neighbours here is a node with something wrong.

  • memory_configured (int or None) – What the machine’s configuration says a node has, in MiB, so that a disagreement is visible.

__init__(name: str, cores: int, gpus: int, memory: int | None, memory_source: str, memory_total: int | None, memory_configured: int | None, core_ids: Tuple[int, ...] = ()) → None

Methods

__init__(name, cores, gpus, memory, ...[, ...])

Attributes

core_ids

name

cores

gpus

memory

memory_source

memory_total

memory_configured