Home

TWRR

Time-Weighted Round Robin (TWRR) is a resource scheduling algorithm used to allocate processing time or bandwidth among multiple competing queues or tasks. It is a variant of Weighted Round Robin that incorporates time-aware adjustments to scheduling quotas, aiming to provide fair shares even when tasks vary in size or service requirements.

In typical implementations, each queue i is assigned a weight w_i that represents its priority or desired

Applications for TWRR include quality of service in network devices such as routers and switches, where different

Advantages of TWRR include improved fairness for mixed workloads and easier integration with existing weighted round-robin

TWRR is not universally standardized; it exists as a family of implementations described in vendor-specific QoS

share.
The
scheduler
cycles
through
nonempty
queues
and
assigns
service
time
to
each
in
proportion
to
its
weight,
with
adjustments
made
based
on
observed
service
times
so
that
longer
tasks
do
not
disproportionately
penalize
others.
A
virtual
time
reference
is
often
used
to
track
progress
and
to
decide
the
next
queue
to
serve,
ensuring
the
cumulative
service
delivered
matches
the
weighted
shares
over
time.
traffic
classes
receive
different
fractions
of
bandwidth,
and
operating
system
or
virtualization
schedulers
that
must
fairly
multiplex
CPU
or
I/O
time
among
processes
or
virtual
machines.
frameworks.
Limitations
involve
the
need
to
select
appropriate
weights,
potential
performance
variations
under
bursty
traffic,
and
the
fact
that
implementations
can
differ
across
systems,
leading
to
behavior
that
is
not
fully
standardized.
or
scheduling
documentation.
It
is
related
to
WRR
(weighted
round
robin),
DRR
(deficit
round
robin),
and
fair
queuing
approaches.