Basically the procedure is the similar to rccluster except that:
User setup)
$ ssh-keygen -t rsa -b 2048
Do not add passcode for the keypair for ATOM cluster login. You just type 'return' for passcode request of 'ssh-keygen'.
No group/other access permission for ~/.ssh and ~/.ssh/autorhized_keys.
0700 for ./ssh directory, 0600 for ./ssh/authorized_keys
Each public_key in ~/.ssh/authorized_keys needs to be a single line without line break.
Compile RAMCloud on the host 'mmatom' )
$ git clone https://github.com/SMatsushi/RAMCloud.git
$ cd RAMCloud
$ git submodule update --init --recursive
$ make -j8 DEBUG=no
Now you do not need to specify ARCH and DPDK flags since ./private/MakefragPrivateTop are setting flags for ATOM server specific make options.
You need to have java and javac installed. We have tested java/javac version 1.7.0_91.
Tools below are located in ./scripts/ManagementTools so far. Please set your path or copy them into your scripts/bin directory.
Run benchmark or application samples)
$ mmres ls -l
$ mmres ls -l atom10-35 or $ mmres ls -l 10-35 // print range. You can use '..' instead of '-'.
$ mmres lease 14:00 atom10-35 -m 'Comment here!!'
Note) Added 'dx2k' cluster. dx2k stands for DX-2000 which is a new XeonD based micro modular server.
Try typing mmres ls -l dk2k
Limitations) to be fixed...
- A lot of DPDK debug messages starting with "EAL or PMD" is shown in stdout. Now fixing..
Quick Hack: Run with /usr/local/bin/mmfilter wrapper:
Usage: mmfilter command arguments...
$ mmfilter scripts/clusterperf.py basic
$ mmfilter scripts/clusterperf.py --transport=basic+dpdk [Tests]
[Tests]: Names of tests. Please take a look into clusterperf.py for available tests.
Limitation)
- Problem running test 'indexBasic' or 'indexMultiple'. They are to slow and end with timeout. All other test runs OK.
Analysis or Debugging)
Note)
Measured on Jan. 15, 2016 :
basic.read100 13.6 us read random 100B object (30B key) median
basic.read100.min 12.9 us read random 100B object (30B key) minimum
basic.read100.9 13.9 us read random 100B object (30B key) 90%
basic.read100.99 18.7 us read random 100B object (30B key) 99%
basic.read100.999 35.5 us read random 100B object (30B key) 99.9%
basic.readBw100 6.7 MB/s bandwidth reading 100B objects (30B key)
basic.read1K 20.9 us read random 1KB object (30B key) median
basic.read1K.min 20.0 us read random 1KB object (30B key) minimum
basic.read1K.9 21.5 us read random 1KB object (30B key) 90%
basic.read1K.99 28.3 us read random 1KB object (30B key) 99%
basic.read1K.999 47.9 us read random 1KB object (30B key) 99.9%
basic.readBw1K 44.9 MB/s bandwidth reading 1KB objects (30B key)
basic.read10K 53.1 us read random 10KB object (30B key) median
basic.read10K.min 51.9 us read random 10KB object (30B key) minimum
basic.read10K.9 55.0 us read random 10KB object (30B key) 90%
basic.read10K.99 64.1 us read random 10KB object (30B key) 99%
basic.read10K.999 83.6 us read random 10KB object (30B key) 99.9%
basic.readBw10K 177.2 MB/s bandwidth reading 10KB objects (30B key)
basic.read100K 360.7 us read random 100KB object (30B key) median
basic.read100K.min 358.5 us read random 100KB object (30B key) minimum
basic.read100K.9 365.2 us read random 100KB object (30B key) 90%
basic.read100K.99 424.1 us read random 100KB object (30B key) 99%
basic.read100K.999 452.2 us read random 100KB object (30B key) 99.9%
basic.readBw100K 262.0 MB/s bandwidth reading 100KB objects (30B key)
basic.read1M 3.5 ms read random 1MB object (30B key) median
basic.read1M.min 3.4 ms read random 1MB object (30B key) minimum
basic.read1M.9 3.5 ms read random 1MB object (30B key) 90%
basic.read1M.99 3.5 ms read random 1MB object (30B key) 99%
basic.read1M.999 3.6 ms read random 1MB object (30B key) 99.9%
basic.readBw1M 273.3 MB/s bandwidth reading 1MB objects (30B key)
basic.write100 43.4 us write random 100B object (30B key) median
basic.write100.min 41.5 us write random 100B object (30B key) minimum
basic.write100.9 47.5 us write random 100B object (30B key) 90%
basic.write100.99 117.6 us write random 100B object (30B key) 99%
basic.write100.999 203.0 us write random 100B object (30B key) 99.9%
basic.writeBw100 1.9 MB/s bandwidth writing 100B objects (30B key)
basic.write1K 66.8 us write random 1KB object (30B key) median
basic.write1K.min 64.4 us write random 1KB object (30B key) minimum
basic.write1K.9 71.5 us write random 1KB object (30B key) 90%
basic.write1K.99 181.7 us write random 1KB object (30B key) 99%
basic.write1K.999 309.7 us write random 1KB object (30B key) 99.9%
basic.writeBw1K 12.2 MB/s bandwidth writing 1KB objects (30B key)
basic.write10K 210.3 us write random 10KB object (30B key) median
basic.write10K.min 205.5 us write random 10KB object (30B key) minimum
basic.write10K.9 217.5 us write random 10KB object (30B key) 90%
basic.write10K.99 514.1 us write random 10KB object (30B key) 99%
basic.write10K.999 837.4 us write random 10KB object (30B key) 99.9%
basic.writeBw10K 42.2 MB/s bandwidth writing 10KB objects (30B key)
basic.write100K 1.5 ms write random 100KB object (30B key) median
basic.write100K.min 1.5 ms write random 100KB object (30B key) minimum
basic.write100K.9 1.6 ms write random 100KB object (30B key) 90%
basic.write100K.99 2.3 ms write random 100KB object (30B key) 99%
basic.write100K.999 11.6 ms write random 100KB object (30B key) 99.9%
basic.writeBw100K 59.2 MB/s bandwidth writing 100KB objects (30B key)
basic.write1M 15.3 ms write random 1MB object (30B key) median
basic.write1M.min 15.2 ms write random 1MB object (30B key) minimum
basic.write1M.9 15.9 ms write random 1MB object (30B key) 90%
basic.write1M.99 27.9 ms write random 1MB object (30B key) 99%
basic.writeBw1M 60.2 MB/s bandwidth writing 1MB objects (30B key)
Measured on Wed 25 Feb 2015 12:31:42 PM PST :
basic.read100 13.456 us read single 100B object (30B key) median
basic.read100.min 12.423 us read single 100B object (30B key) minimum
basic.read100.9 13.837 us read single 100B object (30B key) 90%
basic.read100.99 17.698 us read single 100B object (30B key) 99%
basic.read100.999 24.356 us read single 100B object (30B key) 99.9%
basic.readBw100 4.7 MB/s bandwidth reading 100B object (30B key)
basic.read1K 20.425 us read single 1KB object (30B key) median
basic.read1K.min 19.593 us read single 1KB object (30B key) minimum
basic.read1K.9 20.786 us read single 1KB object (30B key) 90%
basic.read1K.99 24.306 us read single 1KB object (30B key) 99%
basic.read1K.999 36.569 us read single 1KB object (30B key) 99.9%
basic.readBw1K 33.4 MB/s bandwidth reading 1KB object (30B key)
basic.read10K 52.461 us read single 10KB object (30B key) median
basic.readBw10K 125.6 MB/s bandwidth reading 10KB object (30B key)
basic.read100K 358.567 us read single 100KB object (30B key) median
basic.readBw100K 187.6 MB/s bandwidth reading 100KB object (30B key)
basic.read1M 3.449 ms read single 1MB object (30B key) median
basic.readBw1M 212.1 MB/s bandwidth reading 1MB object (30B key)basic.write100 43.307 us write single 100B object (30B key) median
basic.write100.min 41.031 us write single 100B object (30B key) minimum
basic.write100.9 47.528 us write single 100B object (30B key) 90%
basic.write100.99 86.543 us write single 100B object (30B key) 99%
basic.write100.999 38.363 ms write single 100B object (30B key) 99.9%
basic.writeBw100 542.6 KB/s bandwidth writing 100B object (30B key)
basic.write1K 63.481 us write single 1KB object (30B key) median
basic.write1K.min 60.453 us write single 1KB object (30B key) minimum
basic.write1K.9 66.720 us write single 1KB object (30B key) 90%
basic.write1K.99 126.391 us write single 1KB object (30B key) 99%
basic.write1K.999 41.500 ms write single 1KB object (30B key) 99.9%
basic.writeBw1K 4.9 MB/s bandwidth writing 1KB object (30B key)
basic.write10K 199.648 us write single 10KB object (30B key) median
basic.writeBw10K 12.0 MB/s bandwidth writing 10KB object (30B key)
basic.write100K 1.508 ms write single 100KB object (30B key) median
basic.writeBw100K 17.8 MB/s bandwidth writing 100KB object (30B key)
basic.write1M 41.949 ms write single 1MB object (30B key) median
basic.writeBw1M 21.8 MB/s bandwidth writing 1MB object (30B key)# 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 23.0 22.99
2 1 2 28.3 14.15
3 1 3 33.2 11.07
9 1 9 49.5 5.5050 1 50 168.7 3.37
60 1 60 235.5 3.93
70 1 70 209.1 2.99
So far we do not use NIS/LDAP for account management. Please use a script to setup new users.
NOTE)
User setup command onto ATOM cluster )