Packet Work Order Module for Multi-Core Network Processor Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current networking systems face performance limitations in processing upper network protocol layers (L4-L7) at wire-speed due to insufficient compute performance, particularly with compute-intensive tasks like checksum calculation and timer management in general-purpose processors.

Innovation Solution

A network services processor with a packet work order module that schedules and queues packet processing operations for L4-L7 protocols, allowing parallel execution by multiple processors with tag-based ordering and synchronization, and expanding input queues into external memory to prevent stalling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If general purpose processors are used to process L4-L7 network protocols, then intelligent processing capability is improved, but processing speed deteriorates and cannot achieve wire-speed forwarding

Engineering Contradiction:
Improveintelligent processing capabilityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The network processor is segmented into multiple specialized processing units including a packet work order module, multiple in-flight lists, and parallel processors. Each unit handles specific tasks (queuing, scheduling, processing) to distribute the computational load and achieve both intelligence and high-speed processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically schedules work packets across multiple processors based on current system state and packet characteristics. The packet work order module adapts its scheduling decisions in real-time to optimize processing throughput while maintaining wire-speed forwarding capability.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If the input queue size is limited, then device complexity is reduced, but packet processing throughput deteriorates when the processor is busy

Engineering Contradiction:
Improvequeue structure complexityVSAvoidpacket processing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The input queue is extended into external memory space, transitioning from a limited on-chip queue to a virtually unlimited off-chip queue. This dimensional extension allows the queue to appear infinite to the packet work order module while maintaining simple queue management logic.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

A queue extension mechanism acts as an intermediary between the limited on-chip queue and the external memory. This intermediary allows work packets to be staged in external memory and transferred to the processing pipeline as slots become available, preventing throughput degradation during high-load conditions.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple processors execute work in parallel, then processing throughput is improved, but execution ordering and synchronization become more difficult

Engineering Contradiction:
Improveprocessing throughputVSAvoidsynchronization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The packet work order module performs preliminary scheduling of work packets to specific processors before execution. By pre-assigning packets and establishing execution order in advance, the system enables parallel processing while maintaining deterministic ordering without requiring complex runtime synchronization mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from processor completion status and queue state to dynamically adjust scheduling decisions. The packet work order module monitors processor availability and work completion, using this feedback to maintain proper execution ordering while maximizing parallel throughput.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7895431B2Packet queuing, scheduling and ordering
Publication Date: 2011.02.22 MARVELL ASIA PTE LTD
  • US7895431B2 patent drawing
  • US7895431B2 patent drawing
  • US7895431B2 patent drawing

AI summary

A method and apparatus for ordering, synchronizing and scheduling work in a multi-core network services processor is provided. Each piece of work is identified by a tag that indicates how the work is to be synchronized and ordered. Throughput is increased by processing work having different tags in parallel on different processor cores. Packet processing can be broken up into different phases, each phase having a different tag dependent on ordering and synchronization constraints for the phase. A tag switch operation initiated by a core switches a tag dependent on the phase. A dedicated tag switch bus minimizes latency for the tag switch operation.