Network Adapter Packet Order Preservation During Core Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network communication systems face challenges in maintaining packet order during core-to-core migration in multi-core processors, leading to reduced system performance due to potential packet reordering, which current load balancing schemes struggle to prevent effectively.

Innovation Solution

A network adapter inserts special markers into descriptor queues to notify the operating system of migration events, ensuring that packets are held on new cores until the old core receives the marker, thus preserving order by synchronizing the processing of network flows across cores.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If network flows are migrated between cores to balance load, then system scalability is improved, but packet processing order is disrupted

Engineering Contradiction:
Improvesystem scalabilityVSAvoidpacket processing order
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by having the destination core hold incoming packets in a temporary buffer before the source core finishes processing. This preliminary buffering ensures that when the migration completes, packets are delivered in the correct order without disrupting the load balancing benefits of core migration.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A migration marker descriptor acts as an intermediary signal between the source and destination cores. This marker is inserted into the descriptor queue to coordinate the migration process, ensuring that the destination core knows when to release held packets and maintain proper ordering while still enabling load distribution across multiple cores.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If load balancing migration is performed frequently, then system performance is improved through better load distribution, but packet reordering occurs more often

Engineering Contradiction:
Improvesystem performanceVSAvoidpacket reordering delays
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system uses feedback through migration marker descriptors to coordinate between cores. When migration is needed, the marker is inserted into the descriptor queue, providing feedback to the destination core to hold packets temporarily. This feedback mechanism allows frequent migrations while maintaining packet order, as each migration event is properly coordinated.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Before completing a migration, the destination core performs preliminary buffering of packets in a temporary buffer. This preliminary action ensures that even with frequent migrations, packets are always held until the migration is complete, preventing reordering delays while allowing aggressive load balancing.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If packets are held on new cores during migration, then packet order is preserved, but processing delay increases

Engineering Contradiction:
Improvepacket order preservationVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies partial buffering by holding only the specific packets affected by migration in a temporary buffer, rather than buffering all packets. This partial action minimizes processing delay while still preserving packet order for migrated flows, as only the necessary packets are held during the migration transition.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The migration marker descriptor serves as an intermediary that coordinates the exact timing of packet release. The marker is inserted at the precise moment migration should occur, allowing the destination core to hold packets only for the necessary duration and release them immediately when appropriate, minimizing delay while ensuring order.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7836195B2Preserving packet order when migrating network flows between cores
Publication Date: 2010.11.16 INTEL CORP
  • US7836195B2 patent drawing
  • US7836195B2 patent drawing
  • US7836195B2 patent drawing

AI summary

In one embodiment, the present invention includes a method for receiving a first packet associated with a first network flow in a first descriptor queue associated with a first hardware thread, receiving a marker in the first descriptor queue to indicate migration of the first network flow from the first hardware thread to a second hardware thread, and processing a second packet of the first network flow following the first packet in order in the second hardware thread.