Skip to content

[FEA] Support variable-depth fabric tiers #412

Description

@dmitsh

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions