mirror of
http://github.com/valkey-io/valkey
synced 2024-11-23 03:33:28 +00:00
dd4bd5065b
Adds an option to build RDMA support as a module: make BUILD_RDMA=module To start valkey-server with RDMA, use a command line like the following: ./src/valkey-server --loadmodule src/valkey-rdma.so \ port=6379 bind=xx.xx.xx.xx * Implement server side of connection module only, this means we can *NOT* compile RDMA support as built-in. * Add necessary information in README.md * Support 'CONFIG SET/GET', for example, 'CONFIG Set rdma.port 6380', then check this by 'rdma res show cm_id' and valkey-cli (with RDMA support, but not implemented in this patch). * The full listeners show like: listener0:name=tcp,bind=*,bind=-::*,port=6379 listener1:name=unix,bind=/var/run/valkey.sock listener2:name=rdma,bind=xx.xx.xx.xx,bind=yy.yy.yy.yy,port=6379 listener3:name=tls,bind=*,bind=-::*,port=16379 Because the lack of RDMA support from TCL, use a simple C program to test Valkey Over RDMA (under tests/rdma/). This is a quite raw version with basic library dependence: libpthread, libibverbs, librdmacm. Run using the script: ./runtest-rdma [ OPTIONS ] To run RDMA in GitHub actions, a kernel module RXE for emulated soft RDMA, needs to be installed. The kernel module source code is fetched a repo containing only the RXE kernel driver from the Linux kernel, but stored in an separate repo to avoid cloning the whole Linux kernel repo. ---- Since 2021/06, I created a [PR](https://github.com/redis/redis/pull/9161) for *Redis Over RDMA* proposal. Then I did some work to [fully abstract connection and make TLS dynamically loadable](https://github.com/redis/redis/pull/9320), a new connection type could be built into Redis statically, or a separated shared library(loaded by Redis on startup) since Redis 7.2.0. Base on the new connection framework, I created a new [PR](https://github.com/redis/redis/pull/11182), some guys(@xiezhq-hermann @zhangyiming1201 @JSpewock @uvletter @FujiZ) noticed, played and tested this PR. However, because of the lack of time and knowledge from the maintainers, this PR has been pending about 2 years. Related doc: [Introduce *Valkey Over RDMA* specification](https://github.com/valkey-io/valkey-doc/pull/123). (same as Redis, and this should be same) Changes in this PR: - implement *Valkey Over RDMA*. (compact the Valkey style) Finally, if this feature is considered to merge, I volunteer to maintain it. --------- Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
51 lines
605 B
Plaintext
51 lines
605 B
Plaintext
.*.swp
|
|
*.o
|
|
*.a
|
|
*.xo
|
|
*.so
|
|
*.d
|
|
*.log
|
|
dump*.rdb
|
|
*-benchmark
|
|
*-check-aof
|
|
*-check-rdb
|
|
*-check-dump
|
|
*-cli
|
|
*-sentinel
|
|
*-server
|
|
*-unit-tests
|
|
doc-tools
|
|
release
|
|
misc/*
|
|
src/release.h
|
|
appendonly.aof*
|
|
appendonlydir*
|
|
SHORT_TERM_TODO
|
|
release.h
|
|
src/transfer.sh
|
|
src/configs
|
|
redis.ds
|
|
src/*.conf
|
|
deps/lua/src/lua
|
|
deps/lua/src/luac
|
|
deps/lua/src/liblua.a
|
|
deps/hdr_histogram/libhdrhistogram.a
|
|
deps/fpconv/libfpconv.a
|
|
tests/tls/*
|
|
.make-*
|
|
.prerequisites
|
|
*.dSYM
|
|
Makefile.dep
|
|
.vscode/*
|
|
.idea/*
|
|
.ccls
|
|
.ccls-cache/*
|
|
compile_commands.json
|
|
redis.code-workspace
|
|
.cache
|
|
.cscope*
|
|
.swp
|
|
nodes*.conf
|
|
tests/cluster/tmp/*
|
|
tests/rdma/rdma-test
|