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. All physical cores on every pool node are available as workers; no core is reserved for the manager process.

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 worker counts (physical cores x nodes in that pool).

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 worker counts (physical cores x nodes in that pool).

total_managers

Total number of managers, including the dedicated scheduler.