|
@@ -0,0 +1,57 @@
|
|
|
|
|
+#!/bin/bash
|
|
|
|
|
+#
|
|
|
|
|
+if [ "${1}" == "dlrho" ] && [ "${#}" != "2" ] ; then
|
|
|
|
|
+ echo "Usage (dlrho): ${0} dlrho mem_per_computer"
|
|
|
|
|
+ exit
|
|
|
|
|
+elif [ "${1}" == "controller" ] && [ "${#}" != "4" ] ; then
|
|
|
|
|
+ echo "Usage (controller): ${0} controller mem_per_computer num_dpnodes num_workers"
|
|
|
|
|
+ exit
|
|
|
|
|
+elif [ "${#}" != "2" ] && [ "${#}" != "4" ] ; then
|
|
|
|
|
+ echo "Usage: ${0} {dlrho, controller} mem_per_computer [num_dpnodes] [num_workers]"
|
|
|
|
|
+ exit
|
|
|
|
|
+fi
|
|
|
|
|
+#
|
|
|
|
|
+DATA_PATH="/home/sengler/data"
|
|
|
|
|
+PORT=42000
|
|
|
|
|
+PROBLEMS=(44 46 48 50 52 54 56 58 60 62 64 66 68 70 74 78 82 84 72 76 80 86 88)
|
|
|
|
|
+#
|
|
|
|
|
+MEM_PER_COMPUTER=${2} # ex: 200
|
|
|
|
|
+#
|
|
|
|
|
+NUM_DPNODES=${3} # ex: 1
|
|
|
|
|
+NUM_WORKERS=${4} # ex: 8
|
|
|
|
|
+#
|
|
|
|
|
+MEM_PER_DPNODE=$((MEM_PER_COMPUTER/NUM_DPNODES))
|
|
|
|
|
+#
|
|
|
|
|
+# Make sure to run 'gen_all_N.sh' first to generate the problems.
|
|
|
|
|
+#
|
|
|
|
|
+for i in ${PROBLEMS[@]} ; do
|
|
|
|
|
+ echo "Starting ${i}..."
|
|
|
|
|
+ #
|
|
|
|
|
+ if [ ! -f "${DATA_PATH}/N_${i}" ]; then
|
|
|
|
|
+ echo "File ${DATA_PATH}/N_${i} was not found. Skipping..."
|
|
|
|
|
+ continue
|
|
|
|
|
+ fi
|
|
|
|
|
+ #
|
|
|
|
|
+ if [ "${1}" == "dlrho" ] ; then
|
|
|
|
|
+ ./dlrho $MEM_PER_COMPUTER < "${DATA_PATH}/N_${i}" > "${DATA_PATH}/dlrho_${i}" 2>&1
|
|
|
|
|
+ elif [ "${1}" == "controller" ] ; then
|
|
|
|
|
+ ./controller -p $PORT -n $NUM_DPNODES -m $MEM_PER_DPNODE "${DATA_PATH}/N_${i}" 1 > "${DATA_PATH}/controller_${i}" 2>&1 &
|
|
|
|
|
+ CONTROLLER_PID=$!
|
|
|
|
|
+ trap "kill $CONTROLLER_PID ; exit" SIGINT
|
|
|
|
|
+ #
|
|
|
|
|
+ sleep 5
|
|
|
|
|
+ # let the controller have time to start listening
|
|
|
|
|
+ #
|
|
|
|
|
+ for (( j=0; j<${NUM_DPNODES}; j++)); do
|
|
|
|
|
+ ./dpnode 127.0.1.1 $PORT > "${DATA_PATH}/dpnode_${i}_${j}" 2>&1 &
|
|
|
|
|
+ done
|
|
|
|
|
+ #
|
|
|
|
|
+ for (( j=0; j<${NUM_WORKERS}; j++)); do
|
|
|
|
|
+ ./worker 127.0.1.1 $PORT $j > "${DATA_PATH}/worker_${i}_${j}" 2>&1 &
|
|
|
|
|
+ done
|
|
|
|
|
+ #
|
|
|
|
|
+ wait $CONTROLLER_PID
|
|
|
|
|
+ else
|
|
|
|
|
+ echo "Option ${1} not recognized."
|
|
|
|
|
+ fi
|
|
|
|
|
+done
|