浏览代码

reproduce bs plots

user avadapal 2 年之前
父节点
当前提交
869551c535
共有 2 个文件被更改,包括 84 次插入12 次删除
  1. 12 12
      repro/generate_raw_data_bs.sh
  2. 72 0
      repro/reproduce_plots_bs

+ 12 - 12
repro/generate_raw_data_bs.sh

@@ -1,7 +1,7 @@
 
 echo "Running the Binary Experiments (Basic)"
 cd ..
-nitrs=10
+nitrs=0
 for itr in $(seq 1 $nitrs); do
     echo $itr
     echo "bssize: 16\nis_optimized: 0\n" > "repro/data/log_basic_bs_preproc_16_itr_$itr"	
@@ -12,7 +12,7 @@ for itr in $(seq 1 $nitrs); do
     echo "preprocessing_bs_16 (basic online) - iteration $itr"
 done    
   
-nitrs=10
+nitrs=0
 for itr in $(seq 1 $nitrs); do
     echo "bssize: 18\nis_optimized: 0\n" > 		            "repro/data/log_basic_bs_preproc_18_itr_$itr"	
     ./docker/run-experiment -p m:19 r19:19 c:19 p:64 >> "repro/data/log_basic_bs_preproc_18_itr_$itr"
@@ -22,7 +22,7 @@ for itr in $(seq 1 $nitrs); do
     echo "preprocessing_bs_18 (basic online)"	
 done
 
-nitrs=10
+nitrs=0
 for itr in $(seq 1 $nitrs); do
     echo "bssize: 20\nis_optimized: 0\n" > "repro/data/log_basic_bs_preproc_20_itr_$itr"	
     ./docker/run-experiment -p m:21 r21:21 c:21 p:64 >> "repro/data/log_basic_bs_preproc_20_itr_$itr"
@@ -32,7 +32,7 @@ for itr in $(seq 1 $nitrs); do
     echo "preprocessing_bs_20 (basic online)"
 done
 
-nitrs=10
+nitrs=0
 for itr in $(seq 1 $nitrs); do
     echo "bssize: 22\nis_optimized: 0\n" > "repro/data/log_basic_bs_preproc_22_itr_$itr"	
    ./docker/run-experiment -p m:23 r23:23 c:23 p:64 >> "repro/data/log_basic_bs_preproc_22_itr_$itr"
@@ -42,7 +42,7 @@ for itr in $(seq 1 $nitrs); do
    echo "preprocessing_bs_22 (basic online)"
 done
 
-nitrs=10
+nitrs=0
 for itr in $(seq 1 $nitrs); do
   echo "bssize: 24\nis_optimized: 0\n" > "repro/data/log_basic_bs_preproc_24_itr_$itr"
   ./docker/run-experiment -p m:25 r25:25 c:25 p:64 >>  "repro/data/log_basic_bs_preproc_24_itr_$itr"
@@ -63,41 +63,41 @@ done
 
 
 echo "Running the Heap Extract Experiments (Optimized)"
-
+nitrs=2
 for itr in $(seq 1 $nitrs); do
-   echo "bssize: 16\nis_optimized: 1\n" 				  >  "repro/data/log_opt_bs_preproc_16_itr_$itr"	 
+   echo "bssize: 16\nis_optimized: 1\n" 			  >  "repro/data/log_opt_bs_preproc_16_itr_$itr"	 
   ./docker/run-experiment -p  i16:1 c:17 p:64 	  >> "repro/data/log_opt_bs_preproc_16_itr_$itr"
   echo "preprocessing_bs_16 (opt preproc)"
    echo "bssize: 16\nis_optimized: 1\n" 				     > "repro/data/log_opt_bs_online_16_itr_$itr"
-  ./docker/run-experiment 64 bsearch 16   >> "repro/data/log_opt_bs_online_16_itr_$itr"
+  ./docker/run-experiment -t 64 bsearch 16   >> "repro/data/log_opt_bs_online_16_itr_$itr"
   echo "preprocessing_bs_16 (opt online)"
 
    echo "bssize: 18\nis_optimized: 1\n" 		     	              > "repro/data/log_opt_bs_preproc_18_itr_$itr"	
   ./docker/run-experiment -p  i18:1 c:19 p:64                        >> "repro/data/log_opt_bs_preproc_18_itr_$itr"
    echo "preprocessing_bs_18 (opt preproc)"
    echo "bssize: 18\nis_optimized: 1\n"                                    > "repro/data/log_opt_bs_online_18_itr_$itr"
-  ./docker/run-experiment 64 bsearch 18   >> "repro/data/log_opt_bs_online_18_itr_$itr"
+  ./docker/run-experiment -t 64 bsearch 18   >> "repro/data/log_opt_bs_online_18_itr_$itr"
   echo "preprocessing_bs_18 (opt online)"
 
   echo "bssize: 20\nis_optimized: 1\n"                         > "repro/data/log_opt_bs_preproc_20_itr_$itr"
   ./docker/run-experiment -p  i20:1 c:21 p:64    >> "repro/data/log_opt_bs_preproc_20_itr_$itr"
   echo "preprocessing_bs_20 (opt preproc)"
    echo "bssize: 20\nis_optimized: 1\n"                                   > "repro/data/log_opt_bs_online_20_itr_$itr"
