rpma: add librpma_apm_* and librpma_gpspm_* engines
authorJan Michalski <jan.m.michalski@intel.com>
Thu, 11 Feb 2021 11:47:06 +0000 (12:47 +0100)
committerJan M Michalski <jan.m.michalski@intel.com>
Sat, 13 Mar 2021 23:47:47 +0000 (23:47 +0000)
commite4c4625ff8368f7667b2fe81cd2040186d440c94
treef89046281dc3597239204635008f448b58e36fe6
parentb02c5eda07966d2e1c41870f64b741413b67a9aa
rpma: add librpma_apm_* and librpma_gpspm_* engines

The Remote Persistent Memory Access (RPMA) Library is a C library
created to simplify accessing persistent memory on remote hosts over
Remote Direct Memory Access (RDMA).

The librpma_apm_client and librpma_apm_server is a pair of engines
which allows benchmarking persistent writes achieved via
the Appliance Persistency Method (APM; natively supported by
the librpma library) and regular reads (a part of the RDMA standard).

The librpma_gpspm_client and librpma_gpspm_server is a pair of
engines which allows benchmarking persistent writes achieved via
the General Purpose Persistency Method (GPSPM; build on top of
the librpma API).

The librpma library is available here: https://github.com/pmem/rpma
along with the set of scripts using the newly introduced engines
to construct miscellaneous benchmarking scenarios:
https://github.com/pmem/rpma/tree/master/tools/perf

The full history of the development of the librpma fio engines
is available at: https://github.com/pmem/fio/tree/rpma

Co-Authored-By: Lukasz Dorau <lukasz.dorau@intel.com>
Co-Authored-By: Tomasz Gromadzki <tomasz.gromadzki@intel.com>
Co-Authored-By: Jan Michalski <jan.m.michalski@intel.com>
Co-Authored-By: Oksana Salyk <oksana.salyk@intel.com>
21 files changed:
HOWTO
Makefile
ci/travis-install-librpma.sh [new file with mode: 0755]
ci/travis-install-pmdk.sh [new file with mode: 0755]
ci/travis-install.sh
configure
engines/librpma_apm.c [new file with mode: 0644]
engines/librpma_fio.c [new file with mode: 0644]
engines/librpma_fio.h [new file with mode: 0644]
engines/librpma_gpspm.c [new file with mode: 0644]
engines/librpma_gpspm_flush.pb-c.c [new file with mode: 0644]
engines/librpma_gpspm_flush.pb-c.h [new file with mode: 0644]
engines/librpma_gpspm_flush.proto [new file with mode: 0644]
examples/librpma_apm-client.fio [new file with mode: 0644]
examples/librpma_apm-server.fio [new file with mode: 0644]
examples/librpma_gpspm-client.fio [new file with mode: 0644]
examples/librpma_gpspm-server.fio [new file with mode: 0644]
fio.1
optgroup.c
optgroup.h
options.c