PyBNF cluster setup (pybnf.cluster)

Functions for managing dask cluster setup and teardown on distributed computing systems

class pybnf.cluster.Cluster(config, log_prefix, debug, log_level_name)[source]

Class handling the setup and teardown of the dask Client used to submit simulation jobs The client is accessible

static read_node_names(config)[source]

Reads the available node names, if running on a cluster. If not running on a cluster, returns None for both.

Parameters:

config (pybnf.config.Configuration) – PyBNF configuration

Returns:

scheduler node, string composed of all available nodes

static setup_cluster(node_string, out_dir, parallel_count=None)[source]

Sets up a Dask cluster using the dask-ssh convenience script

Parameters:
  • node_string – A string composed of a list of compute nodes

  • out_dir – A directory for cluster logging output

  • parallel_count – Total number of parallel threads to use over all nodes. If None, use all available threads (the dask-ssh default)

Returns:

subprocess.Popen

teardown()[source]

Terminates the process running the dask-ssh script after completion of fitting run