Skip to content

Commit

Permalink
Add screen capture of Set 2
Browse files Browse the repository at this point in the history
  • Loading branch information
utaal committed Sep 4, 2024
1 parent 58d5e6d commit 780e874
Show file tree
Hide file tree
Showing 4 changed files with 187 additions and 0 deletions.
Binary file added ironkv/recording/ironfleet-port-plot.pdf
Binary file not shown.
47 changes: 47 additions & 0 deletions ironkv/recording/ironfleet-port-plot.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{xspace}
\usetikzlibrary{patterns}
\newcommand{\capfig}[2]{\textbf{#1}. {\small \textit{#2}}}
\newcommand{\name}{Verus\xspace}
\begin{document}

\begin{figure}
\begin{tikzpicture}
\centering
\begin{axis}[
ybar,
ymin = 0,
height=3.8cm, width=\columnwidth,
legend image code/.code={ \draw [#1] (0cm,-0.1cm) rectangle (0.1cm,0.2cm); },
legend style={at={(1.2, 1)}},
bar width=0.4cm,
ymajorgrids, tick align=inside,
enlarge y limits={value=.1,upper},
axis x line*=bottom,
axis y line*=left,
x tick label style={rotate=10,anchor=east,xshift=16pt,yshift=-8pt,font=\scriptsize},
tickwidth=0pt,
enlarge x limits=true,
xlabel={Workload, payload size (bytes)},
ylabel={Throughput (kop/s)},
symbolic x coords={
Get 128,Get 256,Get 512,Set 128,Set 256,Set 512
},
xtick=data
]
\addplot [draw=none, fill=red!100,postaction={pattern=north east lines},error bars/.cd, y dir=both, y explicit] coordinates {(Get 128,18.247700000000002) += (0, 0.1634290343368079) -= (0, 0.1634290343368079)(Get 256,18.245) += (0, 0.1499049968163675) -= (0, 0.1499049968163675)(Get 512,18.10146) += (0, 0.15285032653435948) -= (0, 0.15285032653435948)(Set 128,17.352203333333332) += (0, 0.13089160423254853) -= (0, 0.13089160423254853)(Set 256,16.940966666666665) += (0, 0.1320751121769348) -= (0, 0.1320751121769348)(Set 512,16.774340000000002) += (0, 0.09023104970930262) -= (0, 0.09023104970930262)};\addplot [draw=none, fill=teal!100,error bars/.cd, y dir=both, y explicit] coordinates {(Get 128,17.793343333333333) += (0, 0.08815154651390245) -= (0, 0.08815154651390245)(Get 256,17.745046666666667) += (0, 0.10737796737405603) -= (0, 0.10737796737405603)(Get 512,17.721529999999998) += (0, 0.08067774232860359) -= (0, 0.08067774232860359)(Set 128,17.84343333333333) += (0, 0.08820105218683238) -= (0, 0.08820105218683238)(Set 256,17.73270333333333) += (0, 0.08807616478019042) -= (0, 0.08807616478019042)(Set 512,17.4909) += (0, 0.10164408457280061) -= (0, 0.10164408457280061)};
\legend{IronFleet,Verus}
\end{axis}
\end{tikzpicture}
\vspace{-1mm}
\caption{\capfig{IronKV Performance}
{
The \name version performs comparably to the IronFleet original. Each bar shows the mean of 100 trials; error bars show 95\% confidence intervals.\label{fig:ironsht-throughput-comparison}}}
\vspace{-1mm}
\end{figure}

\end{document}

121 changes: 121 additions & 0 deletions ironkv/recording/raw-data.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
Language Threads Seconds Workload Number of keys Value size Requests completed
verus 10 30 g 1000 128 529823
verus 10 30 g 1000 256 531316
verus 10 30 g 1000 512 532467
verus 10 30 s 1000 128 535854
verus 10 30 s 1000 256 527505
verus 10 30 s 1000 512 515849
dafny 10 30 g 1000 128 545663
dafny 10 30 g 1000 256 549060
dafny 10 30 g 1000 512 545976
dafny 10 30 s 1000 128 519337
dafny 10 30 s 1000 256 504821
dafny 10 30 s 1000 512 501802
verus 10 30 g 1000 128 535614
verus 10 30 g 1000 256 527366
verus 10 30 g 1000 512 527917
verus 10 30 s 1000 128 539785
verus 10 30 s 1000 256 532727
verus 10 30 s 1000 512 528429
dafny 10 30 g 1000 128 547731
dafny 10 30 g 1000 256 548507
dafny 10 30 g 1000 512 553651
dafny 10 30 s 1000 128 515576
dafny 10 30 s 1000 256 513145
dafny 10 30 s 1000 512 497909
verus 10 30 g 1000 128 529929
verus 10 30 g 1000 256 526141
verus 10 30 g 1000 512 532999
verus 10 30 s 1000 128 538563
verus 10 30 s 1000 256 533005
verus 10 30 s 1000 512 523342
dafny 10 30 g 1000 128 543446
dafny 10 30 g 1000 256 541902
dafny 10 30 g 1000 512 531339
dafny 10 30 s 1000 128 515094
dafny 10 30 s 1000 256 509023
dafny 10 30 s 1000 512 502808
verus 10 30 g 1000 128 529591
verus 10 30 g 1000 256 540453
verus 10 30 g 1000 512 530497
verus 10 30 s 1000 128 534834
verus 10 30 s 1000 256 526414
verus 10 30 s 1000 512 523656
dafny 10 30 g 1000 128 553269
dafny 10 30 g 1000 256 544099
dafny 10 30 g 1000 512 542112
dafny 10 30 s 1000 128 526378
dafny 10 30 s 1000 256 496215
dafny 10 30 s 1000 512 500494
verus 10 30 g 1000 128 531388
verus 10 30 g 1000 256 530514
verus 10 30 g 1000 512 527261
verus 10 30 s 1000 128 536071
verus 10 30 s 1000 256 537973
verus 10 30 s 1000 512 522520
dafny 10 30 g 1000 128 549071
dafny 10 30 g 1000 256 537407
dafny 10 30 g 1000 512 539144
dafny 10 30 s 1000 128 525507
dafny 10 30 s 1000 256 515464
dafny 10 30 s 1000 512 502475
verus 10 30 g 1000 128 535178
verus 10 30 g 1000 256 532660
verus 10 30 g 1000 512 532343
verus 10 30 s 1000 128 526458
verus 10 30 s 1000 256 529212
verus 10 30 s 1000 512 523087
dafny 10 30 g 1000 128 545714
dafny 10 30 g 1000 256 552420
dafny 10 30 g 1000 512 538984
dafny 10 30 s 1000 128 510871
dafny 10 30 s 1000 256 504467
dafny 10 30 s 1000 512 505773
verus 10 30 g 1000 128 538175
verus 10 30 g 1000 256 537416
verus 10 30 g 1000 512 530349
verus 10 30 s 1000 128 535861
verus 10 30 s 1000 256 533308
verus 10 30 s 1000 512 527637
dafny 10 30 g 1000 128 539022
dafny 10 30 g 1000 256 540564
dafny 10 30 g 1000 512 538413
dafny 10 30 s 1000 128 525036
dafny 10 30 s 1000 256 508039
dafny 10 30 s 1000 512 509440
verus 10 30 g 1000 128 532499
verus 10 30 g 1000 256 530125
verus 10 30 g 1000 512 530861
verus 10 30 s 1000 128 535558
verus 10 30 s 1000 256 536743
verus 10 30 s 1000 512 525568
dafny 10 30 g 1000 128 557677
dafny 10 30 g 1000 256 558251
dafny 10 30 g 1000 512 549779
dafny 10 30 s 1000 128 518333
dafny 10 30 s 1000 256 513394
dafny 10 30 s 1000 512 501116
verus 10 30 g 1000 128 540021
verus 10 30 g 1000 256 531086
verus 10 30 g 1000 512 539583
verus 10 30 s 1000 128 537527
verus 10 30 s 1000 256 532359
verus 10 30 s 1000 512 531858
dafny 10 30 g 1000 128 556001
dafny 10 30 g 1000 256 550728
dafny 10 30 g 1000 512 545343
dafny 10 30 s 1000 128 523664
dafny 10 30 s 1000 256 508039
dafny 10 30 s 1000 512 509285
verus 10 30 g 1000 128 535785
verus 10 30 g 1000 256 536437
verus 10 30 g 1000 512 532182
verus 10 30 s 1000 128 532519
verus 10 30 s 1000 256 530565
verus 10 30 s 1000 512 525324
dafny 10 30 g 1000 128 536716
dafny 10 30 g 1000 256 550562
dafny 10 30 g 1000 512 545697
dafny 10 30 s 1000 128 525865
dafny 10 30 s 1000 256 509683
dafny 10 30 s 1000 512 501200
19 changes: 19 additions & 0 deletions site/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,25 @@ same type of machine we use, your results may be quantitatively different from
ours. For example, you may find higher or lower absolute throughput. But your
results should still (hopefully) confirm our claim of similar performance.

### Recording

Due to potential difficulties in accessing a suitable Windows machine, we also
provide a screen capture of the experiment performed on an Amazon AWS c5.4xlarge
machine running Windows: [https://github.com/verus-lang/paper-sosp24-artifact/raw/set-2-screen-capture-lfs/site/assets/recording/Set-2.mp4](https://github.com/verus-lang/paper-sosp24-artifact/raw/set-2-screen-capture-lfs/site/assets/recording/Set-2.mp4). The first
21 minutes contain the set up, followed by the command `python compare.py $VERUS_AE`
which starts the experiment, lasting till 1h23. The last few minutes summarize the
results with `gengraph.py` and print the MD5 hash of the `raw-data.txt` output from
the experiment and the generated `ironfleet-port-plot.tex` files.

The files generated in this run are available in this repository:

* [https://github.com/verus-lang/paper-sosp24-artifact/blob/main/ironkv/recording/raw-data.txt](https://github.com/verus-lang/paper-sosp24-artifact/blob/main/ironkv/recording/raw-data.txt) (md5 hash: `0ce875c99ed5763c103250528f981c53`) and
* [https://github.com/verus-lang/paper-sosp24-artifact/blob/main/ironkv/recording/ironfleet-port-plot.tex](https://github.com/verus-lang/paper-sosp24-artifact/blob/main/ironkv/recording/ironfleet-port-plot.tex) (md5 hash: `ac9734133d8e076b822e9c76423327c0`)

alongside a compiled version of the LaTeX file as PDF: [https://github.com/verus-lang/paper-sosp24-artifact/blob/main/ironkv/recording/ironfleet-port-plot.pdf](https://github.com/verus-lang/paper-sosp24-artifact/blob/main/ironkv/recording/ironfleet-port-plot.pdf)

The experiment in the screen capture was performed by following exactly the instructions below.

### Instructions

Set 2 requires a Windows x86_64 machine with .NET 6.0, Rust 1.76.0, Python 3,
Expand Down

0 comments on commit 780e874

Please sign in to comment.