Add multihost simulations lines to plots (#89)

This commit is contained in:
Alvaro Revuelta 2024-03-04 15:07:35 +01:00 committed by GitHub
parent 30a40355ec
commit b3c3900ad4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 43001 additions and 42722 deletions

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 137 KiB

View File

@ -11,11 +11,15 @@ latencies = pd.DataFrame({
"500kb": load("raw/paper_latency_500kb_v2.txt", "arrival_diff=")})
num_bins = 50
#fig, ax = plt.subplots(2, 2)
# Best (1 hop) and worst (4 hops) latencies in ms
# See Table 2 from paper
multi_host_simulations = {
"2kb": [364, 477],
"25kb": [436, 945],
"100kb": [471, 1689],
"500kb": [564, 2468]
}
with plt.style.context(['science', 'ieee']):
fig, ax = plt.subplots(2, 2)
@ -27,15 +31,34 @@ with plt.style.context(['science', 'ieee']):
]
for (size, pos) in possitions:
latencies.hist(size, bins=num_bins, ax=pos)
pos.grid(False)
text = r'$ \mu=$' + '{:.0f};'.format(latencies[size].mean(axis=0)) + r' $ p_{95}=$' + '{:.0f};'.format(
np.percentile(latencies[size], 95)) + ' max={:.0f}'.format(latencies[size].max())
pos.set_title(f"msgsize={size}; " + text, fontsize=6)
# Plot single host results
latencies.hist(size, bins=num_bins, ax=pos, density=True, label="1) single-host")
ax[0][0].set(ylabel='Amount samples')
ax[1][0].set(xlabel='Latency (ms)', ylabel='Amount samples')
# Plot multi host results
pos.axvline(x=multi_host_simulations[size][0], color='red', linestyle='--', label="2) multi-host")
pos.axvline(x=multi_host_simulations[size][1], color='red', linestyle='--')
pos.grid(False)
title = ('size={size}\n' +
r'1) $\mu$={mean:.0f} $p_{{95}}$={p95:.0f} min={min:.0f} max={max:.0f}' + '\n' +
r'2) min={min_multi:.0f} max={max_multi:.0f}').format(
size=size,
mean=latencies[size].mean(axis=0),
p95=np.percentile(latencies[size], 95),
min=latencies[size].min(),
max=latencies[size].max(),
min_multi=multi_host_simulations[size][0],
max_multi=multi_host_simulations[size][1])
pos.set_title(title, fontsize=8)
if size == "25kb":
pos.legend(fontsize="5", loc="upper left")
else:
pos.legend(fontsize="5", loc="best")
ax[0][0].set(ylabel='Cumulative message share')
ax[1][0].set(xlabel='Latency (ms)', ylabel='Cumulative message share')
ax[1][1].set(xlabel='Latency (ms)')
plt.tight_layout(pad=0, w_pad=0, h_pad=0.7)
fig.set_size_inches(4, 3)
fig.savefig('paper_distribution.svg', dpi=600)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff