clusterperf on TCP
Command Line (verbose mode)
$scripts/clusterperf.py -v --transport=tcp basic
Result:
ensureServers command: /home/satoshi/work/ramcloud/obj.master/ensureServers -C tcp:host=192.168.1.101,port=12246 -m 0 -b 0 -l 1 --wait 30 --logFile logs/20140326192450/ensureServers.log Coordinator started on rc01 at tcp:host=192.168.1.101,port=12246 Coordinator command line arguments /home/satoshi/work/ramcloud/obj.master/coordinator -C tcp:host=192.168.1.101,port=12246 -l NOTICE --logFile logs/20140326192450/coordinator.rc01.log Server started on rc01 at tcp:host=192.168.1.101,port=12247: /home/satoshi/work/ramcloud/obj.master/server -C tcp:host=192.168.1.101,port=12246 -L tcp:host=192.168.1.101,port=12247 -r 3 -l NOTICE --clusterName __unnamed__ --logFile logs/20140326192450/server0.rc01.log -d -f /dev/sda2 Server started on rc02 at tcp:host=192.168.1.102,port=12247: /home/satoshi/work/ramcloud/obj.master/server -C tcp:host=192.168.1.101,port=12246 -L tcp:host=192.168.1.102,port=12247 -r 3 -l NOTICE --clusterName __unnamed__ --logFile logs/20140326192450/server1.rc02.log -d -f /dev/sda2 Server started on rc03 at tcp:host=192.168.1.103,port=12247: /home/satoshi/work/ramcloud/obj.master/server -C tcp:host=192.168.1.101,port=12246 -L tcp:host=192.168.1.103,port=12247 -r 3 -l NOTICE --clusterName __unnamed__ --logFile logs/20140326192450/server2.rc03.log -d -f /dev/sda2 Server started on rc04 at tcp:host=192.168.1.104,port=12247: /home/satoshi/work/ramcloud/obj.master/server -C tcp:host=192.168.1.101,port=12246 -L tcp:host=192.168.1.104,port=12247 -r 3 -l NOTICE --clusterName __unnamed__ --logFile logs/20140326192450/server3.rc04.log -d -f /dev/sda2 ensureServers command: /home/satoshi/work/ramcloud/obj.master/ensureServers -C tcp:host=192.168.1.101,port=12246 -m 4 -b 4 -l 1 --wait 30 --logFile logs/20140326192450/ensureServers.log All servers running Client 0 started on rc01: /home/satoshi/work/ramcloud/obj.master/ClusterPerf -C tcp:host=192.168.1.101,port=12246 --numClients 1 --clientIndex 0 --logFile logs/20140326192450/client0.rc01.log --size 100 basic basic.read100 34.8 us read single 100B object with 30B key basic.readBw100 2.7 MB/s bandwidth reading 100B object with 30B key basic.read1K 32.1 us read single 1KB object with 30B key basic.readBw1K 29.7 MB/s bandwidth reading 1KB object with 30B key basic.read10K 39.5 us read single 10KB object with 30B key basic.readBw10K 241.5 MB/s bandwidth reading 10KB object with 30B key basic.read100K 112.5 us read single 100KB object with 30B key basic.readBw100K 848.0 MB/s bandwidth reading 100KB object with 30B key basic.read1M 585.3 us read single 1MB object with 30B key basic.readBw1M 1.6 GB/s bandwidth reading 1MB object with 30B key basic.write100 83.9 us write single 100B object with 30B key basic.writeBw100 1.1 MB/s bandwidth writing 100B object with 30B key basic.write1K 93.2 us write single 1KB object with 30B key basic.writeBw1K 10.2 MB/s bandwidth writing 1KB object with 30B key basic.write10K 145.0 us write single 10KB object with 30B key basic.writeBw10K 65.8 MB/s bandwidth writing 10KB object with 30B key basic.write100K 369.2 us write single 100KB object with 30B key basic.writeBw100K 258.3 MB/s bandwidth writing 100KB object with 30B key basic.write1M 3.2 ms write single 1MB object with 30B key basic.writeBw1M 301.9 MB/s bandwidth writing 1MB object with 30B key
Process configuration:
Minimum configuration requires four servers.
New clusterperf.py / cluster.py option:
Disabling entity collocation on a server: –disjunt
1. Minimum configuration with three servers without backup
Command line and performance:
$scripts/clusterperf.py --verbose --transport=tcp --clients=1 --servers=1 --numBackups=0 --replicas=0 --disjunct basic
26.1 us read single 100B object with 30B key
28.1 us write single 100B object with 30B key
RAMCloud evaluation with single server:
This result means that we can test RAMCloud on a single server without disjunct option:
$scripts/clusterperf.py --transport=tcp --clients=1 --servers=1 --numBackups=0 --replicas=0 basic
2. Configuration with four servers with backup:
Command line and performance:
scripts/clusterperf.py --verbose --transport=tcp --clients=1 --servers=2 --numBackups=1 --replicas=1 --disjunct basic
24.0 us read single 100B object with 30B key
102.1 us write single 100B object with 30B key