...
Note: for consistency, be sure to compile with DEBUG=no
.
June 20, 2012
Additional clusterperf measurements for multiRead performance.
Section | ||
---|---|---|
| ||
# RAMCloud multiRead performance for 100 B objects with 30 byte keys # located on a single master. # Generated by 'clusterperf.py multiRead_oneMaster' # # Num Objs Num Masters Objs/Master Latency (us) Latency/Obj (us) #---------------------------------------------------------------------------- 1 1 1 5.9 5.9 2 1 2 7.3 3.7 3 1 3 8.5 2.8 4 1 4 9.1 2.3 5 1 5 10.5 2.1 6 1 6 11.1 1.8 7 1 7 11.6 1.7 8 1 8 12.1 1.5 9 1 9 12.8 1.4 10 1 10 14.0 1.4 20 1 20 19.9 1.0 30 1 30 26.2 0.9 40 1 40 31.7 0.8 50 1 50 36.9 0.7 60 1 60 42.3 0.7 70 1 70 51.2 0.7 80 1 80 54.1 0.7 90 1 90 59.9 0.7 100 1 100 65.4 0.7 200 1 200 122.2 0.6 300 1 300 180.7 0.6 400 1 400 239.0 0.6 500 1 500 298.9 0.6 600 1 600 358.9 0.6 700 1 700 418.3 0.6 800 1 800 496.7 0.6 900 1 900 553.4 0.6 1000 1 1000 614.2 0.6 # RAMCloud multiRead performance for 100 B objects with 30 byte keys # with one object located on each master. # Generated by 'clusterperf.py multiRead_oneObjectPerMaster' # # Num Objs Num Masters Objs/Master Latency (us) Latency/Obj (us) #---------------------------------------------------------------------------- 1 1 1 5.8 5.8 2 2 1 7.2 3.6 3 3 1 8.7 2.9 4 4 1 9.8 2.5 5 5 1 11.9 2.4 6 6 1 12.5 2.1 7 7 1 14.3 2.0 8 8 1 15.0 1.9 9 9 1 17.3 1.9 10 10 1 18.5 1.9 11 11 1 20.3 1.8 12 12 1 20.6 1.7 13 13 1 21.4 1.6 14 14 1 23.9 1.7 15 15 1 25.3 1.7 16 16 1 27.6 1.7 17 17 1 29.5 1.7 18 18 1 32.0 1.8 19 19 1 32.8 1.7 20 20 1 34.6 1.7 21 21 1 35.2 1.7 22 22 1 36.8 1.7 23 23 1 37.3 1.6 24 24 1 39.3 1.6 25 25 1 41.8 1.7 26 26 1 42.5 1.6 27 27 1 43.6 1.6 28 28 1 45.5 1.6 29 29 1 46.5 1.6 30 30 1 48.8 1.6 31 31 1 49.8 1.6 32 32 1 50.6 1.6 33 33 1 56.2 1.7 34 34 1 56.4 1.7 # RAMCloud multiRead performance for an approximately fixed number # of 100 B objects with 30 byte keys # distributed evenly across varying number of masters. # Generated by 'clusterperf.py multiRead_general' # # Num Objs Num Masters Objs/Master Latency (us) Latency/Obj (us) #---------------------------------------------------------------------------- 1000 1 1000 615.6 0.6 1000 2 500 454.6 0.5 999 3 333 447.3 0.4 1000 4 250 421.4 0.4 1000 5 200 438.7 0.4 996 6 166 421.3 0.4 994 7 142 438.6 0.4 1000 8 125 437.4 0.4 999 9 111 433.0 0.4 1000 10 100 476.2 0.5 990 11 90 508.2 0.5 996 12 83 490.8 0.5 988 13 76 539.5 0.5 994 14 71 484.4 0.5 990 15 66 529.6 0.5 992 16 62 474.8 0.5 986 17 58 491.9 0.5 990 18 55 502.2 0.5 988 19 52 508.4 0.5 1000 20 50 520.8 0.5 987 21 47 517.6 0.5 990 22 45 538.9 0.5 989 23 43 547.1 0.6 984 24 41 551.8 0.6 1000 25 40 566.0 0.6 988 26 38 590.0 0.6 999 27 37 611.9 0.6 980 28 35 594.4 0.6 986 29 34 615.3 0.6 990 30 33 651.3 0.7 992 31 32 608.3 0.6 992 32 31 667.3 0.7 990 33 30 704.4 0.7 986 34 29 654.2 0.7 |
April 12, 2012
Note: These measurements were taken shortly after we converted from 64-bit keys to variable-length keys. The data was replicated to 3 backups and log cleaning was disabled.
No Format |
---|
basic.read100 5.3 us read single 100B object with 30B key
basic.readBw100 18.1 MB/s bandwidth reading 100B object with 30B key
basic.read1K 7.0 us read single 1KB object with 30B key
basic.readBw1K 135.9 MB/s bandwidth reading 1KB object with 30B key
basic.read10K 10.3 us read single 10KB object with 30B key
basic.readBw10K 928.8 MB/s bandwidth reading 10KB object with 30B key
basic.read100K 46.4 us read single 100KB object with 30B key
basic.readBw100K 2.0 GB/s bandwidth reading 100KB object with 30B key
basic.read1M 430.0 us read single 1MB object with 30B key
basic.readBw1M 2.2 GB/s bandwidth reading 1MB object with 30B key
basic.write100 16.1 us write single 100B object with 30B key
basic.writeBw100 5.9 MB/s bandwidth writing 100B object with 30B key
basic.write1K 19.9 us write single 1KB object with 30B key
basic.writeBw1K 47.8 MB/s bandwidth writing 1KB object with 30B key
basic.write10K 38.9 us write single 10KB object with 30B key
basic.writeBw10K 245.1 MB/s bandwidth writing 10KB object with 30B key
basic.write100K 246.9 us write single 100KB object with 30B key
basic.writeBw100K 386.2 MB/s bandwidth writing 100KB object with 30B key
basic.write1M 2.4 ms write single 1MB object with 30B key
basic.writeBw1M 404.0 MB/s bandwidth writing 1MB object with 30B key
broadcast 178.7 us broadcast message to 9 slaves
netBandwidth 109.4 GB/s many clients reading from different servers
netBandwidth.max 1.4 GB/s fastest client
netBandwidth.min 589.3 MB/s slowest client
readNotFound 13.9 us read object that doesn't exist
# RAMCloud write performance for 100 B object with 30 B key
# during interleaved asynchronous writes of various sizes
# Generated by 'clusterperf.py writeAsyncSync'
#
# firstWriteIsSync firstObjectSize firstWriteLatency(us) syncWriteLatency(us)
#----------------------------------------------------------------------------
0 100 6.8 18.3
0 1000 8.9 18.5
0 10000 15.7 29.9
0 100000 99.5 156.4
0 1000000 964.2 1402.6
1 100 15.9 16.7
1 1000 20.3 16.3
1 10000 36.9 16.4
1 100000 241.3 18.0
1 1000000 2368.9 22.2
# RAMCloud read performance for 100 B objects
# with keys of various lengths.
# Generated by 'clusterperf.py readVaryingKeyLength'
#
# Key Length Latency (us) Bandwidth (MB/s)
#----------------------------------------------------------------------------
1 5.3 0.2
5 5.2 0.9
10 5.2 1.8
15 5.3 2.7
20 5.3 3.6
25 5.3 4.5
30 5.3 5.4
35 5.4 6.2
40 5.4 7.0
45 5.4 7.9
50 5.4 8.8
55 5.5 9.6
60 5.5 10.5
65 5.5 11.4
70 5.5 12.2
75 5.5 13.0
80 5.5 13.8
85 5.5 14.7
90 5.5 15.6
95 5.5 16.4
100 5.5 17.2
200 6.4 30.0
300 6.6 43.6
400 7.1 54.1
500 7.3 65.6
600 7.4 77.0
700 7.4 90.1
800 7.5 101.4
900 7.7 111.5
1000 7.8 122.8
2000 8.6 221.7
3000 9.5 302.5
4000 10.2 372.9
5000 11.2 424.7
6000 12.0 475.5
7000 12.8 522.4
8000 13.6 559.7
9000 14.5 590.5
10000 15.4 619.2
20000 24.8 769.1
30000 34.0 841.3
40000 43.4 879.7
50000 52.3 912.4
60000 61.1 936.1
# RAMCloud write performance for 100 B objects
# with keys of various lengths.
# Generated by 'clusterperf.py writeVaryingKeyLength'
#
# Key Length Latency (us) Bandwidth (MB/s)
#----------------------------------------------------------------------------
1 15.5 0.1
5 15.7 0.3
10 15.7 0.6
15 15.5 0.9
20 16.2 1.2
25 15.8 1.5
30 16.0 1.8
35 15.7 2.1
40 15.7 2.4
45 16.0 2.7
50 15.8 3.0
55 15.8 3.3
60 16.2 3.5
65 16.2 3.8
70 16.6 4.0
75 16.7 4.3
80 16.8 4.5
85 16.8 4.8
90 17.0 5.1
95 17.0 5.3
100 17.1 5.6
200 17.7 10.8
300 18.8 15.2
400 19.4 19.7
500 19.8 24.0
600 20.2 28.3
700 20.6 32.4
800 21.9 34.9
900 21.9 39.1
1000 22.6 42.2
2000 26.7 71.4
3000 31.2 91.6
4000 35.1 108.7
5000 39.0 122.2
6000 43.7 131.0
7000 48.0 139.1
8000 52.8 144.5
9000 60.1 142.8
10000 65.5 145.6
20000 115.0 165.8
30000 165.8 172.5
40000 212.4 179.6
50000 261.7 182.2
60000 312.7 183.0
# RAMCloud read performance as a function of load (1 or more
# clients all reading a single 100-byte object with 30-byte key
# repeatedly).
# Generated by 'clusterperf.py readLoaded'
#
# numClients readLatency(us) throughput(total kreads/sec)
#----------------------------------------------------------
1 5.5 181
2 6.0 336
3 5.6 534
4 6.1 655
5 6.6 759
6 7.2 829
7 8.4 832
8 9.5 838
9 11.2 804
10 12.2 818
11 13.3 825
12 14.7 817
13 15.9 816
14 17.1 817
15 18.4 815
16 19.6 816
17 21.0 810
18 22.2 811
19 23.5 807
20 24.7 809
# RAMCloud read performance when 1 or more clients read
# 100-byte objects with 30-byte keys chosen at random from
# 10 servers.
# Generated by 'clusterperf.py readRandom'
#
# numClients throughput(total kreads/sec) slowest(ms) reads > 10us
#--------------------------------------------------------------------
1 162 2.11 0.4%
2 265 7.93 0.4%
3 427 2.08 0.4%
4 576 2.41 0.7%
5 633 15.90 0.5%
6 816 4.95 0.6%
7 939 2.97 0.6%
8 1132 1.97 0.5%
9 1088 9.95 0.8%
10 1286 5.95 1.2%
11 1472 2.22 1.3%
12 1573 4.01 1.2%
13 1754 3.02 1.3%
14 1815 2.95 1.3%
15 1727 9.77 1.3%
16 2176 1.94 0.9%
17 2229 2.94 1.2%
18 2423 3.66 1.1%
19 2358 6.56 1.3%
20 2355 9.83 1.8%
21 2044 9.95 2.0%
22 2807 3.74 2.0%
23 2575 7.86 2.1%
24 2804 9.85 2.3%
25 2900 9.93 2.5%
26 3236 1.96 2.8%
27 3362 4.32 2.9%
28 3274 9.95 3.1%
29 3397 7.84 3.6%
30 3764 3.50 3.7%
31 3875 1.82 3.9%
32 3953 4.08 4.3%
33 3872 5.63 4.6%
34 4209 3.96 4.8%
35 3809 10.26 5.3%
36 4228 4.24 5.6%
37 3874 14.17 6.3%
38 4284 7.87 6.8%
39 4844 2.24 7.5%
40 4503 6.35 7.8%
41 4726 5.90 8.6%
42 4851 3.95 9.2%
43 4300 8.72 10.6%
44 4810 3.85 11.9%
45 4457 6.55 12.9%
46 4987 7.86 13.6%
47 4889 8.19 14.0%
48 5432 4.02 15.9%
49 3586 35.50 16.6%
50 5262 10.87 18.4% |
September 13, 2011
...
- November 24, 2018 ({basic,homa}+infud) (Optimized infud bandwidth)
- November 10, 2018 ({basic,homa}+infud) (New transport: homa)
- August 23, 2016 (basic+dpdk) (DPDK over 1G Ethernet)
- January 6, 2016 (basic+infud) (New transport: basic)
- January 6, 2016 (Added linearizability support)
- January 30, 2015 (added dispatchExec, indexing)
- September 29, 2014 (Cache prefetching, various throughput optimizations, rewrite of multi-op client side)
- August 8, 2014 (Uses TCP over 1GigE, may be useful for others outside Stanford to compare against)
- June 19, 2014 (Buffer rewrite, ObjectFinder session caching)
- March 28, 2014 (on TCP/IP with -v option)
- August 13, 2013 (Table Stats Tracking)
- August 12, 2013
- November 12, 2012 (faster reads & multi-reads)
- June 20, 2012 (multi-read performance)
- April 12, 2012 (just after conversion to variable-length keys)
- September 13, 2011 (old 64-bit fixed-length keys)