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

Link Utilisation



Dear Ns-Users,

After searching the NS-Archives for information on link utilisation, and
some source code from a friendly NS-User (thanks Nguyen as this has sparked
these ideas, and I hope this is not the method you were trying to use, and
if it is, then this is Nguyen Huu Thanh ideas...) I have been trying work
out a way to accuratley measure link utilisation. (no such examples or
postulations in the archives...)

Also after experimenting with Queuemonitor, it appears (and please correct
me if I am wrong) that when using a duplex link the queuemonitor state
variables (parraivals_, barrivals_, pdepartures_,bdepartures, the others I
have not tested) monitor the packets arriving or departing on the link. ie
at both ends, and therefore both queues at each end.

Back to link utilisation...

If you have a duplex link from say node 0 to node 1 the utilisation (as a
percentage) can be said to be the number of bits on the link at time x
divided by the total bits the link can contain. (ie 1Mbit/s, 10ms can
contain 1M*0.01s=10,000bits)

But to calculate the total bits on the 'wire' is the part I had most
difficulty with (seems simple now). If the queuemonitor has a settable
sample period...

set qmon [$ns monitor-queue $n0 $n1 $tf $sampletime]
(Is this correct?)

and If sampletime is set as the 'delay' time for the link (ie the time for a
bit to travel end to end) the state variable bdepartures_ will then
represent the total bits at time x when qmon is queried. The utilisation can
then be calulated via the links characteristics.

If you are using various delays for various links in a network and wish to
calculate the utilisation for many links, one possible method is to use a
sample time of the lowest common denominator, and for any specific link
record the last set of values to work out the utilisation... (ie link a is
10ms, b is 15ms, c is 20ms, sampling time used would be 5ms and you would
record the last 4 values for c to calculate utilisation...)

Sorry a little long winded...

I am in the midst of writing the code...I thought i would ask for any
questions suggestions before I finish (and to see if it would work...)

Cheers,

Colin Horsington
[email protected]
University of Wollongong