TorusScenario
Communication scenarios · Implementation: mlsysim/engine/scenario_definitions/communication.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
n_endpoints as a cubic torus against a non-blocking fat-tree, at equal per-link bandwidth.
Notes
Equation: Compose mlsysim.physics.communication.calc_torus_bisection_links, mlsysim.physics.communication.calc_torus_diameter, mlsysim.physics.communication.calc_fat_tree_path_switches.
Assumptions: Endpoints form a regular cubic torus and links have equal bandwidth; side length is rounded for non-perfect powers.
Excludes: The rounded geometry need not preserve endpoint count exactly; failures and adaptive-routing congestion are absent.
References
Derivation: this scenario binds its input fields to the referenced implementation contracts: mlsysim.physics.communication.calc_torus_bisection_links, mlsysim.physics.communication.calc_torus_diameter, mlsysim.physics.communication.calc_fat_tree_path_switches. The methods below identify any additional arithmetic.
Examples
>>> from mlsysim import Scenarios
>>> case = Scenarios.TorusVsFatTree4K
>>> round(case.side, 4)
16Attributes
| Name | Description |
|---|---|
| dims | |
| fat_tree_bisection | Aggregate bandwidth of the fat-tree comparison cut. Equation: fat_tree_cut_links * | | [fat_tree_cut_links](#mlsysim.engine.scenario_types.TorusScenario.fat_tree_cut_links) | Links in the comparison's full-bandwidth half-fleet cut. Equation:n_endpoints // 2. | | [fat_tree_path_switches](#mlsysim.engine.scenario_types.TorusScenario.fat_tree_path_switches) | Switch traversals on the comparison's full-height fat-tree path. Equation: | | [fat_tree_tiers](#mlsysim.engine.scenario_types.TorusScenario.fat_tree_tiers) | | | [link_bandwidth](#mlsysim.engine.scenario_types.TorusScenario.link_bandwidth) | | | [n_endpoints](#mlsysim.engine.scenario_types.TorusScenario.n_endpoints) | | | [side](#mlsysim.engine.scenario_types.TorusScenario.side) | Integer side length used for the cubic-torus approximation. Equation: round the | | [torus_bisection](#mlsysim.engine.scenario_types.TorusScenario.torus_bisection) | Aggregate bandwidth of the torus cut. Equation:torus_cut_links * link_bandwidth``. |
| torus_cut_links | Link count crossing a minimum torus bisection. Equation: |
| torus_diameter | Longest minimum-hop path in the modeled regular torus. Equation: |
n_endpoints
Type: int.
Declared default: required.
link_bandwidth
Type: Quantity.
Declared default: required.
dims
Type: int.
Declared default: 3.
fat_tree_tiers
Type: int.
Declared default: 3.
side
engine.scenario_types.TorusScenario.side
Integer side length used for the cubic-torus approximation. Equation: round the dims-th root of n_endpoints. Units: endpoints per side; non-perfect powers are rounded rather than rejected.
torus_cut_links
engine.scenario_types.TorusScenario.torus_cut_links
Link count crossing a minimum torus bisection. Equation: mlsysim.physics.communication.calc_torus_bisection_links(side, dims). Units: links under the regular-torus geometry.
fat_tree_cut_links
engine.scenario_types.TorusScenario.fat_tree_cut_links
Links in the comparison’s full-bandwidth half-fleet cut. Equation: n_endpoints // 2. Units: links; the comparison assumes one equal-rate endpoint link per endpoint.
torus_bisection
engine.scenario_types.TorusScenario.torus_bisection
Aggregate bandwidth of the torus cut. Equation: torus_cut_links * link_bandwidth. Units: bandwidth; contention and routing imbalance are excluded.
fat_tree_bisection
engine.scenario_types.TorusScenario.fat_tree_bisection
Aggregate bandwidth of the fat-tree comparison cut. Equation: fat_tree_cut_links * link_bandwidth. Units: bandwidth under the nonblocking assumption.
torus_diameter
engine.scenario_types.TorusScenario.torus_diameter
Longest minimum-hop path in the modeled regular torus. Equation: mlsysim.physics.communication.calc_torus_diameter(side, dims). Units: hops; failed links and adaptive detours are excluded.
fat_tree_path_switches
engine.scenario_types.TorusScenario.fat_tree_path_switches
Switch traversals on the comparison’s full-height fat-tree path. Equation: mlsysim.physics.communication.calc_fat_tree_path_switches(fat_tree_tiers). Units: switches; not a latency measurement.