diff --git a/src/redis/data.dat b/src/redis/data.dat new file mode 100644 index 0000000..2063d47 --- /dev/null +++ b/src/redis/data.dat @@ -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 diff --git a/src/redis/plot.pdf b/src/redis/plot.pdf new file mode 100644 index 0000000..3396138 Binary files /dev/null and b/src/redis/plot.pdf differ diff --git a/src/redis/plot.png b/src/redis/plot.png new file mode 100644 index 0000000..dda66f0 Binary files /dev/null and b/src/redis/plot.png differ diff --git a/src/redis/redis-setget.plt b/src/redis/redis-setget.plt new file mode 100644 index 0000000..4afc39a --- /dev/null +++ b/src/redis/redis-setget.plt @@ -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 '' lc rgb "#8F8F8F", \ + "" using (($3 - $4) / $2 * 100) title 'connSocketEventHandler', \ + "" using (($4 - $5) / $2 * 100) title 'processCommand', \ + "" using ($5 / $2 * 100) title '[sg]etCommand' diff --git a/tex/misc/background_draft.tex b/tex/misc/background_draft.tex index 73e1204..4a86dba 100644 --- a/tex/misc/background_draft.tex +++ b/tex/misc/background_draft.tex @@ -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