-  ./docker/run-experiment 64 bsearch 20  >> "repro/data/log_opt_bs_online_20_itr_$itr"
+  ./docker/run-experiment -t 64 bsearch 20  >> "repro/data/log_opt_bs_online_20_itr_$itr"
   echo "preprocessing_bs_20 (opt online)"
 
    echo "bssize: 22\nis_optimized: 1\n"        > "repro/data/log_opt_bs_preproc_22_itr_$itr"
  ./docker/run-experiment -p  i22:1 c:23 p:64    >> "repro/data/log_opt_bs_preproc_22_itr_$itr"
   echo "preprocessing_bs_22 (opt preproc)"
    echo "bssize: 22\nis_optimized: 1\n" > "repro/data/log_opt_bs_online_22_itr_$itr"
- ./docker/run-experiment -64 bsearch 22  >> "repro/data/log_opt_bs_online_22_itr_$itr"
+ ./docker/run-experiment -t 64 bsearch 22  >> "repro/data/log_opt_bs_online_22_itr_$itr"
   echo "preprocessing_bs_22 (opt online)"
 
  echo "bssize: 24\nis_optimized: 1\n" > "repro/data/log_opt_bs_preproc_24_itr_$itr"
  ./docker/run-experiment -p  i24:1 c:25 p:64 >> "repro/data/log_opt_bs_preproc_24_itr_$itr"
   echo "preprocessing_bs_24 (opt preproc)"
    echo "bssize: 24\nis_optimized: 1\n" > "repro/data/log_opt_bs_online_24_itr_$itr"
- ./docker/run-experiment -64 bsearch 24  >> "repro/data/log_opt_bs_online_24_itr_$itr"
+ ./docker/run-experiment -t 64 bsearch 24  >> "repro/data/log_opt_bs_online_24_itr_$itr"
   echo "preprocessing_bs_24 (opt online)"
 
   echo "bssize: 26\nis_optimized: 1\n" > "repro/data/log_opt_bs_preproc_26_itr_$itr"

+ 72 - 0
repro/reproduce_plots_bs

@@ -0,0 +1,72 @@
+#!/bin/bash
+
+# Replace "python3" with your Python interpreter if needed
+DS="BS" 
+Operation="Search" 
+cd ..
+touch "repro/experimentaldata_bs_preproc_wallclock"  "repro/experimentaldata_bs_wallclock"
+rm "repro/experimentaldata_bs_preproc_wallclock"  "repro/experimentaldata_bs_wallclock"
+touch "repro/experimentaldata_bs_preproc_wallclock"  "repro/experimentaldata_bs_wallclock"
+nitrs=1
+minsize=18
+maxsize=22
+stepsize=2
+for itr in $(seq 1 $nitrs); do
+ for bssize in $(seq $minsize $stepsize $maxsize); do
+ 	input_file="repro/data/log_basic_bs_online_${bssize}_itr_${itr}"
+	echo $input_file
+ 	output=$(python3 repro/extract_data_bs.py "$input_file")
+
+ 	# Read the output into an array
+	 IFS=$'\n' read -d '' -r -a values <<< "$output"
+
+	 # Store each value in different variables
+	 bssize=$bssize  
+ 	 optimization_flag=0 
+	 extract_wc=${values[1]} 
+ 
+	 datafile="repro/experimentaldata_bs_wallclock"
+ 	 python3 repro/append-experiment-results.py $datafile $DS $Operation $optimization_flag $bssize $extract_wc
+
+ 	 input_file="repro/data/log_opt_bs_online_${bssize}_itr_${itr}"
+ 	 echo $input_file
+ 	 output=$(python3 repro/extract_data_bs.py "$input_file")
+
+	 # Read the output into an array
+ 	 IFS=$'\n' read -d '' -r -a values <<< "$output"
+
+ 	# Store each value in different variables
+	 bssize=$bssize  optimization_flag=1 extract_wc=${values[1]}
+ 	 datafile="repro/experimentaldata_bs_wallclock"
+ 	 python3 repro/append-experiment-results.py $datafile $DS $Operation $optimization_flag $bssize $extract_wc
+ done	
+done
+echo "OnlineTable"
+cat $datafile
+echo -e "\n\n"
+
+for itr in $(seq 1 $nitrs); do
+  for bssize in $(seq $minsize $stepsize $maxsize); do
+	input_file="repro/data/log_basic_bs_preproc_${bssize}_itr_$itr"
+  	output=$(python3 repro/extract_data_from_preproc.py "$input_file")
+
+  	# Read the output into an array
+  	IFS=$'\n' read -d '' -r -a values <<< "$output"
+
+  	# Store each value in different variables
+ 	bssize=$bssize  optimization_flag=0 preproc_wc=${values[1]} 
+  	datafile="repro/experimentaldata_bs_preproc_wallclock"
+  	python3 repro/append-experiment-results.py $datafile $DS $Operation $optimization_flag $bssize $preproc_wc
+
+  	input_file="repro/data/log_opt_bs_preproc_${bssize}_itr_$itr"
+  	output=$(python3 repro/extract_data_from_preproc.py "$input_file")
+
+ 	 # Read the output into an array
+  	IFS=$'\n' read -d '' -r -a values <<< "$output"
+
+  	# Store each value in different variables
+  	bssize=$bssize  optimization_flag=1 preproc_wc=${values[1]}
+  	datafile="repro/experimentaldata_bs_preproc_wallclock"
+  	python3 repro/append-experiment-results.py $datafile $DS $Operation $optimization_flag $bssize $preproc_wc
+  done
+done