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

fq (wfq) simulation for ns



Hi,

I'v looked into FQ code in ns-2 distribution,
and I have several questions:

1. this code seems to be implementation of virtual clock FQ scheduling,
am I right?
2. is there any explenation regarding the output graph of
test-suite-schedule.tcl ?
    what does the graph show?
3. any other code simulating WFQ (or any other variant of FQ) ?
4. looking deeper in the implementation of FQ, I suspect the following
bug:

    the flow parameter 'delta_'  in methods FQ::finish() (line  65) and
FQ::recv() (line 186)
    in file fq.cc  holds the Xmt time of a flow packet.

    'delta_'  is used for calculating the finish time of  the next
packet of the flow ( FIRST
    packet in the flow's queue), yet, 'delta_' was updated according to
the LAST  packet
    received by this flow (last in the flow's queue).

    in other words,  the finish numbers are calculated for the packets
at the HEAD of the queues.
    in practice, the finish numbers uses 'delta_' variable which was
updated according to
    the packet at the TAIL of the queue.

    this seems to lead to a wrong finish number.
    I would expect that 'delta_' of a queue would be updated according
to the packet at the head of
    the queue, when calculating the finish number of that queue.

    Am I  right here or did I miss anything ?


thanks,
Roi.