fixes
diff --git a/wally/suits/io/ceph.cfg b/wally/suits/io/ceph.cfg
index 7a84872..9e98dd6 100644
--- a/wally/suits/io/ceph.cfg
+++ b/wally/suits/io/ceph.cfg
@@ -8,8 +8,7 @@
 filename={FILENAME}
 NUM_ROUNDS=7
 
-NUMJOBS_LARGE={% 1, 5, 10, 15, 20, 30, 40, 80, 120 %}
-NUMJOBS_NORM={% 1, 5, 10, 15, 20, 30, 40 %}
+NUMJOBS={% 1, 5, 10, 15, 20, 30, 40 %}
 NUMJOBS_SHORT={% 1, 5, 10 %}
 
 size=30G
@@ -23,7 +22,7 @@
 blocksize=4k
 rw=randwrite
 sync=1
-numjobs={NUMJOBS_NORM}
+numjobs={NUMJOBS}
 
 # ---------------------------------------------------------------------
 # direct write
@@ -42,23 +41,15 @@
 blocksize=4k
 rw=randread
 direct=1
-numjobs={NUMJOBS_NORM}
+numjobs={NUMJOBS}
 
 # ---------------------------------------------------------------------
-# this is essentially sequential read openration
-# we can't use seq read with numjobs > 1 on clouds due to caching
+# this is essentially sequential write/read operations
+# we can't use sequential with numjobs > 1 due to caching and block merging
 # ---------------------------------------------------------------------
 [ceph_test_{TEST_SUMM} * {NUM_ROUNDS}]
 blocksize=16m
-rw=randread
+rw={% randread, randwrite %}
 direct=1
 numjobs={NUMJOBS_SHORT}
 
-# ---------------------------------------------------------------------
-# sequential write
-# ---------------------------------------------------------------------
-[ceph_test_{TEST_SUMM} * {NUM_ROUNDS}]
-blocksize=1m
-rw=write
-direct=1
-numjobs={NUMJOBS_NORM}
diff --git a/wally/suits/io/check_distribution.cfg b/wally/suits/io/check_distribution.cfg
index 6ba3f9f..d08e52b 100644
--- a/wally/suits/io/check_distribution.cfg
+++ b/wally/suits/io/check_distribution.cfg
@@ -1,3 +1,6 @@
+[defaults]
+NUM_ROUNDS=301
+
 [distrubution_test_{TEST_SUMM} * {NUM_ROUNDS}]
 blocksize=4k
 rw=randwrite
@@ -7,7 +10,7 @@
 wait_for_previous
 filename={FILENAME}
 iodepth=1
-size=10Gb
+size=10G
 time_based
 runtime=30
 group_reporting
diff --git a/wally/suits/io/check_linearity.cfg b/wally/suits/io/check_linearity.cfg
index 4017cf3..a75d937 100644
--- a/wally/suits/io/check_linearity.cfg
+++ b/wally/suits/io/check_linearity.cfg
@@ -6,7 +6,7 @@
 wait_for_previous
 filename={FILENAME}
 iodepth=1
-size=10Gb
+size=10G
 time_based
 runtime=30
 
diff --git a/wally/suits/io/check_th_count.cfg b/wally/suits/io/check_th_count.cfg
index 3d57154..3f9dd19 100644
--- a/wally/suits/io/check_th_count.cfg
+++ b/wally/suits/io/check_th_count.cfg
@@ -5,7 +5,7 @@
 wait_for_previous
 filename={FILENAME}
 iodepth=1
-size=10Gb
+size=10G
 time_based
 runtime=30
 group_reporting
diff --git a/wally/suits/io/check_warmup.cfg b/wally/suits/io/check_warmup.cfg
index 6a9c622..37ee083 100644
--- a/wally/suits/io/check_warmup.cfg
+++ b/wally/suits/io/check_warmup.cfg
@@ -6,7 +6,7 @@
 wait_for_previous
 filename={FILENAME}
 iodepth=1
-size=10Gb
+size=10G
 time_based
 runtime=30
 
