Esempio n. 1
0
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]
Esempio n. 2
0
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]
Esempio n. 3
0
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)
Esempio n. 4
0
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)