Ticket Order Release Bitmap for Sequential Packet Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network flow processor integrated circuits face challenges in ensuring packets are released in sequential order due to out-of-sequence ticket release commands, leading to inefficiencies in processing and potential packet reordering.
Innovation Solution
The implementation of a ticket order release bitmap system with a Global Reordering Block (GRO) and a Configurable Mesh Command/Push/Pull (CPP) data bus, where each Ticket Order Release Bitmap Block (TORBB) stores a part of the ticket order release bitmap, and the GRO receives queue entries and ticket release commands to manage sequential packet release through a dispatcher thread and worker threads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a general purpose ticket release mechanism is used, then processing speed is improved, but packet reordering occurs due to out-of-sequence commands
Solution Approach 1:
The ticket release bitmap is divided into multiple blocks (TORB0-TORB3) with different protection levels. Blocks 0-3 are unprotected and allow fast processing, while block 4 is protected to ensure sequential order. This segmentation allows the system to process most tickets quickly while maintaining reliability for critical sequential packets.
Solution Approach 2:
Different portions of the bitmap have different quality characteristics - unprotected blocks prioritize speed while the protected block prioritizes reliability. This local differentiation allows the system to optimize for both speed and reliability in different regions of the same data structure.
2Productivity
If unprotected bitmap blocks are used, then processing efficiency is improved, but errors occur when bits are incorrectly set
Solution Approach 1:
The protected TORB block acts as a cushion or safety buffer that prevents errors from propagating. By having this protected region, the system prepares in advance to catch and prevent erroneous bit settings, allowing faster processing in unprotected regions without compromising overall reliability.
3Reliability
If sequential packet release is enforced, then packet reordering is prevented, but processing throughput decreases
Solution Approach 1:
The bitmap is segmented into protected and unprotected portions, allowing the system to enforce sequential release only when necessary (in the protected block) while permitting out-of-sequence processing in unprotected blocks, thus maintaining throughput while ensuring reliability when needed.
Solution Approach 2:
Instead of enforcing sequential release for all packets (excessive action that would reduce throughput), the system applies sequential enforcement only partially - specifically for packets corresponding to the protected TORB block - achieving sufficient reliability without overly restricting throughput.
Data Source
AI summary
An ordering system includes a plurality of ticket order release bitmap blocks that together store a ticket order release bitmap, a bus and a Global Reordering Block (GRO). Each Ticket Order Release Bitmap Block (TORBB) stores a different part of the ticket order release bitmap. A first TORBB of the plurality of TORBBs is protected. The GRO 1) receives a queue entry onto the ordering system from a thread, 2) receives a ticket release command from the thread, and in response 3) outputs a return data of ticket release command. The queue entry includes a first sequence number. The return data of ticket release command indicates if a bit in the protected TORBB was set. An error code is included in the return data of ticket release command if a bit is set within the protected TORBB. When a bit in the TORBB is set the thread stops processing packets.


