Files
cs249r_book/mlsysim/docs/api/solvers.TopologyModel.qmd
2026-05-31 15:05:17 -04:00

49 lines
2.1 KiB
Plaintext

# solvers.TopologyModel { #mlsysim.solvers.TopologyModel }
```python
solvers.TopologyModel()
```
Models bisection bandwidth for different network topologies (Wall 10).
This model calculates the effective bandwidth available to collective
communication operations based on the physical network topology. Different
topologies trade cost against bisection bandwidth — the minimum bandwidth
across any cut that divides the network in half.
Literature Source:
1. Leiserson (1985), "Fat-Trees: Universal Networks for Hardware-Efficient
Supercomputing." (Fat-tree bisection bandwidth.)
2. Kim et al. (2008), "Technology-Driven, Highly-Scalable Dragonfly Topology."
(Dragonfly topology model.)
3. Dally & Towles (2003), "Principles and Practices of Interconnection
Networks." (Torus and ring analysis.)
## Methods
| Name | Description |
| --- | --- |
| [solve](#mlsysim.solvers.TopologyModel.solve) | Solves for effective network bandwidth under a given topology. |
### solve { #mlsysim.solvers.TopologyModel.solve }
```python
solvers.TopologyModel.solve(fabric, topology='fat_tree', num_nodes=64)
```
Solves for effective network bandwidth under a given topology.
#### Parameters {.doc-section .doc-section-parameters}
| Name | Type | Description | Default |
|-----------|---------------|----------------------------------------------------------------------|--------------|
| fabric | NetworkFabric | The network fabric specification (link bandwidth, oversubscription). | _required_ |
| topology | str | Network topology ('fat_tree', 'dragonfly', 'torus_3d', 'ring'). | `'fat_tree'` |
| num_nodes | int | Number of nodes in the network. | `64` |
#### Returns {.doc-section .doc-section-returns}
| Name | Type | Description |
|--------|------------------|------------------------------------------------------------|
| | Dict\[str, Any\] | Effective bandwidth, bisection fraction, and average hops. |