Skip to content

Latest commit

 

History

History
52 lines (47 loc) · 1.67 KB

rdma-fuse.org

File metadata and controls

52 lines (47 loc) · 1.67 KB

Rdma Fuse

Notes

  • Filesystem stat => get inode
  • Then direct map for all nodes but root (which must be 1 on fuse)

Figure out how to configure RDMA

How to set ports when building q-pairs

On the chimera

Both got port is not ACTIVE or ARMED

sudo mst start # to create devices

On the VM

Both got entity not found

On the card

ip not configured

Setting up on bfn1

  • Perftest (RDMA) testing suite
  • ib_test_write
  • ib_test_read
  • ib_* for all tests

[1/3] Converting to efficient transmission

In an effort to cut down the penalty for sending a full buffer for every action, we move the previous enum into a manually handled tagged union. We then can send only the correct amount of data with each RDMA send verb.

[2/2] Convert enum to tagged union

Convert

Test

[2/2] Convert RDMAConnection to use multiple u8 instead of a single (Message, MessagePayload)

Convert

Test

[2/2] Send only the correct amount

Convert

Test

[0/2] Buffer Reads and Writes

Currently reads and writes all send verbs to fixed size buffer. If the required send is too large, the program crashes. If it is too small, we send an overlarge amount of data. We should instead send only some fixed amount per send, and repeat sends as needed until the message is received.

Implement

Test

Read / Write Bandwidth / latency Sequential: read Check

time ./fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=read --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting