def startMBServer(observers): Microbench.rsyncBuild() path = "" params = '-t {0} -n {1} -s {2} '.format(Microbench.threads, Microbench.numColumns, Microbench.scaling) if Storage.storage == TellStore: cmd = '{0}/watch/microbench/mbserver_tell {1}'.format(TellStore.builddir, params) cmd += '-c "{0}" --storage "{1}" --network-threads {2} -m {3}'.format(TellStore.getCommitManagerAddress(), TellStore.getServerList(), Microbench.networkThreads, Microbench.infinioBatch) elif Storage.storage == Kudu: cmd = '{0}/watch/microbench/mbserver_kudu {1}'.format(TellStore.builddir, params) cmd += '-c {0}'.format(Storage.master) elif Storage.storage == Cassandra: Microbench.rsyncJars() path = "PATH={0}/bin:$PATH ".format(General.javahome) cmd ='java -jar {0}/mbserver_cassandra.jar {1}'.format(Microbench.javaDir, params) cmd += getNodes(Storage.servers, " -cn ") elif Storage.storage == Hbase: path = "PATH={0}/bin:$PATH ".format(General.javahome) cmd = 'java -jar {0}/mbserver_hbase.jar {1}'.format(Microbench.javaDir, params) cmd += '-hm {0}'.format(Storage.master) cmd += '-zm {0}'.format(Storage.master) elif Storage.storage == Ramcloud: cmd = '{0}/watch/microbench/mbserver_ramcloud {1}'.format(TellStore.builddir, params) cmd += '-c main -l "infrc:host={0}-infrc,port=11100" -x {1}'.format(Storage.master, len(Storage.servers) + len(Storage.servers1)) client0 = ThreadedClients(Microbench.servers0, "{0}numactl -m 0 -N 0 {1}".format(path, cmd), observers=observers) client1 = ThreadedClients(Microbench.servers1, "{0}numactl -m 1 -N 1 {1} -p 8712".format(path, cmd), observers=observers) client0.start() client1.start() return [client0, client1]
def startMBServer(observers): Microbench.rsyncBuild() path = "" params = '-t {0} -n {1} -s {2} '.format(Microbench.threads, Microbench.numColumns, Microbench.scaling) if Storage.storage == TellStore: cmd = '{0}/watch/microbench/mbserver_tell {1}'.format( TellStore.builddir, params) cmd += '-c "{0}" --storage "{1}" --network-threads {2} -m {3}'.format( TellStore.getCommitManagerAddress(), TellStore.getServerList(), Microbench.networkThreads, Microbench.infinioBatch) elif Storage.storage == Kudu: cmd = '{0}/watch/microbench/mbserver_kudu {1}'.format( TellStore.builddir, params) cmd += '-c {0}'.format(Storage.master) elif Storage.storage == Cassandra: Microbench.rsyncJars() path = "PATH={0}/bin:$PATH ".format(General.javahome) cmd = 'java -jar {0}/mbserver_cassandra.jar {1}'.format( Microbench.javaDir, params) cmd += getNodes(Storage.servers, " -cn ") elif Storage.storage == Hbase: path = "PATH={0}/bin:$PATH ".format(General.javahome) cmd = 'java -jar {0}/mbserver_hbase.jar {1}'.format( Microbench.javaDir, params) cmd += '-hm {0}'.format(Storage.master) cmd += '-zm {0}'.format(Storage.master) elif Storage.storage == Ramcloud: cmd = '{0}/watch/microbench/mbserver_ramcloud {1}'.format( TellStore.builddir, params) cmd += '-c main -l "infrc:host={0}-infrc,port=11100" -x {1}'.format( Storage.master, len(Storage.servers) + len(Storage.servers1)) client0 = ThreadedClients(Microbench.servers0, "{0}numactl -m 0 -N 0 {1}".format(path, cmd), observers=observers) client1 = ThreadedClients(Microbench.servers1, "{0}numactl -m 1 -N 1 {1} -p 8712".format( path, cmd), observers=observers) client0.start() client1.start() return [client0, client1]
def startMBClient(populate=False, uoutFile=None): default_out = "" if Storage.storage == TellStore: default_out = "mbench_{0}".format(TellStore.approach) elif Storage.storage == Kudu: default_out = "mbench_kudu" elif Storage.storage == Cassandra: default_out = "mbench_cassandra" default_out = '{0}/{1}_sf{2}_N{3}'.format(Microbench.result_dir, default_out, Microbench.scaling, Microbench.numColumns) if (uoutFile): outfile = uoutFile else: outfile = default_out appendFile = 0 while os.path.isfile(outfile + ".db"): appendFile = appendFile + 1 outfile = "{0}_{1}".format(outfile, appendFile) probabilities = "-i {0} -d {1} -u {2}".format(Microbench.insertProb, Microbench.deleteProb, Microbench.updateProb) cmd = '{0}/watch/microbench/mbclient -H "{1}" -s {2} -c {3} -t {4} -a {5} -o {6} -b {7} -w {8} {9}'.format( TellStore.builddir, Microbench.getServerList(), Microbench.scaling, Microbench.clients, Microbench.clientThreads, Microbench.analyticalClients, outfile + ".db", Microbench.txBatch, Microbench.oltpWaitTime, probabilities) if Microbench.onlyQ1: cmd += ' -q' if Microbench.noWarmUp: cmd += " --no-warmup" if (populate): cmd += ' -P' print "Execute {0}".format(cmd) return os.system(cmd)
def startMBClient(populate = False, uoutFile = None): default_out = "" if Storage.storage == TellStore: default_out = "mbench_{0}".format(TellStore.approach) elif Storage.storage == Kudu: default_out = "mbench_kudu" elif Storage.storage == Cassandra: default_out = "mbench_cassandra" default_out = '{0}/{1}_sf{2}_N{3}'.format(Microbench.result_dir, default_out, Microbench.scaling, Microbench.numColumns) if (uoutFile): outfile = uoutFile else: outfile = default_out appendFile = 0 while os.path.isfile(outfile + ".db"): appendFile = appendFile + 1 outfile = "{0}_{1}".format(outfile, appendFile) probabilities = "-i {0} -d {1} -u {2}".format(Microbench.insertProb, Microbench.deleteProb, Microbench.updateProb) cmd = '{0}/watch/microbench/mbclient -H "{1}" -s {2} -c {3} -t {4} -a {5} -o {6} -b {7} -w {8} {9}'.format(TellStore.builddir, Microbench.getServerList(), Microbench.scaling, Microbench.clients, Microbench.clientThreads, Microbench.analyticalClients, outfile + ".db", Microbench.txBatch, Microbench.oltpWaitTime, probabilities) if Microbench.onlyQ1: cmd += ' -q' if Microbench.noWarmUp: cmd += " --no-warmup" if (populate): cmd += ' -P' print "Execute {0}".format(cmd) return os.system(cmd)