Basically the procedure is the similar to rccluster except that:
User setup)
$ ssh-keygen -t rsa -b 2048
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 /var/git/ramcloud-dpdk.git
$ git clone /home/satoshi/ramcloud-dpdk.git // my local repository debugged.
$ cd ramcloud-dpdk
$ git submodule update --init
Note) DO NOT add '--recursive' option to git because git creates the following entry in 'logcabin/.git/config' to refer an obsolete repository and results timeout.> [submodule "gtest"]
commit: f9da67df93726ba5c20a9c703e7abb18931306d3 Date: Thu Aug 14 17:29:15 2014 -0700 'Add RPM SPEC files in new rpm directory'
You can check it with '$ git log'
$ make
Note)
Following make options are now default and specified in GNUmakefile.
Debug=no
ARCH=atom
CC, CXX, AR is directly specified in order to use '/usr/bin/gcc (4.4.7)' instead of '/usr/local/bin/gcc (4.9.1)' for compiling RAMCloud.
Run clusterperf.py from 'mmatom' on the atomXXX in the cluseter)
$ mmres ls -l
$ mmres ls -l atom10-35 or $ mmres ls -l 10-35 // print range
$ mmres lease 14:00 atom10-35 -m 'Comment here!!'
$ scripts/clusterperf.py
Note) Limitation...
- Using 5 default test out of 9 test, since 'readDist' is still debugging.
- You will see WARINGs '(server not responding)'. They are seen in the normal job completion.
- A lot of DPDK debug message starting with "EAL or PMD" is shown in stdout. Now fixing..
Quick Hack: Run through /usr/local/bin/mmfilter like:
$ mmfilter scripts/clusterperf.py basic
Note) We are now trying to move the disturbing DPDK log from standard out to some logfile.
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) To run the following command, you must be a user on both management server and all the atom servers with administrative privilege . Please ask us to give you the privilege for the cluster.
User setup procedure)
Still debugging the tool, please wait to use it.....