Skip to content

This is the source code for our (Matthias Jasny, Lasse Thostrup, Tobias Ziegler and Carsten Binnig) published paper at SIGMOD’22: P4DB - The Case for In-Network OLTP.

License

Notifications You must be signed in to change notification settings

DataManagementLab/p4db

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

P4DB - The Case for In-Network OLTP

This is the source code for our (Matthias Jasny, Lasse Thostrup, Tobias Ziegler and Carsten Binnig) published paper at SIGMOD’22: P4DB - The Case for In-Network OLTP. Paper can be found here: Paper Link

Abstract

In this paper we present a new approach for distributed DBMSs called P4DB, that uses a programmable switch to accelerate OLTP workloads. The main idea of P4DB is that it implements a transaction processing engine on top of a P4-programmable switch. The switch can thus act as an accelerator in the network, especially when it is used to store and process hot (contended) tuples on the switch. In our experiments, we show that P4DB hence provides significant benefits compared to traditional DBMS architectures and can achieve a speedup of up to 8x.

Citation

@inproceedings{mjasny22,
    author    = {Matthias Jasny and Lasse Thostrup and Tobias Ziegler and Carsten Binnig},
    title     = {P4DB - The Case for In-Network OLTP},
    booktitle = {SIGMOD},
    year      = {2022}
}

Directory structure

  • ./src contains P4DB code for database nodes:

    • one instance which spawns a server + N workers
    • requires DPDK to access NIC
  • ./switch_src contains P4DB code for the switch:

    • control plane in C++
    • P4 code-generator
    • P4DB Firmwares for YCSB, SmallBank, TPC-C (+ Microbenchmarks)
  • ./figures contains R scripts to generate the paper figures

    • data/ contains CSV files with measurements
    • out/ contains rendered PDFs
  • ./experiments contains scripts for evaluation

Build & Run

This is the database node server:

meson build
ninja -C build
./build/p4db --help

About

This is the source code for our (Matthias Jasny, Lasse Thostrup, Tobias Ziegler and Carsten Binnig) published paper at SIGMOD’22: P4DB - The Case for In-Network OLTP.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published