Skip to content

Commit

Permalink
Completed all additional plots
Browse files Browse the repository at this point in the history
Signed-off-by: tivan <[email protected]>
  • Loading branch information
ivantishchenko committed Dec 12, 2017
1 parent 1ba2985 commit 69bb287
Show file tree
Hide file tree
Showing 16 changed files with 254 additions and 0 deletions.
1 change: 1 addition & 0 deletions figures/netqueue_double.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile userAgent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0" version="7.8.4" editor="www.draw.io" type="device"><diagram id="76ee27fa-f881-7aaf-5b54-ab9c0ab757de" name="Page-1">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</diagram></mxfile>
1 change: 1 addition & 0 deletions figures/netqueue_single.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile userAgent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0" version="7.8.4" editor="www.draw.io" type="device"><diagram id="76ee27fa-f881-7aaf-5b54-ab9c0ab757de" name="Page-1">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</diagram></mxfile>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added plots/multigets/queue_nonshard_multi_get.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added plots/multigets/queue_shard_multi_get.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added plots/multigets/serve_nonshard_multi_get.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added plots/multigets/serve_shard_multi_get.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added plots/multigets/shard_multi_get_R_percentile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added plots/netQueue/netqueue_double.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added plots/netQueue/netqueue_single.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
126 changes: 126 additions & 0 deletions scripts/multiGets/queue_multi_get.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
import re
import sys
from operator import add
from matplotlib import pyplot as plt
from statistics import stdev

class ExperimentPlotter:

REP_NUMBER = 3
LOGFILES_PATH = ""
MACHINES_NUMBER = 2
THREAD_PER_CLIENT = 2

# CHANGE
RUN_TIME = 60
# See the same in bash script
# clients=`seq 1 4 33`
CLIENTS_RANGE_BEG = 1
CLIENTS_RANGE_END = 33
CLIENTS_RANGE_STEP = 4

KEY_RANGE = [1, 3, 6, 9]

def __init__(self, rep=3, path="", machines_num=3, threads_num=2):
self.REP_NUMBER = rep
self.LOGFILES_PATH = path
self.MACHINES_NUMBER = machines_num
self.THREAD_PER_CLIENT = threads_num

def set_params(self, rep, path, machines_num, threads_num):
self.REP_NUMBER = rep
self.LOGFILES_PATH = path
self.MACHINES_NUMBER = machines_num
self.THREAD_PER_CLIENT = threads_num

def extractParamsMW(self, logfile):
file = open(logfile, 'r')
for line in file:
if line.startswith("FINAL STATS"):
for line in file:
if line.startswith("Average service time"):
avg_serv = line.split()[5]
if line.startswith("Average wait time in queue"):
avg_queue = line.split()[7]

file.close()

#print(logfile)
return float(avg_serv), float(avg_queue)


def plot_baseline_aggregate(self, filename1):
# Build

R_total = []
R_STD = []

for multi_get_key in self.KEY_RANGE:
final_response_time = 0
avg_response_time_vals = []

for repetition in range(1, self.REP_NUMBER + 1):
aggregate_throughput = 0
avg_response_time = 0

for machine in range(1, self.MACHINES_NUMBER + 1):
logfile_name = self.LOGFILES_PATH + "/multi_get_{}_{}_{}.log".format(multi_get_key, repetition, machine)
#print(logfile_name)
_, response = self.extractParamsMW(logfile_name)
# Agregates
# SUM thriuputs
# AVG response times
avg_response_time += response

avg_response_time /= self.MACHINES_NUMBER
# at this point we have aggregates from all machines
final_response_time += avg_response_time

avg_response_time_vals.append(avg_response_time)

final_response_time /= self.REP_NUMBER

R_total.append(final_response_time)
R_STD.append(stdev(avg_response_time_vals))

# Build

# for msec
#R_total = [x / 1000 for x in R_total]
#R_STD = [x / 1000 for x in R_STD]

clients = self.KEY_RANGE
ticks = list(range(10))

#print(clients)
#print(T_total)
#print(T_STD)

# response time
plt.figure(2)
plt.title("Multigets")
plt.errorbar(clients, R_total, yerr=R_STD, fmt='-o', ecolor='r', color='blue', capsize=2, elinewidth=0.5, alpha=0.8)
plt.xticks(ticks)
plt.ylim(ymin=0)
plt.xlim(xmin=0)
plt.grid()
plt.xlabel('Multi get size (keys)')
plt.ylabel('Queuing time (msec)')
#plt.show()
plt.savefig(filename1)
plt.gcf().clear()


# PLOTTING

path = "/home/ivan/asl-fall17-project/experiments/logfiles/multiGets/logfiles_multiGET_shard_MW"

