[Click] Service Time Anomaly?

Eddie Kohler kohler at cs.ucla.edu
Sat Dec 8 18:22:48 EST 2007


Hi Caroline,

What does your q.highwater_length printout say?  The BandwidthShaper element 
does not actually delay packets by any fixed time.  Rather, it ensures that 
over time, no more than that rate of packets pass by.  That means that if your 
input rate in the FromDump file is lower than 1.25MBps, BandwidthShaper will 
emit every packet as soon as it arrives, leading to very low elapsed times.

Try replacing your FromDump with e.g.

a :: RatedSource(DATASIZE 554, RATE 2000)
   (very low elapsed time per packet)

or

a :: RatedSource(DATASIZE 554, RATE 2000000)
   (very high).

If you want delay, or to model a link, try LinkUnqueue or DelayShaper.
Eddie


Caroline Williams wrote:
> Hello,  I hope someone can explain either my misconception or tell me 
> what I'm doing wrong.  I am trying to do a QOS project that needs to 
> report queueing delay and system delay.  Using queueing theory, I 
> created a table of expected values.  I run a simple Click script that 
> reports system delay.  I have a dump file containing 60 seconds of 
> traffic at 50% utilization.  The packets have a total length of 554 
> bytes.  With a capacity set at 1.25MBps, I should have an average 
> service delay of 0.00088640.  We know at the very least that it takes 
> 0.0004432 seconds to process 554 bytes at 1.25MBps.  This is the 
> script:
> 
> a :: FromDump($dump, TIMING true);
> d :: SetTimestamp( FIRST false );
> q0 :: Queue(100000);
> e :: TimestampAccum;
> i :: BandwidthShaper( 1.25 MBps );
> a -> CheckIPHeader2(14, VERBOSE true)
>     -> d -> q0
>     -> i -> e -> Discard;
> Script( TYPE DRIVER,
>     wait $secs,
>     print >> $stats $percentage $(e.count) $(e.time) $(e.average_time) 
> $(q0.highwater_length),
>     stop
> );
> 
> Running for only two seconds, I get these results from the Script 
> print:
> 50 2116 0.020058 9.47920604915e-06 2
> 
> Clearly, the delay is too small.  To help understand the problem, I 
> modified TimestampAccum to display the timestamp values it was using 
> to do the accumulation.  Here is a small sample:
> now: 1196627352.902001 pkt time: 1196627352.901996 diff: 5e-06
> now: 1196627352.902049 pkt time: 1196627352.902041 diff: 8e-06
> now: 1196627352.905707 pkt time: 1196627352.905702 diff: 5e-06
> now: 1196627352.905727 pkt time: 1196627352.905723 diff: 4e-06
> 
> Your assistance is appreciated,
> Caroline
> 
> 
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click



More information about the click mailing list