Shuffle Sharding Network Switch Path Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveworkload distributionVSAvoidfault isolation
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improvefault toleranceVSAvoidpath selection complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9722932B1Packet path selection using shuffle sharding
Publication Date: 2017.08.01 AMAZON TECH INC
  • US9722932B1 patent drawing
  • US9722932B1 patent drawing
  • US9722932B1 patent drawing

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.