Priority Flow Control in Distributed Network Switches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed network switch architectures, implementing priority flow control is challenging due to the need for egress queue managers to manage congestion across multiple interconnected ports, as conventional methods rely on direct coupling and buffer fill level data from ingress ports, which is not feasible in scalable modular architectures.

Innovation Solution

A method where a first egress queue manager determines fill levels of packet data in its managed egress queues, generates a data structure indicating packet ingress and egress relationships, and signals these fill levels to other egress queue managers to enable priority flow control decisions, using packet counters and parallel signaling to aggregate and compare fill levels against thresholds to pause or resume data flows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a distributed network switch architecture is implemented to increase throughput and handle large numbers of traffic flows, then the device capacity and scalability are improved, but the complexity of implementing priority flow control increases because egress queue managers must manage congestion across multiple interconnected ports without direct coupling

Engineering Contradiction:
ImprovethroughputVSAvoidpriority flow control implementation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The network switch is divided into multiple independent egress queue managers, each managing a subset of egress queues. This segmentation allows parallel processing of traffic flows and enables scalable architecture while maintaining manageable complexity through modular design. Each egress queue manager operates semi-independently, reducing the control complexity that would arise from centralized management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A data structure intermediary is introduced to convey buffer fill level information between egress queue managers. This intermediary mechanism allows indirect communication and coordination without requiring direct coupling between egress queue managers, solving the complexity problem while maintaining the distributed architecture's scalability and throughput advantages.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If egress queue managers directly monitor buffer fill levels at their coupled ingress ports for priority flow control, then the control mechanism is simple and direct, but this approach is not feasible in scalable modular architectures where egress queue managers are not directly coupled to all ingress ports

Engineering Contradiction:
Improvepriority flow control mechanismVSAvoidscalability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The data structure intermediary serves multiple functions: it conveys buffer fill level information, identifies source ingress ports, and enables coordination between egress queue managers. This universal mechanism works across all egress queue managers regardless of their specific coupling configurations, providing both ease of operation through a standardized interface and adaptability to various scalable modular architectures.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The data structure acts as an intermediary that bridges the gap between egress queue managers and ingress ports they are not directly coupled to. This intermediary enables indirect monitoring of buffer fill levels, maintaining the simplicity of direct monitoring while extending capability to scalable modular architectures through indirect information exchange.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If buffer fill level data is shared across all egress queue managers in a distributed architecture, then accurate priority flow control decisions can be made for all ports, but the amount of data signaling and communication overhead increases

Engineering Contradiction:
Improvebuffer fill level data accuracyVSAvoiddata signaling volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

Each egress queue manager determines and monitors buffer fill levels for its locally managed egress queues, maintaining measurement precision for local conditions. The data structure then packages this local information with ingress port identifiers for selective sharing, reducing the need for complete data exchange while maintaining accuracy where needed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Instead of all egress queue managers monitoring all buffer fill levels (excessive action), each manager monitors only its local queues (partial action). The data structure enables selective sharing of relevant fill level information with other egress queue managers that need it, reducing overall signaling volume while maintaining sufficient precision for priority flow control decisions.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11005778B1Priority flow control in a distributed network switch architecture
Publication Date: 2021.05.11 MARVELL ISRAEL (M L S L) LTD
  • US11005778B1 patent drawing
  • US11005778B1 patent drawing
  • US11005778B1 patent drawing

AI summary

This disclosure describes systems and methods for priority flow control in a network switching device having two or more egress queue managers for managing egress queues of ports of the network switching device. A first egress queue manager determines respective fill levels of packet data that is buffered in egress queues. The first egress queue manager generates a data structure that relates a port of the egress queue manager at which selected packets are ingressed and a port or an egress queue of the egress queue manager from which the selected packets are to be egressed. The first egress queue manager signals to one or more other egress managers the respective fill levels of egress queues along with other information to enable at least one of the other egress queue managers to make a priority flow control decision for one of the ports managed by the other egress queue manager.