Weighted Round Robin Article Index for
Weighted
Website Links For
Round
 

Information About

Weighted Round Robin




To obtain normalized set of weights a mean packet size must be known. Only then WRR correctly emulates GPS. It is best to know this parameter in advance. But that's really uncommon in IP Network s so it has to be estimated which may be in practice quite hard (in terms of good GPS approximation). Another problem with WRR is that in a scale of one round WRR doesn't provide Fair Link Sharing .

WRR mechanism (pseudo-code):

//calculate number of packets to be served each round by connections

for each connection c
c.normalized_weight = c.weight / c.mean_packet_size

min = findSmallestNormalizedWeight

for each connection c
c.packets_to_be_served = c.normalized_weight / min

// main loop
loop
for each non-empty connection c
min(c.packets_to_be_served, c.packets_waiting).times do
servePacket c.getPacket

There's a modified version of WRR called Deficit Round Robin (DRR) which is able to properly handle packets of different size without knowing their mean size of each connection in advance.

There are more effective scheduling disciplines which handles both of these problems mentioned above (e.g. Weighted Fair Queuing (WFQ) ).


SEE ALSO