eRPC for Rust.
It's built on top of eRPC in C++ via autocxx.
This lib is still in the stage of prove-of-concept and under heavy development.
-
rdma-core must be installed from source. We recommend the tag
stable-v40
. First, install its dependencies listed in rdma-core's README. Then, in therdma-core
directory:cmake .
sudo make install
-
Install upstream pre-requisite libraries and modules:
sudo apt install make cmake g++ gcc libnuma-dev libgflags-dev numactl libbsd-dev meson libjansson-dev ninja-build
sudo modprobe ib_uverbs
sudo modprobe mlx4_ib
-
Create hugepages:
sudo bash -c "echo 2048 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages"
sudo mkdir /mnt/huge
sudo mount -t hugetlbfs nodev /mnt/huge
cd erpc-rs/apps/large_rpc_tput && cargo build --release # see eRPC's scripts/do.sh to learn how to run
cd erpc-rs/examples/hello_world && cargo build --release
sudo ./target/release/hello_server # or hello_server_async or hello_server_async2
sudo ./hello_client # on the other machine