dbgroup-nagoya-u / pmwcas-benchmark

A benchmark pogram for PMwCAS implementations.
Apache License 2.0
0 stars 0 forks source link

PMwCAS Benchmark

Ubuntu 24.04 Ubuntu 22.04

Build

Prerequisites

Note: libnuma-dev is required to build microsoft/pmwcas.

sudo apt update && sudo apt install -y \
  build-essential \
  cmake \
  libgflags-dev \
  libpmemobj-dev \
  libnuma-dev
cd <path_to_your_workspace>
git clone https://github.com/dbgroup-nagoya-u/pmwcas-benchmark.git
cd pmwcas-benchmark

Build Options

Parameters for Benchmarking

Parameters for Unit Testing

Build and Run Unit Tests

mkdir build && cd build
cmake .. \
  -DCMAKE_BUILD_TYPE=Release \
  -DPMWCAS_BENCH_BUILD_TESTS=ON \
  -DDBGROUP_TEST_TMP_PMEM_PATH=/pmem_tmp
cmake --build . --parallel --config Release
ctest -C Release

Usage

The following command displays available CLI options:

./build/pmwcas_bench --helpshort

The benchmark program requires a path to persistent memory and the number of target words.

./build/pmwcas_bench --<competitor> <path_to_pmem_dir> <target_word_num>

For example, the following command performs P3wCAS benchmark with our PMwCAS implementation.

./build/pmwcas_bench --pmwcas /pmem_tmp/ 3

We prepare scripts in bin directory to measure performance with a variety of parameters.