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

[ns] link utilization



Hello,
I am trying to dynamically calculate and use in my simulation the percentage 
of a link's bandwidth that is currently being utilized, working towards a 
load-balancing algorithm.

Here is the approach that I am currently trying to take:
my understanding is that monitor-queue has a member called bdepartures_ that 
measures the bytes being released from the queue and sent across the link.  
If I can measure this for a certain period of time, I can change it to Mbs 
and divide by the link's capacity.  This does not seem to be working for me. 
  Does anyone have any suggestions?
thanks,
Jonathan

Here is the code I am attempting to use:
--------------------------------------
#Monitor the queue on link from n2 to n3
set qmon [$ns monitor-queue $Node2 $Node3 $LFile]
set counter 0
proc calc {} {
    global ns qmon LFile counter
    #update after "time" seconds
    set time 0.5
    set capacity 10
    set now [$ns now]
    #amount of bytes leaving the queue, entering the link (I think)
    set ebytes [$qmon set bdepartures_]
    #convert bytes to Megabytes per second
    set eMbytes [expr $ebytes/$time*8/1000000]
    #The proportion of the link's capacity is being used up
    set Lutil(counter) [expr $eMbytes/$capacity]
    #put the bdepartures_ record back to zero
    $qmon set bdepartures_ 0
    set $counter [expr $counter + 1]
    $ns after $time "calc"
}





_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp