YML780 Rev1 NB1 User Guide
www.netcomm.com.au 43
WRR Queue Scheduler for Medium and Low priority queues
The L and M weights will be configured from the Web UI as stated above in 1.)
Queue Priorities.
A service scheduling array will be pre-computed for the Medium and Low priority
queues based on the user configurable weights assigned to these queues. Each ar-
ray slot corresponds to a scheduling cycle. The pre-computed algorithm will allo-
cate scheduling slots for each queue based on the Medium and Low priority queue
weights and uniformly interleave them through the scheduling array. This array will
provide an O(1) scheduler with a minimum possible average latency for each of the
two queues.
Configuration:
The weighted values used for the WRR scheduler will be calculated based on the
percentage weights the user inputs in the Web UI as stated above in 1.) Queue
Priorities.
Example: User selects a Medium Queue Weight = 60 %, and Low Queue Weight =
40%. Then the O(1) scheduling array will look like {L, M, M, L, M, M, L, M, M, L}
where L and M represents a scheduling cycle for the respective Low and Medium
queues.
Low Latency Queue (Fragmentation and Interleaving) for Voice Traffic
With Voice traffic shared over same PVC with Data traffic, the simple packet classifi-
cation and prioritization will not suffice to achieve the low latency required by voice.
In this case, a voice call triggers dynamic flushing of existing data packets from
device queues (including DSL device driver) for Head of Line Blocking removal, and
IP MTU resizing based on uplink bandwidth for fragmentation and packet interleav-
ing of voice and data. Below is an example of MTU calculations:
Total delay PSTN delay Maximum Data Fragment size
end-to-end budget based on upstream bandwidth (bytes)
VIF (ms) (ms) 100kbps 150kbps 200kbps 250kbps
10ms 200 100 207 363 519 675
20ms 200 100 82 175 269 363
30ms 200 100 x x 19 50
For Voice traffic priority an extra EF queue was added to PRIOWRR. This extra
queue should not be exposed via WebUI config for data usage. Its use is triggered
internally by the voice app using the socket options system calls. Voice packets are
using this EF queue. Signalling for Voice uses the next EF queue that’s also exposed
on the web config. This means that voice signalling can be mixed with data if user
configures data for High Priority.
TOS-to-Priority Mapping
High Priority Marking for Expedited Forwarding Queue: DSCP Mark: xx1000
Medium Priority Marking: DSCP Mark: xx0100
Low Priority Marking for Best Effort: DSCP Mark: xx0000