Skip to content

ethercflow/erpc-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eRPC for Rust

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.

Prepare

  • 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 the rdma-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

Build throughput benchmark tool

cd erpc-rs/apps/large_rpc_tput && cargo build --release # see eRPC's scripts/do.sh to learn how to run

Run examples

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

About

eRPC for Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published