Description
Topograph currently models the fabric topology using the fixed roles leaf,
spine, and core. This does not represent environments with arbitrary fabric
depth.
We propose replacing these fixed fabric roles with a variable-length
FabricTiers hierarchy. Fabric switches are ordered closest to the compute node
first, with no fixed maximum number of tiers.
Kubernetes fabric topology labels would use indexed keys:
network.topology.nvidia.com/tier-N
Tier 0 is the fabric tier closest to the node, and higher numbers identify each
successive tier outward.
Accelerator topology remains a single dimension represented by AcceleratorID
and Graph.Domains. Its default Kubernetes label remains:
network.topology.nvidia.com/accelerator
Users can fully customize the label keys through the Kubernetes engine
configuration. fabricLabels is a closest-first array, while acceleratorLabel
configures the single accelerator label. This makes it possible to generate the
previous accelerator, leaf, spine, and core label set when compatibility with
existing consumers is required.
The NFD engine does not require custom label configuration because it does not
write Kubernetes node labels. It should expose corresponding attributes using:
fabric-tier-N
accelerator
This change affects the canonical fabric topology representation and therefore
requires coordinated updates across providers, engines, simulation models,
tests, Helm configuration, and documentation.
Description
Topograph currently models the fabric topology using the fixed roles leaf,
spine, and core. This does not represent environments with arbitrary fabric
depth.
We propose replacing these fixed fabric roles with a variable-length
FabricTiershierarchy. Fabric switches are ordered closest to the compute nodefirst, with no fixed maximum number of tiers.
Kubernetes fabric topology labels would use indexed keys:
network.topology.nvidia.com/tier-NTier 0 is the fabric tier closest to the node, and higher numbers identify each
successive tier outward.
Accelerator topology remains a single dimension represented by
AcceleratorIDand
Graph.Domains. Its default Kubernetes label remains:network.topology.nvidia.com/acceleratorUsers can fully customize the label keys through the Kubernetes engine
configuration.
fabricLabelsis a closest-first array, whileacceleratorLabelconfigures the single accelerator label. This makes it possible to generate the
previous accelerator, leaf, spine, and core label set when compatibility with
existing consumers is required.
The NFD engine does not require custom label configuration because it does not
write Kubernetes node labels. It should expose corresponding attributes using:
fabric-tier-NacceleratorThis change affects the canonical fabric topology representation and therefore
requires coordinated updates across providers, engines, simulation models,
tests, Helm configuration, and documentation.