Subject: [tsvwg] Review of "draft-finzi-priority-switching-scheduler-01"

From: Kuhn Nicolas <[email-masked]>
Date: Mon, 26 Mar 2018 15:53:54 +0000

Hi,

Following the presentation of draft-finzi-priority-switching-scheduler-01 " Priority Switching Scheduler " at IETF,
I have some comments on the actual version of the draft.
Thanks a lot for this interesting work.

============================
General comments
============================

I find the proposal very interesting.

That being said,
- the presentation of the motivation and the description of the algorithm
  should be improved in the document
- knowledge of the BW: do the algorithm need to know the BW of the system ?
  if this is the case, is it the maximum/average/minimal value ?
- more generally, there should be a section describing what parameters should be
  set when deploying such schemes
- what are the relations between the low/high probabilities and typical QoS metrics?
- in the algorithm presentation, you may want to describe how the different priorities
  values are used when dequeuing packets

============================
Detailed comments
============================

Comments on the text

- Abstract:
Some parts of the abstract are not clear to me.
e.g.
"
that switches the priority of one or several queues.
"
-> ?

"
This scheduler aims at carrying and isolating time constrained and elastic
traffic flows from best-effort traffic.
"
-> this is not different from other mechanisms.

I would propose something around:
"
Usual implementations with rate schedulers (such as WRR, DRR, ...) do not allow
to efficiently quantify the capacity that is dedicated to each of the EF, BE and AF classes.
This results in an excessiv margin on the guaranteed capacity that impact on the
amount of users that could be accepted in the network.
This memo presents a credit based sceduler mechanim called Priority Switching Scheduler
that allow a more predictable output rate per traffic class.
"

- Introduction
"
However, with these solutions, the capacity available to a class is
strongly impacted by the other classes. With this new scheduler
denoted Priority Switching Scheduler (PSS), we wish to reduce this
impact on some classes and provide them with a more predictable
output rate, reporting the impact on other classes.
"
-> I think this should be rephrased. Since it is not clear to me whether
you are actually providing a predictable output rate for each queue or all
the queues.
"However, with classical solutions, the output rate of a given queue
is related to the amount of traffic on the other queues.

Our proposal aims at reducing the uncertainty of the output rate of each
queue.
"

"Priority Switching Scheduler in a nutshell"
-> You may want to start this section with a generic example.
As it is in the current version of the document, it is not clear how the
priority, the credit counter, the priority of the queue are actually used
by your mechanisms. This results in sentences that are quite difficult to
understand. The whole section 1.2 is not clear.
It may be worth to either better present the algorithm at that point or
propose discussion section after the presentation of the algorithm in section 2.1.

- Section 2.1

When you list the different parameters, you may want to quickly describe their use.
You may want to further describes the examples of figures 1 & 2.

When you speak off priorities, you actually speak about a priority value and then
the dequeuing is done by selecting the packet with the lowest priority value ?
it is not clear how the priority p_low/high is related to the priorities of figure 4

"
Finally, for the dequeuing process, a Priority Scheduler selects the
appropriate frame using the current p[q] values.
"
-> this should be further detailed.

The beginning of this section might describe how the priorities of the different queues
are used.