Back to all reviewers

network topology plugin configuration

volcano-sh/volcano
Based on 2 comments
Go

When implementing network topology-aware scheduling, ensure that the appropriate topology plugins are properly configured for different scheduling modes. In hard mode, the scheduler should strictly enforce topology constraints, while in soft mode, it should prefer network locality but allow cross-topology scheduling when necessary.

Networking Go

Reviewer Prompt

When implementing network topology-aware scheduling, ensure that the appropriate topology plugins are properly configured for different scheduling modes. In hard mode, the scheduler should strictly enforce topology constraints, while in soft mode, it should prefer network locality but allow cross-topology scheduling when necessary.

For hard mode scheduling, verify that jobs are constrained to single hypernodes or tiers as specified:

job := &e2eutil.JobSpec{
    Name: "topology-job",
    NetworkTopology: &batchv1alpha1.NetworkTopologySpec{
        Mode:               batchv1alpha1.HardNetworkTopologyMode,
        HighestTierAllowed: ptr.To(1),
    },
    // ... task specifications
}

For soft mode testing, enable the network-topology-aware plugin in the scheduler configuration to ensure pods within the same job are co-located when possible:

# volcano-scheduler-ci.conf
plugins:
  - name: network-topology-aware
    enabledHierarchy: "*"

When designing test scenarios, ensure resource requests and cluster topology accurately reflect the intended scheduling behavior. For multi-tier scenarios, configure sufficient resource pressure to force scheduling across tiers while maintaining network locality preferences. This prevents tests from passing due to unrelated factors like bin-packing algorithms rather than proper topology awareness.

2
Comments Analyzed
Go
Primary Language
Networking
Category

Source Discussions