run-parking-lot-topo
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:2k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #!/bin/csh -f 
  2. date
  3. set ns_dir = "../../../../"
  4. set out_dir = "out/"
  5. @ BW = 30
  6. @ seed = 472904
  7. @ delay = 10
  8. @ num_hops = 9
  9. set tcl_file =  parking_lot_topo.tcl
  10. rm -f ${out_dir}tmp.log ${out_dir}u.* ${out_dir}q.* ${out_dir}d.*  ${out_dir}uq.* ${out_dir}uqd.* ${out_dir}string.eps
  11. @ e = 1
  12. #foreach exp ( RED/XCP RED CSFQ REM Vq ) 
  13. #foreach exp ( XCP RED DropTail REM ) 
  14. foreach exp ( XCP )
  15.     echo "Experiment: Efficiency of a ${exp} Queue with BW= ${BW} delay= ${delay} msec "
  16.     echo "${ns_dir}ns $tcl_file ${num_hops} 0 ${seed}  ${exp} ${BW} 30  $delay  > ${out_dir}tmp.log"
  17.     ${ns_dir}ns $tcl_file ${num_hops} 0 ${seed}  ${exp} ${BW} 30  $delay  > ${out_dir}tmp.log
  18.     
  19. #    rm ${out_dir}u.$e ${out_dir}q.$e ${out_dir}d.$e
  20.  
  21.     @ l = 0
  22.     while ( $l < $num_hops )
  23. echo "Link = $l"
  24. @ next_l = ($l + 1)
  25.       
  26.         if ($exp == "XCP") then
  27.     set suffix = red
  28.         else
  29.    set suffix = trace
  30.         endif
  31.     # Bottleneck Utilization
  32. grep "u " TR/ft_${suffix}_q${l}.tr | awk '{print $2, $3}' >! ${out_dir}u.${l}.${e}.dat
  33. awk -v L=$l 
  34.         'BEGIN {sum=0.0;f=0;} {sum=sum+$2; f=f+1} 
  35.         END {printf("%d %gn",L+1, sum/f);}' 
  36.         ${out_dir}u.${l}.${e}.dat >>! ${out_dir}u.${e}
  37. #Queue Size
  38. grep "q " TR/ft_${suffix}_q${l}.tr | awk '{print $2, $3}' >! ${out_dir}q.${l}.${e}.dat
  39. awk -v L=$l 'BEGIN {sum=0.0;f=0;} {sum=sum+$2; f=f+1} END {printf("%d %dn",L+1, sum/f)}' 
  40.         ${out_dir}q.${l}.${e}.dat >>! ${out_dir}q.${e}
  41. grep "q$l drops" ${out_dir}tmp.log| awk -v L=$l '{print L+1, $4}' >>! ${out_dir}d.${e}
  42. @ l = ($l + 1)
  43.     end
  44.     
  45.     join ${out_dir}u.$e  ${out_dir}q.$e > ${out_dir}uq.$e
  46.     join ${out_dir}uq.$e ${out_dir}d.$e > ${out_dir}uqd.$e
  47.     @ e = $e + 1
  48. end
  49.   
  50. cd ${out_dir}
  51. gnuplot string.gp
  52. gv string.eps &    
  53. echo "DONE"
  54. date