Browse Prior Art Database

Systems and methods for efficiently maintaining packet ordering in a multi-processor environment

IP.com Disclosure Number: IPCOM000203521D
Publication Date: 2011-Jan-27
Document File: 2 page(s) / 28K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a system and method for more efficiently maintaining packet ordering in a multi-processor environment. The method supports multiple Ticket Pools and Flows.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 2

Systems and methods for efficiently maintaining packet ordering in a multi -processor environment

In most cases, the ordering of packets received on an inbound port must be maintained when the same packets are played out on an outbound port after processing. While this does not create a specific problem when all packets are processed by the same processor, problems can occur when the process of received packets is spread across many processing units that may be multi-threaded. A mechanism with the ability to guarantee the ordering of packets is required for new processors that are architected with multiple cores in order to enable them to simultaneously operate multiple threads.

Inventors have identified some relevant prior art, but none that address the problem using the methods described in this disclosure.

The disclosed solution is a system and method for more efficiently maintaining packet ordering in a multi-processor environment. A Ticket Allocation Machine (TAM) provides Tickets to incoming Packets. Each Packet belongs to a flow, identified with a Flow Identification (ID) computed as a hash function from significant packet header fields.

The system and method hold the following novel characteristics:
• Multiple Ticket Pools are supported
• Multiple flows can share the same Ticket Pool, but each flow has its own Tickets list

• Individual flows are identified using a hash
• Ticket Pools may be allocated per physical or logical resource (port, partition)

The process for implementation is:
1. The system allocates one Ticket taken from a Ticket Pool to each packet at the time it is enqueued for processing, before being dispatched to any processing unit.

2. The syste...