diff --git a/paper/.gitignore b/paper/.gitignore new file mode 100644 index 0000000..24cfcb3 --- /dev/null +++ b/paper/.gitignore @@ -0,0 +1,9 @@ +*.aux +*.bbl +*.bcf +*.blg +*.dvi +*.log +*.out +*.pdf +*.run.xml \ No newline at end of file diff --git a/paper/Makefile b/paper/Makefile new file mode 100644 index 0000000..8d8bd1c --- /dev/null +++ b/paper/Makefile @@ -0,0 +1,12 @@ +.PHONY: clean + +all: paper.pdf + +paper.pdf: bibliography.bib paper.tex + pdflatex paper + biber paper + pdflatex paper + pdflatex paper + +clean: + xargs -I '{}' bash -c "rm -f {}" < .gitignore diff --git a/paper/bibliography.bib b/paper/bibliography.bib new file mode 100644 index 0000000..9c893e1 --- /dev/null +++ b/paper/bibliography.bib @@ -0,0 +1,78 @@ +@inproceedings{DBLP:conf/sigmod/ZhouXSNMTABSLRD21, + author = {Jingyu Zhou and + Meng Xu and + Alexander Shraer and + Bala Namasivayam and + Alex Miller and + Evan Tschannen and + Steve Atherton and + Andrew J. Beamon and + Rusty Sears and + John Leach and + Dave Rosenthal and + Xin Dong and + Will Wilson and + Ben Collins and + David Scherer and + Alec Grieser and + Young Liu and + Alvin Moore and + Bhaskar Muppana and + Xiaoge Su and + Vishesh Yadav}, + editor = {Guoliang Li and + Zhanhuai Li and + Stratos Idreos and + Divesh Srivastava}, + title = {FoundationDB: {A} Distributed Unbundled Transactional Key Value Store}, + booktitle = {{SIGMOD} '21: International Conference on Management of Data, Virtual + Event, China, June 20-25, 2021}, + pages = {2653--2666}, + publisher = {{ACM}}, + year = {2021}, + url = {https://doi.org/10.1145/3448016.3457559}, + doi = {10.1145/3448016.3457559}, + timestamp = {Tue, 31 Oct 2023 15:43:39 +0100}, + biburl = {https://dblp.org/rec/conf/sigmod/ZhouXSNMTABSLRD21.bib}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + +@article{10.1145/78973.78977, +author = {Pugh, William}, +title = {Skip lists: a probabilistic alternative to balanced trees}, +year = {1990}, +issue_date = {June 1990}, +publisher = {Association for Computing Machinery}, +address = {New York, NY, USA}, +volume = {33}, +number = {6}, +issn = {0001-0782}, +url = {https://doi.org/10.1145/78973.78977}, +doi = {10.1145/78973.78977}, +abstract = {Skip lists are data structures that use probabilistic balancing rather than strictly enforced balancing. As a result, the algorithms for insertion and deletion in skip lists are much simpler and significantly faster than equivalent algorithms for balanced trees.}, +journal = {Commun. ACM}, +month = {jun}, +pages = {668–676}, +numpages = {9}, +keywords = {data structures, searching, trees} +} + +@inproceedings{DBLP:conf/icde/LeisK013, + author = {Viktor Leis and + Alfons Kemper and + Thomas Neumann}, + editor = {Christian S. Jensen and + Christopher M. Jermaine and + Xiaofang Zhou}, + title = {The adaptive radix tree: ARTful indexing for main-memory databases}, + booktitle = {29th {IEEE} International Conference on Data Engineering, {ICDE} 2013, + Brisbane, Australia, April 8-12, 2013}, + pages = {38--49}, + publisher = {{IEEE} Computer Society}, + year = {2013}, + url = {https://doi.org/10.1109/ICDE.2013.6544812}, + doi = {10.1109/ICDE.2013.6544812}, + timestamp = {Fri, 24 Mar 2023 00:00:01 +0100}, + biburl = {https://dblp.org/rec/conf/icde/LeisK013.bib}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} \ No newline at end of file diff --git a/paper/paper.tex b/paper/paper.tex new file mode 100644 index 0000000..f7d074d --- /dev/null +++ b/paper/paper.tex @@ -0,0 +1,24 @@ +\documentclass[twocolumn]{article} + +\title{ARTful conflict checking for FoundationDB} +\author{Andrew Noyes} +\date{} + +\usepackage{hyperref} +\usepackage{biblatex} +\bibliography{bibliography} + +\begin{document} + +\maketitle + +\section{Abstract} + +FoundationDB \cite{DBLP:conf/sigmod/ZhouXSNMTABSLRD21} provides serializability using a specialized data structure called \textit{lastCommit}. +This data structure maps key ranges (sets of keys denoted by either a singleton key or a half-open interval) to a ``commit version'' represented as a 64-bit integer \footnote{See Algorithm 1 referenced in \cite{DBLP:conf/sigmod/ZhouXSNMTABSLRD21}}. +FoundationDB implements \textit{lastCommit} as a version-augmented probabilistic SkipList \cite{10.1145/78973.78977}. +In this paper, we propose an alternative implementation of \textit{lastCommit} as a version-augmented Adaptive Radix Tree \cite{DBLP:conf/icde/LeisK013}, and evaluate its performance. + +\printbibliography + +\end{document} \ No newline at end of file