In a network device, a scheduler is commonly used to schedule the processing of data units (e.g. packets, cells, frames, etc.) associated with multiple traffic flows. Typically, a weighted round-robin (WRR) scheduler may process data units according to WRR weights associated with queues. Each WRR weight may indicate a level of priority, in which the larger the WRR weight, the higher the priority. For example, consider three queues, namely, queue 0, queue 1, and queue 2, which are assigned respective WRR weights of 10, 20, and 30. Given this configuration, the WRR scheduler services queue 0 for 10 timeslots, and queue 1 may have to wait those 10 timeslots before the WRR scheduler services queue 1. Additionally, queue 2 may have to wait 30 timeslots (i.e., 10 timeslots for queue 0 and 20 timeslots for queue 1) before the WRR scheduler services queue 2. As a result, the WRR scheduler may cause periods of burstiness to the traffic flow associated with, for example, queue 2, which may increase the amount of buffering and/or may cause a higher latency to occur with respect to queue 0 and/or queue 1.