dragon.workflows.batch.BatchTopology

class BatchTopology[source]

Bases: object

Describes the placement of managers and worker pools across nodes.

Returned by Batch.topology().

The scheduler runs separately on the client host. Each requested node contributes one worker pool and one colocated subnode manager. By default, each pool uses all physical cores on its node; workers_per_node can reduce that count without changing placement capacity.

Hostnames in the string representation are compressed into Slurm-style bracket notation (e.g. node[001-004]) when the python-hostlist package is installed (pip install python-hostlist). Without it, hostnames are listed verbatim, separated by commas.

__init__(total_nodes: int, scheduler_hostname: str, manager_hostnames: list[str], pool_hostnames: list[list[str]], workers_per_pool: list[int]) → None[source]

Methods

__init__(total_nodes, scheduler_hostname, ...)

Attributes

total_nodes

Total number of nodes used by this Batch instance.

scheduler_hostname

Hostname where the dedicated scheduler runs.

manager_hostnames

Hostname of each subnode manager's colocated pool node.

pool_hostnames

List of hostname-lists, one inner list per worker pool.

workers_per_pool

Per-pool configured worker counts.

total_managers

Total number of managers, including the dedicated scheduler.

__init__(total_nodes: int, scheduler_hostname: str, manager_hostnames: list[str], pool_hostnames: list[list[str]], workers_per_pool: list[int]) → None[source]
total_nodes

Total number of nodes used by this Batch instance.

scheduler_hostname

Hostname where the dedicated scheduler runs.

manager_hostnames

Hostname of each subnode manager’s colocated pool node.

pool_hostnames

List of hostname-lists, one inner list per worker pool.

workers_per_pool

Per-pool configured worker counts.

total_managers

Total number of managers, including the dedicated scheduler.