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

[ns] Re: I don't know whats's happened ???



I'd guess there issomething wrong in the timer scheduling in your optical
queue. Obviously that 1.40305 number is twice that 0.70... number. this
_may_ give a clue what's wrong.

On Sat, 8 Jul 2000, Vincenzo Mazzotta wrote:

> Date: Sat, 08 Jul 2000 23:04:03 +0100
> From: Vincenzo Mazzotta <[email protected]>
> Reply-To: [email protected]
> To: Haobo Yu <[email protected]>, ns-users <[email protected]>
> Subject: I don't know whats's happened ???
> 
> Hi to all ...
> i've a problem ... simulating a topology using my Optical queue i noted
> that ....
> The packet arrived in my queue in right istant but the problem is that
> before arrive all packets and after go out all packets .. Network
> Simulator works in this form ..???
> See the packet that arrived in 0.701525 second when go out ... the go
> out time is defined by now+line_delay that in this case is ugually to 1
> us ..... what the reazon of this behavior in NS-2 ???
> I know only that 1.40305 seconds is the end time for simulation ....
> 
> My TCL SCRIPT is :
> 
> ;#                             --------
> ;# Source 1   --->|     switch   |
> ;# Source 2   --->|        +         |---> Sink
> ;# Source 3   --->|    cola fifo   |
> ;#                             --------
> 
> proc attach-expoo-traffic {node sink size burst idle rate} {
> 
>     set ns [Simulator instance]
>     set source [new Agent/CBR/UDP]
>     $ns attach-agent $node $source
>     set traffic [new Traffic/Expoo]
>     $traffic set packet-size $size
>     $traffic set burst-time $burst
>     $traffic set idle-time $idle
>     $traffic set rate $rate
>     $source attach-traffic $traffic
>     $ns connect $source $sink
>     return $source
>    }
> 
> 
> set ns [new Simulator]
> 
> ;#set f [open out.tr w]
> ;#$ns trace-all $f
> set nf [open out.nam w]
> $ns namtrace-all $nf
> 
> ;# Define my node
> set Source1   [$ns node]
> set Source2   [$ns node]
> set Source3   [$ns node]
> set Switch    [$ns node]
> set SinkFinal [$ns node]
> 
> puts stdout "Nodes created..."
> 
> ;# Define my links
> $ns duplex-link $Source1 $Switch 10000Mb 1us DropTail
> $ns duplex-link $Source2 $Switch 10000Mb 1us DropTail
> $ns duplex-link $Source3 $Switch 10000Mb 1us DropTail
> puts stdout "Links DropTail created..."
> 
> $ns duplex-link $Switch $SinkFinal 10000Mb 1us Optical
> puts stdout "Links Optical created..."
> 
> set sink1 [new Agent/LossMonitor]
> set sink2 [new Agent/LossMonitor]
> set sink3 [new Agent/LossMonitor]
> 
> $ns attach-agent $SinkFinal $sink1
> $ns attach-agent $SinkFinal $sink2
> $ns attach-agent $SinkFinal $sink3
> 
> set QueueSWITCHER [[$ns link $Switch $SinkFinal] queue]
> 
> ;# Take a reference to link object between two node
> ;# and set :
> 
> ;# 1. bandwidth variable in Optical Queue
> $QueueSWITCHER set bandwidth 10000Mb
> 
> ;# 2. packet limit in Optical Queue
> $QueueSWITCHER cmd limit 3
> 
> ;# 3. delay line number in Optical Queue
> $QueueSWITCHER cmd #delay-lines 2
> 
> ;# 4. initialize every delay line in Optical Queue
> $QueueSWITCHER cmd #init-delay-line 0 0.000001
> $QueueSWITCHER cmd #init-delay-line 1 0.000002
> 
> puts stdout "Agentes created..."
> 
> set source1 [attach-expoo-traffic $Source1 $sink1 1000 0.1s 0.9s 6250Mb]
> 
> set source2 [attach-expoo-traffic $Source2 $sink2 1000 0.1s 0.9s 6250Mb]
> 
> set source3 [attach-expoo-traffic $Source3 $sink3 1000 0.1s 0.9s 6250Mb]
> 
> puts stdout "Source created..."
> 
> $ns at 0 "$source1 start"
> $ns at 0 "$source2 start"
> $ns at 0 "$source3 start"
> 
> $ns at 0.701529 "$source1 stop"
> $ns at 0.701529 "$source2 stop"
> $ns at 0.701529 "$source3 stop"
> 
> puts stdout "Simulation START..."
> $ns run
> 
> 
> 
> See my output  for fewer packets :
> 
> 
> rogent> ns Optical.tcl
> Nodes created...
> Links DropTail created...
> Links Optical created...
> Optical Parameter OK   : Set maximum number packets to : 3
> Optical Parameter OK   : Set delay lines number to : 2
> Optical Parameter OK   : Delay line [0] = 1e-06
> Optical Parameter OK   : Delay line [1] = 2e-06
> Agentes created...
> Source created...
> Simulation START...
> In 0.701524 seconds arrived a new packet to queue.
> I'm finding to insert in line 0 where delay = 1.000000e-06
> Packet inserted in queue at line delay 0 go out in time : 0.701525
> Packet inserted in line delay 0
> In 0.701525 seconds arrived a new packet to queue.
> I'm finding to insert in line 0 where delay = 1.000000e-06
> Packet inserted in queue at line delay 0 go out in time : 0.701526
> Packet inserted in line delay 0
> In 0.701526 seconds arrived a new packet to queue.
> I'm finding to insert in line 0 where delay = 1.000000e-06
> Packet inserted in queue at line delay 0 go out in time : 0.701527
> Packet inserted in line delay 0
> In 0.701528 seconds arrived a new packet to queue.
> I'm finding to insert in line 0 where delay = 1.000000e-06
> Packet inserted in queue at line delay 0 go out in time : 0.701529
> Packet inserted in line delay 0
> In 0.701529 seconds arrived a new packet to queue.
> I'm finding to insert in line 0 where delay = 1.000000e-06
> Packet inserted in queue at line delay 0 go out in time : 0.70153
> Packet inserted in line delay 0
> In 0.70153 seconds arrived a new packet to queue.
> I'm finding to insert in line 0 where delay = 1.000000e-06
> Packet inserted in queue at line delay 0 go out in time : 0.701531
> Packet inserted in line delay 0
> Timer tell me that must go out a packet.
> Packet arrived in time : 0.701525 go out from Optical Queue in time :
> 1.40305
> A packet send out.
> ns: scheduler going backwards in time from 1.403051 to 0.701526.
> Timer tell me that must go out a packet.
> Packet arrived in time : 0.701526 go out from Optical Queue in time :
> 0.701526
> A packet send out.
> Timer tell me that must go out a packet.
> Packet arrived in time : 0.701528 go out from Optical Queue in time :
> 0.701527
> A packet send out.
> Timer tell me that must go out a packet.
> Packet arrived in time : 0.701529 go out from Optical Queue in time :
> 0.701529
> A packet send out.
> Timer tell me that must go out a packet.
> Packet arrived in time : 0.70153 go out from Optical Queue in time :
> 0.70153
> A packet send out.
> Timer tell me that must go out a packet.
> Segmentation Fault (core dumped)
> rogent>
> 
>