Skip to Main Content
Packet scheduling is a critical component of router data paths because it allows routers to divide bandwidth intelligently between competing flows. A large number of scheduling algorithms annotate packets with time stamps and subsequently sort these packets according to their annotated time stamp values. For these algorithms the problems of efficiently tagging and sorting packets are still open to investigation. In this paper we propose a data structure and algorithm that reduces the latency of determining the packet with the smallest time stamp to a single memory access time and a small constant number of computation steps, independent of the number of flows serviced by the scheduler. The complexity of inserting a packet into our sorting data structure is logarithmic as a function of the ratio between the maximum packet size and minimum connection weight. The latency of inserting a packet can be hidden by performing insertions of several packets in parallel. This is the fastest sorting data structure known to us. One of the most efficient alternative implementation techniques proposed by Chao et. al.  is associated with logarithmic complexity of the scheduling decision time, as a function of the maximum value of packet time stamps. Our solution applies to many different packet fair queuing algorithms including Weighted Fair Queuing , Self-Clocked Fair Queuing (SCFQ)  and Start Time Fair Queuing .