tokio.tools.topology module

Perform operations based on the mapping of a job to network topology

tokio.tools.topology.get_job_diameter(jobid, nodemap_cache_file=None, jobinfo_cache_file=None)[source]

Calculate the diameter of a job

An extremely crude way to reduce a job’s node allocation into a scalar metric. Assumes nodes are equally capable and fall on a 3D network; calculates the center of mass of the job’s node positions.

Parameters:
  • jobid (str) – A logical job id from which nodes are determined and their topological placement is determined
  • nodemap_cache_file (str) – Full path to the file containing the cached contents to be used to determine the node position map
  • jobinfo_cache_file (str) – Full path to the file containing the cached contents to be used to convert the job id into a node list
Returns:

Contains three keys representing three ways in which a job’s radius can be expressed. Keys are:

  • job_min_radius: The smallest distance between the job’s center of mass and a job node
  • job_max_radius: The largest distance between the job’s center of mass and a job node
  • job_avg_radius: The average distance between the job’s center of mass and all job nodes

Return type:

dict