[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Diffserv] Model - queues - replacement text


> Queues perform three distinct, but related, functions:  they store packets,
> they modulate the departure of packets belonging to various traffic streams
> and they selectively discard packets.  This model decomposes queues into the
> component elements that perform each of these functions.

I disagree fundamentally with this description.

Queues are places where things are stored. Queues are acted upon
to effect addition to, or subtraction from, the queue's contents.
Addition is enqueuing. Subtraction is either a discard action,
or a scheduler action. A queue per se does no action to either
schedule or discard packets. That's the role of the scheduler
or discard stages. Queues peform data storage, nothing else.

(When I wrote code to hold data elements in a queue, the 'queue'
itself never modulated departure of data elements. Why should the
defn be changed for routers?)

> Note that the term FIFO is overloaded (i.e., has more than one meaning).  In
> common usage it is taken to mean, among other things, a data structure that
> permits items to be removed only in the order in which they were inserted,
> and a service discipline which is non-reordering.  In this model, the former
> context is used except when explicitly noted.

So, totally ignoring the observation I (and I think Roch) made last
week - that in this case, 'FIFO' characterizes the scheduling behavior
applied to the queue.  Focussing on FIFO as descriptive of the queue's data
structure just serves to complicate the whole discussion, and isn't really
useful to an abstract router model. 

The descriptions of all the individual elements are good material.
But the above, expansive definition of 'a queue' is too much.

Grenville Armitage                            http://mh005.infi.net/~gja
Bell Labs Research, Lucent Technologies

diffserv mailing list
Archive: http://www-nrg.ee.lbl.gov/diff-serv-arch/