This is the root directory of a research project, Cobra. Cobra studies verifying serializability of black-box databases. It includes two components:
- Cobra verifier: checks serializability of a set of transactions (called a history)
- Cobra bench: database clients that interact with a black-box database and generate histories
Cobra requires Java v1.8.0 (or higher). After you install the Java environment, update JAVA_HOME
in the file env.sh
:
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
Cobra verifier requires CUDA v10.0 (or higher),
cuBLAS, and
cuSPARSE.
After you install CUDA, update CUDA_PATH
in the file env.sh
:
export CUDA_PATH="/usr/local/cuda"
Fetch Cobra components:
$ git submodule update --init --recursive
Setup Cobra's environment variables (for example, $COBRA_HOME
):
$ source ./env.sh
Cobra verifier and bench will use these environment variables.
If you want to verify serializability of a history, see Cobra verifier.
If you want to generate new histories, see Cobra bench.