Virtual Output Queue Network Switch Packet Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance computing systems experience network congestion due to multi-destination packets, which are replicated across all or a subset of output ports, leading to bandwidth reduction and performance issues for other packet streams.

Innovation Solution

A system that schedules multi-destination packets for communication through a network switch fabric with a virtual output queue (VOQ) architecture, inserting packets one at a time into separate VOQs associated with multiple output ports, using a port order list to determine the ordering based on bandwidth, congestion, or fullness, ensuring efficient distribution without interfering with unicast packets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multi-destination packets are replicated to all or a subset of output ports, then the multi-destination packet can be delivered to multiple destinations, but the bandwidth available for other packets is greatly reduced

Engineering Contradiction:
Improvemulti-destination packet delivery capabilityVSAvoidbandwidth availability
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent segments the multi-destination packet into multiple copies, inserting each copy into a separate VOQ corresponding to different output ports. This segmentation allows the packet to be distributed to multiple destinations while managing bandwidth consumption through controlled replication timing and prioritization schemes.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multi-destination packets are sent through the switch fabric, then multiple destinations can receive the packet, but network congestion increases and performance of other packet streams deteriorates

Engineering Contradiction:
Improvemulti-destination packet routingVSAvoidnetwork throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by inserting multi-destination packet copies into VOQs before actual transmission, allowing the switch fabric to pre-configure the distribution path. The port order list is prepared in advance to determine the optimal transmission sequence, reducing congestion during actual packet forwarding.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic scheduling by maintaining a port order list that can be adjusted based on current network conditions, VOQ states, and packet priorities. This dynamic approach allows the system to adapt to changing traffic patterns and minimize congestion impact on overall network productivity.

Inventive Principle:
Principle #15Dynamics

3Productivity

If multi-destination packets are inserted into multiple VOQs simultaneously, then all output ports can receive the packet efficiently, but the complexity of managing packet insertion increases

Engineering Contradiction:
Improvepacket distribution efficiencyVSAvoidVOQ management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the packet insertion process into sequential operations, where copies are inserted into different VOQs one after another according to the port order list. This segmentation simplifies the management complexity by breaking down the simultaneous insertion task into manageable sequential steps while maintaining distribution efficiency.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10270713B2Scheduling packets with multiple destinations in a virtual output queue network switch
Publication Date: 2019.04.23 ORACLE INT CORP
  • US10270713B2 patent drawing
  • US10270713B2 patent drawing
  • US10270713B2 patent drawing

AI summary

A system for communicating a multi-destination packet through a network switch fabric with a plurality of input and output ports is described. This system receives the multi-destination packet at an input port, wherein the multi-destination packet includes a multicast packet or a broadcast packet that is directed to multiple output ports, and wherein the network switch fabric maintains a separate virtual output queue (VOQ) for each output port. Next, the system sends the multi-destination packet from the input port to the multiple output ports by inserting the multi-destination packet into VOQs associated with the multiple output ports. The multi-destination packet is inserted into one VOQ at a time, so that after the multi-destination packet is read out of a VOQ and is sent to a corresponding output port, the multi-destination packet is inserted in another VOQ until the multi-destination packet is sent to all of the multiple output ports.