TestSpecs/gen: complete tracker-tgen script
authorRazvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Tue, 19 Oct 2010 08:34:24 +0000 (11:34 +0300)
committerRazvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Tue, 19 Oct 2010 08:34:24 +0000 (11:34 +0300)
TestSpecs/gen/tracker-tgen

index 75a25f9..e86e156 100755 (executable)
@@ -29,27 +29,26 @@ parse_bw()
 
 parse_file()
 {
-       size=$(echo "" | awk -v var="$1" '{print var + 0;}')
-       echo "Data.${size}M.ct.torrent"
+       size=$(echo "" | awk -v var="$2" '{print var + 0;}')
+       tracker_no=$(echo "" | awk -v var="$1" '{print var + 0;}')
+       echo "Data.${size}M.tracker${tracker_no}.torrent"
 }
 
 generate_scenario()
 {
        exp_no=$1
-       num_seeders=$2
-       num_leechers=$3
-       num_conn=$4
-       down_bw=$5
-       up_bw=$6
-       seed_torrent=$7
-       description=$8
+       num_trackers=$2
+       down_bw=$3
+       up_bw=$4
+       data_size=$5
+       description=$6
 
        echo -e "#\n# Campaign $campaign_name; scenario $exp_no\n#"
        echo "### BEGIN SCENARIO INFO"
        echo "# Campaign: $campaign_name"
        echo "# Id: $exp_no"
        echo "# Description: $description"
-       echo "# Number of seeders: $num_seeders"
+       echo "# Number of trackers: $num_trackers"
        echo "# Number of leechers: $num_leechers"
        echo "# Maximum download: $down_bw"
        echo "# Maximum upload: $down_bw"
@@ -59,6 +58,35 @@ generate_scenario()
 
        echo -e "# Hostname\t\t\tSSHport\t\tUser\t\tRemoteFolder\t\tNetInterface\t\tDownload(Mbps)\tDownloadBurst(K)\tUpload(Mbps)\tUploadBurst(K)\tOverallNoOfConnections\tPreRunScript\t\tPostRunScript\t\tClientType\t\t\tTorrentFile\t\tPeriods"
        index=0
+       # generate trackers
+       for t_index in 301 302 303 304 305 306 307 308 309 310 311 312; do
+               echo -en "p2p-next-08.grid.pub.ro\t\t"
+               echo -en "${t_index}22\t\t"
+               echo -en "p2p\t\t"
+               echo -en "/home/p2p/george\t"
+               echo -en "eth0\t\t\t"
+               echo -en "0\t\t"
+               echo -en "0\t\t\t"
+               echo -en "0\t\t"
+               echo -en "0\t\t"
+               echo -en "0\t\t\t"
+               echo -en "pre-run_nop.sh\t\t"
+               echo -en "post-run_nop.sh\t\t"
+               echo -en "xbtut\t\t"
+               echo -en "N/A\t"
+               echo "(0,-)"
+
+               index=$((index+1))
+
+               if test $index -ge $(($num_trackers)); then
+                       break
+               fi
+       done
+
+       num_seeders=1
+       num_clients_per_tracker=4
+       num_leechers=$(($num_trackers * $num_clients_per_tracker - $num_seeders))
+       index=0
        for sys_index in 01 03 04 05 06 07 08 09 10; do
                for ce_index in 1 2 3 4 5 6 7 8 9 10; do
                        echo -en "p2p-next-$sys_index.grid.pub.ro\t\t"
@@ -70,7 +98,7 @@ generate_scenario()
                        echo -en "100\t\t\t"
                        echo -en "$up_bw\t\t"
                        echo -en "100\t\t"
-                       echo -en "$num_conn\t\t\t"
+                       echo -en "0\t\t\t"
                        echo -en "pre-run_nop.sh\t\t"
                        echo -en "post-run_nop.sh\t\t"
 
@@ -80,6 +108,8 @@ generate_scenario()
                                echo -en "hrktorrent_leecher_limit\t"
                        fi
 
+                       tracker_index=$(($index / $num_clients_per_tracker + 1))
+                       seed_torrent=$(parse_file $tracker_index $data_size)
                        echo -en "$seed_torrent\t"
                        echo "(0,-)"
 
@@ -117,13 +147,9 @@ cat >> ${html_file} <<END
           <tbody>
 END
 
-while IFS="," read no_trackers data_size down_bw up_bw; do
-       this_down_bw=${down_bw}
-       this_up_bw=${up_bw}
-       this_seed_torrent=$(parse_file $data_size)
-
+while IFS="," read exp_no num_trackers data_size down_bw up_bw description; do
        # generate test scenario
-       generate_scenario "$exp_no" "$num_seeders" "$num_leechers" "$this_conn" "$this_down_bw" "$this_up_bw" "$this_seed_torrent" "$description" > "${campaign_name}-${exp_no}".cfg
+       generate_scenario "$exp_no" "$num_trackers" "$down_bw" "$up_bw" "$data_size" "$description" > "${campaign_name}-${exp_no}".cfg
 
        # update campaign configuration file
        echo -e "${campaign_name}-${exp_no}.cfg\t${campaign_name}-${exp_no}.R" >> "${campaign_file}"
@@ -132,13 +158,13 @@ while IFS="," read no_trackers data_size down_bw up_bw; do
        cat >> ${html_file} <<END
             <tr>
               <td>${campaign_name}-${exp_no}</td>
-              <td>${num_seeders}</td>
-              <td>${num_leechers}</td>
+              <td>TODO</td>
+              <td>TODO</td>
               <td>TODO</td>
               <td><a href="${campaign_name}-${exp_no}/${campaign_name}-${exp_no}-dlspeed-percent.png">dlspeed vs percent</a>; <a href="${campaign_name}-${exp_no}/${campaign_name}-${exp_no}-dlspeed-time.png">dlspeed vs time</a></td>
             </tr>
 END
-done < $input
+done < <(grep -v '^#' $input)
 
 cat >> ${html_file} <<END
           </tbody>