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
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
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