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}