plotter = ExperimentPlotter()
plotter.set_params(3, path, 2, 1)
plotter.plot_baseline_aggregate("queue_shard_multi_get.png")

path = "/home/ivan/asl-fall17-project/experiments/logfiles/multiGets/logfiles_multiGET_nonshard_MW"

plotter = ExperimentPlotter()
plotter.set_params(3, path, 2, 1)
plotter.plot_baseline_aggregate("queue_nonshard_multi_get.png")
Binary file added scripts/multiGets/queue_nonshard_multi_get.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added scripts/multiGets/queue_shard_multi_get.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
126 changes: 126 additions & 0 deletions scripts/multiGets/serve_multi_get.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
import re
import sys
from operator import add
from matplotlib import pyplot as plt
from statistics import stdev

class ExperimentPlotter:

REP_NUMBER = 3
LOGFILES_PATH = ""
MACHINES_NUMBER = 2
THREAD_PER_CLIENT = 2

# CHANGE
RUN_TIME = 60
# See the same in bash script
# clients=`seq 1 4 33`
CLIENTS_RANGE_BEG = 1
CLIENTS_RANGE_END = 33
CLIENTS_RANGE_STEP = 4

KEY_RANGE = [1, 3, 6, 9]

def __init__(self, rep=3, path="", machines_num=3, threads_num=2):
self.REP_NUMBER = rep
self.LOGFILES_PATH = path
self.MACHINES_NUMBER = machines_num
self.THREAD_PER_CLIENT = threads_num

def set_params(self, rep, path, machines_num, threads_num):
self.REP_NUMBER = rep
self.LOGFILES_PATH = path
self.MACHINES_NUMBER = machines_num
self.THREAD_PER_CLIENT = threads_num

def extractParamsMW(self, logfile):
file = open(logfile, 'r')
for line in file:
if line.startswith("FINAL STATS"):
for line in file:
if line.startswith("Average service time"):
avg_serv = line.split()[5]
if line.startswith("Average wait time in queue"):
avg_queue = line.split()[7]

file.close()

#print(logfile)
return float(avg_serv), float(avg_queue)


def plot_baseline_aggregate(self, filename1):
# Build

R_total = []
R_STD = []

for multi_get_key in self.KEY_RANGE:
final_response_time = 0
avg_response_time_vals = []

for repetition in range(1, self.REP_NUMBER + 1):
aggregate_throughput = 0
avg_response_time = 0

for machine in range(1, self.MACHINES_NUMBER + 1):
logfile_name = self.LOGFILES_PATH + "/multi_get_{}_{}_{}.log".format(multi_get_key, repetition, machine)
#print(logfile_name)
response, _ = self.extractParamsMW(logfile_name)
# Agregates
# SUM thriuputs
# AVG response times
avg_response_time += response

avg_response_time /= self.MACHINES_NUMBER
# at this point we have aggregates from all machines
final_response_time += avg_response_time

avg_response_time_vals.append(avg_response_time)

final_response_time /= self.REP_NUMBER

R_total.append(final_response_time)
R_STD.append(stdev(avg_response_time_vals))

# Build

# for msec
#R_total = [x / 1000 for x in R_total]
#R_STD = [x / 1000 for x in R_STD]

clients = self.KEY_RANGE
ticks = list(range(10))

#print(clients)
#print(T_total)
#print(T_STD)

# response time
plt.figure(2)
plt.title("Multigets")
plt.errorbar(clients, R_total, yerr=R_STD, fmt='-o', ecolor='r', color='blue', capsize=2, elinewidth=0.5, alpha=0.8)
plt.xticks(ticks)
plt.ylim(ymin=0)
plt.xlim(xmin=0)
plt.grid()
plt.xlabel('Multi get size (keys)')
plt.ylabel('Service time (msec)')
#plt.show()
plt.savefig(filename1)
plt.gcf().clear()


# PLOTTING

path = "/home/ivan/asl-fall17-project/experiments/logfiles/multiGets/logfiles_multiGET_shard_MW"

plotter = ExperimentPlotter()
plotter.set_params(3, path, 2, 1)
plotter.plot_baseline_aggregate("serve_shard_multi_get.png")

path = "/home/ivan/asl-fall17-project/experiments/logfiles/multiGets/logfiles_multiGET_nonshard_MW"

plotter = ExperimentPlotter()
plotter.set_params(3, path, 2, 1)
plotter.plot_baseline_aggregate("serve_nonshard_multi_get.png")
Binary file added scripts/multiGets/serve_nonshard_multi_get.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added scripts/multiGets/serve_shard_multi_get.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 69bb287

Please sign in to comment.