Two-Level Arbitration for Fair Buffer De-queue and Drop

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network routers face challenges in efficiently managing limited buffer space across multiple data ports and packet classes, leading to packet drops due to bandwidth imbalances and varying traffic conditions, requiring a fair arbitration method that considers packet priorities.

Innovation Solution

A two-level arbitration scheme is implemented, where the first level selects an input port based on weighted round-robin fairness and the second level prioritizes packet de-queue and drop decisions based on queue priorities, ensuring fair bandwidth allocation and maintaining priority-based criteria.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If buffer space is allocated to ports with low traffic, then buffer utilization efficiency is improved, but fairness deteriorates when those ports face higher traffic

Engineering Contradiction:
Improvebuffer utilization efficiencyVSAvoidfairness between ports
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The buffer allocation is made dynamic through the two-level arbitration scheme. The first level dynamically adjusts buffer allocation based on current traffic conditions across ports, allowing ports with low traffic to use more buffer space. The second level dynamically enforces priority-based drop decisions when traffic conditions change, ensuring fairness is maintained when previously low-traffic ports experience higher traffic loads.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If packets are dropped based on simple FIFO (first-in-first-out), then implementation complexity is reduced, but packet loss performance deteriorates due to ignoring packet priorities

Engineering Contradiction:
Improvearbitration mechanism complexityVSAvoidpacket loss performance
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The arbitration mechanism is segmented into two distinct levels. The first level handles port selection with weighted round-robin fairness, and the second level handles queue selection with priority-based drop decisions. This segmentation allows the system to implement complex priority-based packet loss management without requiring a single monolithic complex arbitration mechanism, thereby maintaining reasonable implementation complexity while significantly improving packet loss performance.

Inventive Principle:
Principle #1Segmentation

3Speed

If buffer management operates at the rate of incoming packets, then real-time performance is improved, but hardware complexity increases to approach maximum memory technology rates

Engineering Contradiction:
Improvebuffer management rateVSAvoidhardware implementation complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The buffer management operation is segmented into two sequential arbitration stages. This segmentation allows each stage to operate independently at the required packet rate, simplifying the hardware implementation of each individual stage. The first level selects the input port, and the second level selects the queue within that port, allowing the system to achieve real-time performance without requiring excessively complex hardware that would be needed for a single-stage arbitration handling all decisions simultaneously.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8018958B1System and method for fair shared de-queue and drop arbitration in a buffer
Publication Date: 2011.09.13 JUNIPER NETWORKS INC
  • US8018958B1 patent drawing
  • US8018958B1 patent drawing
  • US8018958B1 patent drawing

AI summary

Systems and methods consistent with the present invention provide a mechanism that can efficiently manage multiple queues and maintain fairness among ports while not placing additional performance demands on the memory used to store the queue data structures. Within a port, high priority traffic is dropped only if it is consuming more than its fair share of bandwidth allocated to that port. Queue arbitration is of low performance cost and simple because it arbitrates only across queues per port, rather than across all the queues in parallel. Accordingly, fair arbitration with relatively little hardware cost.