diff --git a/benchmarks/benchmark-plotters/plot-cost-mtsubmit.py b/benchmarks/benchmark-plotters/plot-cost-mtsubmit.py index a84a6df..dc97804 100644 --- a/benchmarks/benchmark-plotters/plot-cost-mtsubmit.py +++ b/benchmarks/benchmark-plotters/plot-cost-mtsubmit.py @@ -6,7 +6,7 @@ import seaborn as sns import matplotlib.pyplot as plt x_label = "Copy Type" -y_label = "Time in Microseconds" +y_label = "Throughput in GiB/s" var_label = "Thread Counts" thread_counts = ["1t", "2t", "4t", "8t", "12t"] thread_counts_nice = ["1 Thread", "2 Threads", "4 Threads", "8 Threads", "12 Threads"] @@ -21,6 +21,13 @@ data = { } +def calc_throughput(size_bytes,time_microseconds): + time_seconds = time_microseconds * 1e-6 + size_gib = size_bytes / (1024 ** 3) + throughput_gibs = size_gib / time_seconds + return throughput_gibs + + def index_from_element(value,array): for (idx,val) in enumerate(array): if val == value: return idx @@ -56,7 +63,9 @@ def plot_mt_graph(file_paths, engine_label): engine_index = index_from_element(engine_label,engine_counts) engine_nice = engine_counts_nice[engine_index] - data[engine_nice] = times + throughput = [calc_throughput(1024*1024, t) for t in times] + + data[engine_nice] = throughput # Main function to iterate over files and create plots for the new benchmark diff --git a/benchmarks/benchmark-plotters/plot-perf-enginelocation.py b/benchmarks/benchmark-plotters/plot-perf-enginelocation.py index 1a707ab..d855dd0 100644 --- a/benchmarks/benchmark-plotters/plot-perf-enginelocation.py +++ b/benchmarks/benchmark-plotters/plot-perf-enginelocation.py @@ -6,7 +6,7 @@ import seaborn as sns import matplotlib.pyplot as plt x_label = "Copy Type" -y_label = "Time in Microseconds" +y_label = "Throughput in GiB/s" var_label = "Configuration" types = ["intersock-n0ton4", "internode-n0ton1"] types_nice = ["Inter-Socket Copy", "Inter-Node Copy"] @@ -22,6 +22,13 @@ data = { } +def calc_throughput(size_bytes,time_microseconds): + time_seconds = time_microseconds * 1e-6 + size_gib = size_bytes / (1024 ** 3) + throughput_gibs = size_gib / time_seconds + return throughput_gibs + + def index_from_element(value,array): for (idx,val) in enumerate(array): if val == value: return idx @@ -58,7 +65,9 @@ def plot_copy_graph(file_paths, method_label): method_index = index_from_element(method_label,copy_methods) method_nice = copy_methods_nice[method_index] - data[method_nice] = times + throughput = [calc_throughput(1024*1024, t) for t in times] + + data[method_nice] = throughput # Main function to iterate over files and create plots for the new benchmark diff --git a/benchmarks/benchmark-plotters/plot-perf-submitmethod.py b/benchmarks/benchmark-plotters/plot-perf-submitmethod.py index 78e8e55..559649b 100644 --- a/benchmarks/benchmark-plotters/plot-perf-submitmethod.py +++ b/benchmarks/benchmark-plotters/plot-perf-submitmethod.py @@ -7,7 +7,7 @@ import seaborn as sns import matplotlib.pyplot as plt x_label = "Size of Submitted Task" -y_label = "Time to Copy 1 KiB in Microseconds" +y_label = "Throughput in GiB/s" var_label = "Submission Type" sizes = ["1kib", "4kib", "1mib", "1gib"] sizes_nice = ["1 KiB", "4 KiB", "1 MiB", "1 GiB"] @@ -26,6 +26,12 @@ data = { stdev = {} +def calc_throughput(size_bytes,time_microseconds): + time_seconds = time_microseconds * 1e-6 + size_gib = size_bytes / (1024 ** 3) + throughput_gibs = size_gib / time_seconds + return throughput_gibs + def index_from_element(value,array): for (idx,val) in enumerate(array): @@ -73,7 +79,9 @@ def plot_submit_graph(file_paths, type_label): times[2] = times[2] / 1024 times[3] = times[3] / (1024 * 1024) - data[type_nice] = times + throughput = [calc_throughput(1024,t) for t in times] + + data[type_nice] = throughput # Main function to iterate over files and create plots for the new benchmark diff --git a/benchmarks/benchmark-results/cross-copy-bench/plot-perf-enginelocation.png b/benchmarks/benchmark-results/cross-copy-bench/plot-perf-enginelocation.png index 2e06268..874cfd2 100644 Binary files a/benchmarks/benchmark-results/cross-copy-bench/plot-perf-enginelocation.png and b/benchmarks/benchmark-results/cross-copy-bench/plot-perf-enginelocation.png differ diff --git a/benchmarks/benchmark-results/mtsubmit-bench/plot-cost-mtsubmit.png b/benchmarks/benchmark-results/mtsubmit-bench/plot-cost-mtsubmit.png index 9fa2403..ea3bea2 100644 Binary files a/benchmarks/benchmark-results/mtsubmit-bench/plot-cost-mtsubmit.png and b/benchmarks/benchmark-results/mtsubmit-bench/plot-cost-mtsubmit.png differ diff --git a/benchmarks/benchmark-results/submit-bench/plot-perf-submitmethod.png b/benchmarks/benchmark-results/submit-bench/plot-perf-submitmethod.png index 65c3bde..a3191b0 100644 Binary files a/benchmarks/benchmark-results/submit-bench/plot-perf-submitmethod.png and b/benchmarks/benchmark-results/submit-bench/plot-perf-submitmethod.png differ