Skip to Main Content
A Network Sort Engine (NSE) that rapidly identifies the highest priority from numerous priorities is indispensable to enable per-flow queuing that supports massive queues in high-speed communications lines. This is because the bottleneck in per-flow queuing is the process to select a single queue to emit a frame from queues that are ready to emit frames; this process leads to sorting issues in identifying the highest priority. Thus, a Concurrent Heap that parallelizes each layer of a binary tree has been developed as a method of implementing a massive and high speed NSE. Since it does not essentially modify conventional Heap algorithms, it can work at high speed due to its lightweight memory management and it also ensures the worst-case runtime. As the FPGA results from implementing the Concurrent Heap indicate that the required resources are very small, it could be implemented, in practice, in a small FPGA, and the warranted runtime speed indicates that over 8,000 per-flow queues for a 10GbE LAN-PHY could work at the wire rate with successive minimum-length frames.
Date of Conference: 14-18 June 2009