PETRA-Non-Pmem

Build:

Install dependencies:

sudo apt-get install libboost-all-dev libgoogle-perftools-dev libtool m4 automake cmake libtbb-dev libgsl0-dev
mkdir compile
cd dev
bash bootstrap.sh
cd ../compile
../dev/configure
make CPPFLAGS="-DUSE_DRAM_ALLOCATOR -DPWB_IS_CLFLUSH -DROMULUS_LR_PTM -O0 -g"

Options:

setType: { 0="TransList" , 1="TransSkip", 2="TransMDList", 3="TransMap" }
numThread: Number of Threads
testSize: Test Size
tranSize: Transaction Size
keyRange: Key Range
insertion: Insertion Percent
deletion: Deletion Percent
-v: verbose

Run:

cd src/petra/compile
./src/trans <setType> <numThread> <testSize> <tranSize> <keyRange> <insertion> <deletion>

For example, to test TransSkip with 16 threads, test size is 100, transaction size is 4 operations, key range is 1000, insert percent is 50, and delete percent is 25:
./src/trans 1 16 100 4 1000 50 25

Run Small Examples for PETRA:

TransList with 16 threads, test size is 100, transaction size is 4 operations, key range is 1000, insert percent is 50, and delete percent is 25:
./src/trans 0 16 100 4 1000 50 25

TransSkip with 16 threads, test size is 100, transaction size is 4 operations, key range is 1000, insert percent is 50, and delete percent is 25:
./src/trans 1 16 100 4 1000 50 25

TransMDList with 16 threads, test size is 100, transaction size is 4 operations, key range is 1000, insert percent is 50, and delete percent is 25:
./src/trans 2 16 100 4 1000 50 25

TransMap with 16 threads, test size is 100, transaction size is 4 operations, key range is 1000, insert percent is 50, and delete percent is 25:
./src/trans 3 16 100 4 1000 50 25

Run Small Examples for Romulus:

TransList with 16 threads, test size is 100, transaction size is 4 operations, key range is 1000, insert percent is 50, and delete percent is 25:
./src/transRomulus 0 16 100 4 1000 50 25

TransSkip with 16 threads, test size is 100, transaction size is 4 operations, key range is 1000, insert percent is 50, and delete percent is 25:
./src/transRomulus 1 16 100 4 1000 50 25

TransMDList with 16 threads, test size is 100, transaction size is 4 operations, key range is 1000, insert percent is 50, and delete percent is 25:
./src/transRomulus 2 16 100 4 1000 50 25

TransMap with 16 threads, test size is 100, transaction size is 4 operations, key range is 1000, insert percent is 50, and delete percent is 25:
./src/transRomulus 3 16 100 4 1000 50 25

Run Small Examples for OneFile:

TransList with 16 threads, test size is 100, transaction size is 4 operations, key range is 1000, insert percent is 50, and delete percent is 25:
./src/transOneFile 0 16 100 4 1000 50 25

TransSkip with 16 threads, test size is 100, transaction size is 4 operations, key range is 1000, insert percent is 50, and delete percent is 25:
./src/transOneFile 1 16 100 4 1000 50 25

TransMDList with 16 threads, test size is 100, transaction size is 4 operations, key range is 1000, insert percent is 50, and delete percent is 25:
./src/transOneFile 2 16 100 4 1000 50 25

TransMap with 16 threads, test size is 100, transaction size is 4 operations, key range is 1000, insert percent is 50, and delete percent is 25:
./src/transOneFile 3 16 100 4 1000 50 25