Shuffle Sharding Network Switch Path Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large data center interconnects with multiple physical paths face challenges in balancing workload distribution while maintaining fault isolation, as failures in switches or links can disrupt a significant number of traffic flows, particularly in balanced topologies where packet spraying increases the likelihood of widespread disruptions.
Innovation Solution
Implementing shuffle sharding techniques in network switches, where packets are assigned to flow categories and distributed among a selected subset of output links, known as shards, to achieve workload balancing and fault isolation, using combinatorial methods to identify candidate links and selecting them randomly or based on hash values for efficient path selection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If packet spraying is used to distribute traffic across all outbound links, then workload distribution is improved, but fault isolation deteriorates because a single switch or link failure disrupts a large number of traffic flows
Solution Approach 1:
The patent segments the set of outbound links into multiple disjoint subsets called shards. Each traffic flow is assigned to a specific shard, so that packets for that flow are only distributed within that shard's links. This segmentation ensures that a failure in one shard does not affect other shards, providing fault isolation while still achieving workload distribution within each shard.
Solution Approach 2:
The patent applies different distribution behaviors to different shards. Within each shard, packets are sprayed across available links to balance workload locally. However, between shards, there is strict isolation so that failures remain localized. This local quality approach optimizes both workload distribution and fault isolation by allowing aggressive distribution where safe and strict isolation where needed.
2Reliability
If multiple physical paths are provided in the interconnect, then fault tolerance is improved, but device complexity increases due to the need for path selection and management
Solution Approach 1:
The patent performs preliminary action by pre-computing and storing the shard assignments for all traffic flows before actual packet forwarding begins. Each switch maintains a mapping from traffic flow identifiers to shard identifiers. When a packet arrives, the switch only needs to look up the pre-computed shard assignment and distribute the packet within that shard, rather than performing complex path selection algorithms in real-time. This dramatically reduces path selection complexity while maintaining fault tolerance through multiple paths.
Data Source
AI summary
A path selector device of a network receives a network packet. A packet flow category to which the packet belongs is identified. A candidate outbound link set corresponding to the packet flow category, comprising a subset of the available outbound links of the path selector device, is determined. The packet is transmitted on a particular outbound link of the candidate outbound link set. Subsequent packets of the packet flow category are distributed among the members of the candidate outbound link set.


