Packet Ordering via Atomic Ticket Release in Network Flow Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing packet ordering systems in multi-processor Network Flow Processors face challenges in maintaining packet order and efficiently releasing packets due to out-of-order application layer processing by Worker Processors, leading to potential misordering and increased complexity in software operation and resource utilization.

Innovation Solution

A distributed packet ordering system with Worker Processors (WPs) and Output Processors (OPs) that uses a transactional memory's atomic ticket release functionality to ensure packets are released in the correct order, utilizing ordering sequence numbers and specialized transmit commands to maintain packet order across egress circuits, thereby simplifying software operation and reducing memory requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If packets are processed by multiple Worker Processors in parallel, then processing productivity is improved, but packet ordering reliability deteriorates due to out-of-order completion

Engineering Contradiction:
Improvepacket processing throughputVSAvoidpacket order maintenance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system divides packet processing into two distinct segments: Worker Processors handle parallel application layer processing while Output Processors handle sequential release operations. This segmentation allows each component to specialize - WPs focus on processing speed while OPs ensure ordering reliability through coordinated ticket-based release mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces Output Processors as intermediary components between Worker Processors and the network interface. These OPs act as mediators that receive packets from multiple WPs, use atomic ticket release operations to coordinate release timing, and ensure packets are transmitted in correct order despite out-of-order processing completion.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a general purpose ticket release mechanism is used, then device versatility is improved, but software operation complexity increases

Engineering Contradiction:
Improveticket release mechanism flexibilityVSAvoidsoftware operation simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system performs preliminary actions by pre-initializing ticket release bitmaps and establishing ordering sequence numbers for each packet before processing begins. This preliminary setup enables the general-purpose ticket release mechanism to automatically handle ordering without requiring complex software intervention during packet release operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The ticket release mechanism is designed to be self-servicing through atomic hardware operations that automatically compare ticket values, update bitmaps, and coordinate releases without complex software management. The hardware automatically handles the complexity of maintaining ordering state, simplifying software operation while preserving versatility.

Inventive Principle:
Principle #25Self-service

3Reliability

If packets are held for ordering verification, then packet order reliability is improved, but processing time increases

Engineering Contradiction:
Improvepacket release order accuracyVSAvoidpacket release delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system maintains continuous useful action by allowing Worker Processors to process packets in parallel without interruption while Output Processors continuously monitor and coordinate releases. The atomic ticket release mechanism enables continuous verification of ordering conditions without blocking processing, maintaining both reliability and time efficiency.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent replaces traditional mechanical blocking mechanisms (where packets would be physically held until ordering verification) with an atomic hardware-based ticket release system. This substitution uses compare-and-swap operations and bitmap tracking to verify ordering conditions without requiring actual packet holding, eliminating delays while maintaining reliability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9641448B1Packet ordering system using an atomic ticket release command of a transactional memory
Publication Date: 2017.05.02 NETRONOME SYSTEMS INC
  • US9641448B1 patent drawing
  • US9641448B1 patent drawing
  • US9641448B1 patent drawing

AI summary

An Island-Based Network Flow Processor (IB-NFP) receives packets of many flows, and classifies them as belonging to an ordering context. These packets are distributed to a set of Worker Processors (WPs), so that each packet of the context is processed by one WP, but multiple WPs operate on packets of the context at a given time. The WPs use an atomic ticket release functionality of a transactional memory to assist in determining when to release packets to another set of Output Processors (OP). The packets are indicated to the set of OPs in the correct order, even though the WPs may complete their processing of the packets in an out-of-order fashion. For a packet that is indicated as to be released, an OP generates a “transmit command” such that the packet (or a descriptor of the packet) is then put into a properly ordered stream for output from the IB-NFP.