diff --git a/configs/base.sh b/configs/base.sh
index 4bec23a55646467f1131fd9973f61c440e68a42d..6a561c05a2e98ee6200d8e74ccf27f602eab37cf 100644
--- a/configs/base.sh
+++ b/configs/base.sh
@@ -5,3 +5,7 @@ X86_ENERGY_PERF_POLICY=x86_energy_perf_policy
 # Execute all SSH commands under this user
 # so that we don't need ssh keys for root
 SSH_USER=p5cai
+
+# Default No. of threads
+# Note that not all experiments honor this setting
+THREADS=8
diff --git a/configs/memcached.sh b/configs/memcached.sh
index 3f18bbfe0cd1378a6f045a7ae8dc1478e01f890f..df1ce8cada874b954cea25903ddac97fc01bd62d 100644
--- a/configs/memcached.sh
+++ b/configs/memcached.sh
@@ -1,2 +1 @@
 MEMCACHED=/home/p5cai/workspace/memcached/memcached
-THREADS=8 # default
diff --git a/experiments/memcached_qps_scan.sh b/experiments/memcached_qps_scan.sh
index 4492f5ac04f4c6829647ce49c48ebe6bf2b7d696..59bd354e843eb9b416bfcb51506e0240d9d319e5 100644
--- a/experiments/memcached_qps_scan.sh
+++ b/experiments/memcached_qps_scan.sh
@@ -3,20 +3,6 @@ source "$EXP_ROOT/experiments/memcached.shared.sh"
 pre_start() {
     load_config
 
-    while [[ $# -gt 0 ]]; do
-        case $1 in
-            -t)
-                [ -z "$2" ] && echo "# of threads must not be empty" && exit 1
-                THREADS="$2"
-                shift
-                shift
-                ;;
-            *)
-                break
-                ;;
-        esac
-    done
-
     EXPERIMENT_NAME_EXT="t$THREADS.c$CONNS"
 
     cleanup_mutilate    
diff --git a/run.sh b/run.sh
index d1ca3740f21782f8cdc3b8a969f31625ea429f6d..703d5c982d68668ddb323c61bf9397a1296dd9ea 100755
--- a/run.sh
+++ b/run.sh
@@ -31,6 +31,11 @@ while [[ $# -gt 0 ]]; do
             shift
             shift
             ;;
+        -t|--threads)
+            THREADS="$2"
+            shift
+            shift
+            ;;
         *)
             break
             ;;