Sync + Added gnuplot for redis

This commit is contained in:
Zhengyi Chen 2024-03-10 18:57:39 +00:00
parent 816a29d462
commit 53aeec8c67
5 changed files with 38 additions and 0 deletions

5
src/redis/data.dat Normal file
View file

@ -0,0 +1,5 @@
# Averages of redis-bench vs. uprobe latencies probed via bcc tools. Unit: microseconds.
# 2 3 4 5 6 7 8
# Total latency connSocketEventHandler processCommand [sg]etCommand beforeSleep _writeToClient afterSleep
SET 571 10 8 6 28 13 6
GET 508 10 8 6 23 15 7

BIN
src/redis/plot.pdf Normal file

Binary file not shown.

BIN
src/redis/plot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View file

@ -0,0 +1,31 @@
# Too tired to write any script,
# just gonna do a gnuplot instead.
set terminal pdfcairo size 4in, 6in
set output "plot.pdf"
set style data histograms
set style histogram rowstacked
set style fill solid 0.2 border -1
set key above noenhanced
set boxwidth 0.66
set autoscale # Scale axes automatically
set xtics auto
set yrange [0:100]
set xlabel "Commands"
set ylabel "Percentage of Average Latency (%)"
set title \
"Redis: -O2; SET|GET; 2x KVM; virtio NIC; Preemptive" \
noenhanced
plot "data.dat" \
using ($8 / $2 * 100):xtic(1) title 'afterSleep', \
"" using (($6 - $7) / $2 * 100) title 'beforeSleep', \
"" using ($7 / $2 * 100) title '_writeToClient', \
"" using (($2 - $3 - $6 - $8) / $2 * 100) \
title '<TCP Transmission>' lc rgb "#8F8F8F", \
"" using (($3 - $4) / $2 * 100) title 'connSocketEventHandler', \
"" using (($4 - $5) / $2 * 100) title 'processCommand', \
"" using ($5 / $2 * 100) title '[sg]etCommand'

View file

@ -533,6 +533,8 @@ to its performance benefits (e.g., in terms of coherence costs
consistency models, sometimes due to improved productivity offered to consistency models, sometimes due to improved productivity offered to
programmers \cite{Kim_etal.DeX-upon-Linux.2020}. programmers \cite{Kim_etal.DeX-upon-Linux.2020}.
% Probably include a table here?
We especially note the role of balancing productivity and performance in terms We especially note the role of balancing productivity and performance in terms
of selecting the ideal consistency model for a system. It is common knowledge of selecting the ideal consistency model for a system. It is common knowledge
that weaker consistency models are harder to program with, at the benefit of that weaker consistency models are harder to program with, at the benefit of