diff --git a/results-v2/google-fl/cifar10/d-cliques/random-fc/non-iid/experiments.sh b/results-v2/google-fl/cifar10/d-cliques/random-fc/non-iid/experiments.sh
index 74acba653f8f80d389ad764b7910a8c5fe755a7b..57762a7c9e1b39d7622b31e1e9b99dd6518835d2 100755
--- a/results-v2/google-fl/cifar10/d-cliques/random-fc/non-iid/experiments.sh
+++ b/results-v2/google-fl/cifar10/d-cliques/random-fc/non-iid/experiments.sh
@@ -30,10 +30,11 @@ for MS in 5 10 20; do
     simulate/algorithm/d_sgd.py \
       --batch-size 20 \
       --learning-momentum 0.9 \
-      --learning-rate 0.002 |
+      --learning-rate 0.002 \
+      --clique-gradient |
     simulate/logger.py \
       --accuracy-logging-interval 10\
-      --nb-processes 8 |
+      --nb-processes 4 |
     simulate/run.py \
       --nb-epochs 100;
 done
diff --git a/results-v2/google-fl/cifar10/d-cliques/random-ring/non-iid/experiments.sh b/results-v2/google-fl/cifar10/d-cliques/random-ring/non-iid/experiments.sh
index 7a193cf7e70ebdf60e5e4568f19354c10f451c32..43f7d46556917dab6a00c9fa1e628f0226ab7bf2 100755
--- a/results-v2/google-fl/cifar10/d-cliques/random-ring/non-iid/experiments.sh
+++ b/results-v2/google-fl/cifar10/d-cliques/random-ring/non-iid/experiments.sh
@@ -30,10 +30,11 @@ for MS in 5 10 20; do
     simulate/algorithm/d_sgd.py \
       --batch-size 20 \
       --learning-momentum 0.9 \
-      --learning-rate 0.002 |
+      --learning-rate 0.002 \
+      --clique-gradient |
     simulate/logger.py \
       --accuracy-logging-interval 10\
-      --nb-processes 8 |
+      --nb-processes 4 |
     simulate/run.py \
       --nb-epochs 100;
 done
diff --git a/results-v2/google-fl/cifar10/fully-connected/non-iid/experiments.sh b/results-v2/google-fl/cifar10/fully-connected/non-iid/experiments.sh
index 8b784e9b778344b32ecb8be33fe9080c4a91f108..e67f37598d2e8b2e0103abb82886f395291cd79d 100755
--- a/results-v2/google-fl/cifar10/fully-connected/non-iid/experiments.sh
+++ b/results-v2/google-fl/cifar10/fully-connected/non-iid/experiments.sh
@@ -30,6 +30,6 @@ simulate/algorithm/d_sgd.py \
   --learning-rate 0.002 |
 simulate/logger.py \
   --accuracy-logging-interval 10\
-  --nb-processes 8 |
+  --nb-processes 4 |
 simulate/run.py \
   --nb-epochs 100
diff --git a/results-v2/google-fl/mnist/d-cliques/random-fc/non-iid/experiments.sh b/results-v2/google-fl/mnist/d-cliques/random-fc/non-iid/experiments.sh
new file mode 100755
index 0000000000000000000000000000000000000000..95771054c6c607a0860631b81ae59db748ef3a48
--- /dev/null
+++ b/results-v2/google-fl/mnist/d-cliques/random-fc/non-iid/experiments.sh
@@ -0,0 +1,40 @@
+#!/usr/bin/env bash
+# Path to current script
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
+TOOLS=$SCRIPT_DIR/../../../../../$(cat $SCRIPT_DIR/../../../../../toolspath); cd $TOOLS
+
+# Add current working directory to executable namespace
+export PATH=$PATH:$TOOLS
+# Setup root directory for resolution of imports:
+# the path of all local python libraries are relative to this
+export PYTHONPATH=$TOOLS
+
+# Each command outputs the run directory, which is then used
+# by the next command to add parameters and generate information
+# used by the simulator. For a list of available options for each
+# command, run 'export PYTHONPATH=.; <command> --help'.
+for MS in 5 10 20; do
+    setup/meta.py \
+      --results-directory $SCRIPT_DIR/all \
+      --seed 1 |
+    setup/dataset.py \
+      --name mnist |
+    setup/nodes/google-fl.py \
+      --nb-nodes 100 \
+      --local-shards 2 \
+      --shard-size 250 |
+    setup/topology/d_cliques/random-cliques.py \
+      --interclique fully-connected \
+      --max-clique-size $MS |
+    setup/model/linear.py |
+    simulate/algorithm/d_sgd.py \
+      --batch-size 125 \
+      --learning-momentum 0.0 \
+      --learning-rate 0.1 \
+      --clique-gradient |
+    simulate/logger.py \
+      --accuracy-logging-interval 10\
+      --nb-processes 2 |
+    simulate/run.py \
+      --nb-epochs 100;
+done
diff --git a/results-v2/google-fl/mnist/d-cliques/random-ring/non-iid/experiments.sh b/results-v2/google-fl/mnist/d-cliques/random-ring/non-iid/experiments.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3014c6fc20abb831f28ccf159e0328247422cedf
--- /dev/null
+++ b/results-v2/google-fl/mnist/d-cliques/random-ring/non-iid/experiments.sh
@@ -0,0 +1,40 @@
+#!/usr/bin/env bash
+# Path to current script
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
+TOOLS=$SCRIPT_DIR/../../../../../$(cat $SCRIPT_DIR/../../../../../toolspath); cd $TOOLS
+
+# Add current working directory to executable namespace
+export PATH=$PATH:$TOOLS
+# Setup root directory for resolution of imports:
+# the path of all local python libraries are relative to this
+export PYTHONPATH=$TOOLS
+
+# Each command outputs the run directory, which is then used
+# by the next command to add parameters and generate information
+# used by the simulator. For a list of available options for each
+# command, run 'export PYTHONPATH=.; <command> --help'.
+for MS in 5 10 20; do
+    setup/meta.py \
+      --results-directory $SCRIPT_DIR/all \
+      --seed 1 |
+    setup/dataset.py \
+      --name mnist |
+    setup/nodes/google-fl.py \
+      --nb-nodes 100 \
+      --local-shards 2 \
+      --shard-size 250 |
+    setup/topology/d_cliques/random-cliques.py \
+      --interclique ring \
+      --max-clique-size $MS |
+    setup/model/linear.py |
+    simulate/algorithm/d_sgd.py \
+      --batch-size 125 \
+      --learning-momentum 0.0 \
+      --learning-rate 0.1 \
+      --clique-gradient |
+    simulate/logger.py \
+      --accuracy-logging-interval 10\
+      --nb-processes 2 |
+    simulate/run.py \
+      --nb-epochs 100;
+done