diff --git a/wally/suits/io/formatter.py b/wally/suits/io/formatter.py
index 63c9408..7fbe70b 100644
--- a/wally/suits/io/formatter.py
+++ b/wally/suits/io/formatter.py
@@ -19,13 +19,15 @@
     create a table with io performance report
     for console
     """
-    tab = texttable.Texttable()
+    tab = texttable.Texttable(max_width=120)
     tab.set_deco(tab.HEADER | tab.VLINES | tab.BORDER)
-    tab.set_cols_align(["l", "r", "r", "r", "r"])
+    tab.set_cols_align(["l", "r", "r", "r", "r", "r", "r"])
 
     prev_k = None
-
+    vm_count = test_set['__test_meta__']['testnodes_count']
     items = sorted(test_set['res'].items(), key=key_func)
+    header = ["Description", "iops\ncum", "KiBps\ncum",
+              "iops\nper vm", "KiBps\nper vm", "Cnf\n%", "lat\nms"]
 
     for test_name, data in items:
 
@@ -33,7 +35,9 @@
 
         if prev_k is not None:
             if prev_k != curr_k:
-                tab.add_row(["---"] * 5)
+                tab.add_row(
+                    ["--------", "-----", "------",
+                     "-----", "------", "---", "-----"])
 
         prev_k = curr_k
 
@@ -54,12 +58,14 @@
 
         iops = round_3_digit(iops)
         bw = round_3_digit(bw)
+        iops_cum = round_3_digit(iops * vm_count)
+        bw_cum = round_3_digit(bw * vm_count)
         med_lat = round_3_digit(med_lat)
 
-        params = (descr, int(iops), int(bw), dev_perc, med_lat)
+        params = (descr, int(iops_cum), int(bw_cum),
+                  int(iops), int(bw), dev_perc, med_lat)
         tab.add_row(params)
 
-    header = ["Description", "IOPS", "BW KiBps", "Dev * 3 %", "clat ms"]
     tab.header(header)
 
     return tab.draw()
diff --git a/wally/suits/io/hdd.cfg b/wally/suits/io/hdd.cfg
index 519fb0f..07e45e9 100644
--- a/wally/suits/io/hdd.cfg
+++ b/wally/suits/io/hdd.cfg
@@ -7,7 +7,7 @@
 softrandommap=1
 filename={FILENAME}
 NUM_ROUNDS=7
-NUMJOBS={% 1, 5, 10, 15, 20, 30, 40, 80, 120 %}
+NUMJOBS={% 1, 5, 10, 15, 20, 30, 40, 80 %}
 
 size=10G
 ramp_time=5
diff --git a/wally/suits/io/long_test.cfg b/wally/suits/io/long_test.cfg
index 4b0a79d..a59c360 100644
--- a/wally/suits/io/long_test.cfg
+++ b/wally/suits/io/long_test.cfg
@@ -8,7 +8,7 @@
 wait_for_previous
 filename={FILENAME}
 iodepth=1
-size=50Gb
+size=50G
 time_based
 runtime=300
 
diff --git a/wally/suits/io/vm_count_ec2.cfg b/wally/suits/io/vm_count_ec2.cfg
index 19c9e50..c132039 100644
--- a/wally/suits/io/vm_count_ec2.cfg
+++ b/wally/suits/io/vm_count_ec2.cfg
@@ -5,12 +5,13 @@
 wait_for_previous
 filename={FILENAME}
 iodepth=1
-size=10Gb
+size=10G
 time_based
 runtime=30
 group_reporting
 rate={BW_LIMIT}
 rate_iops={IOPS_LIMIT}
+NUMJOBS={% 1, 2, 5, 10, 15, 20, 25, 30, 35, 40 %}
 
 # ---------------------------------------------------------------------
 # check different thread count. (latency, bw) = func(th_count)
@@ -19,11 +20,11 @@
 blocksize={% 4k, 1m %}
 rw={% randwrite, randread %}
 direct=1
-numjobs={% 1, 2, 5, 10, 15, 20, 25, 30, 35, 40 %}
+numjobs={NUMJOBS}
 
 [vm_count_{TEST_SUMM} * {NUM_ROUNDS}]
 blocksize={% 4k, 1m %}
 rw=randwrite
 direct=0
 sync=1
-numjobs={% 1, 2, 5, 10, 15, 20, 25, 30, 35, 40 %}
+numjobs={NUMJOBS}